diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2018-03-16 15:57:32 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2018-05-15 18:29:10 +0000 |
commit | f1049d45bf85c09bff7deceda5ba8655792260ef (patch) | |
tree | 1bc7abd6912dcbedf6cbd2a7ac7ee839ea934a9a /src/quick/handlers/qquickpointerhandler_p.h | |
parent | c270ab1eedabe64ff805cadae470582e4d93a773 (diff) |
Refactor QQuickPointerHandler: add private implementation class
Follow the usual pattern in preparation for making this class public.
Change-Id: I8330cdda27e131a5f93723d4cf4c53a9f7630434
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/quick/handlers/qquickpointerhandler_p.h')
-rw-r--r-- | src/quick/handlers/qquickpointerhandler_p.h | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/src/quick/handlers/qquickpointerhandler_p.h b/src/quick/handlers/qquickpointerhandler_p.h index e2bcce8fc9..b388558c6a 100644 --- a/src/quick/handlers/qquickpointerhandler_p.h +++ b/src/quick/handlers/qquickpointerhandler_p.h @@ -51,8 +51,6 @@ // We mean it. // -#include "qevent.h" - #include <QtQuick/private/qquickevents_p_p.h> #include <QtQuick/private/qquickitem_p.h> @@ -60,6 +58,8 @@ QT_BEGIN_NAMESPACE Q_DECLARE_LOGGING_CATEGORY(lcPointerHandlerDispatch) +class QQuickPointerHandlerPrivate; + class Q_QUICK_PRIVATE_EXPORT QQuickPointerHandler : public QObject, public QQmlParserStatus { Q_OBJECT @@ -91,19 +91,19 @@ public: Q_FLAG(GrabPermissions) public: - bool enabled() const { return m_enabled; } + bool enabled() const; void setEnabled(bool enabled); - bool active() const { return m_active; } + bool active() const; QQuickItem *target() const; void setTarget(QQuickItem *target); - QQuickItem * parentItem() const { return static_cast<QQuickItem *>(QObject::parent()); } + QQuickItem * parentItem() const; void handlePointerEvent(QQuickPointerEvent *event); - GrabPermissions grabPermissions() const { return static_cast<GrabPermissions>(m_grabPermissions); } + GrabPermissions grabPermissions() const; void setGrabPermissions(GrabPermissions grabPermissions); Q_SIGNALS: @@ -115,10 +115,12 @@ Q_SIGNALS: void canceled(QQuickEventPoint *point); protected: + QQuickPointerHandler(QQuickPointerHandlerPrivate &dd, QObject *parent); + void classBegin() override; void componentComplete() override; - QQuickPointerEvent *currentEvent() { return m_currentEvent; } + QQuickPointerEvent *currentEvent(); virtual bool wantsPointerEvent(QQuickPointerEvent *event); virtual void handlePointerEventImpl(QQuickPointerEvent *event); void setActive(bool active); @@ -133,19 +135,10 @@ protected: QPointF eventPos(const QQuickEventPoint *point) const; bool parentContains(const QQuickEventPoint *point) const; -private: - QQuickPointerEvent *m_currentEvent; - QQuickItem *m_target; - bool m_enabled : 1; - bool m_active : 1; - bool m_targetExplicitlySet : 1; - bool m_hadKeepMouseGrab : 1; // some handlers override target()->setKeepMouseGrab(); this remembers previous state - bool m_hadKeepTouchGrab : 1; // some handlers override target()->setKeepTouchGrab(); this remembers previous state - uint m_reserved : 19; - uint8_t m_grabPermissions : 8; - friend class QQuickEventPoint; friend class QQuickWindowPrivate; + + Q_DECLARE_PRIVATE(QQuickPointerHandler) }; Q_DECLARE_OPERATORS_FOR_FLAGS(QQuickPointerHandler::GrabPermissions) |