summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2015-12-15 11:43:24 +0100
committerKevin Ottens <kevin.ottens@kdab.com>2015-12-17 09:17:29 +0000
commitd190e6b92ac01358f243078ad1727c98eaa22c3d (patch)
tree614f1a4c320954f8b6facd93652f9e72b6b06038 /src
parent0be8ddf4012cea9e9f4b8918270f494b2c3597a3 (diff)
Remove QAbstractAspect::setRootEntity
We switch to a more resilient private virtual instead. Change-Id: I90710c7873571ca0a40f7cc939282344b20a59f0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/core/aspects/qabstractaspect.cpp16
-rw-r--r--src/core/aspects/qabstractaspect.h7
-rw-r--r--src/render/frontend/qrenderaspect.cpp6
-rw-r--r--src/render/frontend/qrenderaspect.h2
4 files changed, 16 insertions, 15 deletions
diff --git a/src/core/aspects/qabstractaspect.cpp b/src/core/aspects/qabstractaspect.cpp
index 0f722f880..82fe8f96e 100644
--- a/src/core/aspects/qabstractaspect.cpp
+++ b/src/core/aspects/qabstractaspect.cpp
@@ -171,12 +171,6 @@ void QAbstractAspect::clearBackendNode(QNode *frontend) const
}
}
-void QAbstractAspect::setRootEntity(QEntity *rootObject)
-{
- QNodeVisitor visitor;
- visitor.traverse(rootObject, this, &QAbstractAspect::createBackendNode);
-}
-
void QAbstractAspect::registerAspect(QEntity *rootObject)
{
Q_D(QAbstractAspect);
@@ -184,7 +178,10 @@ void QAbstractAspect::registerAspect(QEntity *rootObject)
return;
d->m_root = rootObject;
- setRootEntity(rootObject);
+
+ QNodeVisitor visitor;
+ visitor.traverse(rootObject, this, &QAbstractAspect::createBackendNode);
+ onRootEntityChanged(rootObject);
}
QServiceLocator *QAbstractAspect::services() const
@@ -213,6 +210,11 @@ void QAbstractAspect::onShutdown()
{
}
+void QAbstractAspect::onRootEntityChanged(QEntity *rootEntity)
+{
+ Q_UNUSED(rootEntity);
+}
+
} // of namespace Qt3DCore
QT_END_NAMESPACE
diff --git a/src/core/aspects/qabstractaspect.h b/src/core/aspects/qabstractaspect.h
index 69b2de18d..5c0126f09 100644
--- a/src/core/aspects/qabstractaspect.h
+++ b/src/core/aspects/qabstractaspect.h
@@ -89,16 +89,17 @@ protected:
QBackendNode *createBackendNode(QNode *frontend) const Q_DECL_OVERRIDE;
void clearBackendNode(QNode *frontend) const;
- virtual void setRootEntity(QEntity *rootObject);
-
private:
void sceneNodeAdded(Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
void sceneNodeRemoved(Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
virtual void onInitialize(const QVariantMap &data) = 0;
+ virtual void onCleanup() = 0;
+
virtual void onStartup();
virtual void onShutdown();
- virtual void onCleanup() = 0;
+
+ virtual void onRootEntityChanged(QEntity *rootEntity);
Q_DECLARE_PRIVATE(QAbstractAspect)
friend class QAspectManager;
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp
index daa698e72..01f31e566 100644
--- a/src/render/frontend/qrenderaspect.cpp
+++ b/src/render/frontend/qrenderaspect.cpp
@@ -401,12 +401,10 @@ qint64 QRenderAspect::time() const
return d->m_time;
}
-void QRenderAspect::setRootEntity(Qt3DCore::QEntity *rootObject)
+void QRenderAspect::onRootEntityChanged(Qt3DCore::QEntity *rootEntity)
{
- QAbstractAspect::setRootEntity(rootObject);
-
Q_D(QRenderAspect);
- d->m_renderer->setSceneRoot(d->m_renderer->nodeManagers()->lookupResource<Render::Entity, Render::EntityManager>(rootObject->id()));
+ d->m_renderer->setSceneRoot(d->m_renderer->nodeManagers()->lookupResource<Render::Entity, Render::EntityManager>(rootEntity->id()));
}
void QRenderAspect::onInitialize(const QVariantMap &data)
diff --git a/src/render/frontend/qrenderaspect.h b/src/render/frontend/qrenderaspect.h
index e77c5a1c5..99e44562e 100644
--- a/src/render/frontend/qrenderaspect.h
+++ b/src/render/frontend/qrenderaspect.h
@@ -77,7 +77,7 @@ protected:
QRenderAspect(QRenderAspectPrivate &dd, QObject *parent);
Q_DECLARE_PRIVATE(QRenderAspect)
- void setRootEntity(Qt3DCore::QEntity *rootObject) Q_DECL_OVERRIDE;
+ void onRootEntityChanged(Qt3DCore::QEntity *rootObject) Q_DECL_OVERRIDE;
void onInitialize(const QVariantMap &data) Q_DECL_OVERRIDE;
void onCleanup() Q_DECL_OVERRIDE;