author | insilmaril |
Tue Mar 09 08:28:49 2010 +0000 (2010-03-09) | |
changeset 830 | b5537d245165 |
parent 795 | 6b0a5f4923d3 |
child 847 | 43268373032d |
permissions | -rw-r--r-- |
insilmaril@795 | 1 |
#ifndef XLINKITEM_H |
insilmaril@795 | 2 |
#define XLINKITEM_H |
insilmaril@795 | 3 |
|
insilmaril@795 | 4 |
class BranchItem; |
insilmaril@795 | 5 |
class XLinkObj; |
insilmaril@795 | 6 |
class QGraphicsScene; |
insilmaril@795 | 7 |
|
insilmaril@795 | 8 |
#include "mapitem.h" |
insilmaril@795 | 9 |
|
insilmaril@795 | 10 |
/*! \brief xlinks are used to draw arbitrary connections between branches (BranchObj) in the map. */ |
insilmaril@795 | 11 |
|
insilmaril@795 | 12 |
///////////////////////////////////////////////////////////////////////////// |
insilmaril@795 | 13 |
class XLinkItem:public MapItem { |
insilmaril@795 | 14 |
public: |
insilmaril@795 | 15 |
enum XLinkState {undefinedXLink,initXLink,activeXLink,deleteXLink}; |
insilmaril@795 | 16 |
|
insilmaril@795 | 17 |
XLinkItem (const QList<QVariant> &data, TreeItem *parent=NULL); |
insilmaril@795 | 18 |
virtual ~XLinkItem (); |
insilmaril@795 | 19 |
virtual void init (); |
insilmaril@795 | 20 |
void setBegin (BranchItem*); |
insilmaril@795 | 21 |
BranchItem* getBegin(); |
insilmaril@795 | 22 |
void setEnd (BranchItem*); |
insilmaril@795 | 23 |
void setEnd (QPointF); |
insilmaril@795 | 24 |
BranchItem* getEnd(); |
insilmaril@795 | 25 |
void setColor(QColor); |
insilmaril@795 | 26 |
QColor getColor(); |
insilmaril@795 | 27 |
void setWidth (int); |
insilmaril@795 | 28 |
int getWidth (); |
insilmaril@795 | 29 |
bool activate (); //! Creates a 2nd XLink (without a XLinkObj attached) |
insilmaril@795 | 30 |
bool isBegin(); //! true, if this is master xLink, which may have an XLinkObj attached |
insilmaril@795 | 31 |
void updateXLink(); |
insilmaril@795 | 32 |
virtual void updateVisibility(); // FIXME-3 not really needed atm... |
insilmaril@795 | 33 |
BranchItem* getPartnerBranch (); |
insilmaril@814 | 34 |
BranchItem* getOtherBranch (TreeItem *ti); |
insilmaril@795 | 35 |
XLinkItem *getPartnerXLink(); //! Partner XLink |
insilmaril@795 | 36 |
QString saveToDir (); |
insilmaril@795 | 37 |
virtual XLinkObj* createMapObj(QGraphicsScene *scene); |
insilmaril@795 | 38 |
|
insilmaril@795 | 39 |
private: |
insilmaril@795 | 40 |
XLinkState xLinkState; // init during drawing or active |
insilmaril@795 | 41 |
QColor color; |
insilmaril@795 | 42 |
int width; |
insilmaril@795 | 43 |
BranchItem *beginBranch; |
insilmaril@795 | 44 |
BranchItem *endBranch; |
insilmaril@795 | 45 |
XLinkItem *partnerXLink; |
insilmaril@795 | 46 |
bool isBeginXLink; |
insilmaril@795 | 47 |
}; |
insilmaril@795 | 48 |
|
insilmaril@795 | 49 |
#endif |