insilmaril@0: #ifndef ORNAMENTEDOBJ_H insilmaril@0: #define ORNAMENTEDOBJ_H insilmaril@0: insilmaril@628: #include "attribute.h" insilmaril@442: #include "frameobj.h" insilmaril@0: #include "linkablemapobj.h" insilmaril@0: insilmaril@790: class TreeItem; insilmaril@790: insilmaril@618: /*! \brief Adds various ornaments and data to the class LinkableMapObj insilmaril@476: insilmaril@476: The ornaments are: insilmaril@476: - frame insilmaril@476: - note insilmaril@476: - references insilmaril@476: - flags insilmaril@476: - standard flags insilmaril@476: - system flags insilmaril@618: - attributes (key/value pairs) insilmaril@476: */ insilmaril@476: insilmaril@0: class OrnamentedObj:public LinkableMapObj { insilmaril@0: public: insilmaril@790: OrnamentedObj (QGraphicsScene*, TreeItem *ti=NULL); insilmaril@0: OrnamentedObj (OrnamentedObj*); insilmaril@791: virtual ~OrnamentedObj (); insilmaril@0: virtual void init (); insilmaril@0: virtual void copy (OrnamentedObj*); insilmaril@0: insilmaril@0: virtual void setLinkColor(); // sets color according to colorhint, overloaded insilmaril@243: virtual void setColor(QColor); // set the color of text and link insilmaril@0: QColor getColor (); // get color of heading insilmaril@442: insilmaril@777: virtual FrameObj* getFrame(); insilmaril@476: virtual FrameObj::FrameType getFrameType (); insilmaril@476: virtual QString getFrameTypeName (); insilmaril@476: virtual void setFrameType (const FrameObj::FrameType &); insilmaril@442: virtual void setFrameType (const QString &); insilmaril@476: virtual void setFramePadding (const int &); insilmaril@476: virtual int getFramePadding (); insilmaril@476: virtual void setFrameBorderWidth(const int &); insilmaril@476: virtual int getFrameBorderWidth (); insilmaril@442: virtual void setFramePenColor (QColor); insilmaril@442: virtual QColor getFramePenColor (); insilmaril@442: virtual void setFrameBrushColor (QColor); insilmaril@442: virtual QColor getFrameBrushColor (); insilmaril@442: insilmaril@177: virtual void positionContents(); insilmaril@0: virtual void move (double,double); insilmaril@408: virtual void move (QPointF); insilmaril@0: virtual void moveBy (double,double); insilmaril@408: virtual void moveBy (QPointF); insilmaril@408: virtual void move2RelPos (QPointF); // move relativly to parent^ insilmaril@0: virtual void move2RelPos (double,double); insilmaril@628: insilmaril@767: virtual void activateStandardFlag(Flag *flag); insilmaril@766: virtual void deactivateStandardFlag(const QString &name); insilmaril@408: virtual QString getSystemFlagName (const QPointF &p); insilmaril@753: insilmaril@0: protected: insilmaril@0: HeadingObj *heading; // Heading insilmaril@0: FlagRowObj *systemFlags; // System Flags insilmaril@0: FlagRowObj *standardFlags; // Standard Flags insilmaril@442: FrameObj *frame; // frame around object insilmaril@408: QRectF ornamentsBBox; // bbox of flags and heading insilmaril@0: }; insilmaril@0: insilmaril@0: #endif