summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-03-24 15:48:44 +0000
committerSean Harmer <sean.harmer@kdab.com>2016-03-30 19:22:44 +0000
commitbd0191ab3c0487e77cad79408bb2389007e84b3d (patch)
tree385b439afe4e780f80b66cbe81da389ca8d80f93
parent4062c99e180d4e83ca802d06d944d5a88e4a8292 (diff)
KeyboardDeviceFunctor handles creation
Change-Id: I3cd3f067d7ca0d54ad1c4484e277056692c4dc4a Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r--src/input/backend/keyboarddevice.cpp9
-rw-r--r--src/input/backend/keyboarddevice_p.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/input/backend/keyboarddevice.cpp b/src/input/backend/keyboarddevice.cpp
index 00a30b415..1dace4c15 100644
--- a/src/input/backend/keyboarddevice.cpp
+++ b/src/input/backend/keyboarddevice.cpp
@@ -465,6 +465,15 @@ Qt3DCore::QBackendNode *KeyboardDeviceFunctor::create(Qt3DCore::QNode *frontend)
return keyboardDevice;
}
+Qt3DCore::QBackendNode *KeyboardDeviceFunctor::create(const Qt3DCore::QNodeCreatedChangeBasePtr &change) const
+{
+ KeyboardDevice *keyboardDevice = m_handler->keyboardDeviceManager()->getOrCreateResource(change->subjectId());
+ keyboardDevice->setInputAspect(m_inputAspect);
+ keyboardDevice->setInputHandler(m_handler);
+ m_handler->appendKeyboardDevice(m_handler->keyboardDeviceManager()->lookupHandle(change->subjectId()));
+ return keyboardDevice;
+}
+
Qt3DCore::QBackendNode *KeyboardDeviceFunctor::get(Qt3DCore::QNodeId id) const
{
return m_handler->keyboardDeviceManager()->lookupResource(id);
diff --git a/src/input/backend/keyboarddevice_p.h b/src/input/backend/keyboarddevice_p.h
index d4e0a7f3b..1122a73d6 100644
--- a/src/input/backend/keyboarddevice_p.h
+++ b/src/input/backend/keyboarddevice_p.h
@@ -276,6 +276,7 @@ public:
explicit KeyboardDeviceFunctor(QInputAspect *inputaspect, InputHandler *handler);
Qt3DCore::QBackendNode *create(Qt3DCore::QNode *frontend) const Q_DECL_OVERRIDE;
+ Qt3DCore::QBackendNode *create(const Qt3DCore::QNodeCreatedChangeBasePtr &change) const Q_DECL_OVERRIDE;
Qt3DCore::QBackendNode *get(Qt3DCore::QNodeId id) const Q_DECL_OVERRIDE;
void destroy(Qt3DCore::QNodeId id) const Q_DECL_OVERRIDE;