src/modeleditcontext.h

changeset 3
55a55a9ec2c2
child 5
593a658cba8e
equal deleted inserted replaced
2:2bdc3ac5e77c 3:55a55a9ec2c2
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 }

mercurial