18 class TreeItem:public MapItem
21 enum Type {Undefined,MapCenter,Branch,Image};
22 enum HideTmpMode {HideNone, HideExport};
24 TreeItem(const QList<QVariant> &data, TreeItem *parent = 0);
28 virtual QString saveToDir (const QString &tmpdir,const QString &prefix, const QPointF& offset);
31 // General housekeeping
32 virtual void setModel (VymModel *m);
33 virtual VymModel* getModel();
35 virtual void appendChild (TreeItem *child);
36 virtual void removeChild (int row);
38 virtual TreeItem *child(int row);
39 virtual int childCount() const;
40 virtual int childNumber() const;
41 virtual int columnCount() const;
42 virtual int branchCount() const;
43 virtual int imageCount() const;
44 virtual int xlinkCount() const;
46 virtual int row() const;
47 virtual int column() const;
49 virtual TreeItem *parent();
51 /*! Return number of item in parent by type,
52 e.g. first branch has number 0 */
53 virtual int childNum(); //! Return number of item in list of all children
54 virtual int num(); //! Return number of item by type
55 virtual int num (TreeItem *item); //! Return number of item by type
60 virtual void setType (const Type t);
61 virtual Type getType ();
62 virtual bool isBranchLikeType() const;
63 virtual QString getTypeName ();
66 virtual QVariant data(int column) const;
71 virtual void setHeading (const QString s);
72 virtual QString getHeading() const;
73 virtual std::string getHeadingStd() const; //! convenience function used for debugging
74 virtual void setHeadingColor(QColor color); //! Set color of heading. In BranchItem overloaded to update QGraphicsView
75 virtual QColor getHeadingColor(); //! Returns color of heading
80 virtual void setNote(const QString s);
81 virtual QString getNote();
82 virtual void setNoteObj(const NoteObj &, bool updateNoteEditor=true);
83 virtual NoteObj getNoteObj();
84 virtual QString getNoteASCII(const QString &indent, const int &width); // returns note (ASCII)
85 virtual QString getNoteASCII(); // returns note (ASCII)
86 virtual QString getNoteOpenDoc(); // returns note (OpenDoc)
89 FlagRow standardFlags;
91 virtual void activateStandardFlag(const QString &flag);
92 virtual void deactivateStandardFlag(const QString &flag);
93 virtual void toggleStandardFlag(const QString &flag);
94 virtual bool isActiveStandardFlag (const QString &flag);
99 QString objID; //! id set during load/save currently used for xLinks
101 virtual void setID (const QString &s);
102 virtual QString getID ();
104 // Navigation and selection
105 virtual TreeItem* getChildNum(const int &n);
106 virtual BranchItem* getFirstBranch();
107 virtual BranchItem* getLastBranch();
109 /*! Get next branch after current branch. Return NULL if there is no
111 virtual BranchItem* getNextBranch(BranchItem* currentBranch);
113 virtual BranchItem* getBranchNum(const int &n);
114 virtual BranchObj* getBranchObjNum(const int &n);
115 virtual void setLastSelectedBranch(); //! Set myself as last selected in parent
116 virtual void setLastSelectedBranch(int i); //! Set last selected branch directly
117 virtual TreeItem* getLastSelectedBranch();
119 virtual void setHideTmp (HideTmpMode);
120 virtual bool hasHiddenExportParent ();
121 virtual void setHideInExport(bool); // set export of object (and children)
122 virtual bool hideInExport();
123 virtual bool isHidden ();
129 QList<TreeItem*> childItems;
130 QList<QVariant> itemData;
131 TreeItem *parentItem;
135 int lastSelectedBranchNum;
140 bool hideExport;//! Hide this item in export
141 bool hidden; //! Hidden in export if true