4 |
4 |
5 class Model::EditContext |
5 class Model::EditContext |
6 { |
6 { |
7 public: |
7 public: |
8 template<typename T, typename... Args> |
8 template<typename T, typename... Args> |
9 modelobjects::BaseObject* append(Args&&... args); |
9 T* append(Args&&... args); |
10 template<typename T, typename... Args> |
10 template<typename T, typename... Args> |
11 modelobjects::BaseObject* insert(int position, Args&&... args); |
11 T* insert(int position, Args&&... args); |
12 void setObjectProperty( |
12 void setObjectProperty( |
13 modelobjects::BaseObject* object, |
13 modelobjects::BaseObject* object, |
14 modelobjects::Property property, |
14 modelobjects::Property property, |
15 const QVariant &value); |
15 const QVariant &value); |
16 private: |
16 private: |
18 friend class Model; |
18 friend class Model; |
19 Model& model; |
19 Model& model; |
20 }; |
20 }; |
21 |
21 |
22 template<typename T, typename... Args> |
22 template<typename T, typename... Args> |
23 modelobjects::BaseObject* Model::EditContext::append(Args&&... args) |
23 T* Model::EditContext::append(Args&&... args) |
24 { |
24 { |
25 return this->model.append<T>(args...); |
25 return this->model.append<T>(args...); |
26 } |
26 } |
27 |
27 |
28 template<typename T, typename... Args> |
28 template<typename T, typename... Args> |
29 modelobjects::BaseObject* Model::EditContext::insert(int position, Args&&... args) |
29 T* Model::EditContext::insert(int position, Args&&... args) |
30 { |
30 { |
31 return this->model.insert<T>(position, args...); |
31 return this->model.insert<T>(position, args...); |
32 } |
32 } |