xlinkobj.h
author insilmaril
Thu, 06 Jul 2006 14:47:01 +0000
branchqt4-port
changeset 9 f94317a94db1
parent 2 608f976aa7bb
permissions -rw-r--r--
Text Editor now shows states again
insilmaril@2
     1
#ifndef XLINKOBJ_H
insilmaril@2
     2
#define XLINKOBJ_H
insilmaril@2
     3
insilmaril@2
     4
#include "linkablemapobj.h"
insilmaril@2
     5
insilmaril@2
     6
enum XLinkState {undefinedXLink,initXLink,activeXLink,deleteXLink};
insilmaril@2
     7
insilmaril@2
     8
/////////////////////////////////////////////////////////////////////////////
insilmaril@2
     9
class XLinkObj:public MapObj {
insilmaril@2
    10
public:
insilmaril@2
    11
    XLinkObj ();
insilmaril@2
    12
    XLinkObj (Q3Canvas*);
insilmaril@2
    13
    ~XLinkObj ();
insilmaril@2
    14
    virtual void init ();
insilmaril@2
    15
    virtual void copy (XLinkObj*);
insilmaril@2
    16
	void setBegin (BranchObj*);
insilmaril@2
    17
	BranchObj* getBegin();
insilmaril@2
    18
	void setEnd   (BranchObj*);
insilmaril@2
    19
	void setEnd   (QPoint);
insilmaril@2
    20
	BranchObj* getEnd();
insilmaril@2
    21
	void setColor(QColor);
insilmaril@2
    22
	QColor getColor();
insilmaril@2
    23
	void setWidth (int);
insilmaril@2
    24
	int getWidth ();
insilmaril@2
    25
	bool activate ();			// Sets pointers in branchObjects
insilmaril@2
    26
	void deactivate();			// removes those pointers
insilmaril@2
    27
	bool isUsed();				// true, if at least on branch uses it
insilmaril@2
    28
	void updateXLink();
insilmaril@2
    29
	BranchObj* otherBranch (BranchObj*);
insilmaril@2
    30
	void positionBBox();
insilmaril@2
    31
	void calcBBoxSize();
insilmaril@2
    32
	void setVisibility (bool);
insilmaril@2
    33
	void setVisibility ();
insilmaril@2
    34
	QString saveToDir ();
insilmaril@2
    35
insilmaril@2
    36
private:
insilmaril@2
    37
	static int arrowSize;
insilmaril@2
    38
	QColor color;
insilmaril@2
    39
	int width;
insilmaril@2
    40
	Q3CanvasLine *line;
insilmaril@2
    41
	Q3CanvasPolygon *poly;
insilmaril@2
    42
	BranchObj *beginBranch;
insilmaril@2
    43
	BranchObj *endBranch;
insilmaril@2
    44
	BranchObj *visBranch;	// the "visible" part of a partially scrolled link
insilmaril@2
    45
	XLinkState xLinkState;	// init during drawing or active
insilmaril@2
    46
	QPoint beginPos;
insilmaril@2
    47
	QPoint   endPos;
insilmaril@2
    48
};
insilmaril@2
    49
insilmaril@2
    50
#endif