57 NotUnderAnyControlType = 0,
82 int type()
const override
89 QRectF boundingRect()
const override;
91 QPainterPath shape()
const override;
93 void paint(QPainter* painter,
const QStyleOptionGraphicsItem* option, QWidget* widget)
override;
95 virtual bool saveToXml(QDomDocument* doc, QDomElement* parentElement,
const QVersionNumber& ver)
const override;
96 virtual bool loadFromXml(
const QDomElement* itemElement,
const QVersionNumber& ver)
override;
100 QSizeF testBodySize(
const QSizeF& s);
102 virtual void setBodySize(
const QSizeF& s);
104 QRectF getBodyRect()
const;
106 QSizeF getBodySize()
const;
108 QRectF getBodyControlRect()
const;
110 void setBodyMinimumSize(
const QSizeF& s);
111 void setBodyMaximumSize(
const QSizeF& s);
112 QSizeF getBodyMinimumSize()
const;
113 QSizeF getBodyMaximumSize()
const;
115 void setControlerSize(
const QSizeF& s);
116 QSizeF getControlerSize()
const;
118 void setEnableResize(
bool on);
119 bool isResizable()
const;
121 void setBodyPos(
const QPointF& p);
122 void setBodyScenePos(
const QPointF& p);
124 QPointF getBodyCenterPoint()
const;
126 QPointF getBodyCenterPos()
const;
128 void setBodyCenterPos(
const QPointF& p);
130 void setAutoCenterTransformOriginPoint(
bool on =
true);
132 void updateTransformOriginPoint();
134 QPair< QPointF, QSizeF > doItemResize(
const QPointF& mousescenePos);
139 virtual QPainterPath getBodyShape()
const;
141 virtual void paintSelectedBorder(QPainter* painter,
const QStyleOptionGraphicsItem* option, QWidget* widget);
143 virtual void paintResizeControlPoints(QPainter* painter,
const QStyleOptionGraphicsItem* option, QWidget* widget);
145 virtual void paintBackground(QPainter* painter,
146 const QStyleOptionGraphicsItem* option,
148 const QRectF& bodyRect);
150 virtual void paintBorder(QPainter* painter,
const QStyleOptionGraphicsItem* option, QWidget* widget,
const QRectF& bodyRect);
152 virtual void paintBody(QPainter* painter,
153 const QStyleOptionGraphicsItem* option,
155 const QRectF& bodyRect) = 0;
157 virtual QRectF controlPointRect(ControlType tp,
const QRectF& bodyRect)
const;
159 virtual QSizeF controlPointSize()
const;
161 void prepareControlInfoChange();
163 ControlType getControlPointByPos(
const QPointF& pos)
const;
165 bool isResizing()
const;
170 bool isSnapToGrid()
const;
172 QSize getGridSize()
const;
176 void changeBodySize(
const QSizeF& s);
177#if DA_USE_QGRAPHICSOBJECT
187 virtual void hoverEnterEvent(QGraphicsSceneHoverEvent* event)
override;
188 virtual void hoverMoveEvent(QGraphicsSceneHoverEvent* event)
override;
189 virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent* event)
override;
190 virtual void mousePressEvent(QGraphicsSceneMouseEvent* event)
override;
191 virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
override;
192 virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* event)
override;
193 QVariant itemChange(QGraphicsItem::GraphicsItemChange change,
const QVariant& value)
override;