--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/objecttypes/conditionaledge.cpp Sun Sep 22 11:51:41 2019 +0300 @@ -0,0 +1,42 @@ +#include "conditionaledge.h" + +modelobjects::ConditionalEdge::ConditionalEdge( + const Vertex& point_1, + const Vertex& point_2, + const Vertex& controlPoint_1, + const Vertex& controlPoint_2, + const Color color_index) : + Edge{point_1, point_2, color_index}, + controlPoint_1{controlPoint_1}, + controlPoint_2{controlPoint_2} +{ +} + +QVariant modelobjects::ConditionalEdge::getProperty(Property property) const +{ + switch (property) + { + case Property::ControlPoint1: + return controlPoint_1; + case Property::ControlPoint2: + return controlPoint_2; + default: + return Edge::getProperty(property); + } +} + +auto modelobjects::ConditionalEdge::setProperty( + Property property, + const QVariant& value) + -> SetPropertyResult +{ + switch (property) + { + case Property::ControlPoint1: + controlPoint_1 = value.value<Vertex>(); + case Property::ControlPoint2: + controlPoint_2 = value.value<Vertex>(); + default: + return Edge::setProperty(property, value); + } +}