File indexing completed on 2026-05-12 08:51:23
0001
0002
0003
0004
0005 #ifndef QGRAPHICSSCENEEVENT_H
0006 #define QGRAPHICSSCENEEVENT_H
0007
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtCore/qcoreevent.h>
0010 #include <QtCore/qpoint.h>
0011 #include <QtCore/qscopedpointer.h>
0012 #include <QtCore/qrect.h>
0013 #include <QtGui/qpolygon.h>
0014 #include <QtCore/qset.h>
0015
0016 QT_REQUIRE_CONFIG(graphicsview);
0017
0018 QT_BEGIN_NAMESPACE
0019
0020 class QMimeData;
0021 class QPointF;
0022 class QSizeF;
0023 class QWidget;
0024
0025 class QGraphicsSceneEventPrivate;
0026 class Q_WIDGETS_EXPORT QGraphicsSceneEvent : public QEvent
0027 {
0028 public:
0029 explicit QGraphicsSceneEvent(Type type);
0030 ~QGraphicsSceneEvent();
0031
0032 QWidget *widget() const;
0033 void setWidget(QWidget *widget);
0034
0035 quint64 timestamp() const;
0036 void setTimestamp(quint64 ts);
0037
0038 protected:
0039 QGraphicsSceneEvent(QGraphicsSceneEventPrivate &dd, Type type = None);
0040 QScopedPointer<QGraphicsSceneEventPrivate> d_ptr;
0041 Q_DECLARE_PRIVATE(QGraphicsSceneEvent)
0042 private:
0043 Q_DISABLE_COPY(QGraphicsSceneEvent)
0044 };
0045
0046 class QGraphicsSceneMouseEventPrivate;
0047 class Q_WIDGETS_EXPORT QGraphicsSceneMouseEvent : public QGraphicsSceneEvent
0048 {
0049 public:
0050 explicit QGraphicsSceneMouseEvent(Type type = None);
0051 ~QGraphicsSceneMouseEvent();
0052
0053 QPointF pos() const;
0054 void setPos(const QPointF &pos);
0055
0056 QPointF scenePos() const;
0057 void setScenePos(const QPointF &pos);
0058
0059 QPoint screenPos() const;
0060 void setScreenPos(const QPoint &pos);
0061
0062 QPointF buttonDownPos(Qt::MouseButton button) const;
0063 void setButtonDownPos(Qt::MouseButton button, const QPointF &pos);
0064
0065 QPointF buttonDownScenePos(Qt::MouseButton button) const;
0066 void setButtonDownScenePos(Qt::MouseButton button, const QPointF &pos);
0067
0068 QPoint buttonDownScreenPos(Qt::MouseButton button) const;
0069 void setButtonDownScreenPos(Qt::MouseButton button, const QPoint &pos);
0070
0071 QPointF lastPos() const;
0072 void setLastPos(const QPointF &pos);
0073
0074 QPointF lastScenePos() const;
0075 void setLastScenePos(const QPointF &pos);
0076
0077 QPoint lastScreenPos() const;
0078 void setLastScreenPos(const QPoint &pos);
0079
0080 Qt::MouseButtons buttons() const;
0081 void setButtons(Qt::MouseButtons buttons);
0082
0083 Qt::MouseButton button() const;
0084 void setButton(Qt::MouseButton button);
0085
0086 Qt::KeyboardModifiers modifiers() const;
0087 void setModifiers(Qt::KeyboardModifiers modifiers);
0088
0089 Qt::MouseEventSource source() const;
0090 void setSource(Qt::MouseEventSource source);
0091
0092 Qt::MouseEventFlags flags() const;
0093 void setFlags(Qt::MouseEventFlags);
0094
0095 private:
0096 Q_DECLARE_PRIVATE(QGraphicsSceneMouseEvent)
0097 Q_DISABLE_COPY(QGraphicsSceneMouseEvent)
0098 };
0099
0100 class QGraphicsSceneWheelEventPrivate;
0101 class Q_WIDGETS_EXPORT QGraphicsSceneWheelEvent : public QGraphicsSceneEvent
0102 {
0103 public:
0104 explicit QGraphicsSceneWheelEvent(Type type = None);
0105 ~QGraphicsSceneWheelEvent();
0106
0107 QPointF pos() const;
0108 void setPos(const QPointF &pos);
0109
0110 QPointF scenePos() const;
0111 void setScenePos(const QPointF &pos);
0112
0113 QPoint screenPos() const;
0114 void setScreenPos(const QPoint &pos);
0115
0116 Qt::MouseButtons buttons() const;
0117 void setButtons(Qt::MouseButtons buttons);
0118
0119 Qt::KeyboardModifiers modifiers() const;
0120 void setModifiers(Qt::KeyboardModifiers modifiers);
0121
0122 int delta() const;
0123 void setDelta(int delta);
0124
0125 Qt::Orientation orientation() const;
0126 void setOrientation(Qt::Orientation orientation);
0127
0128 Qt::ScrollPhase phase() const;
0129 void setPhase(Qt::ScrollPhase scrollPhase);
0130
0131 QPoint pixelDelta() const;
0132 void setPixelDelta(QPoint delta);
0133
0134 bool isInverted() const;
0135 void setInverted(bool inverted);
0136
0137 private:
0138 Q_DECLARE_PRIVATE(QGraphicsSceneWheelEvent)
0139 Q_DISABLE_COPY(QGraphicsSceneWheelEvent)
0140 };
0141
0142 class QGraphicsSceneContextMenuEventPrivate;
0143 class Q_WIDGETS_EXPORT QGraphicsSceneContextMenuEvent : public QGraphicsSceneEvent
0144 {
0145 public:
0146 enum Reason { Mouse, Keyboard, Other };
0147
0148 explicit QGraphicsSceneContextMenuEvent(Type type = None);
0149 ~QGraphicsSceneContextMenuEvent();
0150
0151 QPointF pos() const;
0152 void setPos(const QPointF &pos);
0153
0154 QPointF scenePos() const;
0155 void setScenePos(const QPointF &pos);
0156
0157 QPoint screenPos() const;
0158 void setScreenPos(const QPoint &pos);
0159
0160 Qt::KeyboardModifiers modifiers() const;
0161 void setModifiers(Qt::KeyboardModifiers modifiers);
0162
0163 Reason reason() const;
0164 void setReason(Reason reason);
0165
0166 private:
0167 Q_DECLARE_PRIVATE(QGraphicsSceneContextMenuEvent)
0168 Q_DISABLE_COPY(QGraphicsSceneContextMenuEvent)
0169 };
0170
0171 class QGraphicsSceneHoverEventPrivate;
0172 class Q_WIDGETS_EXPORT QGraphicsSceneHoverEvent : public QGraphicsSceneEvent
0173 {
0174 public:
0175 explicit QGraphicsSceneHoverEvent(Type type = None);
0176 ~QGraphicsSceneHoverEvent();
0177
0178 QPointF pos() const;
0179 void setPos(const QPointF &pos);
0180
0181 QPointF scenePos() const;
0182 void setScenePos(const QPointF &pos);
0183
0184 QPoint screenPos() const;
0185 void setScreenPos(const QPoint &pos);
0186
0187 QPointF lastPos() const;
0188 void setLastPos(const QPointF &pos);
0189
0190 QPointF lastScenePos() const;
0191 void setLastScenePos(const QPointF &pos);
0192
0193 QPoint lastScreenPos() const;
0194 void setLastScreenPos(const QPoint &pos);
0195
0196 Qt::KeyboardModifiers modifiers() const;
0197 void setModifiers(Qt::KeyboardModifiers modifiers);
0198
0199 private:
0200 Q_DECLARE_PRIVATE(QGraphicsSceneHoverEvent)
0201 Q_DISABLE_COPY(QGraphicsSceneHoverEvent)
0202 };
0203
0204 class QGraphicsSceneHelpEventPrivate;
0205 class Q_WIDGETS_EXPORT QGraphicsSceneHelpEvent : public QGraphicsSceneEvent
0206 {
0207 public:
0208 explicit QGraphicsSceneHelpEvent(Type type = None);
0209 ~QGraphicsSceneHelpEvent();
0210
0211 QPointF scenePos() const;
0212 void setScenePos(const QPointF &pos);
0213
0214 QPoint screenPos() const;
0215 void setScreenPos(const QPoint &pos);
0216
0217 private:
0218 Q_DECLARE_PRIVATE(QGraphicsSceneHelpEvent)
0219 Q_DISABLE_COPY(QGraphicsSceneHelpEvent)
0220 };
0221
0222 class QGraphicsSceneDragDropEventPrivate;
0223 class Q_WIDGETS_EXPORT QGraphicsSceneDragDropEvent : public QGraphicsSceneEvent
0224 {
0225 public:
0226 explicit QGraphicsSceneDragDropEvent(Type type = None);
0227 ~QGraphicsSceneDragDropEvent();
0228
0229 QPointF pos() const;
0230 void setPos(const QPointF &pos);
0231
0232 QPointF scenePos() const;
0233 void setScenePos(const QPointF &pos);
0234
0235 QPoint screenPos() const;
0236 void setScreenPos(const QPoint &pos);
0237
0238 Qt::MouseButtons buttons() const;
0239 void setButtons(Qt::MouseButtons buttons);
0240
0241 Qt::KeyboardModifiers modifiers() const;
0242 void setModifiers(Qt::KeyboardModifiers modifiers);
0243
0244 Qt::DropActions possibleActions() const;
0245 void setPossibleActions(Qt::DropActions actions);
0246
0247 Qt::DropAction proposedAction() const;
0248 void setProposedAction(Qt::DropAction action);
0249 void acceptProposedAction();
0250
0251 Qt::DropAction dropAction() const;
0252 void setDropAction(Qt::DropAction action);
0253
0254 QWidget *source() const;
0255 void setSource(QWidget *source);
0256
0257 const QMimeData *mimeData() const;
0258 void setMimeData(const QMimeData *data);
0259
0260 private:
0261 Q_DECLARE_PRIVATE(QGraphicsSceneDragDropEvent)
0262 Q_DISABLE_COPY(QGraphicsSceneDragDropEvent)
0263 };
0264
0265 class QGraphicsSceneResizeEventPrivate;
0266 class Q_WIDGETS_EXPORT QGraphicsSceneResizeEvent : public QGraphicsSceneEvent
0267 {
0268 Q_DECLARE_PRIVATE(QGraphicsSceneResizeEvent)
0269 Q_DISABLE_COPY(QGraphicsSceneResizeEvent)
0270 public:
0271 QGraphicsSceneResizeEvent();
0272 ~QGraphicsSceneResizeEvent();
0273
0274 QSizeF oldSize() const;
0275 void setOldSize(const QSizeF &size);
0276
0277 QSizeF newSize() const;
0278 void setNewSize(const QSizeF &size);
0279 };
0280
0281 class QGraphicsSceneMoveEventPrivate;
0282 class Q_WIDGETS_EXPORT QGraphicsSceneMoveEvent : public QGraphicsSceneEvent
0283 {
0284 Q_DECLARE_PRIVATE(QGraphicsSceneMoveEvent)
0285 Q_DISABLE_COPY(QGraphicsSceneMoveEvent)
0286 public:
0287 QGraphicsSceneMoveEvent();
0288 ~QGraphicsSceneMoveEvent();
0289
0290 QPointF oldPos() const;
0291 void setOldPos(const QPointF &pos);
0292
0293 QPointF newPos() const;
0294 void setNewPos(const QPointF &pos);
0295 };
0296
0297 #ifndef QT_NO_DEBUG_STREAM
0298 Q_WIDGETS_EXPORT QDebug operator<<(QDebug, const QGraphicsSceneEvent *);
0299 #endif
0300
0301 QT_END_NAMESPACE
0302
0303 #endif