diff options
Diffstat (limited to 'src/datavisualization/input')
-rw-r--r-- | src/datavisualization/input/q3dinputhandler.cpp | 78 | ||||
-rw-r--r-- | src/datavisualization/input/q3dinputhandler.h | 12 | ||||
-rw-r--r-- | src/datavisualization/input/q3dinputhandler_p.h | 15 | ||||
-rw-r--r-- | src/datavisualization/input/qabstract3dinputhandler.cpp | 52 | ||||
-rw-r--r-- | src/datavisualization/input/qabstract3dinputhandler.h | 31 | ||||
-rw-r--r-- | src/datavisualization/input/qabstract3dinputhandler_p.h | 18 | ||||
-rw-r--r-- | src/datavisualization/input/qtouch3dinputhandler.cpp | 78 | ||||
-rw-r--r-- | src/datavisualization/input/qtouch3dinputhandler.h | 8 | ||||
-rw-r--r-- | src/datavisualization/input/qtouch3dinputhandler_p.h | 10 |
9 files changed, 165 insertions, 137 deletions
diff --git a/src/datavisualization/input/q3dinputhandler.cpp b/src/datavisualization/input/q3dinputhandler.cpp index 5d730c47..1a197418 100644 --- a/src/datavisualization/input/q3dinputhandler.cpp +++ b/src/datavisualization/input/q3dinputhandler.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** @@ -17,11 +17,10 @@ ****************************************************************************/ #include "datavisualizationglobal_p.h" -#include "q3dinputhandler.h" +#include "q3dinputhandler_p.h" #include "q3dcamera_p.h" -#include "q3dlight.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +QT_BEGIN_NAMESPACE_DATAVISUALIZATION const int minZoomLevel = 10; const int halfSizeZoomLevel = 50; @@ -44,20 +43,24 @@ const float rotationSpeed = 100.0f; * * Default input handler has the following functionalty: * \table - * \header - * \li Mouse action \li Action - * \row - * \li Drag with right button pressed \li Rotate graph within limits set for Q3DCamera. - * \row - * \li Left click \li Select item under cursor or remove selection if none. - * May open the secondary view depending on the - * selection mode. - * \row - * \li Mouse wheel \li Zoom in/out within default range (10...500%). - * \row - * \li Left click on the primary view when the secondary view is visible - * \li Closes the secondary view. - * \note Secondary view is available only for Q3DBars and Q3DSurface graphs. + * \header + * \li Mouse action + * \li Action + * \row + * \li Drag with right button pressed + * \li Rotate graph within limits set for Q3DCamera. + * \row + * \li Left click + * \li Select item under cursor or remove selection if none. + * May open the secondary view depending on the + * \l {QAbstract3DGraph::selectionMode}{selection mode}. + * \row + * \li Mouse wheel + * \li Zoom in/out within default range (10...500%). + * \row + * \li Left click on the primary view when the secondary view is visible + * \li Closes the secondary view. + * \note Secondary view is available only for Q3DBars and Q3DSurface graphs. * \endtable */ @@ -66,7 +69,8 @@ const float rotationSpeed = 100.0f; * and is then passed to QObject constructor. */ Q3DInputHandler::Q3DInputHandler(QObject *parent) : - QAbstract3DInputHandler(parent) + QAbstract3DInputHandler(parent), + d_ptr(new Q3DInputHandlerPrivate(this)) { } @@ -84,24 +88,25 @@ Q3DInputHandler::~Q3DInputHandler() */ void Q3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos) { -#if defined(Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) Q_UNUSED(event); Q_UNUSED(mousePos); #else if (Qt::LeftButton == event->button()) { if (scene()->isSlicingActive()) { if (scene()->isPointInPrimarySubView(mousePos)) { - setInputState(InputStateOnPrimaryView); + setInputView(InputViewOnPrimary); } else if (scene()->isPointInSecondarySubView(mousePos)) { - setInputState(InputStateOnSecondaryView); + setInputView(InputViewOnSecondary); } else { - setInputState(InputStateNone); + setInputView(InputViewNone); } } else { - setInputState(InputStateOnScene); // update mouse positions to prevent jumping when releasing or repressing a button setInputPosition(mousePos); scene()->setSelectionQueryPosition(mousePos); + setInputView(InputViewOnPrimary); + d_ptr->m_inputState = QAbstract3DInputHandlerPrivate::InputStateSelecting; } } else if (Qt::MiddleButton == event->button()) { // reset rotations @@ -109,7 +114,7 @@ void Q3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos } else if (Qt::RightButton == event->button()) { // disable rotating when in slice view if (!scene()->isSlicingActive()) - setInputState(InputStateRotating); + d_ptr->m_inputState = QAbstract3DInputHandlerPrivate::InputStateRotating; // update mouse positions to prevent jumping when releasing or repressing a button setInputPosition(mousePos); } @@ -123,14 +128,15 @@ void Q3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos void Q3DInputHandler::mouseReleaseEvent(QMouseEvent *event, const QPoint &mousePos) { Q_UNUSED(event); -#if defined (Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) Q_UNUSED(mousePos); #else - if (InputStateRotating == inputState()) { + if (QAbstract3DInputHandlerPrivate::InputStateRotating == d_ptr->m_inputState) { // update mouse positions to prevent jumping when releasing or repressing a button setInputPosition(mousePos); } - setInputState(InputStateNone); + d_ptr->m_inputState = QAbstract3DInputHandlerPrivate::InputStateNone; + setInputView(InputViewNone); #endif } @@ -141,10 +147,10 @@ void Q3DInputHandler::mouseReleaseEvent(QMouseEvent *event, const QPoint &mouseP void Q3DInputHandler::mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos) { Q_UNUSED(event); -#if defined (Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) Q_UNUSED(mousePos); #else - if (InputStateRotating == inputState()) { + if (QAbstract3DInputHandlerPrivate::InputStateRotating == d_ptr->m_inputState) { // Calculate mouse movement since last frame float xRotation = scene()->activeCamera()->xRotation(); float yRotation = scene()->activeCamera()->yRotation(); @@ -190,4 +196,14 @@ void Q3DInputHandler::wheelEvent(QWheelEvent *event) scene()->activeCamera()->setZoomLevel(zoomLevel); } -QT_DATAVISUALIZATION_END_NAMESPACE +Q3DInputHandlerPrivate::Q3DInputHandlerPrivate(Q3DInputHandler *q) + : q_ptr(q), + m_inputState(QAbstract3DInputHandlerPrivate::InputStateNone) +{ +} + +Q3DInputHandlerPrivate::~Q3DInputHandlerPrivate() +{ +} + +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/input/q3dinputhandler.h b/src/datavisualization/input/q3dinputhandler.h index a7fa0573..49471d72 100644 --- a/src/datavisualization/input/q3dinputhandler.h +++ b/src/datavisualization/input/q3dinputhandler.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** @@ -21,9 +21,9 @@ #include <QtDataVisualization/qabstract3dinputhandler.h> -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +QT_BEGIN_NAMESPACE_DATAVISUALIZATION -class Q3DInputHandler; // Workaround for qdoc bug, removing this will cause qdoc compiler to not find the class. +class Q3DInputHandlerPrivate; class QT_DATAVISUALIZATION_EXPORT Q3DInputHandler : public QAbstract3DInputHandler { @@ -41,8 +41,10 @@ public: private: Q_DISABLE_COPY(Q3DInputHandler) + + QScopedPointer<Q3DInputHandlerPrivate> d_ptr; }; -QT_DATAVISUALIZATION_END_NAMESPACE +QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QDEFAULT3DINPUTHANDLER_H +#endif diff --git a/src/datavisualization/input/q3dinputhandler_p.h b/src/datavisualization/input/q3dinputhandler_p.h index af8bef5f..a9b27307 100644 --- a/src/datavisualization/input/q3dinputhandler_p.h +++ b/src/datavisualization/input/q3dinputhandler_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** @@ -29,11 +29,10 @@ #ifndef Q3DINPUTHANDLER_P_H #define Q3DINPUTHANDLER_P_H -#include "datavisualizationglobal_p.h" +#include "qabstract3dinputhandler_p.h" +#include "q3dinputhandler.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE - -class Q3DInputHandler; +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class Q3DInputHandlerPrivate { @@ -43,9 +42,9 @@ public: public: Q3DInputHandler *q_ptr; - + QAbstract3DInputHandlerPrivate::InputState m_inputState; }; -QT_DATAVISUALIZATION_END_NAMESPACE +QT_END_NAMESPACE_DATAVISUALIZATION -#endif // Q3DINPUTHANDLER_P_H +#endif diff --git a/src/datavisualization/input/qabstract3dinputhandler.cpp b/src/datavisualization/input/qabstract3dinputhandler.cpp index 0aa8372c..f786d466 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.cpp +++ b/src/datavisualization/input/qabstract3dinputhandler.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** @@ -15,9 +15,10 @@ ** contact form at http://qt.digia.com ** ****************************************************************************/ + #include "qabstract3dinputhandler_p.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +QT_BEGIN_NAMESPACE_DATAVISUALIZATION /*! * \class QAbstract3DInputHandler @@ -31,23 +32,17 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE */ /*! - * \enum QAbstract3DInputHandler::InputState + * \enum QAbstract3DInputHandler::InputView * - * Predefined input states for mouse and touch based input handlers. All states are not valid - * with all input handlers. + * Predefined input views for mouse and touch based input handlers. * - * \value InputStateNone - * Default "no input received" state. - * \value InputStateOnScene - * Mouse or touch input received on the 3D scene. - * \value InputStateOnPrimaryView - * Mouse or touch input received on the primary view area. - * \value InputStateOnSecondaryView + * \value InputViewNone + * Mouse or touch not on a view. + * \value InputViewOnPrimary + * Mouse or touch input received on the primary view area. If secondary view is displayed when + * inputView becomes InputViewOnPrimary, secondary view is closed. + * \value InputViewOnSecondary * Mouse or touch input received on the secondary view area. - * \value InputStateRotating - * Rotation of the 3D geometry ongoing. - * \value InputStatePinching - * Pinch/punch multitouch input ongoing. */ /*! @@ -59,6 +54,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE * \brief Base type for all QtDataVisualization input handlers. * * This type is uncreatable. + * + * For AbstractInputHandler3D enums, see \l QAbstract3DInputHandler::InputView */ /*! @@ -138,21 +135,21 @@ void QAbstract3DInputHandler::wheelEvent(QWheelEvent *event) // Property get/set /*! - * \property QAbstract3DInputHandler::inputState + * \property QAbstract3DInputHandler::inputView * - * Current enumerated input state based on the processed input events. - * When the state changes inputStateChanged() is emitted. + * Current enumerated input view based on the view of the processed input events. + * When the view changes inputViewChanged() is emitted. */ -QAbstract3DInputHandler::InputState QAbstract3DInputHandler::inputState() +QAbstract3DInputHandler::InputView QAbstract3DInputHandler::inputView() const { - return d_ptr->m_inputState; + return d_ptr->m_inputView; } -void QAbstract3DInputHandler::setInputState(InputState inputState) +void QAbstract3DInputHandler::setInputView(InputView inputView) { - if (inputState != d_ptr->m_inputState) { - d_ptr->m_inputState = inputState; - emit inputStateChanged(inputState); + if (inputView != d_ptr->m_inputView) { + d_ptr->m_inputView = inputView; + emit inputViewChanged(inputView); } } @@ -227,12 +224,11 @@ QPoint QAbstract3DInputHandler::previousInputPos() const return d_ptr->m_previousInputPos; } - QAbstract3DInputHandlerPrivate::QAbstract3DInputHandlerPrivate(QAbstract3DInputHandler *q) : q_ptr(q), m_prevDistance(0), m_previousInputPos(QPoint(0,0)), - m_inputState(QAbstract3DInputHandler::InputStateNone), + m_inputView(QAbstract3DInputHandler::InputViewNone), m_inputPosition(QPoint(0,0)), m_scene(0) { @@ -243,4 +239,4 @@ QAbstract3DInputHandlerPrivate::~QAbstract3DInputHandlerPrivate() } -QT_DATAVISUALIZATION_END_NAMESPACE +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/input/qabstract3dinputhandler.h b/src/datavisualization/input/qabstract3dinputhandler.h index 313abef3..803517ed 100644 --- a/src/datavisualization/input/qabstract3dinputhandler.h +++ b/src/datavisualization/input/qabstract3dinputhandler.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** @@ -19,30 +19,26 @@ #ifndef QABSTRACT3DINPUTHANDLER_H #define QABSTRACT3DINPUTHANDLER_H -#include <QtDataVisualization/qdatavisualizationenums.h> #include <QtDataVisualization/q3dscene.h> #include <QMouseEvent> -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstract3DInputHandlerPrivate; class QT_DATAVISUALIZATION_EXPORT QAbstract3DInputHandler : public QObject { Q_OBJECT - Q_ENUMS(InputState) - Q_PROPERTY(InputState inputState READ inputState WRITE setInputState NOTIFY inputStateChanged) + Q_ENUMS(InputView) + Q_PROPERTY(InputView inputView READ inputView WRITE setInputView NOTIFY inputViewChanged) Q_PROPERTY(QPoint inputPosition READ inputPosition WRITE setInputPosition NOTIFY positionChanged) Q_PROPERTY(Q3DScene *scene READ scene WRITE setScene NOTIFY sceneChanged) public: - enum InputState { - InputStateNone = 0, - InputStateOnScene, - InputStateOnPrimaryView, - InputStateOnSecondaryView, - InputStateRotating, - InputStatePinching + enum InputView { + InputViewNone = 0, + InputViewOnPrimary, + InputViewOnSecondary }; public: @@ -58,9 +54,8 @@ public: virtual void wheelEvent(QWheelEvent *event); public: - // TODO: Check if the inputState needs to be visible outside of subclasses in the final architecture - InputState inputState(); - void setInputState(InputState inputState); + InputView inputView() const; + void setInputView(InputView inputView); QPoint inputPosition() const; void setInputPosition(const QPoint &position); @@ -70,7 +65,7 @@ public: signals: void positionChanged(QPoint position); - void inputStateChanged(InputState state); + void inputViewChanged(InputView view); void sceneChanged(const Q3DScene *scene); protected: @@ -88,6 +83,6 @@ private: friend class QTouch3DInputHandlerPrivate; }; -QT_DATAVISUALIZATION_END_NAMESPACE +QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QABSTRACT3DINPUTHANDLER_H +#endif diff --git a/src/datavisualization/input/qabstract3dinputhandler_p.h b/src/datavisualization/input/qabstract3dinputhandler_p.h index 205abf66..52b1a5f6 100644 --- a/src/datavisualization/input/qabstract3dinputhandler_p.h +++ b/src/datavisualization/input/qabstract3dinputhandler_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** @@ -33,7 +33,7 @@ #include "qabstract3dinputhandler.h" #include <QRect> -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstract3DInputHandler; class Q3DScene; @@ -45,6 +45,13 @@ public: ~QAbstract3DInputHandlerPrivate(); public: + enum InputState { + InputStateNone = 0, + InputStateSelecting, + InputStateRotating, + InputStatePinching + }; + QAbstract3DInputHandler *q_ptr; int m_prevDistance; QPoint m_previousInputPos; @@ -53,11 +60,10 @@ public: GLfloat m_defaultYRotation; private: - QAbstract3DInputHandler::InputState m_inputState; + QAbstract3DInputHandler::InputView m_inputView; QPoint m_inputPosition; QRect m_mainViewPort; - // TODO: Check if this could be avoided with signals/slots or some other way. Q3DScene *m_scene; bool m_isDefaultHandler; @@ -65,6 +71,6 @@ private: friend class Abstract3DController; }; -QT_DATAVISUALIZATION_END_NAMESPACE +QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QABSTRACT3DINPUTHANDLER_P_H +#endif diff --git a/src/datavisualization/input/qtouch3dinputhandler.cpp b/src/datavisualization/input/qtouch3dinputhandler.cpp index 42769562..76b5721b 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.cpp +++ b/src/datavisualization/input/qtouch3dinputhandler.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** @@ -21,7 +21,7 @@ #include <QTimer> #include <qmath.h> -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +QT_BEGIN_NAMESPACE_DATAVISUALIZATION const float maxTapAndHoldJitter = 20.0f; const int maxPinchJitter = 10; @@ -45,22 +45,27 @@ const int maxZoomLevel = 500; * * Default touch input handler has the following functionalty: * \table - * \header - * \li Gesture \li Action - * \row - * \li Touch-And-Move \li Rotate graph within limits set for Q3DCamera - * \row - * \li Tap \li Select the item tapped or remove selection if none. - * May open the secondary view depending on the - * selection mode. - * \row - * \li Tap-And-Hold \li Same as tap. - * \row - * \li Pinch \li Zoom in/out within default range (10...500%). - * \row - * \li Tap on the primary view when the secondary view is visible - * \li Closes the secondary view. - * \note Secondary view is available only for Q3DBars and Q3DSurface graphs. + * \header + * \li Gesture + * \li Action + * \row + * \li Touch-And-Move + * \li Rotate graph within limits set for Q3DCamera + * \row + * \li Tap + * \li Select the item tapped or remove selection if none. + * May open the secondary view depending on the + * \l {QAbstract3DGraph::selectionMode}{selection mode}. + * \row + * \li Tap-And-Hold + * \li Same as tap. + * \row + * \li Pinch + * \li Zoom in/out within default range (10...500%). + * \row + * \li Tap on the primary view when the secondary view is visible + * \li Closes the secondary view. + * \note Secondary view is available only for Q3DBars and Q3DSurface graphs. * \endtable */ @@ -99,24 +104,27 @@ void QTouch3DInputHandler::touchEvent(QTouchEvent *event) if (event->type() == QEvent::TouchBegin) { if (scene()->isSlicingActive()) { if (scene()->isPointInPrimarySubView(pointerPos.toPoint())) - setInputState(InputStateOnPrimaryView); + setInputView(InputViewOnPrimary); else if (scene()->isPointInSecondarySubView(pointerPos.toPoint())) - setInputState(InputStateOnSecondaryView); + setInputView(InputViewOnSecondary); else - setInputState(InputStateNone); + setInputView(InputViewNone); } else { // Handle possible tap-and-hold selection d_ptr->m_startHoldPos = pointerPos; d_ptr->m_touchHoldPos = d_ptr->m_startHoldPos; d_ptr->m_holdTimer->start(); + setInputView(InputViewOnPrimary); // Start rotating - setInputState(InputStateRotating); + d_ptr->m_inputState = QAbstract3DInputHandlerPrivate::InputStateRotating; setInputPosition(pointerPos.toPoint()); } } else if (event->type() == QEvent::TouchEnd) { + setInputView(InputViewNone); d_ptr->m_holdTimer->stop(); // Handle possible selection - d_ptr->handleSelection(pointerPos); + if (QAbstract3DInputHandlerPrivate::InputStatePinching != d_ptr->m_inputState) + d_ptr->handleSelection(pointerPos); } else if (event->type() == QEvent::TouchUpdate) { if (!scene()->isSlicingActive()) { d_ptr->m_touchHoldPos = pointerPos; @@ -131,7 +139,8 @@ void QTouch3DInputHandler::touchEvent(QTouchEvent *event) QTouch3DInputHandlerPrivate::QTouch3DInputHandlerPrivate(QTouch3DInputHandler *q) : q_ptr(q), - m_holdTimer(0) + m_holdTimer(0), + m_inputState(QAbstract3DInputHandlerPrivate::InputStateNone) { m_holdTimer = new QTimer(); m_holdTimer->setSingleShot(true); @@ -151,7 +160,7 @@ void QTouch3DInputHandlerPrivate::handlePinchZoom(float distance) int prevDist = q_ptr->prevDistance(); if (prevDist > 0 && qAbs(prevDist - newDistance) < maxPinchJitter) return; - q_ptr->setInputState(QAbstract3DInputHandler::InputStatePinching); + m_inputState = QAbstract3DInputHandlerPrivate::InputStatePinching; Q3DCamera *camera = q_ptr->scene()->activeCamera(); int zoomLevel = camera->zoomLevel(); float zoomRate = qSqrt(qSqrt(zoomLevel)); @@ -172,24 +181,27 @@ void QTouch3DInputHandlerPrivate::handleTapAndHold() QPointF distance = m_startHoldPos - m_touchHoldPos; if (distance.manhattanLength() < maxTapAndHoldJitter) { q_ptr->setInputPosition(m_touchHoldPos.toPoint()); - q_ptr->setInputState(QAbstract3DInputHandler::InputStateOnScene); + q_ptr->scene()->setSelectionQueryPosition(m_touchHoldPos.toPoint()); + m_inputState = QAbstract3DInputHandlerPrivate::InputStateSelecting; } } void QTouch3DInputHandlerPrivate::handleSelection(const QPointF &position) { QPointF distance = m_startHoldPos - position; - if (distance.manhattanLength() < maxSelectionJitter) - q_ptr->setInputState(QAbstract3DInputHandler::InputStateOnScene); - else - q_ptr->setInputState(QAbstract3DInputHandler::InputStateNone); + if (distance.manhattanLength() < maxSelectionJitter) { + m_inputState = QAbstract3DInputHandlerPrivate::InputStateSelecting; + q_ptr->scene()->setSelectionQueryPosition(position.toPoint()); + } else { + m_inputState = QAbstract3DInputHandlerPrivate::InputStateNone; + q_ptr->setInputView(QAbstract3DInputHandler::InputViewNone); + } q_ptr->setPreviousInputPos(position.toPoint()); - q_ptr->scene()->setSelectionQueryPosition(position.toPoint()); } void QTouch3DInputHandlerPrivate::handleRotation(const QPointF &position) { - if (QAbstract3DInputHandler::InputStateRotating == q_ptr->inputState()) { + if (QAbstract3DInputHandlerPrivate::InputStateRotating == m_inputState) { Q3DScene *scene = q_ptr->scene(); Q3DCamera *camera = scene->activeCamera(); float xRotation = camera->xRotation(); @@ -209,4 +221,4 @@ void QTouch3DInputHandlerPrivate::handleRotation(const QPointF &position) } } -QT_DATAVISUALIZATION_END_NAMESPACE +QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/input/qtouch3dinputhandler.h b/src/datavisualization/input/qtouch3dinputhandler.h index 1c366926..70521d19 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.h +++ b/src/datavisualization/input/qtouch3dinputhandler.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** @@ -21,7 +21,7 @@ #include <QtDataVisualization/q3dinputhandler.h> -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QTouch3DInputHandlerPrivate; @@ -42,6 +42,6 @@ private: QScopedPointer<QTouch3DInputHandlerPrivate> d_ptr; }; -QT_DATAVISUALIZATION_END_NAMESPACE +QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QTOUCH3DINPUTHANDLER_H +#endif diff --git a/src/datavisualization/input/qtouch3dinputhandler_p.h b/src/datavisualization/input/qtouch3dinputhandler_p.h index 11163140..19c30142 100644 --- a/src/datavisualization/input/qtouch3dinputhandler_p.h +++ b/src/datavisualization/input/qtouch3dinputhandler_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** @@ -19,9 +19,10 @@ #ifndef QTOUCH3DINPUTHANDLER_P_H #define QTOUCH3DINPUTHANDLER_P_H +#include "qabstract3dinputhandler_p.h" #include "qtouch3dinputhandler.h" -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class QAbstract3DInputHandler; @@ -41,10 +42,11 @@ public: public: QTouch3DInputHandler *q_ptr; QTimer *m_holdTimer; + QAbstract3DInputHandlerPrivate::InputState m_inputState; QPointF m_startHoldPos; QPointF m_touchHoldPos; }; -QT_DATAVISUALIZATION_END_NAMESPACE +QT_END_NAMESPACE_DATAVISUALIZATION -#endif // QTOUCH3DINPUTHANDLER_H +#endif |