src/objecttypes/conditionaledge.cpp

changeset 3
55a55a9ec2c2
child 6
73e448b2943d
--- /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);
+	}
+}

mercurial