mapitem.cpp
changeset 760 59614eaf5fbb
child 762 ffb95cd03156
     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 +