summaryrefslogtreecommitdiffstats
path: root/src/input
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire.ecortex@kdab.com>2014-11-10 09:12:25 +0100
committerSean Harmer <sean.harmer@kdab.com>2014-11-14 17:45:22 +0100
commit78717e7038f179b9af25d933474346326dfe6032 (patch)
tree2e1417dac1a39f667c1c38390fc0937b73ad9141 /src/input
parentb9c619fbe23c0b2e4cbc9576968e5ca8dc6d30db (diff)
QInputAspect: some preliminary work on building backend tree
Change-Id: Iaa2f4aeacb776e04d4da8f47dcd1ebbf61ef44d7 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/input')
-rw-r--r--src/input/qinputaspect.cpp23
-rw-r--r--src/input/qinputaspect.h2
2 files changed, 20 insertions, 5 deletions
diff --git a/src/input/qinputaspect.cpp b/src/input/qinputaspect.cpp
index e8ac79068..5d2231b6d 100644
--- a/src/input/qinputaspect.cpp
+++ b/src/input/qinputaspect.cpp
@@ -44,7 +44,8 @@
#include "inputhandler_p.h"
#include "keyboardcontroller_p.h"
#include "keyboardinput_p.h"
-
+#include <Qt3DCore/qnodevisitor.h>
+#include <Qt3DCore/qscenepropertychange.h>
#include <Qt3DInput/qkeyboardcontroller.h>
#include <Qt3DInput/qkeyboardinput.h>
@@ -75,22 +76,29 @@ QVector<QAspectJobPtr> QInputAspect::jobsToExecute()
void QInputAspect::sceneNodeAdded(QSceneChangePtr &e)
{
-
+ QScenePropertyChangePtr propertyChange = e.staticCast<QScenePropertyChange>();
+ QNodePtr nodePtr = propertyChange->value().value<QNodePtr>();
+ QNode *n = nodePtr.data();
+ QNodeVisitor visitor;
+ visitor.traverse(n, this, &QInputAspect::visitNode, &QInputAspect::visitNode);
}
void QInputAspect::sceneNodeRemoved(QSceneChangePtr &e)
{
-
+ QScenePropertyChangePtr propertyChange = e.staticCast<QScenePropertyChange>();
+ QNodePtr nodePtr = propertyChange->value().value<QNodePtr>();
+ QNode *n = nodePtr.data();
+ QAbstractAspect::clearBackendNode(n);
}
void QInputAspect::setRootEntity(QEntity *rootObject)
{
-
+ Q_UNUSED(rootObject);
}
void QInputAspect::onInitialize(const QVariantMap &data)
{
-
+ Q_UNUSED(data);
}
void QInputAspect::onCleanup()
@@ -98,6 +106,11 @@ void QInputAspect::onCleanup()
}
+void QInputAspect::visitNode(QNode *node)
+{
+ Q_UNUSED(node);
+}
+
} // Qt3D
QT_END_NAMESPACE
diff --git a/src/input/qinputaspect.h b/src/input/qinputaspect.h
index dbf443b1f..7d5f1c715 100644
--- a/src/input/qinputaspect.h
+++ b/src/input/qinputaspect.h
@@ -67,6 +67,8 @@ private:
void onInitialize(const QVariantMap &data) Q_DECL_OVERRIDE;
void onCleanup() Q_DECL_OVERRIDE;
+ void visitNode(QNode *node);
+
Q_DECLARE_PRIVATE(QInputAspect)
};