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