--- a/src/ldObject.cpp Thu Feb 09 21:04:33 2017 +0200 +++ b/src/ldObject.cpp Thu Feb 09 22:46:37 2017 +0200 @@ -67,14 +67,12 @@ LDSubfileReference::LDSubfileReference (Model* model) : LDMatrixObject (model) {} -LDOBJ_DEFAULT_CTOR (LDEmpty, LDObject) LDOBJ_DEFAULT_CTOR (LDError, LDObject) LDOBJ_DEFAULT_CTOR (LDLine, LDObject) LDOBJ_DEFAULT_CTOR (LDTriangle, LDObject) LDOBJ_DEFAULT_CTOR (LDCondLine, LDLine) LDOBJ_DEFAULT_CTOR (LDQuad, LDObject) LDOBJ_DEFAULT_CTOR (LDBfc, LDObject) -LDOBJ_DEFAULT_CTOR (LDComment, LDObject) LDOBJ_DEFAULT_CTOR (LDBezierCurve, LDObject) LDObject::~LDObject() @@ -89,13 +87,6 @@ // ============================================================================= // -QString LDComment::asText() const -{ - return format ("0 %1", text()); -} - -// ============================================================================= -// QString LDSubfileReference::asText() const { QString val = format ("1 %1 %2 ", color(), position()); @@ -174,13 +165,6 @@ // ============================================================================= // -QString LDEmpty::asText() const -{ - return ""; -} - -// ============================================================================= -// QString LDBfc::asText() const { return format ("0 BFC %1", statementToString()); @@ -216,6 +200,11 @@ return 2; } +int LDObject::numVertices() const +{ + return 0; +} + // ============================================================================= // LDLine::LDLine (Vertex v1, Vertex v2, Model* model) : @@ -351,6 +340,26 @@ return data; } +LDColor LDObject::defaultColor() const +{ + return MainColor; +} + +bool LDObject::isColored() const +{ + return true; +} + +bool LDObject::isScemantic() const +{ + return true; +} + +bool LDObject::hasMatrix() const +{ + return false; +} + // ============================================================================= // QList<LDPolygon> LDSubfileReference::inlinePolygons() @@ -476,8 +485,6 @@ // void LDObject::invert() {} void LDBfc::invert() {} -void LDEmpty::invert() {} -void LDComment::invert() {} void LDError::invert() {} // ============================================================================= @@ -630,35 +637,9 @@ // ============================================================================= // -// Hook the set accessors of certain properties to this changeProperty function. -// It takes care of history management so we can capture low-level changes, this -// makes history stuff work out of the box. -// -template<typename T> -static void changeProperty(LDObject* object, T* property, const T& value) -{ - if (*property == value) - return; - - int position = object->lineNumber(); - - if (position != -1) - { - QString before = object->asText(); - *property = value; - emit object->codeChanged(position, before, object->asText()); - } - else - { - *property = value; - } -} - -// ============================================================================= -// void LDObject::setColor (LDColor color) { - changeProperty (this, &m_color, color); + changeProperty(&m_color, color); } // ============================================================================= @@ -676,7 +657,7 @@ // void LDObject::setVertex (int i, const Vertex& vert) { - changeProperty (this, &m_coords[i], vert); + changeProperty(&m_coords[i], vert); } LDMatrixObject::LDMatrixObject (Model* model) : @@ -711,7 +692,7 @@ // void LDMatrixObject::setPosition (const Vertex& a) { - changeProperty (this, &m_position, a); + changeProperty(&m_position, a); } // ============================================================================= @@ -723,7 +704,7 @@ void LDMatrixObject::setTransformationMatrix (const Matrix& val) { - changeProperty (this, &m_transformationMatrix, val); + changeProperty(&m_transformationMatrix, val); } LDError::LDError (QString contents, QString reason, Model* model) : @@ -751,20 +732,6 @@ m_fileReferenced = value; } -LDComment::LDComment (QString text, Model* model) : - LDObject {model}, - m_text {text} {} - -QString LDComment::text() const -{ - return m_text; -} - -void LDComment::setText (QString value) -{ - changeProperty (this, &m_text, value); -} - LDBfc::LDBfc (const BfcStatement type, Model* model) : LDObject {model}, m_statement {type} {} @@ -871,7 +838,7 @@ void LDSubfileReference::setFileInfo (LDDocument* newReferee) { - changeProperty (this, &m_fileInfo, newReferee); + changeProperty(&m_fileInfo, newReferee); if (model()) model()->recountTriangles(); @@ -919,11 +886,6 @@ } } -QString LDEmpty::objectListText() const -{ - return ""; -} - QString LDError::objectListText() const { return "ERROR: " + asText(); @@ -940,11 +902,6 @@ return result; } -QString LDComment::objectListText() const -{ - return text().simplified(); -} - QString LDBfc::objectListText() const { return statementToString();