src/ui/objecteditor.cpp

changeset 330
edb6c09cdd3c
parent 329
6d75fa09cc0c
child 331
638a7458ef5e
--- a/src/ui/objecteditor.cpp	Mon Jul 04 00:19:18 2022 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-#include <QCheckBox>
-#include <QLineEdit>
-#include <QFormLayout>
-#include "src/ui/objecteditor.h"
-#include "src/widgets/colorindexinput.h"
-#include "widgets/colorbutton.h"
-#include "widgets/vec3editor.h"
-
-using PropertyPointer = std::variant<
-	glm::vec3*,
-	glm::mat4*,
-	QString*,
-	ldraw::Color*,
-	CircularFraction*>;
-
-enum class PropertyKey
-{
-	Point1,
-	Point2,
-	Point3,
-	Point4,
-	Control1,
-	Control2,
-	Color,
-	Transformation,
-	Name,
-	Text,
-	Code,
-	Fraction,
-};
-
-constexpr std::size_t NUM_PROPERTIES = static_cast<int>(PropertyKey::Fraction) + 1;
-
-static QString propertyName(PropertyKey key)
-{
-	switch (key) {
-	case PropertyKey::Point1:
-		return ObjectEditor::tr("Vertex 1");
-	case PropertyKey::Point2:
-		return ObjectEditor::tr("Vertex 2");
-	case PropertyKey::Point3:
-		return ObjectEditor::tr("Vertex 3");
-	case PropertyKey::Point4:
-		return ObjectEditor::tr("Vertex 4");
-	case PropertyKey::Control1:
-		return ObjectEditor::tr("Control point 1");
-	case PropertyKey::Control2:
-		return ObjectEditor::tr("Control point 2");
-	case PropertyKey::Color:
-		return ObjectEditor::tr("Colour");
-	case PropertyKey::Transformation:
-		return ObjectEditor::tr("Transformation");
-	case PropertyKey::Name:
-		return ObjectEditor::tr("Name");
-	case PropertyKey::Text:
-		return ObjectEditor::tr("Text");
-	case PropertyKey::Code:
-		return ObjectEditor::tr("Code");
-	case PropertyKey::Fraction:
-		return ObjectEditor::tr("Fraction");
-	}
-	return "";
-}
-
-static std::map<PropertyKey, PropertyPointer> collectProperties(ModelElement& element)
-{
-	std::map<PropertyKey, PropertyPointer> result;
-	std::visit<void>(overloaded{
-		[&](Colored<LineSegment>& edge) {
-			result[PropertyKey::Point1] = &edge.p1;
-			result[PropertyKey::Point2] = &edge.p2;
-			result[PropertyKey::Color] = &edge.color;
-		},
-		[&](Colored<Triangle>& tri) {
-			result[PropertyKey::Point1] = &tri.p1;
-			result[PropertyKey::Point2] = &tri.p2;
-			result[PropertyKey::Point3] = &tri.p3;
-			result[PropertyKey::Color] = &tri.color;
-		},
-		[&](Colored<Quadrilateral>& quad) {
-			result[PropertyKey::Point1] = &quad.p1;
-			result[PropertyKey::Point2] = &quad.p2;
-			result[PropertyKey::Point3] = &quad.p3;
-			result[PropertyKey::Point4] = &quad.p4;
-			result[PropertyKey::Color] = &quad.color;
-		},
-		[&](Colored<ConditionalEdge>& cedge) {
-			result[PropertyKey::Point1] = &cedge.p1;
-			result[PropertyKey::Point2] = &cedge.p2;
-			result[PropertyKey::Control1] = &cedge.c1;
-			result[PropertyKey::Control2] = &cedge.c2;
-			result[PropertyKey::Color] = &cedge.color;
-		},
-		[&](Colored<SubfileReference>& ref) {
-			result[PropertyKey::Transformation] = &ref.transformation;
-			result[PropertyKey::Name] = &ref.name;
-			result[PropertyKey::Color] = &ref.color;
-		},
-		[&](Colored<CircularPrimitive>& circ) {
-			result[PropertyKey::Transformation] = &circ.transformation;
-			result[PropertyKey::Fraction] = &circ.fraction;
-			result[PropertyKey::Color] = &circ.color;
-		},
-		[&](Empty) {},
-		[&](Comment& comment) {
-			result[PropertyKey::Text] = &comment.text;
-		},
-		[&](ParseError& parseError) {
-			result[PropertyKey::Code] = &parseError.code;
-		},
-	}, element);
-	return result;
-}
-
-
-ObjectEditor::ObjectEditor(QWidget* parent) :
-	QWidget{parent}
-{
-	this->ui.setupUi(this);
-}

mercurial