xlinkobj.h
author insilmaril
Mon, 18 Apr 2005 06:17:00 +0000
changeset 95 f688a9913724
child 97 0b048b6bb6f4
permissions -rw-r--r--
added basic xLink functions
insilmaril@95
     1
#ifndef XLINKOBJ_H
insilmaril@95
     2
#define XLINKOBJ_H
insilmaril@95
     3
insilmaril@95
     4
#include "linkablemapobj.h"
insilmaril@95
     5
insilmaril@95
     6
enum XLinkState {undefinedXLink,initXLink,activeXLink,deleteXLink};
insilmaril@95
     7
insilmaril@95
     8
/////////////////////////////////////////////////////////////////////////////
insilmaril@95
     9
class XLinkObj:public MapObj {
insilmaril@95
    10
public:
insilmaril@95
    11
    XLinkObj ();
insilmaril@95
    12
    XLinkObj (QCanvas*);
insilmaril@95
    13
    ~XLinkObj ();
insilmaril@95
    14
    virtual void init ();
insilmaril@95
    15
    virtual void copy (XLinkObj*);
insilmaril@95
    16
	void setBegin (BranchObj*);
insilmaril@95
    17
	void setEnd   (BranchObj*);
insilmaril@95
    18
	void setEnd   (QPoint);
insilmaril@95
    19
	void setColor(QColor);
insilmaril@95
    20
	bool activate ();			// Sets pointers in branchObjects
insilmaril@95
    21
	void deactivate();			// removes those pointers
insilmaril@95
    22
	bool isUsed();				// true, if at least on branch uses it
insilmaril@95
    23
	void updateXLink();
insilmaril@95
    24
	BranchObj* otherBranch (BranchObj*);
insilmaril@95
    25
	void positionBBox();
insilmaril@95
    26
	void calcBBoxSize();
insilmaril@95
    27
	void setVisibility (bool);
insilmaril@95
    28
	void setVisibility ();
insilmaril@95
    29
	QString saveToDir ();
insilmaril@95
    30
insilmaril@95
    31
private:
insilmaril@95
    32
	static int arrowSize;
insilmaril@95
    33
	static QColor defXLinkColor;
insilmaril@95
    34
	QColor xLinkColor;
insilmaril@95
    35
	QCanvasLine *line;
insilmaril@95
    36
	QCanvasPolygon *poly;
insilmaril@95
    37
	BranchObj *beginBranch;
insilmaril@95
    38
	BranchObj *endBranch;
insilmaril@95
    39
	BranchObj *visBranch;	// the "visible" part of a partially scrolled link
insilmaril@95
    40
	XLinkState xLinkState;	// init during drawing or active
insilmaril@95
    41
	QPoint beginPos;
insilmaril@95
    42
	QPoint   endPos;
insilmaril@95
    43
};
insilmaril@95
    44
insilmaril@95
    45
#endif