Sat, 05 Oct 2019 23:47:03 +0300
added the settings editor
3 | 1 | #pragma once |
2 | #include "model.h" | |
3 | #include "objecttypes/modelobject.h" | |
4 | ||
5 | class Model::EditContext | |
6 | { | |
7 | public: | |
8 | template<typename T, typename... Args> | |
5 | 9 | T* append(Args&&... args); |
3 | 10 | template<typename T, typename... Args> |
5 | 11 | T* insert(int position, Args&&... args); |
3 | 12 | void setObjectProperty( |
13 | modelobjects::BaseObject* object, | |
14 | modelobjects::Property property, | |
15 | const QVariant &value); | |
16 | private: | |
17 | EditContext(Model& model); | |
18 | friend class Model; | |
19 | Model& model; | |
20 | }; | |
21 | ||
22 | template<typename T, typename... Args> | |
5 | 23 | T* Model::EditContext::append(Args&&... args) |
3 | 24 | { |
25 | return this->model.append<T>(args...); | |
26 | } | |
27 | ||
28 | template<typename T, typename... Args> | |
5 | 29 | T* Model::EditContext::insert(int position, Args&&... args) |
3 | 30 | { |
31 | return this->model.insert<T>(position, args...); | |
32 | } |