22 |
22 |
23 class Model::EditContext |
23 class Model::EditContext |
24 { |
24 { |
25 public: |
25 public: |
26 template<typename T, typename... Args> |
26 template<typename T, typename... Args> |
27 linetypes::Id append(Args&&... args); |
27 ldraw::Id append(Args&&... args); |
28 linetypes::Id append(std::unique_ptr<linetypes::Object>&& object); |
28 ldraw::Id append(std::unique_ptr<ldraw::Object>&& object); |
29 template<typename T, typename... Args> |
29 template<typename T, typename... Args> |
30 linetypes::Id insert(int position, Args&&... args); |
30 ldraw::Id insert(int position, Args&&... args); |
31 void setObjectProperty( |
31 void setObjectProperty( |
32 linetypes::Object* object, |
32 ldraw::Object* object, |
33 linetypes::Property property, |
33 ldraw::Property property, |
34 const QVariant &value); |
34 const QVariant &value); |
35 void invertObject(linetypes::Id id); |
35 void invertObject(ldraw::Id id); |
36 private: |
36 private: |
37 EditContext(Model& model); |
37 EditContext(Model& model); |
38 friend class Model; |
38 friend class Model; |
39 Model& model; |
39 Model& model; |
40 }; |
40 }; |
41 |
41 |
42 template<typename T, typename... Args> |
42 template<typename T, typename... Args> |
43 linetypes::Id Model::EditContext::append(Args&&... args) |
43 ldraw::Id Model::EditContext::append(Args&&... args) |
44 { |
44 { |
45 return this->model.append<T>(args...); |
45 return this->model.append<T>(args...); |
46 } |
46 } |
47 |
47 |
48 template<typename T, typename... Args> |
48 template<typename T, typename... Args> |
49 linetypes::Id Model::EditContext::insert(int position, Args&&... args) |
49 ldraw::Id Model::EditContext::insert(int position, Args&&... args) |
50 { |
50 { |
51 return this->model.insert<T>(position, args...); |
51 return this->model.insert<T>(position, args...); |
52 } |
52 } |