Sun, 22 Sep 2019 11:51:41 +0300
Added lots of code
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> | |
9 | modelobjects::BaseObject* append(Args&&... args); | |
10 | template<typename T, typename... Args> | |
11 | modelobjects::BaseObject* insert(int position, Args&&... args); | |
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> | |
23 | modelobjects::BaseObject* Model::EditContext::append(Args&&... args) | |
24 | { | |
25 | return this->model.append<T>(args...); | |
26 | } | |
27 | ||
28 | template<typename T, typename... Args> | |
29 | modelobjects::BaseObject* Model::EditContext::insert(int position, Args&&... args) | |
30 | { | |
31 | return this->model.insert<T>(position, args...); | |
32 | } |