DiagramDesigner/diagramCavas/include/graphicsItem/itemControlHandle.h

54 lines
1.3 KiB
C
Raw Normal View History

2024-12-03 20:07:25 +08:00
#ifndef ITEMCONTROLHANDLE_H
#define ITEMCONTROLHANDLE_H
#include <QGraphicsRectItem>
#include "global.h"
2024-12-07 17:24:36 +08:00
const int HNDLE_SIZE = 8;
2024-12-03 20:07:25 +08:00
class GraphicsBaseItem;
class ItemControlHandle : public QObject,public QGraphicsItem
2024-12-03 20:07:25 +08:00
{
Q_OBJECT
2025-02-06 16:36:50 +08:00
Q_INTERFACES(QGraphicsItem)
2024-12-03 20:07:25 +08:00
public:
ItemControlHandle(QGraphicsItem *parent);
virtual ~ItemControlHandle();
public:
virtual int getSize();
virtual void move(double, double);
2025-02-06 16:36:50 +08:00
virtual void setText(QString);
virtual QString getText() const;
2024-12-03 20:07:25 +08:00
void setType(HandleType ht) { m_type = ht; }
HandleType getType() { return m_type; }
void setTag(int ht) { m_tag = ht; }
int getTag() { return m_tag; }
2024-12-07 17:24:36 +08:00
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;}
2024-12-03 20:07:25 +08:00
protected:
2025-02-06 16:36:50 +08:00
2024-12-03 20:07:25 +08:00
virtual void hoverEnterEvent(QGraphicsSceneHoverEvent*) override;
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent*) override;
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
2024-12-07 17:24:36 +08:00
protected:
2024-12-03 20:07:25 +08:00
HandleType m_type;
int m_tag;
2024-12-07 17:24:36 +08:00
bool m_enable;
bool m_ifShow;
GraphicsBaseItem* _parent;
2024-12-03 20:07:25 +08:00
};
#endif