diff options
author | Kevin Ottens <kevin.ottens@kdab.com> | 2015-12-15 11:43:24 +0100 |
---|---|---|
committer | Kevin Ottens <kevin.ottens@kdab.com> | 2015-12-17 09:17:29 +0000 |
commit | d190e6b92ac01358f243078ad1727c98eaa22c3d (patch) | |
tree | 614f1a4c320954f8b6facd93652f9e72b6b06038 /src | |
parent | 0be8ddf4012cea9e9f4b8918270f494b2c3597a3 (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.cpp | 16 | ||||
-rw-r--r-- | src/core/aspects/qabstractaspect.h | 7 | ||||
-rw-r--r-- | src/render/frontend/qrenderaspect.cpp | 6 | ||||
-rw-r--r-- | src/render/frontend/qrenderaspect.h | 2 |
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; |