/**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtWidgets module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser ** General Public License version 3 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPL3 included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 3 requirements ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 2.0 or (at your option) the GNU General ** Public license version 3 or any later version approved by the KDE Free ** Qt Foundation. The licenses are as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 ** included in the packaging of this file. Please review the following ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-2.0.html and ** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #ifndef QGRAPHICSSCENEEVENT_H #define QGRAPHICSSCENEEVENT_H #include #include #include #include #include #include #include #if QT_DEPRECATED_SINCE(5, 5) #include #endif QT_REQUIRE_CONFIG(graphicsview); QT_BEGIN_NAMESPACE class QMimeData; class QPointF; class QSizeF; class QWidget; class QGraphicsSceneEventPrivate; class Q_WIDGETS_EXPORT QGraphicsSceneEvent : public QEvent { public: explicit QGraphicsSceneEvent(Type type); ~QGraphicsSceneEvent(); QWidget *widget() const; void setWidget(QWidget *widget); protected: QGraphicsSceneEvent(QGraphicsSceneEventPrivate &dd, Type type = None); QScopedPointer d_ptr; Q_DECLARE_PRIVATE(QGraphicsSceneEvent) private: Q_DISABLE_COPY(QGraphicsSceneEvent) }; class QGraphicsSceneMouseEventPrivate; class Q_WIDGETS_EXPORT QGraphicsSceneMouseEvent : public QGraphicsSceneEvent { public: explicit QGraphicsSceneMouseEvent(Type type = None); ~QGraphicsSceneMouseEvent(); QPointF pos() const; void setPos(const QPointF &pos); QPointF scenePos() const; void setScenePos(const QPointF &pos); QPoint screenPos() const; void setScreenPos(const QPoint &pos); QPointF buttonDownPos(Qt::MouseButton button) const; void setButtonDownPos(Qt::MouseButton button, const QPointF &pos); QPointF buttonDownScenePos(Qt::MouseButton button) const; void setButtonDownScenePos(Qt::MouseButton button, const QPointF &pos); QPoint buttonDownScreenPos(Qt::MouseButton button) const; void setButtonDownScreenPos(Qt::MouseButton button, const QPoint &pos); QPointF lastPos() const; void setLastPos(const QPointF &pos); QPointF lastScenePos() const; void setLastScenePos(const QPointF &pos); QPoint lastScreenPos() const; void setLastScreenPos(const QPoint &pos); Qt::MouseButtons buttons() const; void setButtons(Qt::MouseButtons buttons); Qt::MouseButton button() const; void setButton(Qt::MouseButton button); Qt::KeyboardModifiers modifiers() const; void setModifiers(Qt::KeyboardModifiers modifiers); Qt::MouseEventSource source() const; void setSource(Qt::MouseEventSource source); Qt::MouseEventFlags flags() const; void setFlags(Qt::MouseEventFlags); private: Q_DECLARE_PRIVATE(QGraphicsSceneMouseEvent) Q_DISABLE_COPY(QGraphicsSceneMouseEvent) }; class QGraphicsSceneWheelEventPrivate; class Q_WIDGETS_EXPORT QGraphicsSceneWheelEvent : public QGraphicsSceneEvent { public: explicit QGraphicsSceneWheelEvent(Type type = None); ~QGraphicsSceneWheelEvent(); QPointF pos() const; void setPos(const QPointF &pos); QPointF scenePos() const; void setScenePos(const QPointF &pos); QPoint screenPos() const; void setScreenPos(const QPoint &pos); Qt::MouseButtons buttons() const; void setButtons(Qt::MouseButtons buttons); Qt::KeyboardModifiers modifiers() const; void setModifiers(Qt::KeyboardModifiers modifiers); int delta() const; void setDelta(int delta); Qt::Orientation orientation() const; void setOrientation(Qt::Orientation orientation); private: Q_DECLARE_PRIVATE(QGraphicsSceneWheelEvent) Q_DISABLE_COPY(QGraphicsSceneWheelEvent) }; class QGraphicsSceneContextMenuEventPrivate; class Q_WIDGETS_EXPORT QGraphicsSceneContextMenuEvent : public QGraphicsSceneEvent { public: enum Reason { Mouse, Keyboard, Other }; explicit QGraphicsSceneContextMenuEvent(Type type = None); ~QGraphicsSceneContextMenuEvent(); QPointF pos() const; void setPos(const QPointF &pos); QPointF scenePos() const; void setScenePos(const QPointF &pos); QPoint screenPos() const; void setScreenPos(const QPoint &pos); Qt::KeyboardModifiers modifiers() const; void setModifiers(Qt::KeyboardModifiers modifiers); Reason reason() const; void setReason(Reason reason); private: Q_DECLARE_PRIVATE(QGraphicsSceneContextMenuEvent) Q_DISABLE_COPY(QGraphicsSceneContextMenuEvent) }; class QGraphicsSceneHoverEventPrivate; class Q_WIDGETS_EXPORT QGraphicsSceneHoverEvent : public QGraphicsSceneEvent { public: explicit QGraphicsSceneHoverEvent(Type type = None); ~QGraphicsSceneHoverEvent(); QPointF pos() const; void setPos(const QPointF &pos); QPointF scenePos() const; void setScenePos(const QPointF &pos); QPoint screenPos() const; void setScreenPos(const QPoint &pos); QPointF lastPos() const; void setLastPos(const QPointF &pos); QPointF lastScenePos() const; void setLastScenePos(const QPointF &pos); QPoint lastScreenPos() const; void setLastScreenPos(const QPoint &pos); Qt::KeyboardModifiers modifiers() const; void setModifiers(Qt::KeyboardModifiers modifiers); private: Q_DECLARE_PRIVATE(QGraphicsSceneHoverEvent) Q_DISABLE_COPY(QGraphicsSceneHoverEvent) }; class QGraphicsSceneHelpEventPrivate; class Q_WIDGETS_EXPORT QGraphicsSceneHelpEvent : public QGraphicsSceneEvent { public: explicit QGraphicsSceneHelpEvent(Type type = None); ~QGraphicsSceneHelpEvent(); QPointF scenePos() const; void setScenePos(const QPointF &pos); QPoint screenPos() const; void setScreenPos(const QPoint &pos); private: Q_DECLARE_PRIVATE(QGraphicsSceneHelpEvent) Q_DISABLE_COPY(QGraphicsSceneHelpEvent) }; class QGraphicsSceneDragDropEventPrivate; class Q_WIDGETS_EXPORT QGraphicsSceneDragDropEvent : public QGraphicsSceneEvent { public: explicit QGraphicsSceneDragDropEvent(Type type = None); ~QGraphicsSceneDragDropEvent(); QPointF pos() const; void setPos(const QPointF &pos); QPointF scenePos() const; void setScenePos(const QPointF &pos); QPoint screenPos() const; void setScreenPos(const QPoint &pos); Qt::MouseButtons buttons() const; void setButtons(Qt::MouseButtons buttons); Qt::KeyboardModifiers modifiers() const; void setModifiers(Qt::KeyboardModifiers modifiers); Qt::DropActions possibleActions() const; void setPossibleActions(Qt::DropActions actions); Qt::DropAction proposedAction() const; void setProposedAction(Qt::DropAction action); void acceptProposedAction(); Qt::DropAction dropAction() const; void setDropAction(Qt::DropAction action); QWidget *source() const; void setSource(QWidget *source); const QMimeData *mimeData() const; void setMimeData(const QMimeData *data); private: Q_DECLARE_PRIVATE(QGraphicsSceneDragDropEvent) Q_DISABLE_COPY(QGraphicsSceneDragDropEvent) }; class QGraphicsSceneResizeEventPrivate; class Q_WIDGETS_EXPORT QGraphicsSceneResizeEvent : public QGraphicsSceneEvent { Q_DECLARE_PRIVATE(QGraphicsSceneResizeEvent) Q_DISABLE_COPY(QGraphicsSceneResizeEvent) public: QGraphicsSceneResizeEvent(); ~QGraphicsSceneResizeEvent(); QSizeF oldSize() const; void setOldSize(const QSizeF &size); QSizeF newSize() const; void setNewSize(const QSizeF &size); }; class QGraphicsSceneMoveEventPrivate; class Q_WIDGETS_EXPORT QGraphicsSceneMoveEvent : public QGraphicsSceneEvent { Q_DECLARE_PRIVATE(QGraphicsSceneMoveEvent) Q_DISABLE_COPY(QGraphicsSceneMoveEvent) public: QGraphicsSceneMoveEvent(); ~QGraphicsSceneMoveEvent(); QPointF oldPos() const; void setOldPos(const QPointF &pos); QPointF newPos() const; void setNewPos(const QPointF &pos); }; #ifndef QT_NO_DEBUG_STREAM Q_WIDGETS_EXPORT QDebug operator<<(QDebug, const QGraphicsSceneEvent *); #endif QT_END_NAMESPACE #endif