mapobj.h
author insilmaril
Mon, 27 Apr 2009 12:07:15 +0000
changeset 756 a8a5c7288f57
parent 754 db0ec4bcf416
child 772 e3f722759c7e
permissions -rw-r--r--
relinking branches and removing branches works
     1 #ifndef MAPOBJ_H
     2 #define MAPOBJ_H
     3 
     4 #include <QGraphicsScene>
     5 #include <QGraphicsItem>
     6 
     7 #include "xmlobj.h"
     8 
     9 #define Z_BBOX      0
    10 #define Z_XLINK    10
    11 #define Z_LINK     20
    12 #define Z_FRAME    50
    13 #define Z_SELBOX   60
    14 #define Z_FLOATIMG 65
    15 #define Z_ICON     80
    16 #define Z_TEXT    100
    17 
    18 /*! \brief Base class for all objects visible on a map
    19 */
    20 
    21 class MapObj:public XMLObj {
    22 public:
    23     MapObj ();
    24     MapObj (QGraphicsScene*);
    25     MapObj (MapObj*);
    26     virtual ~MapObj ();
    27     virtual void init ();
    28     virtual void copy (MapObj*);
    29 	virtual QGraphicsScene* getScene();
    30     virtual qreal x();
    31     virtual qreal y();
    32 	virtual qreal width();
    33 	virtual qreal height();
    34 	virtual QPointF getAbsPos();
    35 	virtual QString getPos();					// Return position as string (x,y)
    36     virtual void move (double x,double y);      // move to absolute Position
    37     virtual void move (QPointF p);
    38     virtual void moveBy (double x,double y);    // move to relative Position
    39     virtual QRectF getBBox();					// returns bounding box
    40     virtual QRectF getClickBox();				// returns box to click
    41 	virtual bool isInClickBox (const QPointF &p);	//! Checks if p is in clickBox
    42     virtual QSizeF getSize();					// returns size of bounding box
    43     virtual bool isVisibleObj();
    44     virtual void setVisibility(bool);
    45     virtual void positionBBox()=0;       
    46 	virtual void calcBBoxSize()=0;
    47 protected:  
    48     QGraphicsScene* scene;
    49     QRectF bbox;									// bounding box of MO itself
    50 	QRectF clickBox;								// area where mouseclicks are found
    51     QPointF absPos;							    // Position on canvas
    52     bool visible;
    53 };
    54 
    55 #endif