summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2016-03-04 23:01:15 +0000
committerSean Harmer <sean.harmer@kdab.com>2016-03-05 01:06:59 +0000
commitc3ed77c7affb071e47c1d5efefa8cad4e595ac32 (patch)
tree800ede1addd76ce9ef1513d68ef67e0bf268f796
parent619466455f8eae59458280b8d01f44ab69ac722c (diff)
Rename to QMouseInput to QMouseHandler
also: - rename property controller to sourceDevice - remove protected ctor - move other protected methods to dpointer Change-Id: Ibce97ec4ab7927ec2bb758f3e872691d52e3c785 Task-Id: QTBUG-51443 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r--examples/qt3d/mouseinput-qml/main.qml6
-rw-r--r--src/core/nodes/qentity.cpp2
-rw-r--r--src/input/backend/backend.pri4
-rw-r--r--src/input/backend/handle_types_p.h4
-rw-r--r--src/input/backend/inputmanagers_p.h4
-rw-r--r--src/input/backend/mouseeventdispatcherjob.cpp4
-rw-r--r--src/input/backend/mousehandler.cpp (renamed from src/input/backend/mouseinput.cpp)38
-rw-r--r--src/input/backend/mousehandler_p.h (renamed from src/input/backend/mouseinput_p.h)16
-rw-r--r--src/input/frontend/frontend.pri6
-rw-r--r--src/input/frontend/qinputaspect.cpp6
-rw-r--r--src/input/frontend/qmousecontroller.cpp8
-rw-r--r--src/input/frontend/qmousecontroller.h2
-rw-r--r--src/input/frontend/qmouseevent.cpp8
-rw-r--r--src/input/frontend/qmousehandler.cpp (renamed from src/input/frontend/qmouseinput.cpp)148
-rw-r--r--src/input/frontend/qmousehandler.h (renamed from src/input/frontend/qmouseinput.h)28
-rw-r--r--src/input/frontend/qmousehandler_p.h (renamed from src/input/frontend/qmouseinput_p.h)18
-rw-r--r--src/quick3d/imports/input/qt3dquick3dinputplugin.cpp4
17 files changed, 150 insertions, 156 deletions
diff --git a/examples/qt3d/mouseinput-qml/main.qml b/examples/qt3d/mouseinput-qml/main.qml
index f1f225729..9eaeea7ff 100644
--- a/examples/qt3d/mouseinput-qml/main.qml
+++ b/examples/qt3d/mouseinput-qml/main.qml
@@ -100,8 +100,8 @@ Entity {
scale: sphere1.scaleFactor
}
- property MouseInput mouseInput : MouseInput {
- controller: mouseController
+ property MouseHandler mouseHandler : MouseHandler {
+ sourceDevice: mouseController
onClicked: {
//Signal not implemented yet
@@ -120,6 +120,6 @@ Entity {
}
}
- components: [sphereMesh, material, transform, mouseInput]
+ components: [sphereMesh, material, transform, mouseHandler]
}
}
diff --git a/src/core/nodes/qentity.cpp b/src/core/nodes/qentity.cpp
index 2ebdafc66..90e42bca8 100644
--- a/src/core/nodes/qentity.cpp
+++ b/src/core/nodes/qentity.cpp
@@ -71,7 +71,7 @@ QEntityPrivate::QEntityPrivate()
backend aspect will be able to interpret and process an Entity by
recognizing which components it is made up of. One aspect may decide to only
process entities composed of a single Qt3DCore::QTransform component whilst
- another may focus on Qt3DCore::QMouseInput.
+ another may focus on Qt3DCore::QMouseHandler.
\sa Qt3DCore::QComponent, Qt3DCore::QTransform
*/
diff --git a/src/input/backend/backend.pri b/src/input/backend/backend.pri
index d4d76dae1..dde8064ef 100644
--- a/src/input/backend/backend.pri
+++ b/src/input/backend/backend.pri
@@ -8,7 +8,7 @@ HEADERS += \
$$PWD/assignkeyboardfocusjob_p.h \
$$PWD/keyeventdispatcherjob_p.h \
$$PWD/mousecontroller_p.h \
- $$PWD/mouseinput_p.h \
+ $$PWD/mousehandler_p.h \
$$PWD/mouseeventdispatcherjob_p.h \
$$PWD/mouseeventfilter_p.h \
$$PWD/axisinput_p.h \
@@ -37,7 +37,7 @@ SOURCES += \
$$PWD/assignkeyboardfocusjob.cpp \
$$PWD/keyeventdispatcherjob.cpp \
$$PWD/mousecontroller.cpp \
- $$PWD/mouseinput.cpp \
+ $$PWD/mousehandler.cpp \
$$PWD/mouseeventfilter.cpp \
$$PWD/mouseeventdispatcherjob.cpp \
$$PWD/axisinput.cpp \
diff --git a/src/input/backend/handle_types_p.h b/src/input/backend/handle_types_p.h
index 64ff63474..909b1fe04 100644
--- a/src/input/backend/handle_types_p.h
+++ b/src/input/backend/handle_types_p.h
@@ -61,7 +61,7 @@ namespace Input {
class KeyboardController;
class KeyboardInput;
class MouseController;
-class MouseInput;
+class MouseHandler;
class Axis;
class AxisActionHandler;
class AxisInput;
@@ -76,7 +76,7 @@ class GenericDeviceBackendNode;
typedef Qt3DCore::QHandle<KeyboardController, 8> HKeyboardController;
typedef Qt3DCore::QHandle<KeyboardInput, 16> HKeyboardInput;
typedef Qt3DCore::QHandle<MouseController, 8> HMouseController;
-typedef Qt3DCore::QHandle<MouseInput, 16> HMouseInput;
+typedef Qt3DCore::QHandle<MouseHandler, 16> HMouseHandler;
typedef Qt3DCore::QHandle<Axis, 16> HAxis;
typedef Qt3DCore::QHandle<AxisActionHandler, 16> HAxisActionHandler;
typedef Qt3DCore::QHandle<AxisSetting, 16> HAxisSetting;
diff --git a/src/input/backend/inputmanagers_p.h b/src/input/backend/inputmanagers_p.h
index 36b5f2ce7..772c5d38a 100644
--- a/src/input/backend/inputmanagers_p.h
+++ b/src/input/backend/inputmanagers_p.h
@@ -56,7 +56,7 @@
#include <Qt3DInput/private/keyboardcontroller_p.h>
#include <Qt3DInput/private/keyboardinput_p.h>
#include <Qt3DInput/private/mousecontroller_p.h>
-#include <Qt3DInput/private/mouseinput_p.h>
+#include <Qt3DInput/private/mousehandler_p.h>
#include <Qt3DCore/private/qresourcemanager_p.h>
#include <Qt3DInput/private/actioninput_p.h>
#include <Qt3DInput/private/inputsequence_p.h>
@@ -104,7 +104,7 @@ public:
};
class MouseInputManager : public Qt3DCore::QResourceManager<
- MouseInput,
+ MouseHandler,
Qt3DCore::QNodeId,
16,
Qt3DCore::ArrayAllocatingPolicy>
diff --git a/src/input/backend/mouseeventdispatcherjob.cpp b/src/input/backend/mouseeventdispatcherjob.cpp
index 797e5d7db..c05984121 100644
--- a/src/input/backend/mouseeventdispatcherjob.cpp
+++ b/src/input/backend/mouseeventdispatcherjob.cpp
@@ -39,7 +39,7 @@
#include "mouseeventdispatcherjob_p.h"
#include "inputhandler_p.h"
-#include "mouseinput_p.h"
+#include "mousehandler_p.h"
#include "inputmanagers_p.h"
QT_BEGIN_NAMESPACE
@@ -62,7 +62,7 @@ void MouseEventDispatcherJob::setInputHandler(InputHandler *handler)
void MouseEventDispatcherJob::run()
{
- MouseInput *input = m_inputHandler->mouseInputManager()->lookupResource(m_mouseInput);
+ MouseHandler *input = m_inputHandler->mouseInputManager()->lookupResource(m_mouseInput);
if (input) {
Q_FOREACH (const QT_PREPEND_NAMESPACE(QMouseEvent) &e, m_events) {
// Send events to frontend
diff --git a/src/input/backend/mouseinput.cpp b/src/input/backend/mousehandler.cpp
index 2b651fae6..d3f520b0d 100644
--- a/src/input/backend/mouseinput.cpp
+++ b/src/input/backend/mousehandler.cpp
@@ -37,12 +37,12 @@
**
****************************************************************************/
-#include "mouseinput_p.h"
+#include "mousehandler_p.h"
#include "mousecontroller_p.h"
#include "inputmanagers_p.h"
#include "inputhandler_p.h"
-#include <Qt3DInput/qmouseinput.h>
+#include <Qt3DInput/qmousehandler.h>
#include <Qt3DInput/qmousecontroller.h>
#include <Qt3DCore/qscenepropertychange.h>
#include <Qt3DCore/qbackendscenepropertychange.h>
@@ -54,36 +54,36 @@ using namespace Qt3DCore;
namespace Qt3DInput {
namespace Input {
-MouseInput::MouseInput()
+MouseHandler::MouseHandler()
: QBackendNode(ReadWrite)
, m_enabled(false)
, m_inputHandler(Q_NULLPTR)
{
}
-MouseInput::~MouseInput()
+MouseHandler::~MouseHandler()
{
}
-void MouseInput::updateFromPeer(Qt3DCore::QNode *peer)
+void MouseHandler::updateFromPeer(Qt3DCore::QNode *peer)
{
- QMouseInput *input = static_cast<QMouseInput *>(peer);
- if (input->controller() != Q_NULLPTR)
- setController(input->controller()->id());
+ QMouseHandler *input = static_cast<QMouseHandler *>(peer);
+ if (input->sourceDevice() != Q_NULLPTR)
+ setController(input->sourceDevice()->id());
m_enabled = input->isEnabled();
}
-Qt3DCore::QNodeId MouseInput::mouseController() const
+Qt3DCore::QNodeId MouseHandler::mouseController() const
{
return m_mouseController;
}
-void MouseInput::setInputHandler(InputHandler *handler)
+void MouseHandler::setInputHandler(InputHandler *handler)
{
m_inputHandler = handler;
}
-void MouseInput::mouseEvent(const QMouseEventPtr &event)
+void MouseHandler::mouseEvent(const QMouseEventPtr &event)
{
QBackendScenePropertyChangePtr e(new QBackendScenePropertyChange(NodeUpdated, peerUuid()));
e->setTargetNode(peerUuid());
@@ -92,7 +92,7 @@ void MouseInput::mouseEvent(const QMouseEventPtr &event)
notifyObservers(e);
}
-void MouseInput::wheelEvent(const QWheelEventPtr &event)
+void MouseHandler::wheelEvent(const QWheelEventPtr &event)
{
QBackendScenePropertyChangePtr e(new QBackendScenePropertyChange(NodeUpdated, peerUuid()));
e->setTargetNode(peerUuid());
@@ -101,7 +101,7 @@ void MouseInput::wheelEvent(const QWheelEventPtr &event)
notifyObservers(e);
}
-void MouseInput::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
+void MouseHandler::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
{
if (e->type() == NodeUpdated) {
QScenePropertyChangePtr propertyChange = qSharedPointerCast<QScenePropertyChange>(e);
@@ -114,7 +114,7 @@ void MouseInput::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
}
}
-void MouseInput::setController(Qt3DCore::QNodeId controller)
+void MouseHandler::setController(Qt3DCore::QNodeId controller)
{
if (!m_mouseController.isNull()) {
MouseController *controller = m_inputHandler->mouseControllerManager()->lookupResource(m_mouseController);
@@ -129,25 +129,25 @@ void MouseInput::setController(Qt3DCore::QNodeId controller)
}
}
-MouseInputFunctor::MouseInputFunctor(InputHandler *handler)
+MouseHandlerFunctor::MouseHandlerFunctor(InputHandler *handler)
: m_handler(handler)
{
}
-Qt3DCore::QBackendNode *MouseInputFunctor::create(Qt3DCore::QNode *frontend) const
+Qt3DCore::QBackendNode *MouseHandlerFunctor::create(Qt3DCore::QNode *frontend) const
{
- MouseInput *input = m_handler->mouseInputManager()->getOrCreateResource(frontend->id());
+ MouseHandler *input = m_handler->mouseInputManager()->getOrCreateResource(frontend->id());
input->setInputHandler(m_handler);
input->setPeer(frontend);
return input;
}
-Qt3DCore::QBackendNode *MouseInputFunctor::get(Qt3DCore::QNodeId id) const
+Qt3DCore::QBackendNode *MouseHandlerFunctor::get(Qt3DCore::QNodeId id) const
{
return m_handler->mouseInputManager()->lookupResource(id);
}
-void MouseInputFunctor::destroy(Qt3DCore::QNodeId id) const
+void MouseHandlerFunctor::destroy(Qt3DCore::QNodeId id) const
{
m_handler->mouseInputManager()->releaseResource(id);
}
diff --git a/src/input/backend/mouseinput_p.h b/src/input/backend/mousehandler_p.h
index 4d45fb899..3f0c4d58d 100644
--- a/src/input/backend/mouseinput_p.h
+++ b/src/input/backend/mousehandler_p.h
@@ -37,8 +37,8 @@
**
****************************************************************************/
-#ifndef QT3DINPUT_INPUT_MOUSEINPUT_H
-#define QT3DINPUT_INPUT_MOUSEINPUT_H
+#ifndef QT3DINPUT_INPUT_MOUSEHANDLER_H
+#define QT3DINPUT_INPUT_MOUSEHANDLER_H
//
// W A R N I N G
@@ -61,11 +61,11 @@ namespace Input {
class InputHandler;
-class MouseInput : public Qt3DCore::QBackendNode
+class MouseHandler : public Qt3DCore::QBackendNode
{
public:
- MouseInput();
- ~MouseInput();
+ MouseHandler();
+ ~MouseHandler();
void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
Qt3DCore::QNodeId mouseController() const;
@@ -85,10 +85,10 @@ private:
InputHandler *m_inputHandler;
};
-class MouseInputFunctor : public Qt3DCore::QBackendNodeMapper
+class MouseHandlerFunctor : public Qt3DCore::QBackendNodeMapper
{
public:
- explicit MouseInputFunctor(InputHandler *handler);
+ explicit MouseHandlerFunctor(InputHandler *handler);
Qt3DCore::QBackendNode *create(Qt3DCore::QNode *frontend) const Q_DECL_OVERRIDE;
Qt3DCore::QBackendNode *get(Qt3DCore::QNodeId id) const Q_DECL_OVERRIDE;
@@ -103,4 +103,4 @@ private:
QT_END_NAMESPACE
-#endif // MOUSEINPUT_H
+#endif // QT3DINPUT_INPUT_MOUSEHANDLER_H
diff --git a/src/input/frontend/frontend.pri b/src/input/frontend/frontend.pri
index 46f0dbbf0..a1a840203 100644
--- a/src/input/frontend/frontend.pri
+++ b/src/input/frontend/frontend.pri
@@ -7,8 +7,8 @@ HEADERS += \
$$PWD/qinputaspect_p.h \
$$PWD/qkeyevent.h \
$$PWD/qmousecontroller.h \
- $$PWD/qmouseinput.h \
- $$PWD/qmouseinput_p.h \
+ $$PWD/qmousehandler.h \
+ $$PWD/qmousehandler_p.h \
$$PWD/qmousecontroller_p.h \
$$PWD/qmouseevent.h \
$$PWD/qinputdeviceplugin.h \
@@ -37,7 +37,7 @@ SOURCES += \
$$PWD/qkeyboardcontroller.cpp \
$$PWD/qkeyboardinput.cpp \
$$PWD/qkeyevent.cpp \
- $$PWD/qmouseinput.cpp \
+ $$PWD/qmousehandler.cpp \
$$PWD/qmousecontroller.cpp \
$$PWD/qmouseevent.cpp \
$$PWD/qinputdeviceplugin.cpp \
diff --git a/src/input/frontend/qinputaspect.cpp b/src/input/frontend/qinputaspect.cpp
index e832f7108..d4afaf1b6 100644
--- a/src/input/frontend/qinputaspect.cpp
+++ b/src/input/frontend/qinputaspect.cpp
@@ -43,11 +43,11 @@
#include "keyboardcontroller_p.h"
#include "keyboardinput_p.h"
#include "mousecontroller_p.h"
-#include "mouseinput_p.h"
+#include "mousehandler_p.h"
#include <Qt3DInput/qkeyboardcontroller.h>
#include <Qt3DInput/qkeyboardinput.h>
#include <Qt3DInput/qmousecontroller.h>
-#include <Qt3DInput/qmouseinput.h>
+#include <Qt3DInput/qmousehandler.h>
#include <Qt3DInput/qinputdeviceintegration.h>
#include <Qt3DInput/qgenericinputdevice.h>
#include <Qt3DInput/qinputsettings.h>
@@ -113,7 +113,7 @@ QInputAspect::QInputAspect(QObject *parent)
registerBackendType<QKeyboardController>(QBackendNodeMapperPtr(new Input::KeyboardControllerFunctor(this, d_func()->m_inputHandler.data())));
registerBackendType<QKeyboardInput>(QBackendNodeMapperPtr(new Input::KeyboardInputFunctor(d_func()->m_inputHandler.data())));
registerBackendType<QMouseController>(QBackendNodeMapperPtr(new Input::MouseControllerFunctor(this, d_func()->m_inputHandler.data())));
- registerBackendType<QMouseInput>(QBackendNodeMapperPtr(new Input::MouseInputFunctor(d_func()->m_inputHandler.data())));
+ registerBackendType<QMouseHandler>(QBackendNodeMapperPtr(new Input::MouseHandlerFunctor(d_func()->m_inputHandler.data())));
registerBackendType<QAxis>(QBackendNodeMapperPtr(new Input::InputNodeFunctor<Input::Axis, Input::AxisManager>(d_func()->m_inputHandler->axisManager())));
registerBackendType<QAxisInput>(QBackendNodeMapperPtr(new Input::InputNodeFunctor<Input::AxisInput, Input::AxisInputManager>(d_func()->m_inputHandler->axisInputManager())));
registerBackendType<QAxisSetting>(QBackendNodeMapperPtr(new Input::InputNodeFunctor<Input::AxisSetting, Input::AxisSettingManager>(d_func()->m_inputHandler->axisSettingManager())));
diff --git a/src/input/frontend/qmousecontroller.cpp b/src/input/frontend/qmousecontroller.cpp
index 71899f303..3cf63cf40 100644
--- a/src/input/frontend/qmousecontroller.cpp
+++ b/src/input/frontend/qmousecontroller.cpp
@@ -57,9 +57,9 @@ QMouseControllerPrivate::QMouseControllerPrivate()
* \instantiates Qt3DInput::QMouseController
* \inqmlmodule Qt3D.Input
* \since 5.5
- * \brief Delegates mouse events to the attached MouseInput objects.
+ * \brief Delegates mouse events to the attached MouseHandler objects.
* \TODO
- * \sa MouseInput
+ * \sa MouseHandler
*/
/*!
@@ -67,10 +67,10 @@ QMouseControllerPrivate::QMouseControllerPrivate()
* \inmodule Qt3DInput
*
* \brief QMouseController is in charge of dispatching mouse events to
- * attached QMouseInput objects.
+ * attached QMouseHandler objects.
*
* \since 5.5
- * \sa QMouseInput
+ * \sa QMouseHandler
*/
QMouseController::QMouseController(QNode *parent)
: QAbstractPhysicalDevice(*new QMouseControllerPrivate, parent)
diff --git a/src/input/frontend/qmousecontroller.h b/src/input/frontend/qmousecontroller.h
index e516bdaef..063b4bdfa 100644
--- a/src/input/frontend/qmousecontroller.h
+++ b/src/input/frontend/qmousecontroller.h
@@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE
namespace Qt3DInput {
class QMouseControllerPrivate;
-class QMouseInput;
+class QMouseHandler;
class QT3DINPUTSHARED_EXPORT QMouseController : public Qt3DInput::QAbstractPhysicalDevice
{
diff --git a/src/input/frontend/qmouseevent.cpp b/src/input/frontend/qmouseevent.cpp
index cacfa9fda..23eb5d804 100644
--- a/src/input/frontend/qmouseevent.cpp
+++ b/src/input/frontend/qmouseevent.cpp
@@ -61,7 +61,7 @@ namespace Qt3DInput {
* traversing the view, originating from the mouse position intersects with one
* or more elements of the scene.
*
- * \sa KeyEvent, WheelEvent, MouseInput
+ * \sa KeyEvent, WheelEvent, MouseHandler
*/
/*!
@@ -76,7 +76,7 @@ namespace Qt3DInput {
*
* \since 5.5
*
- * \sa QKeyEvent, QWheelEvent, QMouseInput
+ * \sa QKeyEvent, QWheelEvent, QMouseHandler
*
*/
@@ -184,7 +184,7 @@ QMouseEvent::Modifiers QMouseEvent::modifier() const
*
* Mouse wheel events occur when the mouse wheel is rotated.
*
- * \sa KeyEvent, MouseEvent, MouseInput
+ * \sa KeyEvent, MouseEvent, MouseHandler
*
*/
@@ -198,7 +198,7 @@ QMouseEvent::Modifiers QMouseEvent::modifier() const
*
* \since 5.5
*
- * \sa QKeyEvent, QMouseEvent, QMouseInput
+ * \sa QKeyEvent, QMouseEvent, QMouseHandler
*
*/
diff --git a/src/input/frontend/qmouseinput.cpp b/src/input/frontend/qmousehandler.cpp
index 809349bd2..5a72359ad 100644
--- a/src/input/frontend/qmouseinput.cpp
+++ b/src/input/frontend/qmousehandler.cpp
@@ -37,8 +37,8 @@
**
****************************************************************************/
-#include "qmouseinput.h"
-#include "qmouseinput_p.h"
+#include "qmousehandler.h"
+#include "qmousehandler_p.h"
#include "qmousecontroller.h"
#include "qmouseevent.h"
#include <Qt3DCore/qbackendscenepropertychange.h>
@@ -49,17 +49,44 @@ using namespace Qt3DCore;
namespace Qt3DInput {
/*! \internal */
-QMouseInputPrivate::QMouseInputPrivate()
+QMouseHandlerPrivate::QMouseHandlerPrivate()
: QComponentPrivate()
- , m_controller(Q_NULLPTR)
+ , m_sourceDevice(Q_NULLPTR)
, m_containsMouse(false)
{
m_shareable = false;
}
+void QMouseHandlerPrivate::mouseEvent(QMouseEvent *event)
+{
+ Q_Q(QMouseHandler);
+ switch (event->type()) {
+ case QEvent::MouseButtonPress:
+ if (event->wasHeld())
+ emit q->pressAndHold(event);
+ else
+ emit q->pressed(event);
+ break;
+ case QEvent::MouseButtonRelease:
+ emit q->released(event);
+ break;
+ case Qt::TapGesture:
+ emit q->clicked(event);
+ break;
+ case QEvent::MouseButtonDblClick:
+ emit q->doubleClicked(event);
+ break;
+ case QEvent::MouseMove:
+ emit q->positionChanged(event);
+ break;
+ default:
+ break;
+ }
+}
+
/*!
- * \qmltype MouseInput
- * \instantiates Qt3DInput::QMouseInput
+ * \qmltype MouseHandler
+ * \instantiates Qt3DInput::QMouseHandler
* \inqmlmodule Qt3D.Input
* \since 5.5
* \brief Provides mouse event notification
@@ -69,7 +96,7 @@ QMouseInputPrivate::QMouseInputPrivate()
*/
/*!
- * \class Qt3DInput::QMouseInput
+ * \class Qt3DInput::QMouseHandler
* \inmodule Qt3DInput
*
* \brief Provides a means of being notified about mouse events when attached to
@@ -77,91 +104,93 @@ QMouseInputPrivate::QMouseInputPrivate()
*
* \since 5.5
*
- * \note QMouseInput components shouldn't be shared, not respecting that
+ * \note QMouseHandler components shouldn't be shared, not respecting that
* condition will most likely result in undefined behaviors.
*
* \sa QMouseController
*/
/*!
- * Constructs a new QMouseInput instance with parent \a parent.
+ * Constructs a new QMouseHandler instance with parent \a parent.
*/
-QMouseInput::QMouseInput(QNode *parent)
- : QComponent(*new QMouseInputPrivate, parent)
-{
-}
-
-/*!
- \internal
-*/
-QMouseInput::QMouseInput(QMouseInputPrivate &dd, QNode *parent)
- : QComponent(dd, parent)
+QMouseHandler::QMouseHandler(QNode *parent)
+ : QComponent(*new QMouseHandlerPrivate, parent)
{
}
/*!
- Destroys this QMouseInput object
+ Destroys this QMouseHandler object
*/
-QMouseInput::~QMouseInput()
+QMouseHandler::~QMouseHandler()
{
QNode::cleanup();
}
/*!
- * Sets the mouse controller of the QMouseInput instance to \a controller.
+ * Sets the mouse source device of the QMouseHandler instance to \a sourceDevice.
*/
-void QMouseInput::setController(QMouseController *controller)
+void QMouseHandler::setSourceDevice(QMouseController *sourceDevice)
{
- Q_D(QMouseInput);
- if (d->m_controller != controller) {
- d->m_controller = controller;
- emit controllerChanged(controller);
+ Q_D(QMouseHandler);
+ if (d->m_sourceDevice != sourceDevice) {
+ d->m_sourceDevice = sourceDevice;
+ emit sourceDeviceChanged(sourceDevice);
}
}
/*!
- * Returns the current mouse controller of the QMouseInput instance.
+ * Returns the current mouse source device of the QMouseHandler instance.
*/
-QMouseController *QMouseInput::controller() const
+QMouseController *QMouseHandler::sourceDevice() const
{
- Q_D(const QMouseInput);
- return d->m_controller;
+ Q_D(const QMouseHandler);
+ return d->m_sourceDevice;
}
/*!
- * Returns \c true if the QMouseInput currently contains the mouse.
+ * Returns \c true if the QMouseHandler currently contains the mouse.
*
* \note In this context, contains mean that the ray originating from the
* mouse is intersecting with the Qt3DCore::QEntity that aggregates the current
- * QMouseInput instance component.
+ * QMouseHandler instance component.
*/
-bool QMouseInput::containsMouse() const
+bool QMouseHandler::containsMouse() const
{
- Q_D(const QMouseInput);
+ Q_D(const QMouseHandler);
return d->m_containsMouse;
}
-void QMouseInput::copy(const QNode *ref)
+void QMouseHandler::setContainsMouse(bool contains)
{
- Q_D(QMouseInput);
- const QMouseInput *refInput = static_cast<const QMouseInput *>(ref);
+ Q_D(QMouseHandler);
+ if (contains != d->m_containsMouse) {
+ d->m_containsMouse = contains;
+ emit containsMouseChanged(contains);
+ }
+}
+
+void QMouseHandler::copy(const QNode *ref)
+{
+ Q_D(QMouseHandler);
+ const QMouseHandler *refInput = static_cast<const QMouseHandler *>(ref);
d->m_containsMouse = refInput->containsMouse();
// TODO: We may want to store the controller id and only send a clone when we are the parent
// of the controller.
// Perhaps it's time to investigate sending a "kernel" or "seed" over to the backend rather
// than a complete clone.
- if (refInput && refInput->controller() && refInput->controller()->parent() == ref)
- d->m_controller = static_cast<QMouseController *>(QNode::clone(refInput->controller()));
+ if (refInput && refInput->sourceDevice() && refInput->sourceDevice()->parent() == ref)
+ d->m_sourceDevice = static_cast<QMouseController *>(QNode::clone(refInput->sourceDevice()));
}
-void QMouseInput::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change)
+void QMouseHandler::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change)
{
+ Q_D(QMouseHandler);
QBackendScenePropertyChangePtr e = qSharedPointerCast<QBackendScenePropertyChange>(change);
if (e->type() == NodeUpdated) {
if (e->propertyName() == QByteArrayLiteral("mouse")) {
QMouseEventPtr ev = e->value().value<QMouseEventPtr>();
- mouseEvent(ev.data());
+ d->mouseEvent(ev.data());
} else if (e->propertyName() == QByteArrayLiteral("wheel")) {
QWheelEventPtr ev = e->value().value<QWheelEventPtr>();
emit wheel(ev.data());
@@ -169,41 +198,6 @@ void QMouseInput::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change)
}
}
-void QMouseInput::mouseEvent(QMouseEvent *event)
-{
- switch (event->type()) {
- case QEvent::MouseButtonPress:
- if (event->wasHeld())
- emit pressAndHold(event);
- else
- emit pressed(event);
- break;
- case QEvent::MouseButtonRelease:
- emit released(event);
- break;
- case Qt::TapGesture:
- emit clicked(event);
- break;
- case QEvent::MouseButtonDblClick:
- emit doubleClicked(event);
- break;
- case QEvent::MouseMove:
- emit positionChanged(event);
- break;
- default:
- break;
- }
-}
-
-void QMouseInput::setContainsMouse(bool contains)
-{
- Q_D(QMouseInput);
- if (contains != d->m_containsMouse) {
- d->m_containsMouse = contains;
- emit containsMouseChanged(contains);
- }
-}
-
} // namespace Qt3DInput
QT_END_NAMESPACE
diff --git a/src/input/frontend/qmouseinput.h b/src/input/frontend/qmousehandler.h
index 7bf24a977..d88a5b529 100644
--- a/src/input/frontend/qmouseinput.h
+++ b/src/input/frontend/qmousehandler.h
@@ -37,8 +37,8 @@
**
****************************************************************************/
-#ifndef QT3DINPUT_QMOUSEINPUT_H
-#define QT3DINPUT_QMOUSEINPUT_H
+#ifndef QT3DINPUT_QMOUSEHANDLER_H
+#define QT3DINPUT_QMOUSEHANDLER_H
#include <Qt3DInput/qt3dinput_global.h>
#include <Qt3DInput/qmouseevent.h>
@@ -49,26 +49,26 @@ QT_BEGIN_NAMESPACE
namespace Qt3DInput {
class QMouseController;
-class QMouseInputPrivate;
+class QMouseHandlerPrivate;
-class QT3DINPUTSHARED_EXPORT QMouseInput : public Qt3DCore::QComponent
+class QT3DINPUTSHARED_EXPORT QMouseHandler : public Qt3DCore::QComponent
{
Q_OBJECT
- Q_PROPERTY(Qt3DInput::QMouseController *controller READ controller WRITE setController NOTIFY controllerChanged)
+ Q_PROPERTY(Qt3DInput::QMouseController *sourceDevice READ sourceDevice WRITE setSourceDevice NOTIFY sourceDeviceChanged)
Q_PROPERTY(bool containsMouse READ containsMouse NOTIFY containsMouseChanged)
public:
- explicit QMouseInput(QNode *parent = 0);
- ~QMouseInput();
+ explicit QMouseHandler(QNode *parent = 0);
+ ~QMouseHandler();
- QMouseController *controller() const;
+ QMouseController *sourceDevice() const;
bool containsMouse() const;
public Q_SLOTS:
- void setController(QMouseController *controller);
+ void setSourceDevice(QMouseController *sourceDevice);
Q_SIGNALS:
- void controllerChanged(QMouseController *controller);
+ void sourceDeviceChanged(QMouseController *sourceDevice);
void containsMouseChanged(bool containsMouse);
void clicked(Qt3DInput::QMouseEvent *mouse);
@@ -85,19 +85,17 @@ Q_SIGNALS:
void wheel(Qt3DInput::QWheelEvent *wheel);
protected:
- QMouseInput(QMouseInputPrivate &dd, Qt3DCore::QNode *parent = 0);
void copy(const Qt3DCore::QNode *ref) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change) Q_DECL_OVERRIDE;
- void mouseEvent(Qt3DInput::QMouseEvent *event);
void setContainsMouse(bool contains);
private:
- Q_DECLARE_PRIVATE(QMouseInput)
- QT3D_CLONEABLE(QMouseInput)
+ Q_DECLARE_PRIVATE(QMouseHandler)
+ QT3D_CLONEABLE(QMouseHandler)
};
} // namespace Qt3DInput
QT_END_NAMESPACE
-#endif // QT3DINPUT_QMOUSEINPUT_H
+#endif // QT3DINPUT_QMOUSEHANDLER_H
diff --git a/src/input/frontend/qmouseinput_p.h b/src/input/frontend/qmousehandler_p.h
index 27d005afd..d14dd748a 100644
--- a/src/input/frontend/qmouseinput_p.h
+++ b/src/input/frontend/qmousehandler_p.h
@@ -37,8 +37,8 @@
**
****************************************************************************/
-#ifndef QT3DINPUT_QMOUSEINPUT_P_H
-#define QT3DINPUT_QMOUSEINPUT_P_H
+#ifndef QT3DINPUT_QMOUSEHANDLER_P_H
+#define QT3DINPUT_QMOUSEHANDLER_P_H
//
// W A R N I N G
@@ -57,23 +57,25 @@ QT_BEGIN_NAMESPACE
namespace Qt3DInput {
-class QMouseInput;
+class QMouseHandler;
class QMouseController;
-class QMouseInputPrivate : public Qt3DCore::QComponentPrivate
+class QMouseHandlerPrivate : public Qt3DCore::QComponentPrivate
{
public:
- QMouseInputPrivate();
+ QMouseHandlerPrivate();
- QMouseController *m_controller;
+ QMouseController *m_sourceDevice;
bool m_containsMouse;
- Q_DECLARE_PUBLIC(QMouseInput)
+ void mouseEvent(Qt3DInput::QMouseEvent *event);
+
+ Q_DECLARE_PUBLIC(QMouseHandler)
};
} // namespace Qt3DInput
QT_END_NAMESPACE
-#endif // QT3DINPUT_QMOUSEINPUT_P_H
+#endif // QT3DINPUT_QMOUSEHANDLER_P_H
diff --git a/src/quick3d/imports/input/qt3dquick3dinputplugin.cpp b/src/quick3d/imports/input/qt3dquick3dinputplugin.cpp
index 320b9754b..36c13e8a2 100644
--- a/src/quick3d/imports/input/qt3dquick3dinputplugin.cpp
+++ b/src/quick3d/imports/input/qt3dquick3dinputplugin.cpp
@@ -43,7 +43,7 @@
#include <Qt3DInput/qkeyboardinput.h>
#include <Qt3DInput/qkeyevent.h>
#include <Qt3DInput/qmousecontroller.h>
-#include <Qt3DInput/qmouseinput.h>
+#include <Qt3DInput/qmousehandler.h>
#include <Qt3DInput/qmouseevent.h>
#include <Qt3DInput/qaxis.h>
@@ -79,7 +79,7 @@ void Qt3DQuick3DInputPlugin::registerTypes(const char *uri)
qmlRegisterUncreatableType<Qt3DInput::QMouseEvent>(uri, 2, 0, "MouseEvent", QStringLiteral("Events cannot be created"));
qmlRegisterUncreatableType<Qt3DInput::QWheelEvent>(uri, 2, 0, "WheelEvent", QStringLiteral("Events cannot be created"));
- qmlRegisterType<Qt3DInput::QMouseInput>(uri, 2, 0, "MouseInput");
+ qmlRegisterType<Qt3DInput::QMouseHandler>(uri, 2, 0, "MouseHandler");
qmlRegisterType<Qt3DInput::QMouseController>(uri, 2, 0, "MouseController");
qmlRegisterExtendedType<Qt3DInput::QLogicalDevice, Qt3DInput::Input::Quick::Quick3DLogicalDevice>(uri, 2, 0, "LogicalDevice");