diff -r bf3ea1f1520b -r 59614eaf5fbb mapitem.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mapitem.cpp Wed Apr 29 18:46:31 2009 +0000 @@ -0,0 +1,58 @@ +#include "mapitem.h" + +#include "linkablemapobj.h" +#include "ornamentedobj.h" + +#include +using namespace std; + +MapItem::MapItem() +{ + lmo=NULL; + posMode=Unused; +} + +void MapItem::setRelPos (const QPointF &p) +{ + posMode=Relative; + pos=p; + if (lmo) + { + ((OrnamentedObj*)lmo)->setUseRelPos (true); + ((OrnamentedObj*)lmo)->move2RelPos(p); + } +} + +void MapItem::setAbsPos (const QPointF &p) +{ + posMode=Absolute; + pos=p; + if (lmo) lmo->move (p); +} + +LinkableMapObj* MapItem::getLMO() +{ + return lmo; +} + +void MapItem::setLMO(LinkableMapObj *l) +{ + lmo=l; +} + +void MapItem::initLMO() +{ + if (!lmo) return; + switch (posMode) + { + case Relative: + lmo->setRelPos (pos); + break; + case Absolute: + lmo->move (pos); + break; + default: + break; + } +} +