author | insilmaril |
Mon Dec 07 21:56:46 2009 +0000 (2009-12-07) | |
changeset 815 | 2881c4424190 |
parent 792 | 7d67be709091 |
permissions | -rw-r--r-- |
insilmaril@0 | 1 |
#ifndef MAPOBJ_H |
insilmaril@0 | 2 |
#define MAPOBJ_H |
insilmaril@0 | 3 |
|
insilmaril@408 | 4 |
#include <QGraphicsScene> |
insilmaril@408 | 5 |
#include <QGraphicsItem> |
insilmaril@0 | 6 |
|
insilmaril@616 | 7 |
#include "xmlobj.h" |
insilmaril@0 | 8 |
|
insilmaril@772 | 9 |
#define Z_BBOX 0 |
insilmaril@772 | 10 |
#define Z_XLINK 10 |
insilmaril@772 | 11 |
#define Z_LINK 20 |
insilmaril@772 | 12 |
#define Z_FRAME 50 |
insilmaril@772 | 13 |
#define Z_SELBOX 60 |
insilmaril@772 | 14 |
#define Z_FLOATIMG 65 |
insilmaril@772 | 15 |
#define Z_ICON 80 |
insilmaril@772 | 16 |
#define Z_TEXT 100 |
insilmaril@772 | 17 |
#define Z_LINEEDIT 110 |
insilmaril@0 | 18 |
|
insilmaril@792 | 19 |
class ConvexPolygon; |
insilmaril@790 | 20 |
|
insilmaril@790 | 21 |
class TreeItem; |
insilmaril@790 | 22 |
|
insilmaril@474 | 23 |
/*! \brief Base class for all objects visible on a map |
insilmaril@474 | 24 |
*/ |
insilmaril@474 | 25 |
|
insilmaril@616 | 26 |
class MapObj:public XMLObj { |
insilmaril@0 | 27 |
public: |
insilmaril@0 | 28 |
MapObj (); |
insilmaril@790 | 29 |
MapObj (QGraphicsScene *scene,TreeItem *ti=NULL); |
insilmaril@0 | 30 |
MapObj (MapObj*); |
insilmaril@0 | 31 |
virtual ~MapObj (); |
insilmaril@0 | 32 |
virtual void init (); |
insilmaril@0 | 33 |
virtual void copy (MapObj*); |
insilmaril@790 | 34 |
|
insilmaril@790 | 35 |
virtual void setTreeItem(TreeItem *); |
insilmaril@790 | 36 |
virtual TreeItem* getTreeItem() const; |
insilmaril@790 | 37 |
|
insilmaril@408 | 38 |
virtual QGraphicsScene* getScene(); |
insilmaril@408 | 39 |
virtual qreal x(); |
insilmaril@408 | 40 |
virtual qreal y(); |
insilmaril@408 | 41 |
virtual qreal width(); |
insilmaril@408 | 42 |
virtual qreal height(); |
insilmaril@408 | 43 |
virtual QPointF getAbsPos(); |
insilmaril@792 | 44 |
virtual QString getPos(); //! Return position as string (x,y) |
insilmaril@792 | 45 |
virtual void move (double x,double y); //! move to absolute Position |
insilmaril@408 | 46 |
virtual void move (QPointF p); |
insilmaril@792 | 47 |
virtual void moveBy (double x,double y); //! move to relative Position |
insilmaril@792 | 48 |
virtual QRectF getBBox(); //! returns bounding box |
insilmaril@792 | 49 |
virtual ConvexPolygon getBoundingPolygon(); //! return bounding convex polygon |
insilmaril@792 | 50 |
virtual QRectF getClickBox(); //! returns box to click |
insilmaril@754 | 51 |
virtual bool isInClickBox (const QPointF &p); //! Checks if p is in clickBox |
insilmaril@792 | 52 |
virtual QSizeF getSize(); //! returns size of bounding box |
insilmaril@0 | 53 |
virtual bool isVisibleObj(); |
insilmaril@0 | 54 |
virtual void setVisibility(bool); |
insilmaril@175 | 55 |
virtual void positionBBox()=0; |
insilmaril@175 | 56 |
virtual void calcBBoxSize()=0; |
insilmaril@0 | 57 |
protected: |
insilmaril@408 | 58 |
QGraphicsScene* scene; |
insilmaril@792 | 59 |
QRectF bbox; // bounding box of MO itself |
insilmaril@792 | 60 |
QRectF clickBox; // area where mouseclicks are found |
insilmaril@792 | 61 |
QPointF absPos; // Position on canvas |
insilmaril@0 | 62 |
bool visible; |
insilmaril@790 | 63 |
|
insilmaril@792 | 64 |
TreeItem *treeItem; //! Crossrefence to treemodel |
insilmaril@790 | 65 |
|
insilmaril@794 | 66 |
QGraphicsPolygonItem *pi; //FIXME-3 testing only |
insilmaril@0 | 67 |
}; |
insilmaril@0 | 68 |
|
insilmaril@0 | 69 |
#endif |