diff -r 2bdc3ac5e77c -r 55a55a9ec2c2 src/modeleditcontext.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/modeleditcontext.h Sun Sep 22 11:51:41 2019 +0300 @@ -0,0 +1,32 @@ +#pragma once +#include "model.h" +#include "objecttypes/modelobject.h" + +class Model::EditContext +{ +public: + template + modelobjects::BaseObject* append(Args&&... args); + template + modelobjects::BaseObject* insert(int position, Args&&... args); + void setObjectProperty( + modelobjects::BaseObject* object, + modelobjects::Property property, + const QVariant &value); +private: + EditContext(Model& model); + friend class Model; + Model& model; +}; + +template +modelobjects::BaseObject* Model::EditContext::append(Args&&... args) +{ + return this->model.append(args...); +} + +template +modelobjects::BaseObject* Model::EditContext::insert(int position, Args&&... args) +{ + return this->model.insert(position, args...); +}