diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-03-24 15:48:44 +0000 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-03-30 19:22:44 +0000 |
commit | bd0191ab3c0487e77cad79408bb2389007e84b3d (patch) | |
tree | 385b439afe4e780f80b66cbe81da389ca8d80f93 | |
parent | 4062c99e180d4e83ca802d06d944d5a88e4a8292 (diff) |
KeyboardDeviceFunctor handles creation
Change-Id: I3cd3f067d7ca0d54ad1c4484e277056692c4dc4a
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r-- | src/input/backend/keyboarddevice.cpp | 9 | ||||
-rw-r--r-- | src/input/backend/keyboarddevice_p.h | 1 |
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; |