initial import
[vym] / floatobj.h
1 #ifndef FLOATOBJ_H
2 #define FLOATOBJ_H
3
4 #include "ornamentedobj.h"
5
6 /*! \brief Base class for objects floating in the map, which means they can be positioned freely. */
7
8
9 /////////////////////////////////////////////////////////////////////////////
10 class FloatObj:public OrnamentedObj {
11 public:
12     FloatObj ();
13     FloatObj (QGraphicsScene*);
14     FloatObj (QGraphicsScene*, LinkableMapObj* parent);
15     ~FloatObj ();
16     virtual void init ();
17     virtual void copy (FloatObj*);
18         virtual bool load (const QString&)=0;
19         virtual void setZValue(const int&);             // set zPlane
20         virtual int zValue();
21         virtual void setFloatExport (const bool &);
22         virtual bool getFloatExport ();
23
24         virtual void move (double,double);
25         virtual void move (QPointF);
26         virtual void setDockPos();
27         virtual void reposition();
28                                                                                         
29         virtual QRectF getTotalBBox();                  // return BBox including childs                 
30         virtual QRectF getBBoxSizeWithChilds(); // return size of BBox including childs  
31
32         virtual void resetSaveCounter()=0;
33
34         virtual void select();
35         virtual void unselect();
36
37 protected:
38         bool floatExport;
39         int zPlane;
40 };
41
42 #endif