Mercurial > hg > easyhg
comparison grapher.h @ 145:644bd31e8301
* Include the uncommitted item in general graph layout (in case it is not at the head, when other items will need to avoid it)
author | Chris Cannam |
---|---|
date | Wed, 01 Dec 2010 17:41:14 +0000 |
parents | 005a54380502 |
children | 70fe12873106 |
comparison
equal
deleted
inserted
replaced
143:f61f032b06f9 | 145:644bd31e8301 |
---|---|
18 #ifndef GRAPHER_H | 18 #ifndef GRAPHER_H |
19 #define GRAPHER_H | 19 #define GRAPHER_H |
20 | 20 |
21 #include "changeset.h" | 21 #include "changeset.h" |
22 #include "changesetitem.h" | 22 #include "changesetitem.h" |
23 #include "uncommitteditem.h" | |
23 #include "changesetscene.h" | 24 #include "changesetscene.h" |
24 | 25 |
25 #include <QSet> | 26 #include <QSet> |
26 #include <QMap> | 27 #include <QMap> |
27 #include <QPair> | 28 #include <QPair> |
31 class Grapher | 32 class Grapher |
32 { | 33 { |
33 public: | 34 public: |
34 Grapher(ChangesetScene *scene) { m_scene = scene; } | 35 Grapher(ChangesetScene *scene) { m_scene = scene; } |
35 | 36 |
36 void layout(Changesets csets); | 37 void layout(Changesets csets, QString uncommittedSproutsFrom = ""); |
37 | 38 |
38 ChangesetItem *getItemFor(Changeset *cs); | 39 ChangesetItem *getItemFor(Changeset *cs); |
40 | |
41 UncommittedItem *getUncommittedItem() { return m_uncommitted; } | |
39 | 42 |
40 class LayoutException : public std::exception { | 43 class LayoutException : public std::exception { |
41 public: | 44 public: |
42 LayoutException(QString message) throw() : m_message(message) { } | 45 LayoutException(QString message) throw() : m_message(message) { } |
43 virtual ~LayoutException() throw() { } | 46 virtual ~LayoutException() throw() { } |
72 IdSet m_handled; | 75 IdSet m_handled; |
73 | 76 |
74 typedef QMap<int, QString> RowDateMap; | 77 typedef QMap<int, QString> RowDateMap; |
75 RowDateMap m_rowDates; | 78 RowDateMap m_rowDates; |
76 | 79 |
80 QString m_uncommittedParentId; | |
81 int m_uncommittedParentRow; | |
82 UncommittedItem *m_uncommitted; | |
83 bool m_haveAllocatedUncommittedColumn; | |
84 | |
77 void layoutRow(QString id); | 85 void layoutRow(QString id); |
78 void layoutCol(QString id); | 86 void layoutCol(QString id); |
79 void allocateBranchHomes(Changesets csets); | 87 void allocateBranchHomes(Changesets csets); |
80 bool rangesConflict(const Range &r1, const Range &r2); | 88 bool rangesConflict(const Range &r1, const Range &r2); |
81 int findAvailableColumn(int row, int parent, bool preferParentCol); | 89 int findAvailableColumn(int row, int parent, bool preferParentCol); |
90 bool isAvailable(int row, int col); | |
82 }; | 91 }; |
83 | 92 |
84 #endif | 93 #endif |