PowerDesigner/include/graphicsItem/itemControlHandle.h

62 lines
1.1 KiB
C
Raw Permalink Normal View History

2024-08-16 11:39:30 +08:00
#ifndef ITEMCONTROLHANDLE_H
#define ITEMCONTROLHANDLE_H
#include <QGraphicsRectItem>
enum HandleType
{
T_resize, //调整大小
T_rotate, //旋转
2024-08-16 11:39:30 +08:00
T_editShape //编辑形状
};
enum HandleTag
{
H_none = 0,
H_leftTop,
H_top,
H_rightTop,
H_right,
H_rightBottom,
H_bottom,
H_leftBottom,
H_left, //8
H_rotate_leftTop,
H_rotate_rightTop,
H_rotate_rightBottom,
H_rotate_leftBottom, //12
2024-08-16 11:39:30 +08:00
H_edit
};
class ItemControlHandle : public QObject,public QGraphicsRectItem
{
Q_OBJECT
public:
ItemControlHandle(QGraphicsItem *parent);
virtual ~ItemControlHandle();
public:
void setType(HandleType ht) { m_type = ht; }
HandleType getType() { return m_type; }
void setTag(int ht) { m_tag = ht; }
int getTag() { return m_tag; }
int getSize();
2024-08-16 11:39:30 +08:00
void move(double, double);
protected:
virtual void hoverEnterEvent(QGraphicsSceneHoverEvent*) override;
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent*) override;
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
private:
HandleType m_type;
int m_tag;
};
#endif