qgraphicssceneevent.h
上传用户:detong
上传日期:2022-06-22
资源大小:20675k
文件大小:8k
源码类别:

系统编程

开发平台:

Unix_Linux

  1. /****************************************************************************
  2. **
  3. ** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
  4. ** Contact: Qt Software Information (qt-info@nokia.com)
  5. **
  6. ** This file is part of the QtGui module of the Qt Toolkit.
  7. **
  8. ** Commercial Usage
  9. ** Licensees holding valid Qt Commercial licenses may use this file in
  10. ** accordance with the Qt Commercial License Agreement provided with the
  11. ** Software or, alternatively, in accordance with the terms contained in
  12. ** a written agreement between you and Nokia.
  13. **
  14. **
  15. ** GNU General Public License Usage
  16. ** Alternatively, this file may be used under the terms of the GNU
  17. ** General Public License versions 2.0 or 3.0 as published by the Free
  18. ** Software Foundation and appearing in the file LICENSE.GPL included in
  19. ** the packaging of this file.  Please review the following information
  20. ** to ensure GNU General Public Licensing requirements will be met:
  21. ** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
  22. ** http://www.gnu.org/copyleft/gpl.html.  In addition, as a special
  23. ** exception, Nokia gives you certain additional rights. These rights
  24. ** are described in the Nokia Qt GPL Exception version 1.3, included in
  25. ** the file GPL_EXCEPTION.txt in this package.
  26. **
  27. ** Qt for Windows(R) Licensees
  28. ** As a special exception, Nokia, as the sole copyright holder for Qt
  29. ** Designer, grants users of the Qt/Eclipse Integration plug-in the
  30. ** right for the Qt/Eclipse Integration to link to functionality
  31. ** provided by Qt Designer and its related libraries.
  32. **
  33. ** If you are unsure which license is appropriate for your use, please
  34. ** contact the sales department at qt-sales@nokia.com.
  35. **
  36. ****************************************************************************/
  37. #ifndef QGRAPHICSSCENEEVENT_H
  38. #define QGRAPHICSSCENEEVENT_H
  39. #include <QtCore/qcoreevent.h>
  40. #include <QtCore/qpoint.h>
  41. QT_BEGIN_HEADER
  42. QT_BEGIN_NAMESPACE
  43. QT_MODULE(Gui)
  44. #if !defined(QT_NO_GRAPHICSVIEW) || (QT_EDITION & QT_MODULE_GRAPHICSVIEW) != QT_MODULE_GRAPHICSVIEW
  45. class QMimeData;
  46. class QPointF;
  47. class QSizeF;
  48. class QWidget;
  49. class QGraphicsSceneEventPrivate;
  50. class Q_GUI_EXPORT QGraphicsSceneEvent : public QEvent
  51. {
  52. public:
  53.     QGraphicsSceneEvent(Type type);
  54.     ~QGraphicsSceneEvent();
  55.     QWidget *widget() const;
  56.     void setWidget(QWidget *widget);
  57. protected:
  58.     QGraphicsSceneEvent(QGraphicsSceneEventPrivate &dd, Type type = None);
  59.     QGraphicsSceneEventPrivate *d_ptr;
  60.     Q_DECLARE_PRIVATE(QGraphicsSceneEvent)
  61. };
  62. class QGraphicsSceneMouseEventPrivate;
  63. class Q_GUI_EXPORT QGraphicsSceneMouseEvent : public QGraphicsSceneEvent
  64. {
  65. public:
  66.     QGraphicsSceneMouseEvent(Type type = None);
  67.     ~QGraphicsSceneMouseEvent();
  68.     QPointF pos() const;
  69.     void setPos(const QPointF &pos);
  70.     QPointF scenePos() const;
  71.     void setScenePos(const QPointF &pos);
  72.     QPoint screenPos() const;
  73.     void setScreenPos(const QPoint &pos);
  74.     QPointF buttonDownPos(Qt::MouseButton button) const;
  75.     void setButtonDownPos(Qt::MouseButton button, const QPointF &pos);
  76.     QPointF buttonDownScenePos(Qt::MouseButton button) const;
  77.     void setButtonDownScenePos(Qt::MouseButton button, const QPointF &pos);
  78.     QPoint buttonDownScreenPos(Qt::MouseButton button) const;
  79.     void setButtonDownScreenPos(Qt::MouseButton button, const QPoint &pos);
  80.     QPointF lastPos() const;
  81.     void setLastPos(const QPointF &pos);
  82.     QPointF lastScenePos() const;
  83.     void setLastScenePos(const QPointF &pos);
  84.     QPoint lastScreenPos() const;
  85.     void setLastScreenPos(const QPoint &pos);
  86.     Qt::MouseButtons buttons() const;
  87.     void setButtons(Qt::MouseButtons buttons);
  88.     Qt::MouseButton button() const;
  89.     void setButton(Qt::MouseButton button);
  90.     Qt::KeyboardModifiers modifiers() const;
  91.     void setModifiers(Qt::KeyboardModifiers modifiers);
  92. private:
  93.     Q_DECLARE_PRIVATE(QGraphicsSceneMouseEvent)
  94. };
  95. class QGraphicsSceneWheelEventPrivate;
  96. class Q_GUI_EXPORT QGraphicsSceneWheelEvent : public QGraphicsSceneEvent
  97. {
  98. public:
  99.     QGraphicsSceneWheelEvent(Type type = None);
  100.     ~QGraphicsSceneWheelEvent();
  101.     QPointF pos() const;
  102.     void setPos(const QPointF &pos);
  103.     QPointF scenePos() const;
  104.     void setScenePos(const QPointF &pos);
  105.     QPoint screenPos() const;
  106.     void setScreenPos(const QPoint &pos);
  107.     Qt::MouseButtons buttons() const;
  108.     void setButtons(Qt::MouseButtons buttons);
  109.     Qt::KeyboardModifiers modifiers() const;
  110.     void setModifiers(Qt::KeyboardModifiers modifiers);
  111.     int delta() const;
  112.     void setDelta(int delta);
  113.     Qt::Orientation orientation() const;
  114.     void setOrientation(Qt::Orientation orientation);
  115. private:
  116.     Q_DECLARE_PRIVATE(QGraphicsSceneWheelEvent)
  117. };
  118. class QGraphicsSceneContextMenuEventPrivate;
  119. class Q_GUI_EXPORT QGraphicsSceneContextMenuEvent : public QGraphicsSceneEvent
  120. {
  121. public:
  122.     enum Reason { Mouse, Keyboard, Other };
  123.     QGraphicsSceneContextMenuEvent(Type type = None);
  124.     ~QGraphicsSceneContextMenuEvent();
  125.     QPointF pos() const;
  126.     void setPos(const QPointF &pos);
  127.     QPointF scenePos() const;
  128.     void setScenePos(const QPointF &pos);
  129.     QPoint screenPos() const;
  130.     void setScreenPos(const QPoint &pos);
  131.     Qt::KeyboardModifiers modifiers() const;
  132.     void setModifiers(Qt::KeyboardModifiers modifiers);
  133.     Reason reason() const;
  134.     void setReason(Reason reason);
  135. private:
  136.     Q_DECLARE_PRIVATE(QGraphicsSceneContextMenuEvent)
  137. };
  138. class QGraphicsSceneHoverEventPrivate;
  139. class Q_GUI_EXPORT QGraphicsSceneHoverEvent : public QGraphicsSceneEvent
  140. {
  141. public:
  142.     QGraphicsSceneHoverEvent(Type type = None);
  143.     ~QGraphicsSceneHoverEvent();
  144.     QPointF pos() const;
  145.     void setPos(const QPointF &pos);
  146.     QPointF scenePos() const;
  147.     void setScenePos(const QPointF &pos);
  148.     QPoint screenPos() const;
  149.     void setScreenPos(const QPoint &pos);
  150.     QPointF lastPos() const;
  151.     void setLastPos(const QPointF &pos);
  152.     QPointF lastScenePos() const;
  153.     void setLastScenePos(const QPointF &pos);
  154.     QPoint lastScreenPos() const;
  155.     void setLastScreenPos(const QPoint &pos);
  156.     Qt::KeyboardModifiers modifiers() const;
  157.     void setModifiers(Qt::KeyboardModifiers modifiers);
  158. private:
  159.     Q_DECLARE_PRIVATE(QGraphicsSceneHoverEvent)
  160. };
  161. class QGraphicsSceneHelpEventPrivate;
  162. class Q_GUI_EXPORT QGraphicsSceneHelpEvent : public QGraphicsSceneEvent
  163. {
  164. public:
  165.     QGraphicsSceneHelpEvent(Type type = None);
  166.     ~QGraphicsSceneHelpEvent();
  167.     QPointF scenePos() const;
  168.     void setScenePos(const QPointF &pos);
  169.     QPoint screenPos() const;
  170.     void setScreenPos(const QPoint &pos);
  171. private:
  172.     Q_DECLARE_PRIVATE(QGraphicsSceneHelpEvent)
  173. };
  174. class QGraphicsSceneDragDropEventPrivate;
  175. class Q_GUI_EXPORT QGraphicsSceneDragDropEvent : public QGraphicsSceneEvent
  176. {
  177. public:
  178.     QGraphicsSceneDragDropEvent(Type type = None);
  179.     ~QGraphicsSceneDragDropEvent();
  180.     QPointF pos() const;
  181.     void setPos(const QPointF &pos);
  182.     QPointF scenePos() const;
  183.     void setScenePos(const QPointF &pos);
  184.     QPoint screenPos() const;
  185.     void setScreenPos(const QPoint &pos);
  186.     Qt::MouseButtons buttons() const;
  187.     void setButtons(Qt::MouseButtons buttons);
  188.     Qt::KeyboardModifiers modifiers() const;
  189.     void setModifiers(Qt::KeyboardModifiers modifiers);
  190.     Qt::DropActions possibleActions() const;
  191.     void setPossibleActions(Qt::DropActions actions);
  192.     Qt::DropAction proposedAction() const;
  193.     void setProposedAction(Qt::DropAction action);
  194.     void acceptProposedAction();
  195.     Qt::DropAction dropAction() const;
  196.     void setDropAction(Qt::DropAction action);
  197.     QWidget *source() const;
  198.     void setSource(QWidget *source);
  199.     const QMimeData *mimeData() const;
  200.     void setMimeData(const QMimeData *data);
  201. private:
  202.     Q_DECLARE_PRIVATE(QGraphicsSceneDragDropEvent)
  203. };
  204. class QGraphicsSceneResizeEventPrivate;
  205. class Q_GUI_EXPORT QGraphicsSceneResizeEvent : public QGraphicsSceneEvent
  206. {
  207.     Q_DECLARE_PRIVATE(QGraphicsSceneResizeEvent)
  208. public:
  209.     QGraphicsSceneResizeEvent();
  210.     ~QGraphicsSceneResizeEvent();
  211.     QSizeF oldSize() const;
  212.     void setOldSize(const QSizeF &size);
  213.     QSizeF newSize() const;
  214.     void setNewSize(const QSizeF &size);
  215. };
  216. class QGraphicsSceneMoveEventPrivate;
  217. class Q_GUI_EXPORT QGraphicsSceneMoveEvent : public QGraphicsSceneEvent
  218. {
  219.     Q_DECLARE_PRIVATE(QGraphicsSceneMoveEvent)
  220. public:
  221.     QGraphicsSceneMoveEvent();
  222.     ~QGraphicsSceneMoveEvent();
  223.     QPointF oldPos() const;
  224.     void setOldPos(const QPointF &pos);
  225.     QPointF newPos() const;
  226.     void setNewPos(const QPointF &pos);
  227. };
  228. QT_END_NAMESPACE
  229. QT_END_HEADER
  230. #endif // QT_NO_GRAPHICSVIEW
  231. #endif