diff -r 6e838748867b -r 20d2ed3af73d src/linetypes/subfilereference.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/linetypes/subfilereference.cpp Sun Nov 03 18:13:38 2019 +0200 @@ -0,0 +1,54 @@ +#include "subfilereference.h" + +linetypes::SubfileReference::SubfileReference( + const Vertex& position, + const Matrix3x3& transformation, + const QString& referenceName, + const Color color) : + ColoredObject{color}, + position{position}, + transformation{transformation}, + referenceName{referenceName} +{ +} + +QVariant linetypes::SubfileReference::getProperty(Property property) const +{ + switch (property) + { + case Property::Position: + return this->position; + case Property::Transformation: + return QVariant::fromValue(this->transformation); + case Property::ReferenceName: + return this->referenceName; + default: + return ColoredObject::getProperty(property); + } +} + +auto linetypes::SubfileReference::setProperty( + Property property, + const QVariant& value) + -> SetPropertyResult +{ + switch (property) + { + case Property::Position: + this->position = value.value(); + return SetPropertyResult::Success; + case Property::Transformation: + this->transformation = value.value(); + return SetPropertyResult::Success; + case Property::ReferenceName: + this->referenceName = value.toString(); + return SetPropertyResult::Success; + default: + return ColoredObject::setProperty(property, value); + } +} + +QString linetypes::SubfileReference::textRepresentation() const +{ + return referenceName + " " + vertexToStringParens(this->position); +}