mapitem.cpp
author insilmaril
Mon, 29 Jun 2009 10:27:42 +0000
changeset 777 8acac4fade1b
parent 776 25e634a7e1dc
child 779 1fb50e79661c
permissions -rw-r--r--
more fixes
insilmaril@760
     1
#include "mapitem.h"
insilmaril@760
     2
insilmaril@760
     3
#include "linkablemapobj.h"
insilmaril@760
     4
#include "ornamentedobj.h"
insilmaril@760
     5
insilmaril@760
     6
MapItem::MapItem()
insilmaril@760
     7
{
insilmaril@776
     8
	init();
insilmaril@776
     9
}
insilmaril@776
    10
insilmaril@776
    11
void MapItem::init()
insilmaril@776
    12
{
insilmaril@760
    13
	lmo=NULL;
insilmaril@760
    14
	posMode=Unused;
insilmaril@760
    15
}
insilmaril@760
    16
insilmaril@760
    17
void MapItem::setRelPos (const QPointF &p)
insilmaril@760
    18
{
insilmaril@760
    19
	posMode=Relative;
insilmaril@760
    20
	pos=p;
insilmaril@760
    21
	if (lmo)
insilmaril@760
    22
	{
insilmaril@760
    23
		((OrnamentedObj*)lmo)->setUseRelPos (true);
insilmaril@760
    24
		((OrnamentedObj*)lmo)->move2RelPos(p);
insilmaril@760
    25
	}
insilmaril@760
    26
}
insilmaril@760
    27
insilmaril@760
    28
void MapItem::setAbsPos (const QPointF &p)
insilmaril@760
    29
{
insilmaril@760
    30
	posMode=Absolute;
insilmaril@760
    31
	pos=p;
insilmaril@760
    32
	if (lmo) lmo->move (p);
insilmaril@760
    33
}
insilmaril@760
    34
insilmaril@775
    35
void MapItem::setPositionMode (PositionMode mode)
insilmaril@775
    36
{
insilmaril@775
    37
	posMode=mode;
insilmaril@775
    38
}
insilmaril@775
    39
insilmaril@760
    40
LinkableMapObj* MapItem::getLMO()
insilmaril@760
    41
{
insilmaril@760
    42
	return lmo;
insilmaril@760
    43
}
insilmaril@760
    44
insilmaril@760
    45
void MapItem::setLMO(LinkableMapObj *l)
insilmaril@760
    46
{
insilmaril@760
    47
	lmo=l;
insilmaril@760
    48
}
insilmaril@760
    49
insilmaril@760
    50
void MapItem::initLMO()
insilmaril@760
    51
{
insilmaril@760
    52
	if (!lmo) return;
insilmaril@760
    53
	switch (posMode)
insilmaril@760
    54
	{
insilmaril@760
    55
		case Relative:	
insilmaril@760
    56
			lmo->setRelPos (pos);
insilmaril@760
    57
			break;
insilmaril@760
    58
		case Absolute:	
insilmaril@760
    59
			lmo->move (pos);
insilmaril@760
    60
			break;
insilmaril@760
    61
		default:
insilmaril@760
    62
			break;
insilmaril@760
    63
	}
insilmaril@760
    64
}
insilmaril@760
    65