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