Chris@57: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@57: Chris@57: /* Chris@57: EasyMercurial Chris@57: Chris@57: Based on HgExplorer by Jari Korhonen Chris@57: Copyright (c) 2010 Jari Korhonen Chris@244: Copyright (c) 2011 Chris Cannam Chris@244: Copyright (c) 2011 Queen Mary, University of London Chris@57: Chris@57: This program is free software; you can redistribute it and/or Chris@57: modify it under the terms of the GNU General Public License as Chris@57: published by the Free Software Foundation; either version 2 of the Chris@57: License, or (at your option) any later version. See the file Chris@57: COPYING included with this distribution for more information. Chris@57: */ Chris@53: Chris@53: #include "dateitem.h" Chris@53: Chris@168: #include "debug.h" Chris@168: Chris@53: #include Chris@53: #include Chris@53: #include Chris@168: #include Chris@168: Chris@168: DateItem::DateItem() : Chris@168: m_minrow(0), m_maxrow(0), Chris@168: m_mincol(0), m_maxcol(0), Chris@168: m_even(false) Chris@168: { Chris@168: } Chris@53: Chris@53: void Chris@53: DateItem::setRows(int minrow, int n) Chris@53: { Chris@53: m_minrow = minrow; Chris@53: m_maxrow = minrow + n - 1; Chris@53: setY(m_minrow * 90); Chris@53: } Chris@53: Chris@53: void Chris@53: DateItem::setCols(int mincol, int n) Chris@53: { Chris@53: m_mincol = mincol; Chris@53: m_maxcol = mincol + n - 1; Chris@53: setX(m_mincol * 100); Chris@53: } Chris@53: Chris@168: void Chris@168: DateItem::mousePressEvent(QGraphicsSceneMouseEvent *e) Chris@168: { Chris@168: DEBUG << "DateItem::mousePressEvent" << endl; Chris@168: if (e->button() == Qt::LeftButton) { Chris@168: emit clicked(); Chris@168: } Chris@168: e->ignore(); Chris@168: } Chris@168: Chris@53: QRectF Chris@53: DateItem::boundingRect() const Chris@53: { Chris@53: return QRectF(-75, -25, Chris@53: (m_maxcol - m_mincol + 1) * 100 + 100, Chris@53: (m_maxrow - m_minrow + 1) * 90).normalized(); Chris@53: } Chris@53: Chris@53: void Chris@53: DateItem::paint(QPainter *paint, const QStyleOptionGraphicsItem *opt, QWidget *w) Chris@53: { Chris@53: QBrush brush; Chris@53: Chris@53: if (m_even) { Chris@53: QColor c(QColor::fromRgb(240, 240, 240)); Chris@53: brush = QBrush(c); Chris@53: } else { Chris@53: QColor c(QColor::fromRgb(250, 250, 250)); Chris@53: brush = QBrush(c); Chris@53: } Chris@53: Chris@53: paint->fillRect(boundingRect(), brush); Chris@53: Chris@53: paint->save(); Chris@53: QFont f(paint->font()); Chris@53: f.setBold(true); Chris@53: paint->setFont(f); Chris@53: paint->drawText(-70, -10, m_dateString); Chris@53: paint->restore(); Chris@53: } Chris@53: Chris@53: