src/model.h

changeset 262
dc33f8a707c4
parent 259
c27612f0eac0
child 264
76a025db4948
--- a/src/model.h	Sun Jun 26 20:27:04 2022 +0300
+++ b/src/model.h	Sun Jun 26 20:54:09 2022 +0300
@@ -214,7 +214,7 @@
 	std::map<ModelId, std::size_t> positions;
 	ModelId runningId = {1};
 public:
-	Model(QObject* parent);
+	explicit Model(QObject* parent);
 	virtual ~Model();
 	ModelId append(const ModelElement& value);
 	const ModelElement& at(std::size_t position) const;
@@ -276,3 +276,24 @@
 {
 	return Colored<Quadrilateral>{{.p1 = p1, .p2 = p2, .p3 = p3, .p4 = p4}, MAIN_COLOR};
 }
+
+struct AppendToModel
+{
+	ModelElement newElement;
+};
+
+struct DeleteFromModel
+{
+	std::size_t position;
+};
+
+struct ModifyModel
+{
+	std::size_t position;
+	ModelElement newElement;
+};
+
+using ModelAction = std::variant<
+	AppendToModel,
+	DeleteFromModel,
+	ModifyModel>;

mercurial