]> git.sven.stormbind.net Git - sven/vym.git/blob - src/branchobj.h
New upstream version 2.9.22
[sven/vym.git] / src / branchobj.h
1 #ifndef BRANCHOBJ_H
2 #define BRANCHOBJ_H
3
4 #include "floatimageobj.h"
5 #include "linkablemapobj.h"
6 #include "ornamentedobj.h"
7 #include "xlinkobj.h"
8
9 /*! \brief A branch visible in the map */
10
11 /////////////////////////////////////////////////////////////////////////////
12 class BranchObj : public OrnamentedObj {
13   public:
14     /*! New branches will get use same color for heading as parent */
15     enum BranchModification { NewBranch, MovedBranch };
16
17     BranchObj(QGraphicsItem *parent = NULL, TreeItem *ti = NULL);
18     ~BranchObj();
19     virtual void init();
20     virtual void copy(BranchObj *);
21     void clear();
22
23     virtual void setParObjTmp(LinkableMapObj *, QPointF,
24                               int); // Only for moving Obj around
25     virtual void unsetParObjTmp();  // reuse original ParObj
26
27     virtual void setVisibility(bool, int); // set visibility
28     virtual void setVisibility(bool);      // set vis. for w
29
30     virtual void positionContents();
31     virtual void move(double x, double y);
32     virtual void move(QPointF);
33     virtual void moveBy(double x, double y);
34     virtual void moveBy(QPointF);
35
36     virtual void positionBBox();
37     virtual void calcBBoxSize();
38     virtual void setDockPos();
39
40     virtual void
41     updateVisuals(); //! Update represantatio of heading, flags, etc.
42
43   public:
44     virtual void
45     setDefAttr(BranchModification,
46                bool keepFrame =
47                    false); // set default attributes (frame, font, size, ...)
48
49     virtual void alignRelativeTo(const QPointF, bool alignSelf = false);
50     virtual void reposition();
51     virtual void unsetAllRepositionRequests();
52
53     virtual QRectF getTotalBBox(); // return size of BBox including children
54     virtual ConvexPolygon getBoundingPolygon();
55     virtual void calcBBoxSizeWithChildren(); // calc size of  BBox including
56                                              // children recursivly
57
58     virtual void setAnimation(const AnimPoint &ap);
59     virtual void stopAnimation();
60     virtual bool animate();
61
62   protected:
63     AnimPoint anim;
64 };
65
66 #endif