diff -r 14e51640c189 -r 7abaf1d64719 src/modeleditcontext.h --- a/src/modeleditcontext.h Mon May 11 12:18:04 2020 +0300 +++ b/src/modeleditcontext.h Mon May 11 12:18:59 2020 +0300 @@ -18,9 +18,6 @@ #pragma once #include "model.h" -#include "linetypes/object.h" -#include "linetypes/quadrilateral.h" -#include "linetypes/triangle.h" class Model::EditContext { @@ -33,15 +30,9 @@ ldraw::Id insert(int position, Args&&... args); void remove(int position); template - void setObjectProperty(ldraw::id_t id, const ldraw::PropertyType_t& value) - { - ldraw::Object* object = this->model().objectAt(id); - if (object != nullptr) - { - object->setProperty(value); - modifiedObjects.insert(id); - } - } + void setObjectProperty(ldraw::id_t id, const ldraw::PropertyType& value); + auto setObjectProperty(ldraw::id_t id, ldraw::Property property, const QVariant& value) + -> ldraw::Object::SetPropertyResult; void setObjectPoint(ldraw::id_t id, int pointId, const glm::vec3& value); void invertObject(ldraw::id_t id); Model& model(); @@ -52,6 +43,17 @@ Model& storedModel; }; +template +void Model::EditContext::setObjectProperty(const ldraw::id_t id, const ldraw::PropertyType& value) +{ + ldraw::Object* object = this->model().objectAt(id); + if (object != nullptr) + { + object->setProperty(value); + modifiedObjects.insert(id); + } +} + template ldraw::Id Model::EditContext::append(Args&&... args) {