diff --git a/src/app/valentina/xml/vpattern.cpp b/src/app/valentina/xml/vpattern.cpp index 595fbae13..a7ddee41c 100644 --- a/src/app/valentina/xml/vpattern.cpp +++ b/src/app/valentina/xml/vpattern.cpp @@ -624,6 +624,7 @@ void VPattern::ParseDetailElement(const QDomElement &domElement, const Document detail.SetForbidFlipping(GetParametrBool(domElement, VToolSeamAllowance::AttrForbidFlipping, QString().setNum(qApp->ValentinaSettings()->GetForbidWorkpieceFlipping()))); detail.SetInLayout(GetParametrBool(domElement, AttrInLayout, trueStr)); + detail.SetUnited(GetParametrBool(domElement, VToolSeamAllowance::AttrUnited, falseStr)); const QStringList tags = QStringList() << VToolSeamAllowance::TagNodes << TagData diff --git a/src/libs/ifc/schema/pattern/v0.4.0.xsd b/src/libs/ifc/schema/pattern/v0.4.0.xsd index 0562a84f1..fb24ee3e9 100644 --- a/src/libs/ifc/schema/pattern/v0.4.0.xsd +++ b/src/libs/ifc/schema/pattern/v0.4.0.xsd @@ -420,6 +420,7 @@ + diff --git a/src/libs/vpatterndb/vpiece.cpp b/src/libs/vpatterndb/vpiece.cpp index 1d0fafc0d..b876ff8c6 100644 --- a/src/libs/vpatterndb/vpiece.cpp +++ b/src/libs/vpatterndb/vpiece.cpp @@ -219,6 +219,18 @@ void VPiece::SetInLayout(bool inLayout) d->m_inLayout = inLayout; } +//--------------------------------------------------------------------------------------------------------------------- +bool VPiece::IsUnited() const +{ + return d->m_united; +} + +//--------------------------------------------------------------------------------------------------------------------- +void VPiece::SetUnited(bool united) +{ + d->m_united = united; +} + //--------------------------------------------------------------------------------------------------------------------- /** * @brief Missing find missing nodes in detail. When we deleted object in detail and return this detail need diff --git a/src/libs/vpatterndb/vpiece.h b/src/libs/vpatterndb/vpiece.h index 243332d8d..1c17e3f2d 100644 --- a/src/libs/vpatterndb/vpiece.h +++ b/src/libs/vpatterndb/vpiece.h @@ -72,6 +72,9 @@ public: bool IsInLayout() const; void SetInLayout(bool inLayout); + bool IsUnited() const; + void SetUnited(bool united); + QVector Missing(const VPiece &det) const; int indexOfNode(const quint32 &id) const; diff --git a/src/libs/vpatterndb/vpiece_p.h b/src/libs/vpatterndb/vpiece_p.h index ebb7acd6c..0511d4ae5 100644 --- a/src/libs/vpatterndb/vpiece_p.h +++ b/src/libs/vpatterndb/vpiece_p.h @@ -46,7 +46,8 @@ public: : m_path(), m_mx(0), m_my(0), - m_inLayout(true) + m_inLayout(true), + m_united(false) {} VPieceData(const VPieceData &detail) @@ -54,7 +55,8 @@ public: m_path(detail.m_path), m_mx(detail.m_mx), m_my(detail.m_my), - m_inLayout(detail.m_inLayout) + m_inLayout(detail.m_inLayout), + m_united(detail.m_united) {} ~VPieceData(); @@ -66,6 +68,7 @@ public: qreal m_my; bool m_inLayout; + bool m_united; private: VPieceData &operator=(const VPieceData &) Q_DECL_EQ_DELETE; diff --git a/src/libs/vtools/tools/vtoolseamallowance.cpp b/src/libs/vtools/tools/vtoolseamallowance.cpp index cfdc2892d..aa6c46758 100644 --- a/src/libs/vtools/tools/vtoolseamallowance.cpp +++ b/src/libs/vtools/tools/vtoolseamallowance.cpp @@ -67,6 +67,7 @@ const QString VToolSeamAllowance::AttrSeamAllowance = QStringLiteral("seamAllow const QString VToolSeamAllowance::AttrWidth = QStringLiteral("width"); const QString VToolSeamAllowance::AttrSABefore = QStringLiteral("before"); const QString VToolSeamAllowance::AttrSAAfter = QStringLiteral("after"); +const QString VToolSeamAllowance::AttrUnited = QStringLiteral("united"); const QString VToolSeamAllowance::NodeArc = QStringLiteral("NodeArc"); const QString VToolSeamAllowance::NodePoint = QStringLiteral("NodePoint"); @@ -278,6 +279,7 @@ void VToolSeamAllowance::AddAttributes(VAbstractPattern *doc, QDomElement &domEl doc->SetAttribute(domElement, AttrForbidFlipping, piece.IsForbidFlipping()); doc->SetAttribute(domElement, AttrSeamAllowance, piece.IsSeamAllowance()); doc->SetAttribute(domElement, AttrWidth, piece.GetSAWidth()); + doc->SetAttribute(domElement, AttrUnited, piece.IsUnited()); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/libs/vtools/tools/vtoolseamallowance.h b/src/libs/vtools/tools/vtoolseamallowance.h index 8b1a76764..04605a66e 100644 --- a/src/libs/vtools/tools/vtoolseamallowance.h +++ b/src/libs/vtools/tools/vtoolseamallowance.h @@ -64,6 +64,7 @@ public: static const QString AttrWidth; static const QString AttrSABefore; static const QString AttrSAAfter; + static const QString AttrUnited; static const QString NodeArc; static const QString NodePoint;