diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-04-22 15:22:45 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-04-27 11:18:09 +0000 |
commit | 1bc324f870459bb9903eef6006cf62aefaa70391 (patch) | |
tree | 734d164e2ca07171059ff6baeda529e91300246d /src/input/backend/axis.cpp | |
parent | 5a3e1ba26cf715c58ba2a6fc28983f4e1a808a0a (diff) |
QAxis/Axis use new added/removed change types
Change-Id: I85980aa17ed52ab09f27aa4513c3d56cbf51ddb7
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/input/backend/axis.cpp')
-rw-r--r-- | src/input/backend/axis.cpp | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/input/backend/axis.cpp b/src/input/backend/axis.cpp index fcfc7b412..6a10c5a55 100644 --- a/src/input/backend/axis.cpp +++ b/src/input/backend/axis.cpp @@ -42,6 +42,8 @@ #include <Qt3DInput/qaxisinput.h> #include <Qt3DInput/private/qaxis_p.h> #include <Qt3DCore/qnodepropertychange.h> +#include <Qt3DCore/qnodeaddedpropertychange.h> +#include <Qt3DCore/qnoderemovedpropertychange.h> #include <Qt3DCore/qbackendnodepropertychange.h> QT_BEGIN_NAMESPACE @@ -93,13 +95,22 @@ void Axis::setAxisValue(float axisValue) void Axis::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) { - Qt3DCore::QNodePropertyChangePtr propertyChange = qSharedPointerCast<Qt3DCore::QNodePropertyChange>(e); - if (e->type() == Qt3DCore::NodeAdded) { - if (propertyChange->propertyName() == QByteArrayLiteral("input")) - m_inputs.push_back(propertyChange->value().value<Qt3DCore::QNodeId>()); - } else if (e->type() == Qt3DCore::NodeRemoved) { - if (propertyChange->propertyName() == QByteArrayLiteral("input")) - m_inputs.removeOne(propertyChange->value().value<Qt3DCore::QNodeId>()); + switch (e->type()) { + case Qt3DCore::NodeAdded: { + const auto change = qSharedPointerCast<Qt3DCore::QNodeAddedPropertyChange>(e); + if (change->propertyName() == QByteArrayLiteral("input")) + m_inputs.push_back(change->addedNodeId()); + break; + } + + case Qt3DCore::NodeRemoved: { + const auto change = qSharedPointerCast<Qt3DCore::QNodeRemovedPropertyChange>(e); + if (change->propertyName() == QByteArrayLiteral("input")) + m_inputs.removeOne(change->removedNodeId()); + } + + default: + break; } QBackendNode::sceneChangeEvent(e); } |