diff -r f0fe7c36ec5c -r 43268373032d xlinkitem.cpp --- a/xlinkitem.cpp Fri Apr 09 14:24:04 2010 +0000 +++ b/xlinkitem.cpp Wed Jun 09 13:14:08 2010 +0000 @@ -19,205 +19,51 @@ XLinkItem::~XLinkItem () { - qDebug() << "Destr XLinkItem "<updateXLink(); - return; - } - if (partnerXLink) - partnerXLink->setWidth (w); -} - -int XLinkItem::getWidth() -{ - if (isBeginXLink) return width; - if (partnerXLink) - return partnerXLink->getWidth(); - else - return -1; -} - -void XLinkItem::setColor(QColor c) -{ - if (isBeginXLink) - { - color=c; - if (lmo) ((XLinkObj*)lmo)->updateXLink(); - return; - } - if (partnerXLink) - partnerXLink->setColor (c); -} - -QColor XLinkItem::getColor() -{ - if (isBeginXLink) return color; - if (partnerXLink) - return partnerXLink->getColor(); - else - return QColor(); -} - -void XLinkItem::setEnd (QPointF p) -{ - if (lmo) ((XLinkObj*)lmo)->setEnd (p); -} - -bool XLinkItem::activate () -{ - if (beginBranch && endBranch) - { - if (beginBranch==endBranch) return false; - - partnerXLink=model->createXLink (endBranch); - partnerXLink->setBegin (beginBranch); - partnerXLink->setEnd (endBranch); - partnerXLink->partnerXLink=this; - partnerXLink->isBeginXLink=false; - - xLinkState=activeXLink; - partnerXLink->xLinkState=activeXLink; - partnerXLink->setHeading ("xLink to: "+beginBranch->getHeading()); - setHeading ("xLink to: "+endBranch->getHeading()); - - model->updateActions(); - return true; - } else - return false; -} - -bool XLinkItem::isBegin() -{ - return isBeginXLink; + return link; } void XLinkItem::updateXLink() { - if(lmo && isBeginXLink) - ((XLinkObj*)lmo)->updateXLink(); - else - if (partnerXLink) partnerXLink->updateXLink(); -} - -void XLinkItem::updateVisibility() -{ - if (lmo) lmo->updateVisibility(); + qDebug()<<"XLI::updateXLink"; + if (link) + link->updateLink(); } BranchItem* XLinkItem::getPartnerBranch() { - if (!beginBranch && !endBranch) - return NULL; - if (isBeginXLink) - return endBranch; - else - return beginBranch; + if (link && link->getBeginBranch() && link->getEndBranch()) + { + if (parentItem==link->getBeginBranch()) + return link->getEndBranch(); + else + return link->getBeginBranch(); + } + return NULL; } -BranchItem* XLinkItem::getOtherBranch(TreeItem *ti) -{ - BranchItem *pb=getPartnerBranch(); - if (!pb) return NULL; - - if (ti==beginBranch) - return endBranch; - else - return beginBranch; -} - - - -XLinkItem* XLinkItem::getPartnerXLink() -{ - return partnerXLink; -} - - -QString XLinkItem::saveToDir () -{ - QString s=""; - if (beginBranch && endBranch && xLinkState==activeXLink) - { - if (beginBranch==endBranch ) - qWarning ("XLI::saveToDir beginBranch==endBranch"); //FIXME-3 s="" - else - { - QString colAttr=attribut ("color",color.name()); - QString widAttr=attribut ("width",QString().setNum(width,10)); - QString begSelAttr=attribut ("beginID",model->getSelectString(beginBranch)); - QString endSelAttr=attribut ("endID", model->getSelectString(endBranch)); - s=beginElement ("xlink", colAttr +widAttr +begSelAttr +endSelAttr); - - s+=endElement ("xlink"); - } - } - return s; -} - -XLinkObj* XLinkItem::createMapObj(QGraphicsScene *scene) -{ - XLinkObj* xlo=new XLinkObj (scene,this); - lmo=(LinkableMapObj*)xlo; - return xlo; -} -