insilmaril@747: #ifndef BRANCHITEM_H insilmaril@747: #define BRANCHITEM_H insilmaril@747: insilmaril@747: #include "treeitem.h" insilmaril@747: insilmaril@755: insilmaril@747: class QString; insilmaril@750: class BranchObj; insilmaril@755: class QGraphicsScene; insilmaril@747: insilmaril@747: class BranchItem:public TreeItem insilmaril@747: { insilmaril@747: public: insilmaril@747: BranchItem(const QList &data, TreeItem *parent = 0); insilmaril@756: virtual ~BranchItem(); insilmaril@749: void copy (BranchItem *item); insilmaril@747: insilmaril@756: void insertBranch (int pos,BranchItem *branch); insilmaril@756: insilmaril@747: QString saveToDir (const QString &tmpdir,const QString &prefix, const QPointF& offset); insilmaril@747: insilmaril@753: virtual void updateVisibility(); insilmaril@753: insilmaril@753: protected: insilmaril@753: QString vymLink; insilmaril@753: public: insilmaril@753: virtual void setVymLink (QString); insilmaril@753: virtual QString getVymLink (); insilmaril@753: insilmaril@758: virtual void setHeadingColor (QColor color); //!Overloaded from TreeItem to update QGraphicsView insilmaril@758: insilmaril@753: protected: insilmaril@753: bool scrolled; // true if all children are scrolled and thus invisible insilmaril@753: bool tmpUnscrolled; // can only be true (temporary) for a scrolled subtree insilmaril@753: public: insilmaril@749: virtual void unScroll(); insilmaril@767: virtual bool toggleScroll(); // scroll or unscroll insilmaril@749: virtual bool isScrolled(); // returns scroll state insilmaril@749: virtual bool hasScrolledParent(BranchItem*); // true, if any of the parents is scrolled insilmaril@749: virtual void tmpUnscroll(); // unscroll scrolled parents temporary e.g. during "find" process insilmaril@749: virtual void resetTmpUnscroll(); // scroll all tmp scrolled parents again e.g. when unselecting insilmaril@749: insilmaril@758: TreeItem* findMapItem (QPointF p,TreeItem* excludeTI); //! search map for branches or images. Ignore excludeTI, where search is started insilmaril@754: virtual TreeItem* findID (QString sid); //! search map for object with ID string insilmaril@754: insilmaril@760: virtual BranchObj* getBranchObj(); insilmaril@760: virtual BranchObj* createMapObj(QGraphicsScene *scene); //! Create classic object in GraphicsView insilmaril@747: }; insilmaril@747: insilmaril@747: #endif