|      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 } |