Sun, 03 Nov 2019 13:18:55 +0200
added matrix conversions and datastream operators
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); |
8
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
5
diff
changeset
|
10 | void append(std::unique_ptr<modelobjects::BaseObject>&& object); |
3 | 11 | template<typename T, typename... Args> |
5 | 12 | T* insert(int position, Args&&... args); |
3 | 13 | void setObjectProperty( |
14 | modelobjects::BaseObject* object, | |
15 | modelobjects::Property property, | |
16 | const QVariant &value); | |
17 | private: | |
18 | EditContext(Model& model); | |
19 | friend class Model; | |
20 | Model& model; | |
21 | }; | |
22 | ||
23 | template<typename T, typename... Args> | |
5 | 24 | T* Model::EditContext::append(Args&&... args) |
3 | 25 | { |
26 | return this->model.append<T>(args...); | |
27 | } | |
28 | ||
29 | template<typename T, typename... Args> | |
5 | 30 | T* Model::EditContext::insert(int position, Args&&... args) |
3 | 31 | { |
32 | return this->model.insert<T>(position, args...); | |
33 | } |