insilmaril@0: #ifndef FRAMEOBJ_H insilmaril@0: #define FRAMEOBJ_H insilmaril@0: insilmaril@0: #include "mapobj.h" insilmaril@0: insilmaril@470: insilmaril@470: /*! \brief This class adds a frame to a MapObj. insilmaril@470: */ insilmaril@0: insilmaril@0: class FrameObj:public MapObj { insilmaril@0: public: insilmaril@470: insilmaril@470: /*! \brief Supported frame types */ insilmaril@470: enum FrameType {NoFrame,Rectangle,Ellipse}; insilmaril@470: insilmaril@0: FrameObj(); insilmaril@408: FrameObj(QGraphicsScene*); insilmaril@0: ~FrameObj(); insilmaril@0: void init(); insilmaril@0: void clear(); insilmaril@0: void move (double x,double y); // move to absolute Position insilmaril@0: void moveBy (double x,double y); // move to relative Position insilmaril@0: void positionBBox(); insilmaril@0: void calcBBoxSize(); insilmaril@408: void setRect (const QRectF &); // set dimensions insilmaril@470: void setPadding(const int &); insilmaril@470: int getPadding(); insilmaril@470: void setBorderWidth (const int &); insilmaril@470: int getBorderWidth (); insilmaril@0: FrameType getFrameType (); insilmaril@0: QString getFrameTypeName (); insilmaril@0: void setFrameType (const FrameType &); insilmaril@0: void setFrameType (const QString &); insilmaril@442: void setPenColor (QColor); insilmaril@442: QColor getPenColor (); insilmaril@442: void setBrushColor (QColor); insilmaril@442: QColor getBrushColor (); insilmaril@442: void repaint(); insilmaril@0: void setVisibility(bool); insilmaril@421: QString saveToDir (); insilmaril@0: insilmaril@442: private: insilmaril@470: FrameType type; //!< Frame type insilmaril@408: QGraphicsRectItem * rectFrame; insilmaril@421: QGraphicsEllipseItem * ellipseFrame; insilmaril@470: int padding; // distance text - frame insilmaril@470: int borderWidth; insilmaril@442: QColor penColor; insilmaril@442: QColor brushColor; insilmaril@0: }; insilmaril@0: #endif insilmaril@0: