src/objecttypes/modelobject.h

changeset 14
20d2ed3af73d
parent 13
6e838748867b
child 15
9e18ec63eec3
--- a/src/objecttypes/modelobject.h	Sun Nov 03 18:09:47 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-#pragma once
-#include <QPointF>
-#include <QString>
-#include <QStringView>
-#include "main.h"
-#include "colors.h"
-#include "vertex.h"
-
-namespace linetypes
-{
-	enum class Property;
-	class Object;
-	class ColoredObject;
-	class Empty;
-}
-
-/**
- * @brief Different properties that can be queried with getProperty
- */
-enum class linetypes::Property
-{
-	Color, // Color of the object
-	Text, // Text contained in a comment
-	Point1, // First vertex in a polygon or edge line
-	Point2, // Second vertex in a polygon or edge line
-	Point3, // Third vertex in a polygon
-	Point4, // Fourth vertex in a quadrilateral
-	ControlPoint1, // First control point in a conditional edge line
-	ControlPoint2, // Second control point in a conditional edge line
-	Position, // Position of a subfile reference
-	Transformation, // Transformation matrix of a subfile reference
-	ReferenceName, // Subfile reference name
-	IsInverted, // Whether or not the object has been inverted with BFC INVERTNEXT
-	ErrorMessage // For error lines, why parsing failed
-};
-
-class linetypes::Object
-{
-public:
-	enum class SetPropertyResult
-	{
-		Success = 0,
-		PropertyNotHandled,
-		InvalidValue
-	};
-	Object();
-	Object(const Object&) = delete;
-	virtual ~Object();
-	const unsigned int id;
-	//virtual void toString(QTextStream &out) = 0;
-	virtual bool hasColor() const;
-	virtual QVariant getProperty(Property id) const;
-	virtual SetPropertyResult setProperty(Property id, const QVariant& value);
-	virtual QString textRepresentation() const = 0;
-	virtual QBrush textRepresentationForeground() const;
-	virtual QBrush textRepresentationBackground() const;
-	virtual QFont textRepresentationFont() const;
-};
-
-class linetypes::ColoredObject : public Object
-{
-public:
-	ColoredObject(const Color colorIndex = colors::main);
-	bool hasColor() const override final;
-	QVariant getProperty(Property id) const override;
-	SetPropertyResult setProperty(Property id, const QVariant& value) override;
-private:
-	Color colorIndex = colors::main;
-};
-
-/**
- * @brief Represents an empty line.
- */
-class linetypes::Empty : public Object
-{
-	QString textRepresentation() const override;
-};
-
-namespace linetypes
-{
-	using Id = std::decay_t<decltype(Object::id)>;
-}

mercurial