Custom Path will work in two modes. The first extend automatic seam allowance,
the second show custom deam allowance. In this case a path must have options for controling seam allowance. --HG-- branch : feature
This commit is contained in:
parent
530203966e
commit
f56ea24810
|
@ -520,6 +520,49 @@ void VPattern::customEvent(QEvent *event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
VPieceNode VPattern::ParseSANode(const QDomElement &domElement) const
|
||||||
|
{
|
||||||
|
const quint32 id = GetParametrUInt(domElement, AttrIdObject, NULL_ID_STR);
|
||||||
|
const bool reverse = GetParametrUInt(domElement, VAbstractPattern::AttrNodeReverse, "0");
|
||||||
|
const qreal saBefore = GetParametrDouble(domElement, VAbstractPattern::AttrSABefore, "-1");
|
||||||
|
const qreal saAfter = GetParametrDouble(domElement, VAbstractPattern::AttrSAAfter, "-1");
|
||||||
|
const PieceNodeAngle angle = static_cast<PieceNodeAngle>(GetParametrUInt(domElement, AttrAngle, "0"));
|
||||||
|
|
||||||
|
const QString t = GetParametrString(domElement, AttrType, VAbstractPattern::NodePoint);
|
||||||
|
Tool tool;
|
||||||
|
|
||||||
|
const QStringList types = QStringList() << VAbstractPattern::NodePoint
|
||||||
|
<< VAbstractPattern::NodeArc
|
||||||
|
<< VAbstractPattern::NodeSpline
|
||||||
|
<< VAbstractPattern::NodeSplinePath;
|
||||||
|
|
||||||
|
switch (types.indexOf(t))
|
||||||
|
{
|
||||||
|
case 0: // VAbstractPattern::NodePoint
|
||||||
|
tool = Tool::NodePoint;
|
||||||
|
break;
|
||||||
|
case 1: // VAbstractPattern::NodeArc
|
||||||
|
tool = Tool::NodeArc;
|
||||||
|
break;
|
||||||
|
case 2: // VAbstractPattern::NodeSpline
|
||||||
|
tool = Tool::NodeSpline;
|
||||||
|
break;
|
||||||
|
case 3: // VAbstractPattern::NodeSplinePath
|
||||||
|
tool = Tool::NodeSplinePath;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
VException e(tr("Wrong tag name '%1'.").arg(t));
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
VPieceNode node(id, tool, reverse);
|
||||||
|
node.SetSABefore(saBefore);
|
||||||
|
node.SetSAAfter(saAfter);
|
||||||
|
node.SetAngleType(angle);
|
||||||
|
|
||||||
|
return node;
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* @brief ParseDrawElement parse draw tag.
|
* @brief ParseDrawElement parse draw tag.
|
||||||
|
@ -777,49 +820,13 @@ void VPattern::ParseDetailElement(const QDomElement &domElement, const Document
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VPattern::ParseDetailNodes(const QDomElement &domElement, VPiece &detail) const
|
void VPattern::ParseDetailNodes(const QDomElement &domElement, VPiece &detail) const
|
||||||
{
|
{
|
||||||
const QStringList types = QStringList() << VAbstractPattern::NodePoint
|
|
||||||
<< VAbstractPattern::NodeArc
|
|
||||||
<< VAbstractPattern::NodeSpline
|
|
||||||
<< VAbstractPattern::NodeSplinePath;
|
|
||||||
|
|
||||||
const QDomNodeList nodeList = domElement.childNodes();
|
const QDomNodeList nodeList = domElement.childNodes();
|
||||||
for (qint32 i = 0; i < nodeList.size(); ++i)
|
for (qint32 i = 0; i < nodeList.size(); ++i)
|
||||||
{
|
{
|
||||||
const QDomElement element = nodeList.at(i).toElement();
|
const QDomElement element = nodeList.at(i).toElement();
|
||||||
if (not element.isNull() && element.tagName() == VAbstractPattern::TagNode)
|
if (not element.isNull() && element.tagName() == VAbstractPattern::TagNode)
|
||||||
{
|
{
|
||||||
const quint32 id = GetParametrUInt(element, AttrIdObject, NULL_ID_STR);
|
detail.GetPath().Append(ParseSANode(element));
|
||||||
const bool reverse = GetParametrUInt(element, VAbstractPattern::AttrNodeReverse, "0");
|
|
||||||
const qreal saBefore = GetParametrDouble(element, VToolSeamAllowance::AttrSABefore, "-1");
|
|
||||||
const qreal saAfter = GetParametrDouble(element, VToolSeamAllowance::AttrSAAfter, "-1");
|
|
||||||
const PieceNodeAngle angle = static_cast<PieceNodeAngle>(GetParametrUInt(element, AttrAngle, "0"));
|
|
||||||
|
|
||||||
const QString t = GetParametrString(element, AttrType, VAbstractPattern::NodePoint);
|
|
||||||
Tool tool;
|
|
||||||
|
|
||||||
switch (types.indexOf(t))
|
|
||||||
{
|
|
||||||
case 0: // VToolSeamAllowance::NodePoint
|
|
||||||
tool = Tool::NodePoint;
|
|
||||||
break;
|
|
||||||
case 1: // VToolSeamAllowance::NodeArc
|
|
||||||
tool = Tool::NodeArc;
|
|
||||||
break;
|
|
||||||
case 2: // VToolSeamAllowance::NodeSpline
|
|
||||||
tool = Tool::NodeSpline;
|
|
||||||
break;
|
|
||||||
case 3: // VToolSeamAllowance::NodeSplinePath
|
|
||||||
tool = Tool::NodeSplinePath;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
VException e(tr("Wrong tag name '%1'.").arg(t));
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
VPieceNode node(id, tool, reverse);
|
|
||||||
node.SetSABefore(saBefore);
|
|
||||||
node.SetSAAfter(saAfter);
|
|
||||||
node.SetAngleType(angle);
|
|
||||||
detail.GetPath().Append(node);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3078,42 +3085,13 @@ void VPattern::ParsePathElement(VMainGraphicsScene *scene, QDomElement &domEleme
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VPattern::ParsePathNodes(const QDomElement &domElement, VPiecePath &path) const
|
void VPattern::ParsePathNodes(const QDomElement &domElement, VPiecePath &path) const
|
||||||
{
|
{
|
||||||
const QStringList types = QStringList() << VAbstractPattern::NodePoint
|
|
||||||
<< VAbstractPattern::NodeArc
|
|
||||||
<< VAbstractPattern::NodeSpline
|
|
||||||
<< VAbstractPattern::NodeSplinePath;
|
|
||||||
|
|
||||||
const QDomNodeList nodeList = domElement.childNodes();
|
const QDomNodeList nodeList = domElement.childNodes();
|
||||||
for (qint32 i = 0; i < nodeList.size(); ++i)
|
for (qint32 i = 0; i < nodeList.size(); ++i)
|
||||||
{
|
{
|
||||||
const QDomElement element = nodeList.at(i).toElement();
|
const QDomElement element = nodeList.at(i).toElement();
|
||||||
if (not element.isNull() && element.tagName() == VAbstractPattern::TagNode)
|
if (not element.isNull() && element.tagName() == VAbstractPattern::TagNode)
|
||||||
{
|
{
|
||||||
const quint32 id = GetParametrUInt(element, AttrIdObject, NULL_ID_STR);
|
path.Append(ParseSANode(element));
|
||||||
const bool reverse = GetParametrUInt(element, VAbstractPattern::AttrNodeReverse, "0");
|
|
||||||
|
|
||||||
const QString t = GetParametrString(element, AttrType, VAbstractPattern::NodePoint);
|
|
||||||
Tool tool;
|
|
||||||
|
|
||||||
switch (types.indexOf(t))
|
|
||||||
{
|
|
||||||
case 0: // VAbstractPattern::NodePoint
|
|
||||||
tool = Tool::NodePoint;
|
|
||||||
break;
|
|
||||||
case 1: // VAbstractPattern::NodeArc
|
|
||||||
tool = Tool::NodeArc;
|
|
||||||
break;
|
|
||||||
case 2: // VAbstractPattern::NodeSpline
|
|
||||||
tool = Tool::NodeSpline;
|
|
||||||
break;
|
|
||||||
case 3: // VAbstractPattern::NodeSplinePath
|
|
||||||
tool = Tool::NodeSplinePath;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
VException e(tr("Wrong tag name '%1'.").arg(t));
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
path.Append(VPieceNode(id, tool, reverse));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,6 +114,8 @@ private:
|
||||||
VMainGraphicsScene *sceneDraw;
|
VMainGraphicsScene *sceneDraw;
|
||||||
VMainGraphicsScene *sceneDetail;
|
VMainGraphicsScene *sceneDetail;
|
||||||
|
|
||||||
|
VPieceNode ParseSANode(const QDomElement &domElement) const;
|
||||||
|
|
||||||
void ParseDrawElement(const QDomNode& node, const Document &parse);
|
void ParseDrawElement(const QDomNode& node, const Document &parse);
|
||||||
void ParseDrawMode(const QDomNode& node, const Document &parse, const Draw &mode);
|
void ParseDrawMode(const QDomNode& node, const Document &parse, const Draw &mode);
|
||||||
void ParseDetailElement(const QDomElement &domElement, const Document &parse);
|
void ParseDetailElement(const QDomElement &domElement, const Document &parse);
|
||||||
|
|
|
@ -315,6 +315,9 @@
|
||||||
<xs:attribute name="type" type="xs:string" use="required"></xs:attribute>
|
<xs:attribute name="type" type="xs:string" use="required"></xs:attribute>
|
||||||
<xs:attribute name="idObject" type="xs:unsignedInt" use="required"></xs:attribute>
|
<xs:attribute name="idObject" type="xs:unsignedInt" use="required"></xs:attribute>
|
||||||
<xs:attribute name="reverse" type="xs:unsignedInt"></xs:attribute>
|
<xs:attribute name="reverse" type="xs:unsignedInt"></xs:attribute>
|
||||||
|
<xs:attribute name="before" type="xs:double"></xs:attribute>
|
||||||
|
<xs:attribute name="after" type="xs:double"></xs:attribute>
|
||||||
|
<xs:attribute name="angle" type="nodeAngle"></xs:attribute>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
|
|
|
@ -105,6 +105,8 @@ const QString VAbstractPattern::AttrCutNumber = QStringLiteral("cutNumber"
|
||||||
const QString VAbstractPattern::AttrPlacement = QStringLiteral("placement");
|
const QString VAbstractPattern::AttrPlacement = QStringLiteral("placement");
|
||||||
const QString VAbstractPattern::AttrArrows = QStringLiteral("arrows");
|
const QString VAbstractPattern::AttrArrows = QStringLiteral("arrows");
|
||||||
const QString VAbstractPattern::AttrNodeReverse = QStringLiteral("reverse");
|
const QString VAbstractPattern::AttrNodeReverse = QStringLiteral("reverse");
|
||||||
|
const QString VAbstractPattern::AttrSABefore = QStringLiteral("before");
|
||||||
|
const QString VAbstractPattern::AttrSAAfter = QStringLiteral("after");
|
||||||
|
|
||||||
const QString VAbstractPattern::AttrAll = QStringLiteral("all");
|
const QString VAbstractPattern::AttrAll = QStringLiteral("all");
|
||||||
|
|
||||||
|
|
|
@ -209,6 +209,8 @@ public:
|
||||||
static const QString AttrPlacement;
|
static const QString AttrPlacement;
|
||||||
static const QString AttrArrows;
|
static const QString AttrArrows;
|
||||||
static const QString AttrNodeReverse;
|
static const QString AttrNodeReverse;
|
||||||
|
static const QString AttrSABefore;
|
||||||
|
static const QString AttrSAAfter;
|
||||||
|
|
||||||
static const QString AttrAll;
|
static const QString AttrAll;
|
||||||
|
|
||||||
|
|
|
@ -105,36 +105,7 @@ QString VToolPiecePath::getTagName() const
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VToolPiecePath::AddNode(VAbstractPattern *doc, QDomElement &domElement, const VPieceNode &node)
|
void VToolPiecePath::AddNode(VAbstractPattern *doc, QDomElement &domElement, const VPieceNode &node)
|
||||||
{
|
{
|
||||||
QDomElement nod = doc->createElement(VAbstractPattern::TagNode);
|
domElement.appendChild(AddSANode(doc, VAbstractPattern::TagNode, node));
|
||||||
|
|
||||||
doc->SetAttribute(nod, AttrIdObject, node.GetId());
|
|
||||||
|
|
||||||
const Tool type = node.GetTypeTool();
|
|
||||||
if (type != Tool::NodePoint)
|
|
||||||
{
|
|
||||||
doc->SetAttribute(nod, VAbstractPattern::AttrNodeReverse, static_cast<quint8>(node.GetReverse()));
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (type)
|
|
||||||
{
|
|
||||||
case (Tool::NodeArc):
|
|
||||||
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodeArc);
|
|
||||||
break;
|
|
||||||
case (Tool::NodePoint):
|
|
||||||
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodePoint);
|
|
||||||
break;
|
|
||||||
case (Tool::NodeSpline):
|
|
||||||
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodeSpline);
|
|
||||||
break;
|
|
||||||
case (Tool::NodeSplinePath):
|
|
||||||
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodeSplinePath);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
qDebug()<<"May be wrong tool type!!! Ignoring."<<Q_FUNC_INFO;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
domElement.appendChild(nod);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -65,6 +65,7 @@
|
||||||
#include "../vmisc/vcommonsettings.h"
|
#include "../vmisc/vcommonsettings.h"
|
||||||
#include "../vmisc/logging.h"
|
#include "../vmisc/logging.h"
|
||||||
#include "../vpatterndb/vcontainer.h"
|
#include "../vpatterndb/vcontainer.h"
|
||||||
|
#include "../vpatterndb/vpiecenode.h"
|
||||||
#include "../vwidgets/vgraphicssimpletextitem.h"
|
#include "../vwidgets/vgraphicssimpletextitem.h"
|
||||||
#include "vdatatool.h"
|
#include "vdatatool.h"
|
||||||
|
|
||||||
|
@ -431,3 +432,59 @@ void VAbstractTool::RefreshLine(QGraphicsEllipseItem *point, VGraphicsSimpleText
|
||||||
lineName->setVisible(false);
|
lineName->setVisible(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
QDomElement VAbstractTool::AddSANode(VAbstractPattern *doc, const QString &tagName, const VPieceNode &node)
|
||||||
|
{
|
||||||
|
QDomElement nod = doc->createElement(tagName);
|
||||||
|
|
||||||
|
doc->SetAttribute(nod, AttrIdObject, node.GetId());
|
||||||
|
|
||||||
|
const Tool type = node.GetTypeTool();
|
||||||
|
if (type != Tool::NodePoint)
|
||||||
|
{
|
||||||
|
doc->SetAttribute(nod, VAbstractPattern::AttrNodeReverse, static_cast<quint8>(node.GetReverse()));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const qreal w1 = node.GetSABefore();
|
||||||
|
if (w1 >= 0)
|
||||||
|
{
|
||||||
|
doc->SetAttribute(nod, VAbstractPattern::AttrSABefore, w1);
|
||||||
|
}
|
||||||
|
|
||||||
|
const qreal w2 = node.GetSAAfter();
|
||||||
|
if (w2 >= 0)
|
||||||
|
{
|
||||||
|
doc->SetAttribute(nod, VAbstractPattern::AttrSAAfter, w2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case (Tool::NodeArc):
|
||||||
|
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodeArc);
|
||||||
|
break;
|
||||||
|
case (Tool::NodePoint):
|
||||||
|
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodePoint);
|
||||||
|
break;
|
||||||
|
case (Tool::NodeSpline):
|
||||||
|
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodeSpline);
|
||||||
|
break;
|
||||||
|
case (Tool::NodeSplinePath):
|
||||||
|
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodeSplinePath);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
qDebug()<<"May be wrong tool type!!! Ignoring."<<Q_FUNC_INFO;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
const unsigned char angleType = static_cast<unsigned char>(node.GetAngleType());
|
||||||
|
|
||||||
|
if (angleType > 0)
|
||||||
|
{
|
||||||
|
doc->SetAttribute(nod, AttrAngle, angleType);
|
||||||
|
}
|
||||||
|
|
||||||
|
return nod;
|
||||||
|
}
|
||||||
|
|
|
@ -146,8 +146,10 @@ protected:
|
||||||
virtual void SetVisualization()=0;
|
virtual void SetVisualization()=0;
|
||||||
void ToolCreation(const Source &typeCreation);
|
void ToolCreation(const Source &typeCreation);
|
||||||
|
|
||||||
static void RefreshLine(QGraphicsEllipseItem *point, VGraphicsSimpleTextItem *namePoint, QGraphicsLineItem *lineName,
|
static void RefreshLine(QGraphicsEllipseItem *point, VGraphicsSimpleTextItem *namePoint,
|
||||||
const qreal radius);
|
QGraphicsLineItem *lineName, const qreal radius);
|
||||||
|
|
||||||
|
static QDomElement AddSANode(VAbstractPattern *doc, const QString &tagName, const VPieceNode &node);
|
||||||
private:
|
private:
|
||||||
Q_DISABLE_COPY(VAbstractTool)
|
Q_DISABLE_COPY(VAbstractTool)
|
||||||
};
|
};
|
||||||
|
|
|
@ -64,8 +64,6 @@ const QString VToolSeamAllowance::AttrVersion = QStringLiteral("version")
|
||||||
const QString VToolSeamAllowance::AttrForbidFlipping = QStringLiteral("forbidFlipping");
|
const QString VToolSeamAllowance::AttrForbidFlipping = QStringLiteral("forbidFlipping");
|
||||||
const QString VToolSeamAllowance::AttrSeamAllowance = QStringLiteral("seamAllowance");
|
const QString VToolSeamAllowance::AttrSeamAllowance = QStringLiteral("seamAllowance");
|
||||||
const QString VToolSeamAllowance::AttrWidth = QStringLiteral("width");
|
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::AttrUnited = QStringLiteral("united");
|
||||||
const QString VToolSeamAllowance::AttrStart = QStringLiteral("start");
|
const QString VToolSeamAllowance::AttrStart = QStringLiteral("start");
|
||||||
const QString VToolSeamAllowance::AttrPath = QStringLiteral("path");
|
const QString VToolSeamAllowance::AttrPath = QStringLiteral("path");
|
||||||
|
@ -201,51 +199,7 @@ void VToolSeamAllowance::Remove(bool ask)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VToolSeamAllowance::AddNode(VAbstractPattern *doc, QDomElement &domElement, const VPieceNode &node)
|
void VToolSeamAllowance::AddNode(VAbstractPattern *doc, QDomElement &domElement, const VPieceNode &node)
|
||||||
{
|
{
|
||||||
QDomElement nod = doc->createElement(VAbstractPattern::TagNode);
|
domElement.appendChild(AddSANode(doc, VAbstractPattern::TagNode, node));
|
||||||
|
|
||||||
doc->SetAttribute(nod, AttrIdObject, node.GetId());
|
|
||||||
|
|
||||||
const Tool type = node.GetTypeTool();
|
|
||||||
if (type != Tool::NodePoint)
|
|
||||||
{
|
|
||||||
doc->SetAttribute(nod, VAbstractPattern::AttrNodeReverse, static_cast<quint8>(node.GetReverse()));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
const qreal w1 = node.GetSABefore();
|
|
||||||
w1 < 0 ? domElement.removeAttribute(AttrSABefore) : doc->SetAttribute(nod, AttrSABefore, w1);
|
|
||||||
|
|
||||||
const qreal w2 = node.GetSAAfter();
|
|
||||||
w2 < 0 ? domElement.removeAttribute(AttrSAAfter) : doc->SetAttribute(nod, AttrSAAfter, w2);
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (type)
|
|
||||||
{
|
|
||||||
case (Tool::NodeArc):
|
|
||||||
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodeArc);
|
|
||||||
break;
|
|
||||||
case (Tool::NodePoint):
|
|
||||||
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodePoint);
|
|
||||||
break;
|
|
||||||
case (Tool::NodeSpline):
|
|
||||||
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodeSpline);
|
|
||||||
break;
|
|
||||||
case (Tool::NodeSplinePath):
|
|
||||||
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodeSplinePath);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
qDebug()<<"May be wrong tool type!!! Ignoring."<<Q_FUNC_INFO;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
const unsigned char angleType = static_cast<unsigned char>(node.GetAngleType());
|
|
||||||
|
|
||||||
if (angleType > 0)
|
|
||||||
{
|
|
||||||
doc->SetAttribute(nod, AttrAngle, angleType);
|
|
||||||
}
|
|
||||||
|
|
||||||
domElement.appendChild(nod);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -61,8 +61,6 @@ public:
|
||||||
static const QString AttrForbidFlipping;
|
static const QString AttrForbidFlipping;
|
||||||
static const QString AttrSeamAllowance;
|
static const QString AttrSeamAllowance;
|
||||||
static const QString AttrWidth;
|
static const QString AttrWidth;
|
||||||
static const QString AttrSABefore;
|
|
||||||
static const QString AttrSAAfter;
|
|
||||||
static const QString AttrUnited;
|
static const QString AttrUnited;
|
||||||
static const QString AttrStart;
|
static const QString AttrStart;
|
||||||
static const QString AttrPath;
|
static const QString AttrPath;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user