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