4 #include "floatimageobj.h"
5 #include "linkablemapobj.h"
6 #include "ornamentedobj.h"
10 bool isAbove(BranchObj*,BranchObj*);
12 /*! \brief A branch visible in the map */
14 /////////////////////////////////////////////////////////////////////////////
15 class BranchObj:public OrnamentedObj {
17 /*! New branches will get use same color for heading as parent */
18 enum BranchModification {NewBranch, MovedBranch};
20 BranchObj (QGraphicsScene*,TreeItem *ti=NULL);
22 bool operator< ( const BranchObj & );
23 bool operator== ( const BranchObj & );
25 virtual void copy (BranchObj*);
28 virtual void setParObjTmp (LinkableMapObj*,QPointF,int);// Only for moving Obj around
29 virtual void unsetParObjTmp(); // reuse original ParObj
31 virtual void setVisibility(bool,int); // set visibility
32 virtual void setVisibility(bool); // set vis. for w
33 virtual void setLinkColor(); // set the color of link
35 virtual void updateContentSize();
36 virtual void positionContents();
37 virtual void move (double x,double y);
38 virtual void move (QPointF);
39 virtual void moveBy (double x,double y);
40 virtual void moveBy (QPointF);
41 virtual void positionBBox();
42 virtual void calcBBoxSize();
43 virtual void setDockPos();
45 virtual void updateData(); //! Update represantatio of heading, flags, etc.
48 virtual void savePosInAngle(); // write pos in angle for resorting
50 virtual void setDefAttr (BranchModification); // set default attributes (font, size, ...)
52 virtual void sortChildren();
53 virtual void alignRelativeTo(const QPointF, bool alignSelf=false );
54 virtual void reposition();
55 virtual void unsetAllRepositionRequests();
57 virtual QPolygonF shape(); //!< Returns arbitrary bounding polygon
58 virtual QRectF getTotalBBox(); // return BBox including children
59 virtual QRectF getBBoxSizeWithChildren(); // return size of BBox including children
60 virtual void calcBBoxSizeWithChildren(); // calc size of BBox including children recursivly
62 virtual QString getSelectString();
63 virtual void setAnimation(const AnimPoint &ap);
64 virtual bool animate();
67 QList<XLinkObj*> xlink; // xlinks to other branches
72 float angle; // used in mainbranch to reorder mainbranches