1.1 --- a/mapitem.cpp Mon Jun 29 10:27:42 2009 +0000
1.2 +++ b/mapitem.cpp Mon Nov 16 09:47:10 2009 +0000
1.3 @@ -8,10 +8,32 @@
1.4 init();
1.5 }
1.6
1.7 +MapItem::MapItem(const QList<QVariant> &data, TreeItem *parent):TreeItem (data,parent)
1.8 +{
1.9 + init();
1.10 +}
1.11 +
1.12 void MapItem::init()
1.13 {
1.14 lmo=NULL;
1.15 posMode=Unused;
1.16 + hideLinkUnselected=false;
1.17 +}
1.18 +
1.19 +void MapItem::appendChild (TreeItem *item)
1.20 +{
1.21 + TreeItem::appendChild (item);
1.22 +
1.23 + // FIXME-4 maybe access parent in MapObjs directly via treeItem
1.24 + // and remove this here...
1.25 +
1.26 + // If lmo exists, also set parObj there
1.27 + if (lmo && (item->isBranchLikeType() || item->getType()==TreeItem::Image) )
1.28 + {
1.29 + LinkableMapObj *itemLMO=((MapItem*)item)->lmo;
1.30 + if (itemLMO)
1.31 + itemLMO->setParObj (lmo);
1.32 + }
1.33 }
1.34
1.35 void MapItem::setRelPos (const QPointF &p)
1.36 @@ -37,6 +59,51 @@
1.37 posMode=mode;
1.38 }
1.39
1.40 +void MapItem::setHideLinkUnselected (bool b)
1.41 +{
1.42 + hideLinkUnselected=b;
1.43 + if (lmo) lmo->setHideLinkUnselected();
1.44 +}
1.45 +
1.46 +bool MapItem::getHideLinkUnselected()
1.47 +{
1.48 + return hideLinkUnselected;
1.49 +}
1.50 +
1.51 +QString MapItem::getMapAttr ()
1.52 +{
1.53 + QString s;
1.54 +
1.55 + if (parentItem==rootItem)
1.56 + posMode=Absolute;
1.57 + else
1.58 + {
1.59 + if (type==TreeItem::Image ||depth()==1)
1.60 + posMode=Relative;
1.61 + else
1.62 + posMode=Unused;
1.63 + }
1.64 + switch (posMode)
1.65 + {
1.66 + case Relative:
1.67 + if (lmo) pos=lmo->getRelPos();
1.68 + s= attribut("relPosX",QString().setNum(pos.x())) +
1.69 + attribut("relPosY",QString().setNum(pos.y()));
1.70 + break;
1.71 + case Absolute:
1.72 + if (lmo) pos=lmo->getAbsPos();
1.73 + s=attribut("absPosX",QString().setNum(pos.x())) +
1.74 + attribut("absPosY",QString().setNum(pos.y()));
1.75 + break;
1.76 + default: break;
1.77 + }
1.78 + if (hideLinkUnselected)
1.79 + s+=attribut ("hideLink","true");
1.80 + else
1.81 + s+=attribut ("hideLink","false");
1.82 + return s;
1.83 +}
1.84 +
1.85 LinkableMapObj* MapItem::getLMO()
1.86 {
1.87 return lmo;