-
Notifications
You must be signed in to change notification settings - Fork 6
/
branchitem.h
89 lines (71 loc) · 3.18 KB
/
branchitem.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#ifndef BRANCHITEM_H
#define BRANCHITEM_H
#include "mapitem.h"
#include "task.h"
#include <QList>
class QString;
class QGraphicsScene;
class BranchObj;
class Link;
class XLinkItem;
class BranchItem:public MapItem
{
public:
enum LayoutHint {AutoPositioning, FreePositioning};
BranchItem(const QList<QVariant> &data, TreeItem *parent = 0);
virtual ~BranchItem();
virtual void clear();
virtual void copy (BranchItem *item);
virtual BranchItem* parentBranch();
virtual void insertBranch (int pos,BranchItem *branch);
virtual QString saveToDir (const QString &tmpdir,const QString &prefix, const QPointF& offset,QList <Link*> &tmpLinks);
virtual void updateVisibility();
virtual void setHeadingColor (QColor color); //!Overloaded from TreeItem to update QGraphicsView
protected:
bool scrolled; // true if all children are scrolled and thus invisible
bool tmpUnscrolled; // can only be true (temporary) for a scrolled subtree
public:
void updateTaskFlag();
void setTask (Task* t);
Task* getTask();
private:
Task* task;
public:
virtual void unScroll();
virtual bool toggleScroll(); // scroll or unscroll
virtual bool isScrolled(); // returns scroll state
virtual bool hasScrolledParent(BranchItem* start=NULL); // true, if any of the parents is scrolled
virtual bool tmpUnscroll(BranchItem* start=NULL); // unscroll scrolled parents temporary e.g. during "find" process
virtual bool resetTmpUnscroll(); // scroll all tmp scrolled parents again e.g. when unselecting
virtual void sortChildren(bool inverse=false); //! Sort children
virtual void setChildrenLayout(BranchItem::LayoutHint layoutHint);
virtual BranchItem::LayoutHint getChildrenLayout();
protected:
bool includeImagesVer; //! include floatimages in bbox vertically
bool includeImagesHor; //! include floatimages in bbox horizontally
bool includeChildren; //! include children in frame
LayoutHint childrenLayout; //! should children be positioned freely?
public:
void setIncludeImagesVer(bool);
bool getIncludeImagesVer();
void setIncludeImagesHor(bool);
bool getIncludeImagesHor();
QString getIncludeImageAttr();
BranchItem* getFramedParentBranch(BranchItem *start);
void setFrameIncludeChildren(bool);
bool getFrameIncludeChildren();
protected:
int lastSelectedBranchNum;
int lastSelectedBranchNumAlt;
public:
virtual void setLastSelectedBranch(); //! Set myself as last selected in parent
virtual void setLastSelectedBranch(int i); //! Set last selected branch directly
virtual BranchItem* getLastSelectedBranch(); //! Returns last selected branch usually
virtual BranchItem* getLastSelectedBranchAlt(); //! Used to return last selected branch left of a mapcenter
public:
TreeItem* findMapItem (QPointF p,TreeItem* excludeTI); //! search map for branches or images. Ignore excludeTI, where search is started
virtual void updateStyles (const bool &keepFrame=false); //! update related fonts, parObjects, links, ...
virtual BranchObj* getBranchObj();
virtual BranchObj* createMapObj(QGraphicsScene *scene); //! Create classic object in GraphicsView
};
#endif