9 /////////////////////////////////////////////////////////////////
11 /////////////////////////////////////////////////////////////////
13 Link::Link (VymModel *m)
15 //qDebug() << "Const Link () this="<<this;
22 //qDebug()<<"* Destr Link begin this="<<this<<" bLI="<<beginLinkItem<<" eLI="<<endLinkItem;
24 //qDebug()<<"* Destr Link end this="<<this;
32 xLinkState=Link::undefinedXLink;
34 color=QColor (180,180,180);
38 void Link::setBeginBranch (BranchItem *bi)
47 BranchItem* Link::getBeginBranch ()
52 void Link::setEndBranch (BranchItem *bi)
61 BranchItem* Link::getEndBranch()
66 void Link::setEndPoint (QPointF p)
68 if (xlo) xlo->setEnd (p);
71 void Link::setBeginLinkItem (XLinkItem *li)
80 XLinkItem* Link::getBeginLinkItem ()
85 void Link::setEndLinkItem (XLinkItem *li)
94 XLinkItem* Link::getEndLinkItem()
99 void Link::setWidth (int w)
102 if (xlo) xlo->updateXLink();
110 void Link::setColor(QColor c)
113 if (xlo) xlo->updateXLink();
116 QColor Link::getColor()
121 bool Link::activate ()
123 if (beginBranch && endBranch)
126 if (beginBranch==endBranch) return false;
127 xLinkState=activeXLink;
129 model->updateActions();
135 void Link::deactivate ()
137 // Remove pointers from XLinkItem to Link and
140 xLinkState=deleteXLink;
141 if (beginLinkItem) beginLinkItem->setLink (NULL);
142 if (endLinkItem) endLinkItem->setLink (NULL);
150 void Link::removeXLinkItem (XLinkItem *xli)
152 if (xli==beginLinkItem) beginLinkItem=NULL;
153 if (xli==endLinkItem) endLinkItem=NULL;
156 void Link::updateLink()
158 if(xlo ) xlo->updateXLink();
161 QString Link::saveToDir ()
164 if (beginBranch && endBranch && xLinkState==activeXLink)
166 if (beginBranch==endBranch )
167 qWarning ("Link::saveToDir beginBranch==endBranch");
170 QString colAttr=attribut ("color",color.name());
171 QString widAttr=attribut ("width",QString().setNum(width,10));
172 QString begSelAttr=attribut ("beginID",model->getSelectString(beginBranch));
173 QString endSelAttr=attribut ("endID", model->getSelectString(endBranch));
174 s=singleElement ("xlink", colAttr +widAttr +begSelAttr +endSelAttr);
181 XLinkObj* Link::getXLinkObj()
186 XLinkObj* Link::createMapObj(QGraphicsScene *scene)
188 if (!xlo) xlo=new XLinkObj (scene,this);