#ifndef ITEMCONTROLHANDLE_H #define ITEMCONTROLHANDLE_H #include #include "global.h" const int HNDLE_SIZE = 8; class GraphicsBaseItem; class ItemControlHandle : public QObject,public QGraphicsItem { Q_OBJECT Q_INTERFACES(QGraphicsItem) public: ItemControlHandle(QGraphicsItem *parent); virtual ~ItemControlHandle(); public: virtual int getSize(); virtual void move(double, double); virtual void setText(QString); virtual QString getText() const; void setType(HandleType ht) { m_type = ht; } HandleType getType() { return m_type; } void setTag(int ht) { m_tag = ht; } int getTag() { return m_tag; } void setEnable(bool b){m_enable = b;} bool enable(){return m_enable;} void setIfShow(bool b){m_ifShow = b;} bool ifShow(){return m_ifShow;} GraphicsBaseItem* getParentPtr() const {return _parent;} void setParent(GraphicsBaseItem* p) {_parent = p;} protected: virtual void hoverEnterEvent(QGraphicsSceneHoverEvent*) override; virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent*) override; virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override; protected: HandleType m_type; int m_tag; bool m_enable; bool m_ifShow; GraphicsBaseItem* _parent; }; #endif