author | insilmaril |
Wed Jun 09 13:14:08 2010 +0000 (2010-06-09) | |
changeset 847 | 43268373032d |
parent 843 | 2d36a7bb0867 |
permissions | -rw-r--r-- |
insilmaril@795 | 1 |
#include <QGraphicsScene> |
insilmaril@795 | 2 |
#include "xlinkitem.h" |
insilmaril@795 | 3 |
|
insilmaril@795 | 4 |
#include "branchitem.h" |
insilmaril@795 | 5 |
#include "linkablemapobj.h" |
insilmaril@795 | 6 |
#include "vymmodel.h" |
insilmaril@795 | 7 |
#include "xlinkobj.h" |
insilmaril@795 | 8 |
|
insilmaril@795 | 9 |
///////////////////////////////////////////////////////////////// |
insilmaril@795 | 10 |
// XLinkItem |
insilmaril@795 | 11 |
///////////////////////////////////////////////////////////////// |
insilmaril@795 | 12 |
|
insilmaril@795 | 13 |
XLinkItem::XLinkItem (const QList<QVariant> &data, TreeItem *parent):MapItem (data,parent) |
insilmaril@795 | 14 |
|
insilmaril@795 | 15 |
{ |
insilmaril@843 | 16 |
//qDebug() << "Const XLinkItem () "<<this; |
insilmaril@795 | 17 |
init(); |
insilmaril@795 | 18 |
} |
insilmaril@795 | 19 |
|
insilmaril@795 | 20 |
XLinkItem::~XLinkItem () |
insilmaril@795 | 21 |
{ |
insilmaril@847 | 22 |
//qDebug() << "Destr XLinkItem begin "<<this<<" pI="<<parentItem<<" link="<<link; |
insilmaril@847 | 23 |
if (link) |
insilmaril@825 | 24 |
{ |
insilmaril@847 | 25 |
// tell the model to remove the link later |
insilmaril@847 | 26 |
// (and then remove partner link in VymModel::cleanupLinks) |
insilmaril@847 | 27 |
model->deleteLink (link); |
insilmaril@847 | 28 |
link->removeXLinkItem (this); |
insilmaril@847 | 29 |
link->deactivate(); |
insilmaril@847 | 30 |
} |
insilmaril@847 | 31 |
//qDebug() << "Destr XLinkItem end"<<this; |
insilmaril@795 | 32 |
} |
insilmaril@795 | 33 |
|
insilmaril@795 | 34 |
|
insilmaril@795 | 35 |
void XLinkItem::init () |
insilmaril@795 | 36 |
{ |
insilmaril@795 | 37 |
setType (XLink); |
insilmaril@847 | 38 |
link=NULL; |
insilmaril@795 | 39 |
} |
insilmaril@795 | 40 |
|
insilmaril@847 | 41 |
void XLinkItem::setLink (Link *l) |
insilmaril@795 | 42 |
{ |
insilmaril@847 | 43 |
link=l; |
insilmaril@795 | 44 |
} |
insilmaril@795 | 45 |
|
insilmaril@847 | 46 |
Link* XLinkItem::getLink () |
insilmaril@795 | 47 |
{ |
insilmaril@847 | 48 |
return link; |
insilmaril@795 | 49 |
} |
insilmaril@795 | 50 |
|
insilmaril@795 | 51 |
void XLinkItem::updateXLink() |
insilmaril@795 | 52 |
{ |
insilmaril@847 | 53 |
qDebug()<<"XLI::updateXLink"; |
insilmaril@847 | 54 |
if (link) |
insilmaril@847 | 55 |
link->updateLink(); |
insilmaril@795 | 56 |
} |
insilmaril@795 | 57 |
|
insilmaril@795 | 58 |
BranchItem* XLinkItem::getPartnerBranch() |
insilmaril@795 | 59 |
{ |
insilmaril@847 | 60 |
if (link && link->getBeginBranch() && link->getEndBranch()) |
insilmaril@847 | 61 |
{ |
insilmaril@847 | 62 |
if (parentItem==link->getBeginBranch()) |
insilmaril@847 | 63 |
return link->getEndBranch(); |
insilmaril@847 | 64 |
else |
insilmaril@847 | 65 |
return link->getBeginBranch(); |
insilmaril@847 | 66 |
} |
insilmaril@847 | 67 |
return NULL; |
insilmaril@795 | 68 |
} |
insilmaril@795 | 69 |