1
#include "mapitem.h"
2
3
#include "linkablemapobj.h"
4
#include "ornamentedobj.h"
5
6
#include <iostream>
7
using namespace std;
8
9
MapItem::MapItem()
10
{
11
lmo=NULL;
12
posMode=Unused;
13
}
14
15
void MapItem::setRelPos (const QPointF &p)
16
17
posMode=Relative;
18
pos=p;
19
if (lmo)
20
21
((OrnamentedObj*)lmo)->setUseRelPos (true);
22
((OrnamentedObj*)lmo)->move2RelPos(p);
23
24
25
26
void MapItem::setAbsPos (const QPointF &p)
27
28
posMode=Absolute;
29
30
if (lmo) lmo->move (p);
31
32
33
void MapItem::setPositionMode (PositionMode mode)
34
35
posMode=mode;
36
37
38
LinkableMapObj* MapItem::getLMO()
39
40
return lmo;
41
42
43
void MapItem::setLMO(LinkableMapObj *l)
44
45
lmo=l;
46
47
48
void MapItem::initLMO()
49
50
if (!lmo) return;
51
switch (posMode)
52
53
case Relative:
54
lmo->setRelPos (pos);
55
break;
56
case Absolute:
57
lmo->move (pos);
58
59
default:
60
61
62
63
64
QString MapItem::getAttr()
65
66
67
68
69
if (lmo) pos=lmo->getRelPos();
70
return
71
attribut("relPosX",QString().setNum(pos.x())) +
72
attribut("relPosY",QString().setNum(pos.y()));
73
74
75
if (lmo) pos=lmo->getAbsPos();
76
77
attribut("absPosX",QString().setNum(pos.x())) +
78
attribut("absPosY",QString().setNum(pos.y()));
79
80
81
return QString();
82
83
84
85