insilmaril@760: #include "mapitem.h" insilmaril@760: insilmaril@760: #include "linkablemapobj.h" insilmaril@760: #include "ornamentedobj.h" insilmaril@760: insilmaril@760: MapItem::MapItem() insilmaril@760: { insilmaril@776: init(); insilmaril@776: } insilmaril@776: insilmaril@776: void MapItem::init() insilmaril@776: { insilmaril@760: lmo=NULL; insilmaril@760: posMode=Unused; insilmaril@760: } insilmaril@760: insilmaril@760: void MapItem::setRelPos (const QPointF &p) insilmaril@760: { insilmaril@760: posMode=Relative; insilmaril@760: pos=p; insilmaril@760: if (lmo) insilmaril@760: { insilmaril@760: ((OrnamentedObj*)lmo)->setUseRelPos (true); insilmaril@760: ((OrnamentedObj*)lmo)->move2RelPos(p); insilmaril@760: } insilmaril@760: } insilmaril@760: insilmaril@760: void MapItem::setAbsPos (const QPointF &p) insilmaril@760: { insilmaril@760: posMode=Absolute; insilmaril@760: pos=p; insilmaril@760: if (lmo) lmo->move (p); insilmaril@760: } insilmaril@760: insilmaril@775: void MapItem::setPositionMode (PositionMode mode) insilmaril@775: { insilmaril@775: posMode=mode; insilmaril@775: } insilmaril@775: insilmaril@760: LinkableMapObj* MapItem::getLMO() insilmaril@760: { insilmaril@760: return lmo; insilmaril@760: } insilmaril@760: insilmaril@760: void MapItem::setLMO(LinkableMapObj *l) insilmaril@760: { insilmaril@760: lmo=l; insilmaril@760: } insilmaril@760: insilmaril@760: void MapItem::initLMO() insilmaril@760: { insilmaril@760: if (!lmo) return; insilmaril@760: switch (posMode) insilmaril@760: { insilmaril@760: case Relative: insilmaril@760: lmo->setRelPos (pos); insilmaril@760: break; insilmaril@760: case Absolute: insilmaril@760: lmo->move (pos); insilmaril@760: break; insilmaril@760: default: insilmaril@760: break; insilmaril@760: } insilmaril@760: } insilmaril@760: