insilmaril@0: #ifndef FLOATOBJ_H insilmaril@0: #define FLOATOBJ_H insilmaril@0: insilmaril@242: #include "ornamentedobj.h" insilmaril@0: insilmaril@470: /*! \brief Base class for objects floating in the map, which means they can be positioned freely. */ insilmaril@470: insilmaril@470: insilmaril@0: ///////////////////////////////////////////////////////////////////////////// insilmaril@242: class FloatObj:public OrnamentedObj { insilmaril@0: public: insilmaril@0: FloatObj (); insilmaril@408: FloatObj (QGraphicsScene*); insilmaril@408: FloatObj (QGraphicsScene*, LinkableMapObj* parent); insilmaril@0: ~FloatObj (); insilmaril@0: virtual void init (); insilmaril@0: virtual void copy (FloatObj*); insilmaril@0: virtual bool load (const QString&)=0; insilmaril@408: virtual void setZValue(const int&); // set zPlane insilmaril@408: virtual int zValue(); insilmaril@0: virtual void setFloatExport (const bool &); insilmaril@0: virtual bool getFloatExport (); insilmaril@0: insilmaril@0: virtual void move (double,double); insilmaril@408: virtual void move (QPointF); insilmaril@223: virtual void setDockPos(); insilmaril@0: virtual void reposition(); insilmaril@0: insilmaril@721: virtual QRectF getTotalBBox(); // return BBox including children insilmaril@721: virtual QRectF getBBoxSizeWithChildren(); // return size of BBox including children insilmaril@0: insilmaril@0: virtual void resetSaveCounter()=0; insilmaril@0: insilmaril@0: virtual void select(); insilmaril@0: virtual void unselect(); insilmaril@0: insilmaril@0: protected: insilmaril@0: bool floatExport; insilmaril@0: int zPlane; insilmaril@0: }; insilmaril@0: insilmaril@0: #endif