insilmaril@0
|
1 |
#ifndef BRANCHOBJ_H
|
insilmaril@0
|
2 |
#define BRANCHOBJ_H
|
insilmaril@0
|
3 |
|
insilmaril@0
|
4 |
#include "floatimageobj.h"
|
insilmaril@0
|
5 |
#include "linkablemapobj.h"
|
insilmaril@0
|
6 |
#include "ornamentedobj.h"
|
insilmaril@95
|
7 |
#include "xlinkobj.h"
|
insilmaril@390
|
8 |
|
insilmaril@462
|
9 |
/*! \brief A branch visible in the map */
|
insilmaril@411
|
10 |
|
insilmaril@0
|
11 |
/////////////////////////////////////////////////////////////////////////////
|
insilmaril@0
|
12 |
class BranchObj:public OrnamentedObj {
|
insilmaril@0
|
13 |
public:
|
insilmaril@462
|
14 |
/*! New branches will get use same color for heading as parent */
|
insilmaril@462
|
15 |
enum BranchModification {NewBranch, MovedBranch};
|
insilmaril@462
|
16 |
|
insilmaril@790
|
17 |
BranchObj (QGraphicsScene*,TreeItem *ti=NULL);
|
insilmaril@0
|
18 |
~BranchObj ();
|
insilmaril@0
|
19 |
virtual void init ();
|
insilmaril@0
|
20 |
virtual void copy (BranchObj*);
|
insilmaril@0
|
21 |
void clear();
|
insilmaril@749
|
22 |
|
insilmaril@408
|
23 |
virtual void setParObjTmp (LinkableMapObj*,QPointF,int);// Only for moving Obj around
|
insilmaril@0
|
24 |
virtual void unsetParObjTmp(); // reuse original ParObj
|
insilmaril@0
|
25 |
|
insilmaril@0
|
26 |
virtual void setVisibility(bool,int); // set visibility
|
insilmaril@0
|
27 |
virtual void setVisibility(bool); // set vis. for w
|
insilmaril@0
|
28 |
virtual void setLinkColor(); // set the color of link
|
insilmaril@0
|
29 |
|
insilmaril@753
|
30 |
virtual void updateContentSize();
|
insilmaril@334
|
31 |
virtual void positionContents();
|
insilmaril@0
|
32 |
virtual void move (double x,double y);
|
insilmaril@408
|
33 |
virtual void move (QPointF);
|
insilmaril@0
|
34 |
virtual void moveBy (double x,double y);
|
insilmaril@408
|
35 |
virtual void moveBy (QPointF);
|
insilmaril@0
|
36 |
virtual void positionBBox();
|
insilmaril@0
|
37 |
virtual void calcBBoxSize();
|
insilmaril@223
|
38 |
virtual void setDockPos();
|
insilmaril@754
|
39 |
|
insilmaril@767
|
40 |
virtual void updateData(); //! Update represantatio of heading, flags, etc.
|
insilmaril@749
|
41 |
|
insilmaril@755
|
42 |
public:
|
insilmaril@822
|
43 |
virtual void setDefAttr (BranchModification, bool keepFrame=false); // set default attributes (frame, font, size, ...)
|
insilmaril@760
|
44 |
|
insilmaril@721
|
45 |
virtual void alignRelativeTo(const QPointF, bool alignSelf=false );
|
insilmaril@0
|
46 |
virtual void reposition();
|
insilmaril@382
|
47 |
virtual void unsetAllRepositionRequests();
|
insilmaril@0
|
48 |
|
insilmaril@721
|
49 |
virtual QRectF getBBoxSizeWithChildren(); // return size of BBox including children
|
insilmaril@793
|
50 |
virtual ConvexPolygon getBoundingPolygon();
|
insilmaril@721
|
51 |
virtual void calcBBoxSizeWithChildren(); // calc size of BBox including children recursivly
|
insilmaril@0
|
52 |
|
insilmaril@688
|
53 |
virtual void setAnimation(const AnimPoint &ap);
|
insilmaril@688
|
54 |
virtual bool animate();
|
insilmaril@0
|
55 |
|
insilmaril@0
|
56 |
protected:
|
insilmaril@406
|
57 |
QList<XLinkObj*> xlink; // xlinks to other branches
|
insilmaril@688
|
58 |
|
insilmaril@688
|
59 |
AnimPoint anim;
|
insilmaril@0
|
60 |
};
|
insilmaril@0
|
61 |
|
insilmaril@0
|
62 |
|
insilmaril@0
|
63 |
#endif
|
insilmaril@0
|
64 |
|