diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-04-24 14:36:20 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-04-27 11:19:32 +0000 |
commit | 5e6567c809d8771343aed756e30a6fdb7d034873 (patch) | |
tree | dd144eb504c0e6f25e60dbe0c451087a49fe846a /src/render/materialsystem/qmaterial.cpp | |
parent | 5015fe0baf7e4f8ab108c015875db5ee28e53431 (diff) |
Material use new added/removed change types
Change-Id: I107fe1a4fcb74660454c8917d1a4bda94891bd84
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/materialsystem/qmaterial.cpp')
-rw-r--r-- | src/render/materialsystem/qmaterial.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/render/materialsystem/qmaterial.cpp b/src/render/materialsystem/qmaterial.cpp index a9a6eabc0..93518f602 100644 --- a/src/render/materialsystem/qmaterial.cpp +++ b/src/render/materialsystem/qmaterial.cpp @@ -44,6 +44,8 @@ #include <Qt3DRender/private/renderlogging_p.h> #include "qparameter.h" #include <Qt3DCore/qnodepropertychange.h> +#include <Qt3DCore/qnodeaddedpropertychange.h> +#include <Qt3DCore/qnoderemovedpropertychange.h> /*! * \qmltype Material @@ -136,6 +138,7 @@ QEffect *QMaterial::effect() const void QMaterial::addParameter(QParameter *parameter) { + Q_ASSERT(parameter); Q_D(QMaterial); if (!d->m_parameters.contains(parameter)) { d->m_parameters.append(parameter); @@ -148,9 +151,8 @@ void QMaterial::addParameter(QParameter *parameter) parameter->setParent(this); if (d->m_changeArbiter != Q_NULLPTR) { - QNodePropertyChangePtr change(new QNodePropertyChange(NodeAdded, QSceneChange::Node, id())); + const auto change = QNodeAddedPropertyChangePtr::create(id(), parameter->id()); change->setPropertyName("parameter"); - change->setValue(QVariant::fromValue(parameter->id())); d->notifyObservers(change); } } @@ -158,11 +160,11 @@ void QMaterial::addParameter(QParameter *parameter) void QMaterial::removeParameter(QParameter *parameter) { + Q_ASSERT(parameter); Q_D(QMaterial); if (d->m_changeArbiter != Q_NULLPTR) { - QNodePropertyChangePtr change(new QNodePropertyChange(NodeRemoved, QSceneChange::Node, id())); + const auto change = QNodeRemovedPropertyChangePtr::create(id(), parameter->id()); change->setPropertyName("parameter"); - change->setValue(QVariant::fromValue(parameter->id())); d->notifyObservers(change); } d->m_parameters.removeOne(parameter); |