X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=mapitem.cpp;fp=mapitem.cpp;h=0000000000000000000000000000000000000000;hb=d483bd8e6523c23c6f1d8908a2e0611c2bc9ff4f;hp=3dd4b2ff6a5d99d64ba05ac4fb9d012f202f01da;hpb=7dfa3fe589d1722d49681f42cdb0bf1e6efb5223;p=sven%2Fvym.git diff --git a/mapitem.cpp b/mapitem.cpp deleted file mode 100644 index 3dd4b2f..0000000 --- a/mapitem.cpp +++ /dev/null @@ -1,187 +0,0 @@ -#include "mapitem.h" - -#include "linkablemapobj.h" -#include "ornamentedobj.h" - -#include - -MapItem::MapItem() -{ - init(); -} - -MapItem::MapItem(const QList &data, TreeItem *parent):TreeItem (data,parent) -{ - init(); -} - -void MapItem::init() -{ - mo=NULL; - posMode=Unused; - hideLinkUnselected=false; -} - -void MapItem::appendChild (TreeItem *item) -{ - TreeItem::appendChild (item); - - // FIXME-4 maybe access parent in MapObjs directly via treeItem - // and remove this here... - - // If lmo exists, also set parObj there - LinkableMapObj *lmo=getLMO(); - if (lmo) - { - LinkableMapObj *itemLMO=((MapItem*)item)->getLMO(); - if (itemLMO) - itemLMO->setParObj (lmo); - } -} - -void MapItem::setRelPos (const QPointF &p) -{ - posMode=Relative; - pos=p; - LinkableMapObj *lmo=getLMO(); - if (lmo) - { - ((OrnamentedObj*)lmo)->setUseRelPos (true); - ((OrnamentedObj*)lmo)->move2RelPos(p); - } -} - -void MapItem::setAbsPos (const QPointF &p) -{ - posMode=Absolute; - pos=p; - if (mo) mo->move (p); -} - -void MapItem::setPositionMode (PositionMode mode) -{ - posMode=mode; -} - -MapItem::PositionMode MapItem::getPositionMode () -{ - return posMode; -} - -void MapItem::setHideLinkUnselected (bool b) -{ - hideLinkUnselected=b; - LinkableMapObj *lmo=getLMO(); - if (lmo) - { - //lmo->setHideLinkUnselected(); - lmo->setVisibility (lmo->isVisibleObj()); - lmo->updateLinkGeometry(); - } -} - -bool MapItem::getHideLinkUnselected() -{ - return hideLinkUnselected; -} - -QString MapItem::getMapAttr () -{ - QString s; - LinkableMapObj *lmo=getLMO(); - - if (parentItem==rootItem) - posMode=Absolute; - else - { - if (type==TreeItem::Image ||depth()==1 || lmo->getUseRelPos() ) - posMode=Relative; //FiXME-2 shouldn't this be replaced by relPos? - else - posMode=Unused; - } - switch (posMode) - { - case Relative: - if (lmo) pos=lmo->getRelPos(); - s= attribut("relPosX",QString().setNum(pos.x())) + - attribut("relPosY",QString().setNum(pos.y())); - break; - case Absolute: - if (mo) pos=mo->getAbsPos(); - s=attribut("absPosX",QString().setNum(pos.x())) + - attribut("absPosY",QString().setNum(pos.y())); - break; - default: break; - } - if (hideLinkUnselected) - s+=attribut ("hideLink","true"); - else - s+=attribut ("hideLink","false"); - - // Rotation angle - MapObj *mo=getMO(); - if (mo) - angle=mo->getRotation(); - if (angle!=0) - s+=attribut("rotation",QString().setNum(angle) ); - - return s; -} - -QRectF MapItem::getBBoxURLFlag () -{ - QStringList list=systemFlags.activeFlagNames().filter ("system-url"); - if (list.count()>1) - { - qWarning()<<"MapItem::getBBoxURLFlag found more than one system-url*"; - return QRectF (); - } - return getBBoxFlag (list.first()); -} - -QRectF MapItem::getBBoxFlag (const QString &fname) -{ - LinkableMapObj *lmo=getLMO(); - if (lmo) - return ((OrnamentedObj*)lmo)->getBBoxFlag (fname); - else - return QRectF (); -} - -void MapItem::setRotation(const qreal &a) -{ - angle=a; - MapObj *mo=getMO(); - if (mo) mo->setRotation (a); -} - -MapObj* MapItem::getMO() -{ - return mo; -} - -LinkableMapObj* MapItem::getLMO() -{ - if (isBranchLikeType() || type==Image) - return (LinkableMapObj*)mo; - else - return NULL; -} - -void MapItem::initLMO() -{ - LinkableMapObj *lmo=getLMO(); - if (!lmo) return; - switch (posMode) - { - case Relative: - lmo->setRelPos (pos); - break; - case Absolute: - lmo->move (pos); - break; - default: - break; - } -} -