1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/mapitem.cpp Wed Apr 29 18:46:31 2009 +0000
1.3 @@ -0,0 +1,58 @@
1.4 +#include "mapitem.h"
1.5 +
1.6 +#include "linkablemapobj.h"
1.7 +#include "ornamentedobj.h"
1.8 +
1.9 +#include <iostream>
1.10 +using namespace std;
1.11 +
1.12 +MapItem::MapItem()
1.13 +{
1.14 + lmo=NULL;
1.15 + posMode=Unused;
1.16 +}
1.17 +
1.18 +void MapItem::setRelPos (const QPointF &p)
1.19 +{
1.20 + posMode=Relative;
1.21 + pos=p;
1.22 + if (lmo)
1.23 + {
1.24 + ((OrnamentedObj*)lmo)->setUseRelPos (true);
1.25 + ((OrnamentedObj*)lmo)->move2RelPos(p);
1.26 + }
1.27 +}
1.28 +
1.29 +void MapItem::setAbsPos (const QPointF &p)
1.30 +{
1.31 + posMode=Absolute;
1.32 + pos=p;
1.33 + if (lmo) lmo->move (p);
1.34 +}
1.35 +
1.36 +LinkableMapObj* MapItem::getLMO()
1.37 +{
1.38 + return lmo;
1.39 +}
1.40 +
1.41 +void MapItem::setLMO(LinkableMapObj *l)
1.42 +{
1.43 + lmo=l;
1.44 +}
1.45 +
1.46 +void MapItem::initLMO()
1.47 +{
1.48 + if (!lmo) return;
1.49 + switch (posMode)
1.50 + {
1.51 + case Relative:
1.52 + lmo->setRelPos (pos);
1.53 + break;
1.54 + case Absolute:
1.55 + lmo->move (pos);
1.56 + break;
1.57 + default:
1.58 + break;
1.59 + }
1.60 +}
1.61 +