46 bool eventFilter(QObject *watched, QEvent *event)
override;
49 enum class ResizeMode {
61 Scene *m_scene =
nullptr;
64 bool m_cacheDirty =
true;
66 bool m_dragging =
false;
67 bool m_resizing =
false;
68 bool m_moving =
false;
69 QPoint m_lastGlobalPos;
70 ResizeMode m_resizeMode = ResizeMode::None;
71 ResizeMode m_hoverResizeMode = ResizeMode::None;
72 bool m_hoverMoveHandle =
false;
76 bool computeTransform(QRectF &srcOut,
double &scaleOut,
double &dxOut,
double &dyOut,
double &usedWOut,
double &usedHOut)
const;
77 QPointF widgetToScene(
const QPointF &p)
const;
80 ResizeMode resizeModeAt(
const QPoint &pos)
const;
81 Qt::CursorShape cursorForResizeMode(ResizeMode mode)
const;
82 void applyResize(
const QPoint &globalPos);
85 QRect moveHandleRect()
const;
86 bool isMoveHandle(
const QPoint &pos)
const;
87 void moveBy(
const QPoint &delta);
91 void updateHoverState(
const QPoint &pos);
94 void drawMoveHandle(QPainter &painter)
const;
95 void drawResizeGrips(QPainter &painter)
const;
Extended QGraphicsView with enhanced navigation capabilities.
Main circuit editing scene.