mapitem.h
author insilmaril
Mon, 08 Jun 2009 11:36:56 +0000
changeset 776 25e634a7e1dc
parent 775 6e4b586aa88a
child 777 8acac4fade1b
permissions -rw-r--r--
Images basically work (again)
insilmaril@760
     1
#ifndef MAPITEM_H
insilmaril@760
     2
#define MAPITEM_H
insilmaril@760
     3
insilmaril@760
     4
#include <QPointF>
insilmaril@760
     5
insilmaril@776
     6
#include "treeitem.h"
insilmaril@762
     7
#include "xmlobj.h"
insilmaril@762
     8
insilmaril@760
     9
class LinkableMapObj;
insilmaril@776
    10
class TreeItem;
insilmaril@760
    11
insilmaril@760
    12
/*! /brief MapItem is used to store information of MapObj and inherited
insilmaril@760
    13
   classes.
insilmaril@760
    14
 
insilmaril@762
    15
	This is done even while no QGraphicsView is availabe. This is useful
insilmaril@762
    16
	if e.g. on a small device like a cellphone te full map is not used,
insilmaril@762
    17
	but just a treeview instead.
insilmaril@760
    18
*/
insilmaril@760
    19
insilmaril@776
    20
class MapItem:public TreeItem, public XMLObj
insilmaril@760
    21
{
insilmaril@775
    22
public:
insilmaril@775
    23
	enum PositionMode {Unused,Absolute,Relative};
insilmaril@760
    24
protected:
insilmaril@760
    25
	QPointF pos;
insilmaril@760
    26
	PositionMode posMode;
insilmaril@760
    27
insilmaril@760
    28
public:
insilmaril@760
    29
	MapItem();
insilmaril@776
    30
	MapItem (const QList<QVariant> &data, TreeItem *parent = 0);
insilmaril@776
    31
	void init();
insilmaril@760
    32
insilmaril@760
    33
	/*! Used to save relative position while map is not in QGraphicsView */
insilmaril@760
    34
	virtual void setRelPos(const QPointF&);	
insilmaril@760
    35
insilmaril@760
    36
	/*! Used to save absolute position while map is not in QGraphicsView */
insilmaril@760
    37
	virtual void setAbsPos(const QPointF&);	
insilmaril@760
    38
insilmaril@775
    39
	/*! Tell object to use e.g. absolute positioning for mapcenter. 
insilmaril@775
    40
	    Defaulst is MapItem::Unused */
insilmaril@775
    41
	void setPositionMode (PositionMode mode);
insilmaril@775
    42
insilmaril@760
    43
protected:
insilmaril@760
    44
	LinkableMapObj *lmo;
insilmaril@760
    45
public:
insilmaril@760
    46
	/*! Returns pointer to related LinkableMapObj in QGraphicsView */
insilmaril@760
    47
	virtual LinkableMapObj* getLMO();
insilmaril@760
    48
insilmaril@760
    49
	/*! Set pointer to related LinkableMapObj in QGraphicsView */
insilmaril@760
    50
	virtual void setLMO (LinkableMapObj*);
insilmaril@760
    51
insilmaril@760
    52
	/*! Initialize LinkableMapObj with data in MapItem */
insilmaril@760
    53
	virtual void initLMO();
insilmaril@762
    54
insilmaril@762
    55
	/*! Return data as attributes for saving in XML */
insilmaril@762
    56
	virtual QString getAttr();
insilmaril@760
    57
};
insilmaril@760
    58
insilmaril@760
    59
insilmaril@760
    60
#endif