branchobj.h
author insilmaril
Mon, 15 Mar 2010 11:49:42 +0000
changeset 835 31841b366d5e
parent 823 0bba81dde1bc
child 847 43268373032d
permissions -rw-r--r--
Fixes for autoLayout (later)
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