src/objecttypes/subfilereference.cpp

changeset 8
44679e468ba9
parent 6
73e448b2943d
child 13
6e838748867b
--- a/src/objecttypes/subfilereference.cpp	Sat Oct 05 23:47:03 2019 +0300
+++ b/src/objecttypes/subfilereference.cpp	Sun Nov 03 12:17:41 2019 +0200
@@ -1,5 +1,17 @@
 #include "subfilereference.h"
 
+modelobjects::SubfileReference::SubfileReference(
+	const Vertex& position,
+	const Matrix3x3& transformation,
+	const QString& referenceName,
+	const Color color) :
+	ColoredBaseObject{color},
+	position{position},
+	transformation{transformation},
+	referenceName{referenceName}
+{
+}
+
 QVariant modelobjects::SubfileReference::getProperty(Property property) const
 {
 	switch (property)
@@ -15,6 +27,27 @@
 	}
 }
 
+auto modelobjects::SubfileReference::setProperty(
+	Property property,
+	const QVariant& value)
+	-> SetPropertyResult
+{
+	switch (property)
+	{
+	case Property::Position:
+		this->position = value.value<Vertex>();
+		return SetPropertyResult::Success;
+	case Property::Transformation:
+		this->transformation = value.value<Matrix3x3>();
+		return SetPropertyResult::Success;
+	case Property::ReferenceName:
+		this->referenceName = value.toString();
+		return SetPropertyResult::Success;
+	default:
+		return ColoredBaseObject::setProperty(property, value);
+	}
+}
+
 QString modelobjects::SubfileReference::textRepresentation() const
 {
 	return referenceName + " " + vertexToStringParens(this->position);

mercurial