annotate changesetitem.h @ 200:8c8c04bdf0fa

* Separate out the hg test action into two tests, one for plain hg and one with the extension (so can report separately)
author Chris Cannam
date Tue, 04 Jan 2011 12:42:28 +0000
parents 4bad3c5c053a
children 8fd71f570884
rev   line source
Chris@57 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@57 2
Chris@57 3 /*
Chris@57 4 EasyMercurial
Chris@57 5
Chris@57 6 Based on HgExplorer by Jari Korhonen
Chris@57 7 Copyright (c) 2010 Jari Korhonen
Chris@57 8 Copyright (c) 2010 Chris Cannam
Chris@57 9 Copyright (c) 2010 Queen Mary, University of London
Chris@57 10
Chris@57 11 This program is free software; you can redistribute it and/or
Chris@57 12 modify it under the terms of the GNU General Public License as
Chris@57 13 published by the Free Software Foundation; either version 2 of the
Chris@57 14 License, or (at your option) any later version. See the file
Chris@57 15 COPYING included with this distribution for more information.
Chris@57 16 */
Chris@57 17
Chris@43 18 #ifndef CHANGESETITEM_H
Chris@43 19 #define CHANGESETITEM_H
Chris@43 20
Chris@168 21 #include <QGraphicsObject>
Chris@53 22 #include <QFont>
Chris@43 23
Chris@43 24 class Changeset;
Chris@117 25 class ChangesetDetailItem;
Chris@43 26
Chris@153 27 class QAction;
Chris@153 28
Chris@168 29 class ChangesetItem : public QGraphicsObject
Chris@43 30 {
Chris@119 31 Q_OBJECT
Chris@119 32
Chris@43 33 public:
Chris@53 34 ChangesetItem(Changeset *cs);
Chris@43 35
Chris@43 36 virtual QRectF boundingRect() const;
Chris@43 37 virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
Chris@43 38
Chris@53 39 Changeset *getChangeset() { return m_changeset; }
Chris@141 40 QString getId();
Chris@53 41
Chris@44 42 int column() const { return m_column; }
Chris@44 43 int row() const { return m_row; }
Chris@46 44 void setColumn(int c) { m_column = c; setX(c * 100); }
Chris@53 45 void setRow(int r) { m_row = r; setY(r * 90); }
Chris@44 46
Chris@55 47 bool isWide() const { return m_wide; }
Chris@55 48 void setWide(bool w) { m_wide = w; }
Chris@55 49
Chris@128 50 bool isCurrent() const { return m_current; }
Chris@128 51 void setCurrent(bool c) { m_current = c; }
Chris@128 52
Chris@133 53 bool isNew() const { return m_new; }
Chris@133 54 void setNew(bool n) { m_new = n; }
Chris@133 55
Chris@153 56 bool showBranch() const { return m_showBranch; }
Chris@74 57 void setShowBranch(bool s) { m_showBranch = s; }
Chris@74 58
Chris@119 59 signals:
Chris@119 60 void detailShown();
Chris@119 61 void detailHidden();
Chris@119 62
Chris@141 63 void updateTo(QString);
Chris@141 64 void diffToCurrent(QString);
Chris@148 65 void diffToParent(QString child, QString parent);
Chris@141 66 void mergeFrom(QString);
Chris@141 67 void tag(QString);
Chris@141 68
Chris@119 69 public slots:
Chris@119 70 void showDetail();
Chris@119 71 void hideDetail();
Chris@119 72
Chris@141 73 private slots:
Chris@153 74 void copyIdActivated();
Chris@141 75 void updateActivated();
Chris@153 76 void diffToParentActivated();
Chris@141 77 void diffToCurrentActivated();
Chris@141 78 void mergeActivated();
Chris@141 79 void tagActivated();
Chris@141 80
Chris@117 81 protected:
Chris@117 82 virtual void mousePressEvent(QGraphicsSceneMouseEvent *);
Chris@117 83
Chris@43 84 private:
Chris@140 85 void activateMenu();
Chris@140 86
Chris@53 87 QFont m_font;
Chris@43 88 Changeset *m_changeset;
Chris@117 89 ChangesetDetailItem *m_detail;
Chris@74 90 bool m_showBranch;
Chris@44 91 int m_column;
Chris@44 92 int m_row;
Chris@55 93 bool m_wide;
Chris@128 94 bool m_current;
Chris@133 95 bool m_new;
Chris@153 96
Chris@153 97 QMap<QAction *, QString> m_parentDiffActions;
Chris@43 98 };
Chris@43 99
Chris@43 100 #endif // CHANGESETITEM_H