src/modeleditcontext.h

Mon, 23 Sep 2019 14:06:36 +0300

author
Teemu Piippo <teemu@hecknology.net>
date
Mon, 23 Sep 2019 14:06:36 +0300
changeset 4
68988ebc2a68
parent 3
55a55a9ec2c2
child 5
593a658cba8e
permissions
-rw-r--r--

added regular expressions for the parser

#pragma once
#include "model.h"
#include "objecttypes/modelobject.h"

class Model::EditContext
{
public:
	template<typename T, typename... Args>
	modelobjects::BaseObject* append(Args&&... args);
	template<typename T, typename... Args>
	modelobjects::BaseObject* insert(int position, Args&&... args);
	void setObjectProperty(
		modelobjects::BaseObject* object,
		modelobjects::Property property,
		const QVariant &value);
private:
	EditContext(Model& model);
	friend class Model;
	Model& model;
};

template<typename T, typename... Args>
modelobjects::BaseObject* Model::EditContext::append(Args&&... args)
{
	return this->model.append<T>(args...);
}

template<typename T, typename... Args>
modelobjects::BaseObject* Model::EditContext::insert(int position, Args&&... args)
{
	return this->model.insert<T>(position, args...);
}

mercurial