insilmaril@795: #ifndef XLINKITEM_H insilmaril@795: #define XLINKITEM_H insilmaril@795: insilmaril@795: class BranchItem; insilmaril@847: class QGraphicsScene; insilmaril@795: class XLinkObj; insilmaril@795: insilmaril@795: #include "mapitem.h" insilmaril@847: #include "xlink.h" insilmaril@795: insilmaril@795: /*! \brief xlinks are used to draw arbitrary connections between branches (BranchObj) in the map. */ insilmaril@795: insilmaril@795: ///////////////////////////////////////////////////////////////////////////// insilmaril@847: insilmaril@795: class XLinkItem:public MapItem { insilmaril@795: public: insilmaril@795: enum XLinkState {undefinedXLink,initXLink,activeXLink,deleteXLink}; insilmaril@795: insilmaril@795: XLinkItem (const QList &data, TreeItem *parent=NULL); insilmaril@795: virtual ~XLinkItem (); insilmaril@795: virtual void init (); insilmaril@847: void setLink (Link*); insilmaril@847: Link* getLink (); insilmaril@795: void updateXLink(); insilmaril@795: BranchItem* getPartnerBranch (); insilmaril@795: insilmaril@795: private: insilmaril@847: Link *link; insilmaril@795: }; insilmaril@795: insilmaril@795: #endif