Chris@129: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@129: Chris@129: /* Chris@129: EasyMercurial Chris@129: Chris@129: Based on HgExplorer by Jari Korhonen Chris@129: Copyright (c) 2010 Jari Korhonen Chris@129: Copyright (c) 2010 Chris Cannam Chris@129: Copyright (c) 2010 Queen Mary, University of London Chris@129: Chris@129: This program is free software; you can redistribute it and/or Chris@129: modify it under the terms of the GNU General Public License as Chris@129: published by the Free Software Foundation; either version 2 of the Chris@129: License, or (at your option) any later version. See the file Chris@129: COPYING included with this distribution for more information. Chris@129: */ Chris@129: Chris@129: #ifndef UNCOMMITTEDITEM_H Chris@129: #define UNCOMMITTEDITEM_H Chris@129: Chris@129: #include Chris@129: #include Chris@129: Chris@129: class UncommittedItem : public QObject, public QGraphicsItem Chris@129: { Chris@129: Q_OBJECT Chris@129: Q_INTERFACES(QGraphicsItem) Chris@129: Chris@129: public: Chris@129: UncommittedItem(); Chris@129: Chris@129: virtual QRectF boundingRect() const; Chris@129: virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); Chris@129: Chris@129: QString branch() const { return m_branch; } Chris@129: void setBranch(QString b) { m_branch = b; } Chris@153: Chris@153: bool showBranch() const { return m_showBranch; } Chris@153: void setShowBranch(bool s) { m_showBranch = s; } Chris@129: Chris@129: int column() const { return m_column; } Chris@129: int row() const { return m_row; } Chris@129: void setColumn(int c) { m_column = c; setX(c * 100); } Chris@129: void setRow(int r) { m_row = r; setY(r * 90); } Chris@129: Chris@129: bool isWide() const { return m_wide; } Chris@129: void setWide(bool w) { m_wide = w; } Chris@129: Chris@141: signals: Chris@141: void commit(); Chris@141: void revert(); Chris@141: void diff(); Chris@153: void showWork(); Chris@141: Chris@141: protected: Chris@141: virtual void mousePressEvent(QGraphicsSceneMouseEvent *); Chris@153: virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *); Chris@141: Chris@129: private: Chris@141: void activateMenu(); Chris@141: Chris@129: QString m_branch; Chris@153: bool m_showBranch; Chris@129: QFont m_font; Chris@129: int m_column; Chris@129: int m_row; Chris@129: bool m_wide; Chris@129: }; Chris@129: Chris@129: #endif // UNCOMMITTEDITEM_H