xlink.h
author insilmaril
Wed, 09 Jun 2010 13:14:08 +0000
changeset 847 43268373032d
permissions -rw-r--r--
1.13.4 Various fixes
insilmaril@847
     1
#ifndef LINK_H
insilmaril@847
     2
#define LINK_H
insilmaril@847
     3
insilmaril@847
     4
#include <QColor>
insilmaril@847
     5
insilmaril@847
     6
#include "xmlobj.h"
insilmaril@847
     7
insilmaril@847
     8
class QPointF;
insilmaril@847
     9
class QGraphicsScene;
insilmaril@847
    10
class QString;
insilmaril@847
    11
insilmaril@847
    12
class BranchItem;
insilmaril@847
    13
class LinkableMapObj;
insilmaril@847
    14
class VymModel;
insilmaril@847
    15
class XLinkItem;
insilmaril@847
    16
class XLinkObj;
insilmaril@847
    17
insilmaril@847
    18
insilmaril@847
    19
class Link:public XMLObj
insilmaril@847
    20
{
insilmaril@847
    21
public:
insilmaril@847
    22
	enum XLinkState {undefinedXLink,initXLink,activeXLink,deleteXLink};	
insilmaril@847
    23
insilmaril@847
    24
	Link (VymModel *m);
insilmaril@847
    25
    virtual ~Link();
insilmaril@847
    26
    virtual void init ();
insilmaril@847
    27
	void setBeginBranch (BranchItem*);
insilmaril@847
    28
	BranchItem* getBeginBranch();
insilmaril@847
    29
	void setEndBranch   (BranchItem*);
insilmaril@847
    30
	void setEndPoint(QPointF);
insilmaril@847
    31
	BranchItem* getEndBranch();
insilmaril@847
    32
	void setBeginLinkItem (XLinkItem*);
insilmaril@847
    33
	XLinkItem* getBeginLinkItem();
insilmaril@847
    34
	void setEndLinkItem (XLinkItem*);
insilmaril@847
    35
	XLinkItem* getEndLinkItem ();
insilmaril@847
    36
	void setColor(QColor);
insilmaril@847
    37
	QColor getColor();
insilmaril@847
    38
	void setWidth (int);
insilmaril@847
    39
	int getWidth ();
insilmaril@847
    40
	bool activate ();			
insilmaril@847
    41
	void deactivate ();			
insilmaril@847
    42
	void removeXLinkItem (XLinkItem *xli);
insilmaril@847
    43
	void updateLink();
insilmaril@847
    44
	QString saveToDir ();
insilmaril@847
    45
	XLinkObj* getXLinkObj();
insilmaril@847
    46
	XLinkObj* createMapObj(QGraphicsScene *scene);
insilmaril@847
    47
insilmaril@847
    48
private:
insilmaril@847
    49
	XLinkState xLinkState;	// init during drawing or active
insilmaril@847
    50
	QColor color;
insilmaril@847
    51
	int width;
insilmaril@847
    52
insilmaril@847
    53
	XLinkObj *xlo;
insilmaril@847
    54
	VymModel *model;
insilmaril@847
    55
insilmaril@847
    56
	BranchItem *beginBranch;
insilmaril@847
    57
	BranchItem *endBranch;
insilmaril@847
    58
	XLinkItem *beginLinkItem;
insilmaril@847
    59
	XLinkItem *endLinkItem;
insilmaril@847
    60
};
insilmaril@847
    61
insilmaril@847
    62
insilmaril@847
    63
#endif
insilmaril@847
    64