Alias field for tool Spline Path.
This commit is contained in:
parent
648d1f1897
commit
b1f9327393
|
@ -2099,6 +2099,9 @@ void VToolOptionsPropertyBrowser::ChangeDataToolSplinePath(VPE::VProperty *prope
|
||||||
case 61: // AttrNotes
|
case 61: // AttrNotes
|
||||||
SetNotes<VToolSplinePath>(property);
|
SetNotes<VToolSplinePath>(property);
|
||||||
break;
|
break;
|
||||||
|
case 62: // AttrAlias
|
||||||
|
SetAlias<VToolSplinePath>(property);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
qWarning()<<"Unknown property type. id = "<<id;
|
qWarning()<<"Unknown property type. id = "<<id;
|
||||||
break;
|
break;
|
||||||
|
@ -2849,6 +2852,7 @@ void VToolOptionsPropertyBrowser::ShowOptionsToolSplinePath(QGraphicsItem *item)
|
||||||
formView->setTitle(tr("Tool for path curve"));
|
formView->setTitle(tr("Tool for path curve"));
|
||||||
|
|
||||||
AddPropertyObjectName(i, tr("Name:"), true);
|
AddPropertyObjectName(i, tr("Name:"), true);
|
||||||
|
AddPropertyAlias(i, tr("Alias:"));
|
||||||
AddPropertyCurvePenStyle(i, tr("Pen style:"), CurvePenStylesPics());
|
AddPropertyCurvePenStyle(i, tr("Pen style:"), CurvePenStylesPics());
|
||||||
AddPropertyLineColor(i, tr("Color:"), VAbstractTool::ColorsList(), AttrColor);
|
AddPropertyLineColor(i, tr("Color:"), VAbstractTool::ColorsList(), AttrColor);
|
||||||
AddPropertyApproximationScale(tr("Approximation scale:"), i->getSplinePath().GetApproximationScale());
|
AddPropertyApproximationScale(tr("Approximation scale:"), i->getSplinePath().GetApproximationScale());
|
||||||
|
@ -3693,6 +3697,8 @@ void VToolOptionsPropertyBrowser::UpdateOptionsToolSplinePath()
|
||||||
idToProperty[AttrAScale]->setValue(valueApproximationScale);
|
idToProperty[AttrAScale]->setValue(valueApproximationScale);
|
||||||
|
|
||||||
idToProperty[AttrNotes]->setValue(i->GetNotes());
|
idToProperty[AttrNotes]->setValue(i->GetNotes());
|
||||||
|
|
||||||
|
idToProperty[AttrAlias]->setValue(i->GetAliasSuffix());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -2739,6 +2739,7 @@ void VPattern::ParseToolSplinePath(VMainGraphicsScene *scene, const QDomElement
|
||||||
initData.penStyle = GetParametrString(domElement, AttrPenStyle, TypeLineLine);
|
initData.penStyle = GetParametrString(domElement, AttrPenStyle, TypeLineLine);
|
||||||
initData.duplicate = GetParametrUInt(domElement, AttrDuplicate, QChar('0'));
|
initData.duplicate = GetParametrUInt(domElement, AttrDuplicate, QChar('0'));
|
||||||
initData.approximationScale = GetParametrDouble(domElement, AttrAScale, QChar('0'));
|
initData.approximationScale = GetParametrDouble(domElement, AttrAScale, QChar('0'));
|
||||||
|
initData.aliasSuffix = GetParametrEmptyString(domElement, AttrAlias);
|
||||||
|
|
||||||
const QDomNodeList nodeList = domElement.childNodes();
|
const QDomNodeList nodeList = domElement.childNodes();
|
||||||
const qint32 num = nodeList.size();
|
const qint32 num = nodeList.size();
|
||||||
|
|
|
@ -81,20 +81,32 @@ VCurveAngle::VCurveAngle(const quint32 &id, const quint32 &parentId, const VAbst
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
VCurveAngle::VCurveAngle(const quint32 &id, const quint32 &parentId, const QString &baseCurveName, const VSpline &spl,
|
VCurveAngle::VCurveAngle(const quint32 &id, const quint32 &parentId, const VAbstractCurve *baseCurve,
|
||||||
CurveAngle angle, qint32 segment)
|
const VSpline &spl, CurveAngle angle, qint32 segment)
|
||||||
:VCurveVariable(id, parentId)
|
:VCurveVariable(id, parentId)
|
||||||
{
|
{
|
||||||
|
SCASSERT(baseCurve != nullptr)
|
||||||
|
|
||||||
SetType(VarType::CurveAngle);
|
SetType(VarType::CurveAngle);
|
||||||
if (angle == CurveAngle::StartAngle)
|
if (angle == CurveAngle::StartAngle)
|
||||||
{
|
{
|
||||||
SetValue(spl.GetStartAngle());
|
SetValue(spl.GetStartAngle());
|
||||||
SetName(angle1_V + baseCurveName + QLatin1String("_") + seg_ + QString().setNum(segment));
|
SetName(angle1_V + baseCurve->name() + QLatin1String("_") + seg_ + QString().setNum(segment));
|
||||||
|
|
||||||
|
if (not baseCurve->GetAlias().isEmpty())
|
||||||
|
{
|
||||||
|
SetAlias(angle1_V + baseCurve->GetAlias() + QLatin1String("_") + seg_ + QString().setNum(segment));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetValue(spl.GetEndAngle());
|
SetValue(spl.GetEndAngle());
|
||||||
SetName(angle2_V + baseCurveName + QLatin1String("_") + seg_ + QString().setNum(segment));
|
SetName(angle2_V + baseCurve->name() + QLatin1String("_") + seg_ + QString().setNum(segment));
|
||||||
|
|
||||||
|
if (not baseCurve->GetAlias().isEmpty())
|
||||||
|
{
|
||||||
|
SetAlias(angle2_V + baseCurve->GetAlias() + QLatin1String("_") + seg_ + QString().setNum(segment));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ class VCurveAngle : public VCurveVariable
|
||||||
public:
|
public:
|
||||||
VCurveAngle();
|
VCurveAngle();
|
||||||
VCurveAngle(const quint32 &id, const quint32 &parentId, const VAbstractCurve *curve, CurveAngle angle);
|
VCurveAngle(const quint32 &id, const quint32 &parentId, const VAbstractCurve *curve, CurveAngle angle);
|
||||||
VCurveAngle(const quint32 &id, const quint32 &parentId, const QString &baseCurveName, const VSpline &spl,
|
VCurveAngle(const quint32 &id, const quint32 &parentId, const VAbstractCurve *baseCurve, const VSpline &spl,
|
||||||
CurveAngle angle, qint32 segment);
|
CurveAngle angle, qint32 segment);
|
||||||
protected:
|
protected:
|
||||||
VCurveAngle(const quint32 &id, const quint32 &parentId);
|
VCurveAngle(const quint32 &id, const quint32 &parentId);
|
||||||
|
|
|
@ -74,20 +74,32 @@ VCurveCLength::VCurveCLength(const quint32 &id, const quint32 &parentId, const V
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
VCurveCLength::VCurveCLength(const quint32 &id, const quint32 &parentId, const QString &baseCurveName,
|
VCurveCLength::VCurveCLength(const quint32 &id, const quint32 &parentId, const VAbstractBezier *baseCurve,
|
||||||
const VSpline &spl, CurveCLength cType, Unit patternUnit, qint32 segment)
|
const VSpline &spl, CurveCLength cType, Unit patternUnit, qint32 segment)
|
||||||
: VCurveVariable(id, parentId)
|
: VCurveVariable(id, parentId)
|
||||||
{
|
{
|
||||||
|
SCASSERT(baseCurve != nullptr)
|
||||||
|
|
||||||
SetType(VarType::CurveCLength);
|
SetType(VarType::CurveCLength);
|
||||||
if (cType == CurveCLength::C1)
|
if (cType == CurveCLength::C1)
|
||||||
{
|
{
|
||||||
SetValue(FromPixel(spl.GetC1Length(), patternUnit));
|
SetValue(FromPixel(spl.GetC1Length(), patternUnit));
|
||||||
SetName(c1Length_V + baseCurveName + QLatin1String("_") + seg_ + QString().setNum(segment));
|
SetName(c1Length_V + baseCurve->name() + QLatin1String("_") + seg_ + QString().setNum(segment));
|
||||||
|
|
||||||
|
if (not baseCurve->GetAlias().isEmpty())
|
||||||
|
{
|
||||||
|
SetAlias(c1Length_V + baseCurve->GetAlias() + QLatin1String("_") + seg_ + QString().setNum(segment));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetValue(FromPixel(spl.GetC2Length(), patternUnit));
|
SetValue(FromPixel(spl.GetC2Length(), patternUnit));
|
||||||
SetName(c2Length_V + baseCurveName + QLatin1String("_") + seg_ + QString().setNum(segment));
|
SetName(c2Length_V + baseCurve->name() + QLatin1String("_") + seg_ + QString().setNum(segment));
|
||||||
|
|
||||||
|
if (not baseCurve->GetAlias().isEmpty())
|
||||||
|
{
|
||||||
|
SetAlias(c2Length_V + baseCurve->GetAlias() + QLatin1String("_") + seg_ + QString().setNum(segment));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ public:
|
||||||
VCurveCLength();
|
VCurveCLength();
|
||||||
VCurveCLength(const quint32 &id, const quint32 &parentId, const VAbstractBezier *curve, CurveCLength cType,
|
VCurveCLength(const quint32 &id, const quint32 &parentId, const VAbstractBezier *curve, CurveCLength cType,
|
||||||
Unit patternUnit);
|
Unit patternUnit);
|
||||||
VCurveCLength(const quint32 &id, const quint32 &parentId, const QString &baseCurveName, const VSpline &spl,
|
VCurveCLength(const quint32 &id, const quint32 &parentId, const VAbstractBezier *baseCurve, const VSpline &spl,
|
||||||
CurveCLength cType, Unit patternUnit, qint32 segment);
|
CurveCLength cType, Unit patternUnit, qint32 segment);
|
||||||
VCurveCLength(const VCurveCLength &var);
|
VCurveCLength(const VCurveCLength &var);
|
||||||
VCurveCLength &operator=(const VCurveCLength &var);
|
VCurveCLength &operator=(const VCurveCLength &var);
|
||||||
|
|
|
@ -60,14 +60,20 @@ VCurveLength::VCurveLength(const quint32 &id, const quint32 &parentId, const VAb
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
VCurveLength::VCurveLength(const quint32 &id, const quint32 &parentId, const QString &baseCurveName, const VSpline &spl,
|
VCurveLength::VCurveLength(const quint32 &id, const quint32 &parentId, const VAbstractCurve *baseCurve,
|
||||||
Unit patternUnit, qint32 segment)
|
const VSpline &spl, Unit patternUnit, qint32 segment)
|
||||||
:VCurveVariable(id, parentId)
|
:VCurveVariable(id, parentId)
|
||||||
{
|
{
|
||||||
SCASSERT(not baseCurveName.isEmpty())
|
SCASSERT(baseCurve != nullptr)
|
||||||
|
|
||||||
SetType(VarType::CurveLength);
|
SetType(VarType::CurveLength);
|
||||||
SetName(baseCurveName + QLatin1String("_") + seg_ + QString().setNum(segment));
|
SetName(baseCurve->name() + QLatin1String("_") + seg_ + QString().setNum(segment));
|
||||||
|
|
||||||
|
if (not baseCurve->GetAlias().isEmpty())
|
||||||
|
{
|
||||||
|
SetAlias(baseCurve->GetAlias() + QLatin1String("_") + seg_ + QString().setNum(segment));
|
||||||
|
}
|
||||||
|
|
||||||
SetValue(FromPixel(spl.GetLength(), patternUnit));
|
SetValue(FromPixel(spl.GetLength(), patternUnit));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ class VCurveLength : public VCurveVariable
|
||||||
public:
|
public:
|
||||||
VCurveLength();
|
VCurveLength();
|
||||||
VCurveLength(const quint32 &id, const quint32 &parentId, const VAbstractCurve *curve, Unit patternUnit);
|
VCurveLength(const quint32 &id, const quint32 &parentId, const VAbstractCurve *curve, Unit patternUnit);
|
||||||
VCurveLength(const quint32 &id, const quint32 &parentId, const QString &baseCurveName, const VSpline &spl,
|
VCurveLength(const quint32 &id, const quint32 &parentId, const VAbstractCurve *baseCurve, const VSpline &spl,
|
||||||
Unit patternUnit, qint32 segment);
|
Unit patternUnit, qint32 segment);
|
||||||
VCurveLength(const VCurveLength &var);
|
VCurveLength(const VCurveLength &var);
|
||||||
VCurveLength &operator=(const VCurveLength &var);
|
VCurveLength &operator=(const VCurveLength &var);
|
||||||
|
|
|
@ -509,11 +509,11 @@ void VContainer::AddCurveWithSegments(const QSharedPointer<VAbstractCubicBezierP
|
||||||
{
|
{
|
||||||
const VSpline spl = curve->GetSpline(i);
|
const VSpline spl = curve->GetSpline(i);
|
||||||
|
|
||||||
AddVariable(new VCurveLength(id, parentId, curve->name(), spl, *GetPatternUnit(), i));
|
AddVariable(new VCurveLength(id, parentId, curve.data(), spl, *GetPatternUnit(), i));
|
||||||
AddVariable(new VCurveAngle(id, parentId, curve->name(), spl, CurveAngle::StartAngle, i));
|
AddVariable(new VCurveAngle(id, parentId, curve.data(), spl, CurveAngle::StartAngle, i));
|
||||||
AddVariable(new VCurveAngle(id, parentId, curve->name(), spl, CurveAngle::EndAngle, i));
|
AddVariable(new VCurveAngle(id, parentId, curve.data(), spl, CurveAngle::EndAngle, i));
|
||||||
AddVariable(new VCurveCLength(id, parentId, curve->name(), spl, CurveCLength::C1, *GetPatternUnit(), i));
|
AddVariable(new VCurveCLength(id, parentId, curve.data(), spl, CurveCLength::C1, *GetPatternUnit(), i));
|
||||||
AddVariable(new VCurveCLength(id, parentId, curve->name(), spl, CurveCLength::C2, *GetPatternUnit(), i));
|
AddVariable(new VCurveCLength(id, parentId, curve.data(), spl, CurveCLength::C2, *GetPatternUnit(), i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -125,6 +125,8 @@ DialogSplinePath::DialogSplinePath(const VContainer *data, quint32 toolId, QWidg
|
||||||
connect(ui->pushButtonGrowLength1, &QPushButton::clicked, this, &DialogSplinePath::DeployLength1TextEdit);
|
connect(ui->pushButtonGrowLength1, &QPushButton::clicked, this, &DialogSplinePath::DeployLength1TextEdit);
|
||||||
connect(ui->pushButtonGrowLength2, &QPushButton::clicked, this, &DialogSplinePath::DeployLength2TextEdit);
|
connect(ui->pushButtonGrowLength2, &QPushButton::clicked, this, &DialogSplinePath::DeployLength2TextEdit);
|
||||||
|
|
||||||
|
connect(ui->lineEditAlias, &QLineEdit::textEdited, this, &DialogSplinePath::ValidateAlias);
|
||||||
|
|
||||||
vis = new VisToolSplinePath(data);
|
vis = new VisToolSplinePath(data);
|
||||||
auto path = qobject_cast<VisToolSplinePath *>(vis);
|
auto path = qobject_cast<VisToolSplinePath *>(vis);
|
||||||
SCASSERT(path != nullptr)
|
SCASSERT(path != nullptr)
|
||||||
|
@ -167,6 +169,9 @@ void DialogSplinePath::SetPath(const VSplinePath &value)
|
||||||
ui->lineEditSplPathName->setText(qApp->TrVars()->VarToUser(path.name()));
|
ui->lineEditSplPathName->setText(qApp->TrVars()->VarToUser(path.name()));
|
||||||
ui->doubleSpinBoxApproximationScale->setValue(path.GetApproximationScale());
|
ui->doubleSpinBoxApproximationScale->setValue(path.GetApproximationScale());
|
||||||
|
|
||||||
|
ui->lineEditAlias->setText(path.GetAliasSuffix());
|
||||||
|
ValidateAlias();
|
||||||
|
|
||||||
ChangeCurrentData(ui->comboBoxPenStyle, path.GetPenStyle());
|
ChangeCurrentData(ui->comboBoxPenStyle, path.GetPenStyle());
|
||||||
ChangeCurrentData(ui->comboBoxColor, path.GetColor());
|
ChangeCurrentData(ui->comboBoxColor, path.GetColor());
|
||||||
|
|
||||||
|
@ -490,6 +495,25 @@ void DialogSplinePath::FXLength2()
|
||||||
delete dialog;
|
delete dialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void DialogSplinePath::ValidateAlias()
|
||||||
|
{
|
||||||
|
VSplinePath tempPath = path;
|
||||||
|
tempPath.SetAliasSuffix(ui->lineEditAlias->text());
|
||||||
|
if (not ui->lineEditAlias->text().isEmpty() && not data->IsUnique(tempPath.GetAlias()))
|
||||||
|
{
|
||||||
|
flagAlias = false;
|
||||||
|
ChangeColor(ui->labelAlias, errorColor);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
flagAlias = true;
|
||||||
|
ChangeColor(ui->labelAlias, OkColor(this));
|
||||||
|
}
|
||||||
|
|
||||||
|
CheckState();
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void DialogSplinePath::EvalAngle1()
|
void DialogSplinePath::EvalAngle1()
|
||||||
{
|
{
|
||||||
|
@ -874,6 +898,7 @@ void DialogSplinePath::SavePath()
|
||||||
path.SetApproximationScale(ui->doubleSpinBoxApproximationScale->value());
|
path.SetApproximationScale(ui->doubleSpinBoxApproximationScale->value());
|
||||||
path.SetPenStyle(GetComboBoxCurrentData(ui->comboBoxPenStyle, TypeLineLine));
|
path.SetPenStyle(GetComboBoxCurrentData(ui->comboBoxPenStyle, TypeLineLine));
|
||||||
path.SetColor(GetComboBoxCurrentData(ui->comboBoxColor, ColorBlack));
|
path.SetColor(GetComboBoxCurrentData(ui->comboBoxColor, ColorBlack));
|
||||||
|
path.SetAliasSuffix(ui->lineEditAlias->text());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -945,7 +970,7 @@ bool DialogSplinePath::IsValid() const
|
||||||
fLength2 = fLength2 && flagLength2.at(i);
|
fLength2 = fLength2 && flagLength2.at(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
return fAngle1 && fAngle2 && fLength1 && fLength2 && flagError;
|
return fAngle1 && fAngle2 && fLength1 && fLength2 && flagError && flagAlias;
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -88,6 +88,8 @@ private slots:
|
||||||
void FXAngle2();
|
void FXAngle2();
|
||||||
void FXLength1();
|
void FXLength1();
|
||||||
void FXLength2();
|
void FXLength2();
|
||||||
|
|
||||||
|
void ValidateAlias();
|
||||||
private:
|
private:
|
||||||
Q_DISABLE_COPY(DialogSplinePath)
|
Q_DISABLE_COPY(DialogSplinePath)
|
||||||
|
|
||||||
|
@ -111,6 +113,7 @@ private:
|
||||||
QVector<bool> flagLength1;
|
QVector<bool> flagLength1;
|
||||||
QVector<bool> flagLength2;
|
QVector<bool> flagLength2;
|
||||||
bool flagError;
|
bool flagError;
|
||||||
|
bool flagAlias{true};
|
||||||
|
|
||||||
void EvalAngle1();
|
void EvalAngle1();
|
||||||
void EvalAngle2();
|
void EvalAngle2();
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>460</width>
|
<width>460</width>
|
||||||
<height>647</height>
|
<height>677</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -887,6 +887,16 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="labelAlias">
|
||||||
|
<property name="text">
|
||||||
|
<string>Alias:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEditAlias"/>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
|
|
@ -270,6 +270,7 @@ VToolSplinePath *VToolSplinePath::Create(VToolSplinePathInitData &initData)
|
||||||
path->SetColor(initData.color);
|
path->SetColor(initData.color);
|
||||||
path->SetPenStyle(initData.penStyle);
|
path->SetPenStyle(initData.penStyle);
|
||||||
path->SetApproximationScale(initData.approximationScale);
|
path->SetApproximationScale(initData.approximationScale);
|
||||||
|
path->SetAliasSuffix(initData.aliasSuffix);
|
||||||
|
|
||||||
return VToolSplinePath::Create(initData, path);
|
return VToolSplinePath::Create(initData, path);
|
||||||
}
|
}
|
||||||
|
@ -402,6 +403,7 @@ void VToolSplinePath::SetSplinePathAttributes(QDomElement &domElement, const VSp
|
||||||
doc->SetAttribute(domElement, AttrColor, path.GetColor());
|
doc->SetAttribute(domElement, AttrColor, path.GetColor());
|
||||||
doc->SetAttribute(domElement, AttrPenStyle, path.GetPenStyle());
|
doc->SetAttribute(domElement, AttrPenStyle, path.GetPenStyle());
|
||||||
doc->SetAttribute(domElement, AttrAScale, path.GetApproximationScale());
|
doc->SetAttribute(domElement, AttrAScale, path.GetApproximationScale());
|
||||||
|
doc->SetAttributeOrRemoveIf(domElement, AttrAlias, path.GetAliasSuffix(), path.GetAliasSuffix().isEmpty());
|
||||||
|
|
||||||
UpdatePathPoints(doc, domElement, path);
|
UpdatePathPoints(doc, domElement, path);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user