1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/xlink.h Wed Jun 09 13:14:08 2010 +0000
1.3 @@ -0,0 +1,64 @@
1.4 +#ifndef LINK_H
1.5 +#define LINK_H
1.6 +
1.7 +#include <QColor>
1.8 +
1.9 +#include "xmlobj.h"
1.10 +
1.11 +class QPointF;
1.12 +class QGraphicsScene;
1.13 +class QString;
1.14 +
1.15 +class BranchItem;
1.16 +class LinkableMapObj;
1.17 +class VymModel;
1.18 +class XLinkItem;
1.19 +class XLinkObj;
1.20 +
1.21 +
1.22 +class Link:public XMLObj
1.23 +{
1.24 +public:
1.25 + enum XLinkState {undefinedXLink,initXLink,activeXLink,deleteXLink};
1.26 +
1.27 + Link (VymModel *m);
1.28 + virtual ~Link();
1.29 + virtual void init ();
1.30 + void setBeginBranch (BranchItem*);
1.31 + BranchItem* getBeginBranch();
1.32 + void setEndBranch (BranchItem*);
1.33 + void setEndPoint(QPointF);
1.34 + BranchItem* getEndBranch();
1.35 + void setBeginLinkItem (XLinkItem*);
1.36 + XLinkItem* getBeginLinkItem();
1.37 + void setEndLinkItem (XLinkItem*);
1.38 + XLinkItem* getEndLinkItem ();
1.39 + void setColor(QColor);
1.40 + QColor getColor();
1.41 + void setWidth (int);
1.42 + int getWidth ();
1.43 + bool activate ();
1.44 + void deactivate ();
1.45 + void removeXLinkItem (XLinkItem *xli);
1.46 + void updateLink();
1.47 + QString saveToDir ();
1.48 + XLinkObj* getXLinkObj();
1.49 + XLinkObj* createMapObj(QGraphicsScene *scene);
1.50 +
1.51 +private:
1.52 + XLinkState xLinkState; // init during drawing or active
1.53 + QColor color;
1.54 + int width;
1.55 +
1.56 + XLinkObj *xlo;
1.57 + VymModel *model;
1.58 +
1.59 + BranchItem *beginBranch;
1.60 + BranchItem *endBranch;
1.61 + XLinkItem *beginLinkItem;
1.62 + XLinkItem *endLinkItem;
1.63 +};
1.64 +
1.65 +
1.66 +#endif
1.67 +