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
     1 #include "mapitem.h"
     2 
     3 #include "linkablemapobj.h"
     4 #include "ornamentedobj.h"
     5 
     6 MapItem::MapItem()
     7 {
     8 	init();
     9 }
    10 
    11 void MapItem::init()
    12 {
    13 	lmo=NULL;
    14 	posMode=Unused;
    15 }
    16 
    17 void MapItem::setRelPos (const QPointF &p)
    18 {
    19 	posMode=Relative;
    20 	pos=p;
    21 	if (lmo)
    22 	{
    23 		((OrnamentedObj*)lmo)->setUseRelPos (true);
    24 		((OrnamentedObj*)lmo)->move2RelPos(p);
    25 	}
    26 }
    27 
    28 void MapItem::setAbsPos (const QPointF &p)
    29 {
    30 	posMode=Absolute;
    31 	pos=p;
    32 	if (lmo) lmo->move (p);
    33 }
    34 
    35 void MapItem::setPositionMode (PositionMode mode)
    36 {
    37 	posMode=mode;
    38 }
    39 
    40 LinkableMapObj* MapItem::getLMO()
    41 {
    42 	return lmo;
    43 }
    44 
    45 void MapItem::setLMO(LinkableMapObj *l)
    46 {
    47 	lmo=l;
    48 }
    49 
    50 void MapItem::initLMO()
    51 {
    52 	if (!lmo) return;
    53 	switch (posMode)
    54 	{
    55 		case Relative:	
    56 			lmo->setRelPos (pos);
    57 			break;
    58 		case Absolute:	
    59 			lmo->move (pos);
    60 			break;
    61 		default:
    62 			break;
    63 	}
    64 }
    65