Fix filling piece label data.
This commit is contained in:
parent
a103108799
commit
8f23d057f4
|
@ -41,7 +41,8 @@
|
||||||
- New option: Use Tool Groups.
|
- New option: Use Tool Groups.
|
||||||
- Redesign notch context menu to allow quick selection of the notch type.
|
- Redesign notch context menu to allow quick selection of the notch type.
|
||||||
- Redesign standard path system.
|
- Redesign standard path system.
|
||||||
- New option: Translate formula
|
- New option: Translate formula.
|
||||||
|
- Fix filling piece label data.
|
||||||
|
|
||||||
# Valentina 0.7.52 September 12, 2022
|
# Valentina 0.7.52 September 12, 2022
|
||||||
- Fix crash when default locale is ru.
|
- Fix crash when default locale is ru.
|
||||||
|
|
|
@ -27,19 +27,19 @@
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
#include "dialoghistory.h"
|
#include "dialoghistory.h"
|
||||||
#include "ui_dialoghistory.h"
|
|
||||||
#include "../vgeometry/varc.h"
|
#include "../vgeometry/varc.h"
|
||||||
#include "../vgeometry/vellipticalarc.h"
|
|
||||||
#include "../vgeometry/vcubicbezier.h"
|
#include "../vgeometry/vcubicbezier.h"
|
||||||
#include "../vgeometry/vsplinepath.h"
|
|
||||||
#include "../vgeometry/vcubicbezierpath.h"
|
#include "../vgeometry/vcubicbezierpath.h"
|
||||||
|
#include "../vgeometry/vellipticalarc.h"
|
||||||
#include "../vgeometry/vpointf.h"
|
#include "../vgeometry/vpointf.h"
|
||||||
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutspline.h"
|
#include "../vgeometry/vsplinepath.h"
|
||||||
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutsplinepath.h"
|
|
||||||
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutarc.h"
|
|
||||||
#include "../xml/vpattern.h"
|
|
||||||
#include "../vmisc/vtablesearch.h"
|
#include "../vmisc/vtablesearch.h"
|
||||||
#include "../vmisc/vvalentinasettings.h"
|
#include "../vmisc/vvalentinasettings.h"
|
||||||
|
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutarc.h"
|
||||||
|
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutspline.h"
|
||||||
|
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutsplinepath.h"
|
||||||
|
#include "../xml/vpattern.h"
|
||||||
|
#include "ui_dialoghistory.h"
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QtConcurrent>
|
#include <QtConcurrent>
|
||||||
|
@ -62,9 +62,8 @@ auto AttrUInt(const QDomElement &domElement, const QString &name) -> quint32
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogHistory::DialogHistory(VContainer *data, VPattern *doc, QWidget *parent)
|
DialogHistory::DialogHistory(VContainer *data, VPattern *doc, QWidget *parent)
|
||||||
:DialogTool(data, 0, parent),
|
: DialogTool(data, doc, NULL_ID, parent),
|
||||||
ui(new Ui::DialogHistory),
|
ui(new Ui::DialogHistory),
|
||||||
m_doc(doc),
|
|
||||||
m_searchHistory(new QMenu(this))
|
m_searchHistory(new QMenu(this))
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
@ -76,10 +75,8 @@ DialogHistory::DialogHistory(VContainer *data, VPattern *doc, QWidget *parent)
|
||||||
FillTable();
|
FillTable();
|
||||||
InitialTable();
|
InitialTable();
|
||||||
connect(ui->tableWidget, &QTableWidget::cellClicked, this, &DialogHistory::cellClicked);
|
connect(ui->tableWidget, &QTableWidget::cellClicked, this, &DialogHistory::cellClicked);
|
||||||
connect(this, &DialogHistory::ShowHistoryTool, doc, [doc](quint32 id, bool enable)
|
connect(this, &DialogHistory::ShowHistoryTool, doc,
|
||||||
{
|
[doc](quint32 id, bool enable) { emit doc->ShowTool(id, enable); });
|
||||||
emit doc->ShowTool(id, enable);
|
|
||||||
});
|
|
||||||
connect(doc, &VPattern::ChangedCursor, this, &DialogHistory::ChangedCursor);
|
connect(doc, &VPattern::ChangedCursor, this, &DialogHistory::ChangedCursor);
|
||||||
connect(doc, &VPattern::patternChanged, this, &DialogHistory::UpdateHistory);
|
connect(doc, &VPattern::patternChanged, this, &DialogHistory::UpdateHistory);
|
||||||
ShowPoint();
|
ShowPoint();
|
||||||
|
@ -189,9 +186,7 @@ void DialogHistory::FillTable()
|
||||||
ui->tableWidget->setRowCount(static_cast<int>(history.size())); // Make row count max possible number
|
ui->tableWidget->setRowCount(static_cast<int>(history.size())); // Make row count max possible number
|
||||||
|
|
||||||
std::function<HistoryRecord(const VToolRecord &tool)> CreateRecord = [this](const VToolRecord &tool)
|
std::function<HistoryRecord(const VToolRecord &tool)> CreateRecord = [this](const VToolRecord &tool)
|
||||||
{
|
{ return Record(tool); };
|
||||||
return Record(tool);
|
|
||||||
};
|
|
||||||
|
|
||||||
QVector<HistoryRecord> historyRecords = QtConcurrent::blockingMapped(history, CreateRecord);
|
QVector<HistoryRecord> historyRecords = QtConcurrent::blockingMapped(history, CreateRecord);
|
||||||
|
|
||||||
|
@ -265,8 +260,8 @@ auto DialogHistory::Record(const VToolRecord &tool) const -> HistoryRecord
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
auto DialogHistory::RecordDescription(const VToolRecord &tool, HistoryRecord record,
|
auto DialogHistory::RecordDescription(const VToolRecord &tool, HistoryRecord record, const QDomElement &domElem) const
|
||||||
const QDomElement &domElem) const -> HistoryRecord
|
-> HistoryRecord
|
||||||
{
|
{
|
||||||
// This check helps to find missed tools in the switch
|
// This check helps to find missed tools in the switch
|
||||||
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Not all tools were used in history.");
|
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Not all tools were used in history.");
|
||||||
|
@ -296,9 +291,9 @@ auto DialogHistory::RecordDescription(const VToolRecord &tool, HistoryRecord rec
|
||||||
.arg(PointName(AttrUInt(domElem, AttrBasePoint)), PointName(tool.getId()));
|
.arg(PointName(AttrUInt(domElem, AttrBasePoint)), PointName(tool.getId()));
|
||||||
return record;
|
return record;
|
||||||
case Tool::Line:
|
case Tool::Line:
|
||||||
record.description = tr("%1_%2 - Line from point %1 to point %2")
|
record.description =
|
||||||
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)),
|
tr("%1_%2 - Line from point %1 to point %2")
|
||||||
PointName(AttrUInt(domElem, AttrSecondPoint)));
|
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)), PointName(AttrUInt(domElem, AttrSecondPoint)));
|
||||||
return record;
|
return record;
|
||||||
case Tool::AlongLine:
|
case Tool::AlongLine:
|
||||||
record.description = tr("%3 - Point along line %1_%2")
|
record.description = tr("%3 - Point along line %1_%2")
|
||||||
|
@ -314,17 +309,16 @@ auto DialogHistory::RecordDescription(const VToolRecord &tool, HistoryRecord rec
|
||||||
PointName(AttrUInt(domElem, AttrSecondPoint)), PointName(tool.getId()));
|
PointName(AttrUInt(domElem, AttrSecondPoint)), PointName(tool.getId()));
|
||||||
return record;
|
return record;
|
||||||
case Tool::Bisector:
|
case Tool::Bisector:
|
||||||
record.description = tr("%4 - bisector of angle %1_%2_%3")
|
record.description =
|
||||||
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)),
|
tr("%4 - bisector of angle %1_%2_%3")
|
||||||
PointName(AttrUInt(domElem, AttrSecondPoint)),
|
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)), PointName(AttrUInt(domElem, AttrSecondPoint)),
|
||||||
PointName(AttrUInt(domElem, AttrThirdPoint)), PointName(tool.getId()));
|
PointName(AttrUInt(domElem, AttrThirdPoint)), PointName(tool.getId()));
|
||||||
return record;
|
return record;
|
||||||
case Tool::LineIntersect:
|
case Tool::LineIntersect:
|
||||||
record.description = tr("%5 - intersection of lines %1_%2 and %3_%4")
|
record.description =
|
||||||
.arg(PointName(AttrUInt(domElem, AttrP1Line1)),
|
tr("%5 - intersection of lines %1_%2 and %3_%4")
|
||||||
PointName(AttrUInt(domElem, AttrP2Line1)),
|
.arg(PointName(AttrUInt(domElem, AttrP1Line1)), PointName(AttrUInt(domElem, AttrP2Line1)),
|
||||||
PointName(AttrUInt(domElem, AttrP1Line2)),
|
PointName(AttrUInt(domElem, AttrP1Line2)), PointName(AttrUInt(domElem, AttrP2Line2)),
|
||||||
PointName(AttrUInt(domElem, AttrP2Line2)),
|
|
||||||
PointName(tool.getId()));
|
PointName(tool.getId()));
|
||||||
return record;
|
return record;
|
||||||
case Tool::Spline:
|
case Tool::Spline:
|
||||||
|
@ -348,9 +342,7 @@ auto DialogHistory::RecordDescription(const VToolRecord &tool, HistoryRecord rec
|
||||||
case Tool::ArcWithLength:
|
case Tool::ArcWithLength:
|
||||||
{
|
{
|
||||||
const QSharedPointer<VArc> arc = data->GeometricObject<VArc>(tool.getId());
|
const QSharedPointer<VArc> arc = data->GeometricObject<VArc>(tool.getId());
|
||||||
record.description = tr("%1 with length %2")
|
record.description = tr("%1 with length %2").arg(arc->NameForHistory(tr("Arc"))).arg(arc->GetLength());
|
||||||
.arg(arc->NameForHistory(tr("Arc")))
|
|
||||||
.arg(arc->GetLength());
|
|
||||||
return record;
|
return record;
|
||||||
}
|
}
|
||||||
case Tool::SplinePath:
|
case Tool::SplinePath:
|
||||||
|
@ -366,44 +358,39 @@ auto DialogHistory::RecordDescription(const VToolRecord &tool, HistoryRecord rec
|
||||||
return record;
|
return record;
|
||||||
}
|
}
|
||||||
case Tool::PointOfContact:
|
case Tool::PointOfContact:
|
||||||
record.description = tr("%4 - point of contact of arc with the center in point %1 and line %2_%3")
|
record.description =
|
||||||
.arg(PointName(AttrUInt(domElem, AttrCenter)),
|
tr("%4 - point of contact of arc with the center in point %1 and line %2_%3")
|
||||||
PointName(AttrUInt(domElem, AttrFirstPoint)),
|
.arg(PointName(AttrUInt(domElem, AttrCenter)), PointName(AttrUInt(domElem, AttrFirstPoint)),
|
||||||
PointName(AttrUInt(domElem, AttrSecondPoint)),
|
PointName(AttrUInt(domElem, AttrSecondPoint)), PointName(tool.getId()));
|
||||||
PointName(tool.getId()));
|
|
||||||
return record;
|
return record;
|
||||||
case Tool::Height:
|
case Tool::Height:
|
||||||
record.description = tr("Point of perpendicular from point %1 to line %2_%3")
|
record.description =
|
||||||
.arg(PointName(AttrUInt(domElem, AttrBasePoint)),
|
tr("Point of perpendicular from point %1 to line %2_%3")
|
||||||
PointName(AttrUInt(domElem, AttrP1Line)),
|
.arg(PointName(AttrUInt(domElem, AttrBasePoint)), PointName(AttrUInt(domElem, AttrP1Line)),
|
||||||
PointName(AttrUInt(domElem, AttrP2Line)));
|
PointName(AttrUInt(domElem, AttrP2Line)));
|
||||||
return record;
|
return record;
|
||||||
case Tool::Triangle:
|
case Tool::Triangle:
|
||||||
record.description = tr("Triangle: axis %1_%2, points %3 and %4")
|
record.description =
|
||||||
.arg(PointName(AttrUInt(domElem, AttrAxisP1)),
|
tr("Triangle: axis %1_%2, points %3 and %4")
|
||||||
PointName(AttrUInt(domElem, AttrAxisP2)),
|
.arg(PointName(AttrUInt(domElem, AttrAxisP1)), PointName(AttrUInt(domElem, AttrAxisP2)),
|
||||||
PointName(AttrUInt(domElem, AttrFirstPoint)),
|
PointName(AttrUInt(domElem, AttrFirstPoint)), PointName(AttrUInt(domElem, AttrSecondPoint)));
|
||||||
PointName(AttrUInt(domElem, AttrSecondPoint)));
|
|
||||||
return record;
|
return record;
|
||||||
case Tool::PointOfIntersection:
|
case Tool::PointOfIntersection:
|
||||||
record.description = tr("%1 - point of intersection %2 and %3")
|
record.description = tr("%1 - point of intersection %2 and %3")
|
||||||
.arg(PointName(tool.getId()),
|
.arg(PointName(tool.getId()), PointName(AttrUInt(domElem, AttrFirstPoint)),
|
||||||
PointName(AttrUInt(domElem, AttrFirstPoint)),
|
|
||||||
PointName(AttrUInt(domElem, AttrSecondPoint)));
|
PointName(AttrUInt(domElem, AttrSecondPoint)));
|
||||||
return record;
|
return record;
|
||||||
case Tool::CutArc:
|
case Tool::CutArc:
|
||||||
{
|
{
|
||||||
const QSharedPointer<VArc> arc = data->GeometricObject<VArc>(AttrUInt(domElem, AttrArc));
|
const QSharedPointer<VArc> arc = data->GeometricObject<VArc>(AttrUInt(domElem, AttrArc));
|
||||||
record.description = tr("%1 - cut %2")
|
record.description = tr("%1 - cut %2").arg(PointName(tool.getId()), arc->NameForHistory(tr("arc")));
|
||||||
.arg(PointName(tool.getId()), arc->NameForHistory(tr("arc")));
|
|
||||||
return record;
|
return record;
|
||||||
}
|
}
|
||||||
case Tool::CutSpline:
|
case Tool::CutSpline:
|
||||||
{
|
{
|
||||||
const quint32 splineId = AttrUInt(domElem, VToolCutSpline::AttrSpline);
|
const quint32 splineId = AttrUInt(domElem, VToolCutSpline::AttrSpline);
|
||||||
const QSharedPointer<VAbstractCubicBezier> spl = data->GeometricObject<VAbstractCubicBezier>(splineId);
|
const QSharedPointer<VAbstractCubicBezier> spl = data->GeometricObject<VAbstractCubicBezier>(splineId);
|
||||||
record.description = tr("%1 - cut %2")
|
record.description = tr("%1 - cut %2").arg(PointName(tool.getId()), spl->NameForHistory(tr("curve")));
|
||||||
.arg(PointName(tool.getId()), spl->NameForHistory(tr("curve")));
|
|
||||||
return record;
|
return record;
|
||||||
}
|
}
|
||||||
case Tool::CutSplinePath:
|
case Tool::CutSplinePath:
|
||||||
|
@ -411,16 +398,15 @@ auto DialogHistory::RecordDescription(const VToolRecord &tool, HistoryRecord rec
|
||||||
const quint32 splinePathId = AttrUInt(domElem, VToolCutSplinePath::AttrSplinePath);
|
const quint32 splinePathId = AttrUInt(domElem, VToolCutSplinePath::AttrSplinePath);
|
||||||
const QSharedPointer<VAbstractCubicBezierPath> splPath =
|
const QSharedPointer<VAbstractCubicBezierPath> splPath =
|
||||||
data->GeometricObject<VAbstractCubicBezierPath>(splinePathId);
|
data->GeometricObject<VAbstractCubicBezierPath>(splinePathId);
|
||||||
record.description = tr("%1 - cut %2")
|
record.description =
|
||||||
.arg(PointName(tool.getId()), splPath->NameForHistory(tr("curve path")));
|
tr("%1 - cut %2").arg(PointName(tool.getId()), splPath->NameForHistory(tr("curve path")));
|
||||||
return record;
|
return record;
|
||||||
}
|
}
|
||||||
case Tool::LineIntersectAxis:
|
case Tool::LineIntersectAxis:
|
||||||
record.description = tr("%1 - point of intersection line %2_%3 and axis through point %4")
|
record.description =
|
||||||
.arg(PointName(tool.getId()),
|
tr("%1 - point of intersection line %2_%3 and axis through point %4")
|
||||||
PointName(AttrUInt(domElem, AttrP1Line)),
|
.arg(PointName(tool.getId()), PointName(AttrUInt(domElem, AttrP1Line)),
|
||||||
PointName(AttrUInt(domElem, AttrP2Line)),
|
PointName(AttrUInt(domElem, AttrP2Line)), PointName(AttrUInt(domElem, AttrBasePoint)));
|
||||||
PointName(AttrUInt(domElem, AttrBasePoint)));
|
|
||||||
return record;
|
return record;
|
||||||
case Tool::CurveIntersectAxis:
|
case Tool::CurveIntersectAxis:
|
||||||
record.description = tr("%1 - point of intersection curve and axis through point %2")
|
record.description = tr("%1 - point of intersection curve and axis through point %2")
|
||||||
|
@ -442,17 +428,16 @@ auto DialogHistory::RecordDescription(const VToolRecord &tool, HistoryRecord rec
|
||||||
record.description = tr("%1 - point from arc and tangent").arg(PointName(tool.getId()));
|
record.description = tr("%1 - point from arc and tangent").arg(PointName(tool.getId()));
|
||||||
return record;
|
return record;
|
||||||
case Tool::TrueDarts:
|
case Tool::TrueDarts:
|
||||||
record.description = tr("Correction the dart %1_%2_%3")
|
record.description =
|
||||||
.arg(PointName(AttrUInt(domElem, AttrDartP1)),
|
tr("Correction the dart %1_%2_%3")
|
||||||
PointName(AttrUInt(domElem, AttrDartP2)),
|
.arg(PointName(AttrUInt(domElem, AttrDartP1)), PointName(AttrUInt(domElem, AttrDartP2)),
|
||||||
PointName(AttrUInt(domElem, AttrDartP2)));
|
PointName(AttrUInt(domElem, AttrDartP2)));
|
||||||
return record;
|
return record;
|
||||||
case Tool::EllipticalArc:
|
case Tool::EllipticalArc:
|
||||||
{
|
{
|
||||||
const QSharedPointer<VEllipticalArc> elArc = data->GeometricObject<VEllipticalArc>(tool.getId());
|
const QSharedPointer<VEllipticalArc> elArc = data->GeometricObject<VEllipticalArc>(tool.getId());
|
||||||
record.description = tr("%1 with length %2")
|
record.description =
|
||||||
.arg(elArc->NameForHistory(tr("Elliptical arc")))
|
tr("%1 with length %2").arg(elArc->NameForHistory(tr("Elliptical arc"))).arg(elArc->GetLength());
|
||||||
.arg(elArc->GetLength());
|
|
||||||
return record;
|
return record;
|
||||||
}
|
}
|
||||||
case Tool::Rotation:
|
case Tool::Rotation:
|
||||||
|
@ -461,9 +446,9 @@ auto DialogHistory::RecordDescription(const VToolRecord &tool, HistoryRecord rec
|
||||||
VDomDocument::GetParametrString(domElem, AttrSuffix, QString()));
|
VDomDocument::GetParametrString(domElem, AttrSuffix, QString()));
|
||||||
return record;
|
return record;
|
||||||
case Tool::FlippingByLine:
|
case Tool::FlippingByLine:
|
||||||
record.description = tr("Flipping by line %1_%2. Suffix '%3'")
|
record.description =
|
||||||
.arg(PointName(AttrUInt(domElem, AttrP1Line)),
|
tr("Flipping by line %1_%2. Suffix '%3'")
|
||||||
PointName(AttrUInt(domElem, AttrP2Line)),
|
.arg(PointName(AttrUInt(domElem, AttrP1Line)), PointName(AttrUInt(domElem, AttrP2Line)),
|
||||||
VDomDocument::GetParametrString(domElem, AttrSuffix, QString()));
|
VDomDocument::GetParametrString(domElem, AttrSuffix, QString()));
|
||||||
return record;
|
return record;
|
||||||
case Tool::FlippingByAxis:
|
case Tool::FlippingByAxis:
|
||||||
|
@ -472,8 +457,8 @@ auto DialogHistory::RecordDescription(const VToolRecord &tool, HistoryRecord rec
|
||||||
VDomDocument::GetParametrString(domElem, AttrSuffix, QString()));
|
VDomDocument::GetParametrString(domElem, AttrSuffix, QString()));
|
||||||
return record;
|
return record;
|
||||||
case Tool::Move:
|
case Tool::Move:
|
||||||
record.description = tr("Move objects. Suffix '%1'")
|
record.description =
|
||||||
.arg(VDomDocument::GetParametrString(domElem, AttrSuffix, QString()));
|
tr("Move objects. Suffix '%1'").arg(VDomDocument::GetParametrString(domElem, AttrSuffix, QString()));
|
||||||
return record;
|
return record;
|
||||||
// Because "history" not only show history of pattern, but help restore current data for each pattern's
|
// Because "history" not only show history of pattern, but help restore current data for each pattern's
|
||||||
// piece, we need add record about details and nodes, but don't show them.
|
// piece, we need add record about details and nodes, but don't show them.
|
||||||
|
@ -633,28 +618,34 @@ void DialogHistory::InitSearch()
|
||||||
UpdateSearchControlsTooltips();
|
UpdateSearchControlsTooltips();
|
||||||
|
|
||||||
connect(ui->lineEditFind, &QLineEdit::textEdited, this, [this](const QString &term) { m_search->Find(term); });
|
connect(ui->lineEditFind, &QLineEdit::textEdited, this, [this](const QString &term) { m_search->Find(term); });
|
||||||
connect(ui->lineEditFind, &QLineEdit::editingFinished, this, [this]()
|
connect(ui->lineEditFind, &QLineEdit::editingFinished, this,
|
||||||
|
[this]()
|
||||||
{
|
{
|
||||||
SaveSearchRequest();
|
SaveSearchRequest();
|
||||||
InitSearchHistory();
|
InitSearchHistory();
|
||||||
m_search->Find(ui->lineEditFind->text());
|
m_search->Find(ui->lineEditFind->text());
|
||||||
});
|
});
|
||||||
connect(ui->toolButtonFindPrevious, &QToolButton::clicked, this, [this]()
|
connect(ui->toolButtonFindPrevious, &QToolButton::clicked, this,
|
||||||
|
[this]()
|
||||||
{
|
{
|
||||||
SaveSearchRequest();
|
SaveSearchRequest();
|
||||||
InitSearchHistory();
|
InitSearchHistory();
|
||||||
m_search->FindPrevious();
|
m_search->FindPrevious();
|
||||||
ui->labelResults->setText(QStringLiteral("%1/%2").arg(m_search->MatchIndex()+1).arg(m_search->MatchCount()));
|
ui->labelResults->setText(
|
||||||
|
QStringLiteral("%1/%2").arg(m_search->MatchIndex() + 1).arg(m_search->MatchCount()));
|
||||||
});
|
});
|
||||||
connect(ui->toolButtonFindNext, &QToolButton::clicked, this, [this]()
|
connect(ui->toolButtonFindNext, &QToolButton::clicked, this,
|
||||||
|
[this]()
|
||||||
{
|
{
|
||||||
SaveSearchRequest();
|
SaveSearchRequest();
|
||||||
InitSearchHistory();
|
InitSearchHistory();
|
||||||
m_search->FindNext();
|
m_search->FindNext();
|
||||||
ui->labelResults->setText(QStringLiteral("%1/%2").arg(m_search->MatchIndex()+1).arg(m_search->MatchCount()));
|
ui->labelResults->setText(
|
||||||
|
QStringLiteral("%1/%2").arg(m_search->MatchIndex() + 1).arg(m_search->MatchCount()));
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(m_search.data(), &VTableSearch::HasResult, this, [this] (bool state)
|
connect(m_search.data(), &VTableSearch::HasResult, this,
|
||||||
|
[this](bool state)
|
||||||
{
|
{
|
||||||
ui->toolButtonFindPrevious->setEnabled(state);
|
ui->toolButtonFindPrevious->setEnabled(state);
|
||||||
ui->toolButtonFindNext->setEnabled(state);
|
ui->toolButtonFindNext->setEnabled(state);
|
||||||
|
@ -687,21 +678,24 @@ void DialogHistory::InitSearch()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(ui->toolButtonCaseSensitive, &QToolButton::toggled, this, [this](bool checked)
|
connect(ui->toolButtonCaseSensitive, &QToolButton::toggled, this,
|
||||||
|
[this](bool checked)
|
||||||
{
|
{
|
||||||
m_search->SetMatchCase(checked);
|
m_search->SetMatchCase(checked);
|
||||||
m_search->Find(ui->lineEditFind->text());
|
m_search->Find(ui->lineEditFind->text());
|
||||||
ui->lineEditFind->setPlaceholderText(m_search->SearchPlaceholder());
|
ui->lineEditFind->setPlaceholderText(m_search->SearchPlaceholder());
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(ui->toolButtonWholeWord, &QToolButton::toggled, this, [this](bool checked)
|
connect(ui->toolButtonWholeWord, &QToolButton::toggled, this,
|
||||||
|
[this](bool checked)
|
||||||
{
|
{
|
||||||
m_search->SetMatchWord(checked);
|
m_search->SetMatchWord(checked);
|
||||||
m_search->Find(ui->lineEditFind->text());
|
m_search->Find(ui->lineEditFind->text());
|
||||||
ui->lineEditFind->setPlaceholderText(m_search->SearchPlaceholder());
|
ui->lineEditFind->setPlaceholderText(m_search->SearchPlaceholder());
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(ui->toolButtonRegexp, &QToolButton::toggled, this, [this](bool checked)
|
connect(ui->toolButtonRegexp, &QToolButton::toggled, this,
|
||||||
|
[this](bool checked)
|
||||||
{
|
{
|
||||||
m_search->SetMatchRegexp(checked);
|
m_search->SetMatchRegexp(checked);
|
||||||
|
|
||||||
|
@ -726,7 +720,8 @@ void DialogHistory::InitSearch()
|
||||||
ui->lineEditFind->setPlaceholderText(m_search->SearchPlaceholder());
|
ui->lineEditFind->setPlaceholderText(m_search->SearchPlaceholder());
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(ui->toolButtonUseUnicodeProperties, &QToolButton::toggled, this, [this](bool checked)
|
connect(ui->toolButtonUseUnicodeProperties, &QToolButton::toggled, this,
|
||||||
|
[this](bool checked)
|
||||||
{
|
{
|
||||||
m_search->SetUseUnicodePreperties(checked);
|
m_search->SetUseUnicodePreperties(checked);
|
||||||
m_search->Find(ui->lineEditFind->text());
|
m_search->Find(ui->lineEditFind->text());
|
||||||
|
@ -746,7 +741,8 @@ void DialogHistory::InitSearchHistory()
|
||||||
{
|
{
|
||||||
QAction *action = m_searchHistory->addAction(term);
|
QAction *action = m_searchHistory->addAction(term);
|
||||||
action->setData(term);
|
action->setData(term);
|
||||||
connect(action, &QAction::triggered, this, [this]()
|
connect(action, &QAction::triggered, this,
|
||||||
|
[this]()
|
||||||
{
|
{
|
||||||
auto *action = qobject_cast<QAction *>(sender());
|
auto *action = qobject_cast<QAction *>(sender());
|
||||||
if (action != nullptr)
|
if (action != nullptr)
|
||||||
|
|
|
@ -53,6 +53,7 @@ namespace Ui
|
||||||
class DialogHistory : public DialogTool
|
class DialogHistory : public DialogTool
|
||||||
{
|
{
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogHistory(VContainer *data, VPattern *doc, QWidget *parent = nullptr);
|
DialogHistory(VContainer *data, VPattern *doc, QWidget *parent = nullptr);
|
||||||
~DialogHistory() override;
|
~DialogHistory() override;
|
||||||
|
@ -72,11 +73,13 @@ signals:
|
||||||
* @param enable true enable selection, false disable selection
|
* @param enable true enable selection, false disable selection
|
||||||
*/
|
*/
|
||||||
void ShowHistoryTool(quint32 id, bool enable);
|
void ShowHistoryTool(quint32 id, bool enable);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void closeEvent(QCloseEvent *event) override;
|
void closeEvent(QCloseEvent *event) override;
|
||||||
void changeEvent(QEvent *event) override;
|
void changeEvent(QEvent *event) override;
|
||||||
auto IsValid() const -> bool final { return true; }
|
auto IsValid() const -> bool final { return true; }
|
||||||
void showEvent(QShowEvent *event) override;
|
void showEvent(QShowEvent *event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// cppcheck-suppress unknownMacro
|
// cppcheck-suppress unknownMacro
|
||||||
Q_DISABLE_COPY_MOVE(DialogHistory) // NOLINT
|
Q_DISABLE_COPY_MOVE(DialogHistory) // NOLINT
|
||||||
|
@ -84,9 +87,6 @@ private:
|
||||||
/** @brief ui keeps information about user interface */
|
/** @brief ui keeps information about user interface */
|
||||||
Ui::DialogHistory *ui;
|
Ui::DialogHistory *ui;
|
||||||
|
|
||||||
/** @brief doc dom document container */
|
|
||||||
VPattern *m_doc;
|
|
||||||
|
|
||||||
/** @brief cursorRow save number of row where is cursor */
|
/** @brief cursorRow save number of row where is cursor */
|
||||||
qint32 m_cursorRow{0};
|
qint32 m_cursorRow{0};
|
||||||
|
|
||||||
|
@ -98,8 +98,8 @@ private:
|
||||||
|
|
||||||
void FillTable();
|
void FillTable();
|
||||||
auto Record(const VToolRecord &tool) const -> HistoryRecord;
|
auto Record(const VToolRecord &tool) const -> HistoryRecord;
|
||||||
auto RecordDescription(const VToolRecord &tool, HistoryRecord record,
|
auto RecordDescription(const VToolRecord &tool, HistoryRecord record, const QDomElement &domElem) const
|
||||||
const QDomElement &domElem) const -> HistoryRecord;
|
-> HistoryRecord;
|
||||||
void InitialTable();
|
void InitialTable();
|
||||||
void ShowPoint();
|
void ShowPoint();
|
||||||
auto PointName(quint32 pointId) const -> QString;
|
auto PointName(quint32 pointId) const -> QString;
|
||||||
|
|
|
@ -75,7 +75,7 @@ enum class IncrUnits : qint8
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogIncrements::DialogIncrements(VContainer *data, VPattern *doc, QWidget *parent)
|
DialogIncrements::DialogIncrements(VContainer *data, VPattern *doc, QWidget *parent)
|
||||||
: DialogTool(data, NULL_ID, parent),
|
: DialogTool(data, doc, NULL_ID, parent),
|
||||||
ui(new Ui::DialogIncrements),
|
ui(new Ui::DialogIncrements),
|
||||||
m_data(data),
|
m_data(data),
|
||||||
m_doc(doc),
|
m_doc(doc),
|
||||||
|
|
|
@ -167,7 +167,7 @@ void VWidgetGroups::ActionPreferences(quint32 id)
|
||||||
QScopedPointer<VContainer> fackeContainer(new VContainer(VAbstractApplication::VApp()->TrVars(),
|
QScopedPointer<VContainer> fackeContainer(new VContainer(VAbstractApplication::VApp()->TrVars(),
|
||||||
VAbstractValApplication::VApp()->patternUnitsP(),
|
VAbstractValApplication::VApp()->patternUnitsP(),
|
||||||
VContainer::UniqueNamespace()));
|
VContainer::UniqueNamespace()));
|
||||||
QScopedPointer<DialogGroup> dialog(new DialogGroup(fackeContainer.data(), NULL_ID, this));
|
QScopedPointer<DialogGroup> dialog(new DialogGroup(fackeContainer.data(), m_doc, NULL_ID, this));
|
||||||
dialog->SetName(m_doc->GetGroupName(id));
|
dialog->SetName(m_doc->GetGroupName(id));
|
||||||
dialog->SetTags(m_doc->GetGroupTags(id));
|
dialog->SetTags(m_doc->GetGroupTags(id));
|
||||||
dialog->SetGroupCategories(m_doc->GetGroupCategories());
|
dialog->SetGroupCategories(m_doc->GetGroupCategories());
|
||||||
|
|
|
@ -865,7 +865,7 @@ void MainWindow::SetToolButton(bool checked, Tool t, const QString &cursor, cons
|
||||||
|
|
||||||
m_statusLabel->setText(toolTip);
|
m_statusLabel->setText(toolTip);
|
||||||
ui->view->setShowToolOptions(false);
|
ui->view->setShowToolOptions(false);
|
||||||
m_dialogTool = new Dialog(pattern, 0, this);
|
m_dialogTool = new Dialog(pattern, doc, 0, this);
|
||||||
|
|
||||||
// This check helps to find missed tools in the switch
|
// This check helps to find missed tools in the switch
|
||||||
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Check if need to extend.");
|
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Check if need to extend.");
|
||||||
|
|
|
@ -63,8 +63,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogAlongLine::DialogAlongLine(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogAlongLine::DialogAlongLine(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogAlongLine),
|
ui(new Ui::DialogAlongLine),
|
||||||
m_timerFormula(new QTimer(this))
|
m_timerFormula(new QTimer(this))
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogAlongLine final : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogAlongLine(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogAlongLine(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogAlongLine() override;
|
~DialogAlongLine() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -57,8 +57,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogArc::DialogArc(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogArc::DialogArc(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogArc),
|
ui(new Ui::DialogArc),
|
||||||
m_timerRadius(new QTimer(this)),
|
m_timerRadius(new QTimer(this)),
|
||||||
m_timerF1(new QTimer(this)),
|
m_timerF1(new QTimer(this)),
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogArc final : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogArc(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogArc(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogArc() override;
|
~DialogArc() override;
|
||||||
|
|
||||||
auto GetCenter() const -> quint32;
|
auto GetCenter() const -> quint32;
|
||||||
|
|
|
@ -52,8 +52,8 @@
|
||||||
#include "ui_dialogarcwithlength.h"
|
#include "ui_dialogarcwithlength.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogArcWithLength::DialogArcWithLength(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogArcWithLength::DialogArcWithLength(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogArcWithLength),
|
ui(new Ui::DialogArcWithLength),
|
||||||
m_timerRadius(new QTimer(this)),
|
m_timerRadius(new QTimer(this)),
|
||||||
m_timerF1(new QTimer(this)),
|
m_timerF1(new QTimer(this)),
|
||||||
|
|
|
@ -47,7 +47,7 @@ class DialogArcWithLength final : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogArcWithLength(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogArcWithLength(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogArcWithLength() override;
|
~DialogArcWithLength() override;
|
||||||
|
|
||||||
auto GetCenter() const -> quint32;
|
auto GetCenter() const -> quint32;
|
||||||
|
|
|
@ -60,8 +60,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogBisector::DialogBisector(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogBisector::DialogBisector(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogBisector),
|
ui(new Ui::DialogBisector),
|
||||||
m_timerFormula(new QTimer(this))
|
m_timerFormula(new QTimer(this))
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogBisector final : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogBisector(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogBisector(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogBisector() override;
|
~DialogBisector() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -44,8 +44,8 @@
|
||||||
#include "ui_dialogcubicbezier.h"
|
#include "ui_dialogcubicbezier.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogCubicBezier::DialogCubicBezier(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogCubicBezier::DialogCubicBezier(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogCubicBezier),
|
ui(new Ui::DialogCubicBezier),
|
||||||
spl(),
|
spl(),
|
||||||
newDuplicate(-1),
|
newDuplicate(-1),
|
||||||
|
|
|
@ -49,7 +49,7 @@ class DialogCubicBezier : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogCubicBezier(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogCubicBezier(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogCubicBezier() override;
|
~DialogCubicBezier() override;
|
||||||
|
|
||||||
auto GetSpline() const -> VCubicBezier;
|
auto GetSpline() const -> VCubicBezier;
|
||||||
|
|
|
@ -59,8 +59,9 @@
|
||||||
class QWidget;
|
class QWidget;
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogCubicBezierPath::DialogCubicBezierPath(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogCubicBezierPath::DialogCubicBezierPath(const VContainer *data, VAbstractPattern *doc, quint32 toolId,
|
||||||
: DialogTool(data, toolId, parent),
|
QWidget *parent)
|
||||||
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogCubicBezierPath),
|
ui(new Ui::DialogCubicBezierPath),
|
||||||
path(),
|
path(),
|
||||||
newDuplicate(-1),
|
newDuplicate(-1),
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogCubicBezierPath : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogCubicBezierPath(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogCubicBezierPath(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogCubicBezierPath() override;
|
~DialogCubicBezierPath() override;
|
||||||
|
|
||||||
auto GetPath() const -> VCubicBezierPath;
|
auto GetPath() const -> VCubicBezierPath;
|
||||||
|
|
|
@ -58,8 +58,9 @@
|
||||||
#include "ui_dialogcurveintersectaxis.h"
|
#include "ui_dialogcurveintersectaxis.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogCurveIntersectAxis::DialogCurveIntersectAxis(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogCurveIntersectAxis::DialogCurveIntersectAxis(const VContainer *data, VAbstractPattern *doc, quint32 toolId,
|
||||||
: DialogTool(data, toolId, parent),
|
QWidget *parent)
|
||||||
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogCurveIntersectAxis),
|
ui(new Ui::DialogCurveIntersectAxis),
|
||||||
formulaAngle(),
|
formulaAngle(),
|
||||||
formulaBaseHeightAngle(0),
|
formulaBaseHeightAngle(0),
|
||||||
|
|
|
@ -47,7 +47,7 @@ class DialogCurveIntersectAxis final : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogCurveIntersectAxis(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogCurveIntersectAxis(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogCurveIntersectAxis() override;
|
~DialogCurveIntersectAxis() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -56,8 +56,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogCutArc::DialogCutArc(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogCutArc::DialogCutArc(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogCutArc),
|
ui(new Ui::DialogCutArc),
|
||||||
m_timerFormula(new QTimer(this))
|
m_timerFormula(new QTimer(this))
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogCutArc final : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogCutArc(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogCutArc(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogCutArc() override;
|
~DialogCutArc() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -56,8 +56,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogCutSpline::DialogCutSpline(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogCutSpline::DialogCutSpline(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogCutSpline),
|
ui(new Ui::DialogCutSpline),
|
||||||
m_timerFormula(new QTimer(this))
|
m_timerFormula(new QTimer(this))
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogCutSpline final : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogCutSpline(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogCutSpline(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogCutSpline() override;
|
~DialogCutSpline() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -56,8 +56,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogCutSplinePath::DialogCutSplinePath(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogCutSplinePath::DialogCutSplinePath(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogCutSplinePath),
|
ui(new Ui::DialogCutSplinePath),
|
||||||
m_timerFormula(new QTimer(this))
|
m_timerFormula(new QTimer(this))
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogCutSplinePath final : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogCutSplinePath(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogCutSplinePath(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogCutSplinePath() override;
|
~DialogCutSplinePath() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -57,8 +57,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogEllipticalArc::DialogEllipticalArc(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogEllipticalArc::DialogEllipticalArc(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogEllipticalArc),
|
ui(new Ui::DialogEllipticalArc),
|
||||||
m_timerRadius1(new QTimer(this)),
|
m_timerRadius1(new QTimer(this)),
|
||||||
m_timerRadius2(new QTimer(this)),
|
m_timerRadius2(new QTimer(this)),
|
||||||
|
|
|
@ -47,7 +47,7 @@ class DialogEllipticalArc : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogEllipticalArc(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogEllipticalArc(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogEllipticalArc() override;
|
~DialogEllipticalArc() override;
|
||||||
|
|
||||||
auto GetCenter() const -> quint32;
|
auto GetCenter() const -> quint32;
|
||||||
|
|
|
@ -61,8 +61,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogEndLine::DialogEndLine(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogEndLine::DialogEndLine(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogEndLine),
|
ui(new Ui::DialogEndLine),
|
||||||
formulaLength(),
|
formulaLength(),
|
||||||
formulaAngle(),
|
formulaAngle(),
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogEndLine : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogEndLine(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogEndLine(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogEndLine() override;
|
~DialogEndLine() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -59,8 +59,9 @@
|
||||||
#include "ui_dialogflippingbyaxis.h"
|
#include "ui_dialogflippingbyaxis.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogFlippingByAxis::DialogFlippingByAxis(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogFlippingByAxis::DialogFlippingByAxis(const VContainer *data, VAbstractPattern *doc, quint32 toolId,
|
||||||
: DialogTool(data, toolId, parent),
|
QWidget *parent)
|
||||||
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogFlippingByAxis),
|
ui(new Ui::DialogFlippingByAxis),
|
||||||
stage1(true),
|
stage1(true),
|
||||||
m_suffix(),
|
m_suffix(),
|
||||||
|
|
|
@ -51,7 +51,7 @@ class DialogFlippingByAxis : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogFlippingByAxis(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogFlippingByAxis(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogFlippingByAxis() override;
|
~DialogFlippingByAxis() override;
|
||||||
|
|
||||||
auto GetOriginPointId() const -> quint32;
|
auto GetOriginPointId() const -> quint32;
|
||||||
|
|
|
@ -58,8 +58,9 @@
|
||||||
#include "ui_dialogflippingbyline.h"
|
#include "ui_dialogflippingbyline.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogFlippingByLine::DialogFlippingByLine(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogFlippingByLine::DialogFlippingByLine(const VContainer *data, VAbstractPattern *doc, quint32 toolId,
|
||||||
: DialogTool(data, toolId, parent),
|
QWidget *parent)
|
||||||
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogFlippingByLine),
|
ui(new Ui::DialogFlippingByLine),
|
||||||
stage1(true),
|
stage1(true),
|
||||||
m_suffix(),
|
m_suffix(),
|
||||||
|
|
|
@ -51,7 +51,7 @@ class DialogFlippingByLine : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogFlippingByLine(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogFlippingByLine(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogFlippingByLine() override;
|
~DialogFlippingByLine() override;
|
||||||
|
|
||||||
auto GetFirstLinePointId() const -> quint32;
|
auto GetFirstLinePointId() const -> quint32;
|
||||||
|
|
|
@ -34,8 +34,8 @@
|
||||||
#include "ui_dialoggroup.h"
|
#include "ui_dialoggroup.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogGroup::DialogGroup(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogGroup::DialogGroup(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogGroup),
|
ui(new Ui::DialogGroup),
|
||||||
group(),
|
group(),
|
||||||
flagName(false)
|
flagName(false)
|
||||||
|
|
|
@ -47,7 +47,7 @@ class DialogGroup : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogGroup(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogGroup(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogGroup() override;
|
~DialogGroup() override;
|
||||||
|
|
||||||
void SetName(const QString &name);
|
void SetName(const QString &name);
|
||||||
|
|
|
@ -56,8 +56,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogHeight::DialogHeight(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogHeight::DialogHeight(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogHeight)
|
ui(new Ui::DialogHeight)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogHeight final : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogHeight(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogHeight(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogHeight() override;
|
~DialogHeight() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -48,8 +48,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogLine::DialogLine(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogLine::DialogLine(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogLine),
|
ui(new Ui::DialogLine),
|
||||||
flagError(true)
|
flagError(true)
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogLine : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogLine(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogLine(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogLine() override;
|
~DialogLine() override;
|
||||||
|
|
||||||
auto GetFirstPoint() const -> quint32;
|
auto GetFirstPoint() const -> quint32;
|
||||||
|
|
|
@ -41,8 +41,8 @@
|
||||||
#include <QSharedPointer>
|
#include <QSharedPointer>
|
||||||
#include <new>
|
#include <new>
|
||||||
|
|
||||||
#include "../../visualization/visualization.h"
|
|
||||||
#include "../../visualization/line/vistoollineintersect.h"
|
#include "../../visualization/line/vistoollineintersect.h"
|
||||||
|
#include "../../visualization/visualization.h"
|
||||||
#include "../ifc/xml/vabstractpattern.h"
|
#include "../ifc/xml/vabstractpattern.h"
|
||||||
#include "../vgeometry/vpointf.h"
|
#include "../vgeometry/vpointf.h"
|
||||||
#include "../vmisc/compatibility.h"
|
#include "../vmisc/compatibility.h"
|
||||||
|
@ -59,8 +59,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogLineIntersect::DialogLineIntersect(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogLineIntersect::DialogLineIntersect(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogLineIntersect),
|
ui(new Ui::DialogLineIntersect),
|
||||||
pointName(),
|
pointName(),
|
||||||
flagError(true),
|
flagError(true),
|
||||||
|
@ -81,19 +81,16 @@ DialogLineIntersect::DialogLineIntersect(const VContainer *data, quint32 toolId,
|
||||||
FillComboBoxPoints(ui->comboBoxP1Line2);
|
FillComboBoxPoints(ui->comboBoxP1Line2);
|
||||||
FillComboBoxPoints(ui->comboBoxP2Line2);
|
FillComboBoxPoints(ui->comboBoxP2Line2);
|
||||||
|
|
||||||
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, [this]()
|
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this,
|
||||||
|
[this]()
|
||||||
{
|
{
|
||||||
CheckPointLabel(this, ui->lineEditNamePoint, ui->labelEditNamePoint, pointName, this->data, flagName);
|
CheckPointLabel(this, ui->lineEditNamePoint, ui->labelEditNamePoint, pointName, this->data, flagName);
|
||||||
CheckState();
|
CheckState();
|
||||||
});
|
});
|
||||||
connect(ui->comboBoxP1Line1, &QComboBox::currentTextChanged,
|
connect(ui->comboBoxP1Line1, &QComboBox::currentTextChanged, this, &DialogLineIntersect::PointNameChanged);
|
||||||
this, &DialogLineIntersect::PointNameChanged);
|
connect(ui->comboBoxP2Line1, &QComboBox::currentTextChanged, this, &DialogLineIntersect::PointNameChanged);
|
||||||
connect(ui->comboBoxP2Line1, &QComboBox::currentTextChanged,
|
connect(ui->comboBoxP1Line2, &QComboBox::currentTextChanged, this, &DialogLineIntersect::PointNameChanged);
|
||||||
this, &DialogLineIntersect::PointNameChanged);
|
connect(ui->comboBoxP2Line2, &QComboBox::currentTextChanged, this, &DialogLineIntersect::PointNameChanged);
|
||||||
connect(ui->comboBoxP1Line2, &QComboBox::currentTextChanged,
|
|
||||||
this, &DialogLineIntersect::PointNameChanged);
|
|
||||||
connect(ui->comboBoxP2Line2, &QComboBox::currentTextChanged,
|
|
||||||
this, &DialogLineIntersect::PointNameChanged);
|
|
||||||
|
|
||||||
vis = new VisToolLineIntersect(data);
|
vis = new VisToolLineIntersect(data);
|
||||||
|
|
||||||
|
@ -248,7 +245,6 @@ void DialogLineIntersect::PointNameChanged()
|
||||||
QPointF fPoint;
|
QPointF fPoint;
|
||||||
QLineF::IntersectType intersect = Intersects(line1, line2, &fPoint);
|
QLineF::IntersectType intersect = Intersects(line1, line2, &fPoint);
|
||||||
|
|
||||||
|
|
||||||
flagError = not(set.size() < 3 || intersect == QLineF::NoIntersection);
|
flagError = not(set.size() < 3 || intersect == QLineF::NoIntersection);
|
||||||
color = flagError ? OkColor(this) : errorColor;
|
color = flagError ? OkColor(this) : errorColor;
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogLineIntersect : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogLineIntersect(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogLineIntersect(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogLineIntersect() override;
|
~DialogLineIntersect() override;
|
||||||
|
|
||||||
auto GetP1Line1() const -> quint32;
|
auto GetP1Line1() const -> quint32;
|
||||||
|
|
|
@ -60,8 +60,9 @@
|
||||||
#include "ui_dialoglineintersectaxis.h"
|
#include "ui_dialoglineintersectaxis.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogLineIntersectAxis::DialogLineIntersectAxis(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogLineIntersectAxis::DialogLineIntersectAxis(const VContainer *data, VAbstractPattern *doc, quint32 toolId,
|
||||||
: DialogTool(data, toolId, parent),
|
QWidget *parent)
|
||||||
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogLineIntersectAxis),
|
ui(new Ui::DialogLineIntersectAxis),
|
||||||
formulaAngle(),
|
formulaAngle(),
|
||||||
formulaBaseHeightAngle(0),
|
formulaBaseHeightAngle(0),
|
||||||
|
|
|
@ -47,7 +47,7 @@ class DialogLineIntersectAxis : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogLineIntersectAxis(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogLineIntersectAxis(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogLineIntersectAxis() override;
|
~DialogLineIntersectAxis() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -68,8 +68,8 @@
|
||||||
#endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
|
#endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogMove::DialogMove(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogMove::DialogMove(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogMove),
|
ui(new Ui::DialogMove),
|
||||||
timerAngle(new QTimer(this)),
|
timerAngle(new QTimer(this)),
|
||||||
timerRotationAngle(new QTimer(this)),
|
timerRotationAngle(new QTimer(this)),
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogMove : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogMove(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogMove(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogMove() override;
|
~DialogMove() override;
|
||||||
|
|
||||||
auto GetAngle() const -> QString;
|
auto GetAngle() const -> QString;
|
||||||
|
|
|
@ -60,8 +60,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogNormal::DialogNormal(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogNormal::DialogNormal(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogNormal),
|
ui(new Ui::DialogNormal),
|
||||||
m_timerFormula(new QTimer(this))
|
m_timerFormula(new QTimer(this))
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogNormal : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogNormal(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogNormal(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogNormal() override;
|
~DialogNormal() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -32,14 +32,15 @@
|
||||||
#include <QLineEdit>
|
#include <QLineEdit>
|
||||||
#include <QPointer>
|
#include <QPointer>
|
||||||
|
|
||||||
#include "../../visualization/visualization.h"
|
|
||||||
#include "../../visualization/line/vistoolpointfromarcandtangent.h"
|
#include "../../visualization/line/vistoolpointfromarcandtangent.h"
|
||||||
|
#include "../../visualization/visualization.h"
|
||||||
#include "dialogtool.h"
|
#include "dialogtool.h"
|
||||||
#include "ui_dialogpointfromarcandtangent.h"
|
#include "ui_dialogpointfromarcandtangent.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogPointFromArcAndTangent::DialogPointFromArcAndTangent(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogPointFromArcAndTangent::DialogPointFromArcAndTangent(const VContainer *data, VAbstractPattern *doc,
|
||||||
: DialogTool(data, toolId, parent),
|
quint32 toolId, QWidget *parent)
|
||||||
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogPointFromArcAndTangent),
|
ui(new Ui::DialogPointFromArcAndTangent),
|
||||||
pointName(),
|
pointName(),
|
||||||
flagName(true)
|
flagName(true)
|
||||||
|
@ -57,7 +58,8 @@ DialogPointFromArcAndTangent::DialogPointFromArcAndTangent(const VContainer *dat
|
||||||
FillComboBoxArcs(ui->comboBoxArc);
|
FillComboBoxArcs(ui->comboBoxArc);
|
||||||
FillComboBoxCrossCirclesPoints(ui->comboBoxResult);
|
FillComboBoxCrossCirclesPoints(ui->comboBoxResult);
|
||||||
|
|
||||||
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, [this]()
|
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this,
|
||||||
|
[this]()
|
||||||
{
|
{
|
||||||
CheckPointLabel(this, ui->lineEditNamePoint, ui->labelEditNamePoint, pointName, this->data, flagName);
|
CheckPointLabel(this, ui->lineEditNamePoint, ui->labelEditNamePoint, pointName, this->data, flagName);
|
||||||
CheckState();
|
CheckState();
|
||||||
|
|
|
@ -48,7 +48,8 @@ class DialogPointFromArcAndTangent : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogPointFromArcAndTangent(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogPointFromArcAndTangent(const VContainer *data, VAbstractPattern *doc, quint32 toolId,
|
||||||
|
QWidget *parent = nullptr);
|
||||||
~DialogPointFromArcAndTangent() override;
|
~DialogPointFromArcAndTangent() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -53,9 +53,9 @@
|
||||||
#include "ui_dialogpointfromcircleandtangent.h"
|
#include "ui_dialogpointfromcircleandtangent.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogPointFromCircleAndTangent::DialogPointFromCircleAndTangent(const VContainer *data, quint32 toolId,
|
DialogPointFromCircleAndTangent::DialogPointFromCircleAndTangent(const VContainer *data, VAbstractPattern *doc,
|
||||||
QWidget *parent)
|
quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogPointFromCircleAndTangent)
|
ui(new Ui::DialogPointFromCircleAndTangent)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
|
@ -48,7 +48,7 @@ class DialogPointFromCircleAndTangent : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogPointFromCircleAndTangent(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogPointFromCircleAndTangent(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogPointFromCircleAndTangent() override;
|
~DialogPointFromCircleAndTangent() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -59,8 +59,9 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogPointOfContact::DialogPointOfContact(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogPointOfContact::DialogPointOfContact(const VContainer *data, VAbstractPattern *doc, quint32 toolId,
|
||||||
: DialogTool(data, toolId, parent),
|
QWidget *parent)
|
||||||
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogPointOfContact),
|
ui(new Ui::DialogPointOfContact),
|
||||||
m_timerFormula(new QTimer(this))
|
m_timerFormula(new QTimer(this))
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogPointOfContact : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogPointOfContact(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogPointOfContact(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogPointOfContact() override;
|
~DialogPointOfContact() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -34,8 +34,8 @@
|
||||||
#include <QLineEdit>
|
#include <QLineEdit>
|
||||||
#include <QPointer>
|
#include <QPointer>
|
||||||
|
|
||||||
#include "../../visualization/visualization.h"
|
|
||||||
#include "../../visualization/line/vistoolpointofintersection.h"
|
#include "../../visualization/line/vistoolpointofintersection.h"
|
||||||
|
#include "../../visualization/visualization.h"
|
||||||
#include "../ifc/xml/vabstractpattern.h"
|
#include "../ifc/xml/vabstractpattern.h"
|
||||||
#include "dialogtool.h"
|
#include "dialogtool.h"
|
||||||
#include "ui_dialogpointofintersection.h"
|
#include "ui_dialogpointofintersection.h"
|
||||||
|
@ -46,8 +46,9 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogPointOfIntersection::DialogPointOfIntersection(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogPointOfIntersection::DialogPointOfIntersection(const VContainer *data, VAbstractPattern *doc, quint32 toolId,
|
||||||
: DialogTool(data, toolId, parent),
|
QWidget *parent)
|
||||||
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogPointOfIntersection),
|
ui(new Ui::DialogPointOfIntersection),
|
||||||
pointName(),
|
pointName(),
|
||||||
flagName(true),
|
flagName(true),
|
||||||
|
@ -65,15 +66,15 @@ DialogPointOfIntersection::DialogPointOfIntersection(const VContainer *data, qui
|
||||||
FillComboBoxPoints(ui->comboBoxFirstPoint);
|
FillComboBoxPoints(ui->comboBoxFirstPoint);
|
||||||
FillComboBoxPoints(ui->comboBoxSecondPoint);
|
FillComboBoxPoints(ui->comboBoxSecondPoint);
|
||||||
|
|
||||||
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, [this]()
|
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this,
|
||||||
|
[this]()
|
||||||
{
|
{
|
||||||
CheckPointLabel(this, ui->lineEditNamePoint, ui->labelEditNamePoint, pointName, this->data, flagName);
|
CheckPointLabel(this, ui->lineEditNamePoint, ui->labelEditNamePoint, pointName, this->data, flagName);
|
||||||
CheckState();
|
CheckState();
|
||||||
});
|
});
|
||||||
connect(ui->comboBoxFirstPoint, &QComboBox::currentTextChanged,
|
connect(ui->comboBoxFirstPoint, &QComboBox::currentTextChanged, this, &DialogPointOfIntersection::PointNameChanged);
|
||||||
this, &DialogPointOfIntersection::PointNameChanged);
|
connect(ui->comboBoxSecondPoint, &QComboBox::currentTextChanged, this,
|
||||||
connect(ui->comboBoxSecondPoint, &QComboBox::currentTextChanged,
|
&DialogPointOfIntersection::PointNameChanged);
|
||||||
this, &DialogPointOfIntersection::PointNameChanged);
|
|
||||||
|
|
||||||
vis = new VisToolPointOfIntersection(data);
|
vis = new VisToolPointOfIntersection(data);
|
||||||
vis->VisualMode(NULL_ID); // Show vertical axis
|
vis->VisualMode(NULL_ID); // Show vertical axis
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogPointOfIntersection : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogPointOfIntersection(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogPointOfIntersection(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogPointOfIntersection() override;
|
~DialogPointOfIntersection() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -34,15 +34,15 @@
|
||||||
#include <QLineEdit>
|
#include <QLineEdit>
|
||||||
#include <QPointer>
|
#include <QPointer>
|
||||||
|
|
||||||
#include "../../visualization/visualization.h"
|
|
||||||
#include "../../visualization/line/vistoolpointofintersectionarcs.h"
|
#include "../../visualization/line/vistoolpointofintersectionarcs.h"
|
||||||
#include "../vmisc/vabstractapplication.h"
|
#include "../../visualization/visualization.h"
|
||||||
#include "dialogtool.h"
|
#include "dialogtool.h"
|
||||||
#include "ui_dialogpointofintersectionarcs.h"
|
#include "ui_dialogpointofintersectionarcs.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogPointOfIntersectionArcs::DialogPointOfIntersectionArcs(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogPointOfIntersectionArcs::DialogPointOfIntersectionArcs(const VContainer *data, VAbstractPattern *doc,
|
||||||
: DialogTool(data, toolId, parent),
|
quint32 toolId, QWidget *parent)
|
||||||
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogPointOfIntersectionArcs),
|
ui(new Ui::DialogPointOfIntersectionArcs),
|
||||||
pointName(),
|
pointName(),
|
||||||
flagName(true),
|
flagName(true),
|
||||||
|
@ -61,15 +61,14 @@ DialogPointOfIntersectionArcs::DialogPointOfIntersectionArcs(const VContainer *d
|
||||||
FillComboBoxArcs(ui->comboBoxArc2);
|
FillComboBoxArcs(ui->comboBoxArc2);
|
||||||
FillComboBoxCrossCirclesPoints(ui->comboBoxResult);
|
FillComboBoxCrossCirclesPoints(ui->comboBoxResult);
|
||||||
|
|
||||||
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, [this]()
|
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this,
|
||||||
|
[this]()
|
||||||
{
|
{
|
||||||
CheckPointLabel(this, ui->lineEditNamePoint, ui->labelEditNamePoint, pointName, this->data, flagName);
|
CheckPointLabel(this, ui->lineEditNamePoint, ui->labelEditNamePoint, pointName, this->data, flagName);
|
||||||
CheckState();
|
CheckState();
|
||||||
});
|
});
|
||||||
connect(ui->comboBoxArc1, &QComboBox::currentTextChanged,
|
connect(ui->comboBoxArc1, &QComboBox::currentTextChanged, this, &DialogPointOfIntersectionArcs::ArcChanged);
|
||||||
this, &DialogPointOfIntersectionArcs::ArcChanged);
|
connect(ui->comboBoxArc1, &QComboBox::currentTextChanged, this, &DialogPointOfIntersectionArcs::ArcChanged);
|
||||||
connect(ui->comboBoxArc1, &QComboBox::currentTextChanged,
|
|
||||||
this, &DialogPointOfIntersectionArcs::ArcChanged);
|
|
||||||
|
|
||||||
vis = new VisToolPointOfIntersectionArcs(data);
|
vis = new VisToolPointOfIntersectionArcs(data);
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,8 @@ class DialogPointOfIntersectionArcs : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogPointOfIntersectionArcs(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogPointOfIntersectionArcs(const VContainer *data, VAbstractPattern *doc, quint32 toolId,
|
||||||
|
QWidget *parent = nullptr);
|
||||||
~DialogPointOfIntersectionArcs() override;
|
~DialogPointOfIntersectionArcs() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -53,9 +53,9 @@
|
||||||
#include "ui_dialogpointofintersectioncircles.h"
|
#include "ui_dialogpointofintersectioncircles.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogPointOfIntersectionCircles::DialogPointOfIntersectionCircles(const VContainer *data, quint32 toolId,
|
DialogPointOfIntersectionCircles::DialogPointOfIntersectionCircles(const VContainer *data, VAbstractPattern *doc,
|
||||||
QWidget *parent)
|
quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogPointOfIntersectionCircles),
|
ui(new Ui::DialogPointOfIntersectionCircles),
|
||||||
m_timerCircle1Radius(new QTimer(this)),
|
m_timerCircle1Radius(new QTimer(this)),
|
||||||
m_timerCircle2Radius(new QTimer(this))
|
m_timerCircle2Radius(new QTimer(this))
|
||||||
|
|
|
@ -48,7 +48,7 @@ class DialogPointOfIntersectionCircles : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogPointOfIntersectionCircles(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogPointOfIntersectionCircles(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogPointOfIntersectionCircles() override;
|
~DialogPointOfIntersectionCircles() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -37,16 +37,15 @@
|
||||||
|
|
||||||
#include "../../visualization/path/vistoolpointofintersectioncurves.h"
|
#include "../../visualization/path/vistoolpointofintersectioncurves.h"
|
||||||
#include "../../visualization/visualization.h"
|
#include "../../visualization/visualization.h"
|
||||||
#include "../vmisc/vabstractapplication.h"
|
|
||||||
#include "../qmuparser/qmudef.h"
|
|
||||||
#include "../dialogtoolbox.h"
|
#include "../dialogtoolbox.h"
|
||||||
|
#include "../qmuparser/qmudef.h"
|
||||||
#include "../vpatterndb/vcontainer.h"
|
#include "../vpatterndb/vcontainer.h"
|
||||||
#include "ui_dialogpointofintersectioncurves.h"
|
#include "ui_dialogpointofintersectioncurves.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogPointOfIntersectionCurves::DialogPointOfIntersectionCurves(const VContainer *data, quint32 toolId,
|
DialogPointOfIntersectionCurves::DialogPointOfIntersectionCurves(const VContainer *data, VAbstractPattern *doc,
|
||||||
QWidget *parent)
|
quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogPointOfIntersectionCurves),
|
ui(new Ui::DialogPointOfIntersectionCurves),
|
||||||
pointName(),
|
pointName(),
|
||||||
flagName(false),
|
flagName(false),
|
||||||
|
@ -56,7 +55,8 @@ DialogPointOfIntersectionCurves::DialogPointOfIntersectionCurves(const VContaine
|
||||||
|
|
||||||
ui->lineEditNamePoint->setClearButtonEnabled(true);
|
ui->lineEditNamePoint->setClearButtonEnabled(true);
|
||||||
|
|
||||||
ui->lineEditNamePoint->setText(VAbstractValApplication::VApp()->getCurrentDocument()->GenerateLabel(LabelType::NewLabel));
|
ui->lineEditNamePoint->setText(
|
||||||
|
VAbstractValApplication::VApp()->getCurrentDocument()->GenerateLabel(LabelType::NewLabel));
|
||||||
|
|
||||||
InitOkCancelApply(ui);
|
InitOkCancelApply(ui);
|
||||||
|
|
||||||
|
@ -65,15 +65,14 @@ DialogPointOfIntersectionCurves::DialogPointOfIntersectionCurves(const VContaine
|
||||||
FillComboBoxVCrossCurvesPoint(ui->comboBoxVCorrection);
|
FillComboBoxVCrossCurvesPoint(ui->comboBoxVCorrection);
|
||||||
FillComboBoxHCrossCurvesPoint(ui->comboBoxHCorrection);
|
FillComboBoxHCrossCurvesPoint(ui->comboBoxHCorrection);
|
||||||
|
|
||||||
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, [this]()
|
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this,
|
||||||
|
[this]()
|
||||||
{
|
{
|
||||||
CheckPointLabel(this, ui->lineEditNamePoint, ui->labelEditNamePoint, pointName, this->data, flagName);
|
CheckPointLabel(this, ui->lineEditNamePoint, ui->labelEditNamePoint, pointName, this->data, flagName);
|
||||||
CheckState();
|
CheckState();
|
||||||
});
|
});
|
||||||
connect(ui->comboBoxCurve1, &QComboBox::currentTextChanged,
|
connect(ui->comboBoxCurve1, &QComboBox::currentTextChanged, this, &DialogPointOfIntersectionCurves::CurveChanged);
|
||||||
this, &DialogPointOfIntersectionCurves::CurveChanged);
|
connect(ui->comboBoxCurve2, &QComboBox::currentTextChanged, this, &DialogPointOfIntersectionCurves::CurveChanged);
|
||||||
connect(ui->comboBoxCurve2, &QComboBox::currentTextChanged,
|
|
||||||
this, &DialogPointOfIntersectionCurves::CurveChanged);
|
|
||||||
connect(ui->lineEditCurve1Alias1, &QLineEdit::textEdited, this, &DialogPointOfIntersectionCurves::ValidateAlias);
|
connect(ui->lineEditCurve1Alias1, &QLineEdit::textEdited, this, &DialogPointOfIntersectionCurves::ValidateAlias);
|
||||||
connect(ui->lineEditCurve1Alias2, &QLineEdit::textEdited, this, &DialogPointOfIntersectionCurves::ValidateAlias);
|
connect(ui->lineEditCurve1Alias2, &QLineEdit::textEdited, this, &DialogPointOfIntersectionCurves::ValidateAlias);
|
||||||
connect(ui->lineEditCurve2Alias1, &QLineEdit::textEdited, this, &DialogPointOfIntersectionCurves::ValidateAlias);
|
connect(ui->lineEditCurve2Alias1, &QLineEdit::textEdited, this, &DialogPointOfIntersectionCurves::ValidateAlias);
|
||||||
|
@ -181,10 +180,8 @@ void DialogPointOfIntersectionCurves::ChosenObject(quint32 id, const SceneObject
|
||||||
{
|
{
|
||||||
if (prepare == false) // After first choose we ignore all objects
|
if (prepare == false) // After first choose we ignore all objects
|
||||||
{
|
{
|
||||||
if (type == SceneObject::Spline
|
if (type == SceneObject::Spline || type == SceneObject::Arc || type == SceneObject::ElArc ||
|
||||||
|| type == SceneObject::Arc
|
type == SceneObject::SplinePath)
|
||||||
|| type == SceneObject::ElArc
|
|
||||||
|| type == SceneObject::SplinePath)
|
|
||||||
{
|
{
|
||||||
auto *point = qobject_cast<VisToolPointOfIntersectionCurves *>(vis);
|
auto *point = qobject_cast<VisToolPointOfIntersectionCurves *>(vis);
|
||||||
SCASSERT(point != nullptr)
|
SCASSERT(point != nullptr)
|
||||||
|
@ -264,12 +261,12 @@ void DialogPointOfIntersectionCurves::ValidateAlias()
|
||||||
QRegularExpression rx(NameRegExp());
|
QRegularExpression rx(NameRegExp());
|
||||||
|
|
||||||
const QSharedPointer<VAbstractCurve> curve1 = data->GeometricObject<VAbstractCurve>(GetFirstCurveId());
|
const QSharedPointer<VAbstractCurve> curve1 = data->GeometricObject<VAbstractCurve>(GetFirstCurveId());
|
||||||
QPair<QString, QString> curve1Alias = SegmentAliases(curve1->getType(), GetCurve1AliasSuffix1(),
|
QPair<QString, QString> curve1Alias =
|
||||||
GetCurve1AliasSuffix2());
|
SegmentAliases(curve1->getType(), GetCurve1AliasSuffix1(), GetCurve1AliasSuffix2());
|
||||||
|
|
||||||
const QSharedPointer<VAbstractCurve> curve2 = data->GeometricObject<VAbstractCurve>(GetSecondCurveId());
|
const QSharedPointer<VAbstractCurve> curve2 = data->GeometricObject<VAbstractCurve>(GetSecondCurveId());
|
||||||
QPair<QString, QString> curve2Alias = SegmentAliases(curve2->getType(), GetCurve2AliasSuffix1(),
|
QPair<QString, QString> curve2Alias =
|
||||||
GetCurve2AliasSuffix2());
|
SegmentAliases(curve2->getType(), GetCurve2AliasSuffix1(), GetCurve2AliasSuffix2());
|
||||||
|
|
||||||
QSet<QString> uniqueAliases;
|
QSet<QString> uniqueAliases;
|
||||||
int countAliases = 0;
|
int countAliases = 0;
|
||||||
|
|
|
@ -48,7 +48,8 @@ class DialogPointOfIntersectionCurves : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogPointOfIntersectionCurves(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogPointOfIntersectionCurves(const VContainer *data, VAbstractPattern *doc, quint32 toolId,
|
||||||
|
QWidget *parent = nullptr);
|
||||||
~DialogPointOfIntersectionCurves() override;
|
~DialogPointOfIntersectionCurves() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -70,8 +70,8 @@
|
||||||
#endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
|
#endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogRotation::DialogRotation(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogRotation::DialogRotation(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogRotation),
|
ui(new Ui::DialogRotation),
|
||||||
timerAngle(new QTimer(this)),
|
timerAngle(new QTimer(this)),
|
||||||
formulaAngle(),
|
formulaAngle(),
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogRotation : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogRotation(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogRotation(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogRotation() override;
|
~DialogRotation() override;
|
||||||
|
|
||||||
auto GetOrigPointId() const -> quint32;
|
auto GetOrigPointId() const -> quint32;
|
||||||
|
|
|
@ -59,8 +59,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogShoulderPoint::DialogShoulderPoint(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogShoulderPoint::DialogShoulderPoint(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogShoulderPoint),
|
ui(new Ui::DialogShoulderPoint),
|
||||||
m_timerFormula(new QTimer(this))
|
m_timerFormula(new QTimer(this))
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogShoulderPoint : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogShoulderPoint(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogShoulderPoint(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogShoulderPoint() override;
|
~DialogShoulderPoint() override;
|
||||||
|
|
||||||
auto GetPointName() const -> QString;
|
auto GetPointName() const -> QString;
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
#include <QLineEdit>
|
#include <QLineEdit>
|
||||||
|
|
||||||
#include "../vmisc/def.h"
|
#include "../vmisc/def.h"
|
||||||
#include "../vmisc/vabstractapplication.h"
|
|
||||||
#include "dialogtool.h"
|
#include "dialogtool.h"
|
||||||
#include "ui_dialogsinglepoint.h"
|
#include "ui_dialogsinglepoint.h"
|
||||||
|
|
||||||
|
@ -42,8 +41,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogSinglePoint::DialogSinglePoint(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogSinglePoint::DialogSinglePoint(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogSinglePoint),
|
ui(new Ui::DialogSinglePoint),
|
||||||
point(),
|
point(),
|
||||||
pointName(),
|
pointName(),
|
||||||
|
@ -57,7 +56,8 @@ DialogSinglePoint::DialogSinglePoint(const VContainer *data, quint32 toolId, QWi
|
||||||
ui->doubleSpinBoxY->setRange(0, VAbstractValApplication::VApp()->fromPixel(maxSceneSize));
|
ui->doubleSpinBoxY->setRange(0, VAbstractValApplication::VApp()->fromPixel(maxSceneSize));
|
||||||
InitOkCancel(ui);
|
InitOkCancel(ui);
|
||||||
|
|
||||||
connect(ui->lineEditName, &QLineEdit::textChanged, this, [this]()
|
connect(ui->lineEditName, &QLineEdit::textChanged, this,
|
||||||
|
[this]()
|
||||||
{
|
{
|
||||||
CheckPointLabel(this, ui->lineEditName, ui->labelEditName, pointName, this->data, flagName);
|
CheckPointLabel(this, ui->lineEditName, ui->labelEditName, pointName, this->data, flagName);
|
||||||
CheckState();
|
CheckState();
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogSinglePoint : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogSinglePoint(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogSinglePoint(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogSinglePoint() override;
|
~DialogSinglePoint() override;
|
||||||
|
|
||||||
void SetData(const QString &name, const QPointF &point);
|
void SetData(const QString &name, const QPointF &point);
|
||||||
|
|
|
@ -62,8 +62,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogSpline::DialogSpline(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogSpline::DialogSpline(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogSpline),
|
ui(new Ui::DialogSpline),
|
||||||
timerAngle1(new QTimer(this)),
|
timerAngle1(new QTimer(this)),
|
||||||
timerAngle2(new QTimer(this)),
|
timerAngle2(new QTimer(this)),
|
||||||
|
|
|
@ -52,7 +52,7 @@ class DialogSpline : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogSpline(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogSpline(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogSpline() override;
|
~DialogSpline() override;
|
||||||
|
|
||||||
auto GetSpline() const -> VSpline;
|
auto GetSpline() const -> VSpline;
|
||||||
|
|
|
@ -72,8 +72,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogSplinePath::DialogSplinePath(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogSplinePath::DialogSplinePath(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogSplinePath),
|
ui(new Ui::DialogSplinePath),
|
||||||
path(),
|
path(),
|
||||||
newDuplicate(-1),
|
newDuplicate(-1),
|
||||||
|
|
|
@ -53,7 +53,7 @@ class DialogSplinePath : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogSplinePath(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogSplinePath(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogSplinePath() override;
|
~DialogSplinePath() override;
|
||||||
|
|
||||||
auto GetPath() const -> VSplinePath;
|
auto GetPath() const -> VSplinePath;
|
||||||
|
|
|
@ -84,16 +84,21 @@ QT_WARNING_POP
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogTool::DialogTool(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogTool::DialogTool(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: QDialog(parent),
|
: QDialog(parent),
|
||||||
data(data),
|
data(data),
|
||||||
|
m_doc(doc),
|
||||||
isInitialized(false),
|
isInitialized(false),
|
||||||
bOk(nullptr),
|
bOk(nullptr),
|
||||||
bApply(nullptr),
|
bApply(nullptr),
|
||||||
associatedTool(nullptr),
|
associatedTool(nullptr),
|
||||||
toolId(toolId),
|
toolId(toolId),
|
||||||
prepare(false),
|
prepare(false),
|
||||||
vis(nullptr){SCASSERT(data != nullptr)}
|
vis(nullptr)
|
||||||
|
{
|
||||||
|
SCASSERT(data != nullptr);
|
||||||
|
SCASSERT(doc != nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogTool::~DialogTool()
|
DialogTool::~DialogTool()
|
||||||
|
|
|
@ -85,7 +85,7 @@ class DialogTool : public QDialog
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogTool(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogTool(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogTool() override;
|
~DialogTool() override;
|
||||||
|
|
||||||
auto GetAssociatedTool() -> VAbstractTool *;
|
auto GetAssociatedTool() -> VAbstractTool *;
|
||||||
|
@ -135,6 +135,8 @@ protected:
|
||||||
/** @brief data container with data */
|
/** @brief data container with data */
|
||||||
const VContainer *data;
|
const VContainer *data;
|
||||||
|
|
||||||
|
VAbstractPattern *m_doc;
|
||||||
|
|
||||||
/** @brief isInitialized true if window is initialized */
|
/** @brief isInitialized true if window is initialized */
|
||||||
bool isInitialized;
|
bool isInitialized;
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,8 @@
|
||||||
#include <QPointer>
|
#include <QPointer>
|
||||||
#include <QSet>
|
#include <QSet>
|
||||||
|
|
||||||
#include "../../visualization/visualization.h"
|
|
||||||
#include "../../visualization/line/vistooltriangle.h"
|
#include "../../visualization/line/vistooltriangle.h"
|
||||||
|
#include "../../visualization/visualization.h"
|
||||||
#include "../ifc/xml/vabstractpattern.h"
|
#include "../ifc/xml/vabstractpattern.h"
|
||||||
#include "dialogtool.h"
|
#include "dialogtool.h"
|
||||||
#include "ui_dialogtriangle.h"
|
#include "ui_dialogtriangle.h"
|
||||||
|
@ -47,8 +47,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogTriangle::DialogTriangle(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogTriangle::DialogTriangle(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogTriangle),
|
ui(new Ui::DialogTriangle),
|
||||||
pointName(),
|
pointName(),
|
||||||
flagName(false),
|
flagName(false),
|
||||||
|
@ -68,19 +68,16 @@ DialogTriangle::DialogTriangle(const VContainer *data, quint32 toolId, QWidget *
|
||||||
FillComboBoxPoints(ui->comboBoxFirstPoint);
|
FillComboBoxPoints(ui->comboBoxFirstPoint);
|
||||||
FillComboBoxPoints(ui->comboBoxSecondPoint);
|
FillComboBoxPoints(ui->comboBoxSecondPoint);
|
||||||
|
|
||||||
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, [this]()
|
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this,
|
||||||
|
[this]()
|
||||||
{
|
{
|
||||||
CheckPointLabel(this, ui->lineEditNamePoint, ui->labelEditNamePoint, pointName, this->data, flagName);
|
CheckPointLabel(this, ui->lineEditNamePoint, ui->labelEditNamePoint, pointName, this->data, flagName);
|
||||||
CheckState();
|
CheckState();
|
||||||
});
|
});
|
||||||
connect(ui->comboBoxFirstPoint, &QComboBox::currentTextChanged,
|
connect(ui->comboBoxFirstPoint, &QComboBox::currentTextChanged, this, &DialogTriangle::PointNameChanged);
|
||||||
this, &DialogTriangle::PointNameChanged);
|
connect(ui->comboBoxSecondPoint, &QComboBox::currentTextChanged, this, &DialogTriangle::PointNameChanged);
|
||||||
connect(ui->comboBoxSecondPoint, &QComboBox::currentTextChanged,
|
connect(ui->comboBoxAxisP1, &QComboBox::currentTextChanged, this, &DialogTriangle::PointNameChanged);
|
||||||
this, &DialogTriangle::PointNameChanged);
|
connect(ui->comboBoxAxisP2, &QComboBox::currentTextChanged, this, &DialogTriangle::PointNameChanged);
|
||||||
connect(ui->comboBoxAxisP1, &QComboBox::currentTextChanged,
|
|
||||||
this, &DialogTriangle::PointNameChanged);
|
|
||||||
connect(ui->comboBoxAxisP2, &QComboBox::currentTextChanged,
|
|
||||||
this, &DialogTriangle::PointNameChanged);
|
|
||||||
|
|
||||||
vis = new VisToolTriangle(data);
|
vis = new VisToolTriangle(data);
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogTriangle : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogTriangle(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogTriangle(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogTriangle() override;
|
~DialogTriangle() override;
|
||||||
|
|
||||||
auto GetAxisP1Id() const -> quint32;
|
auto GetAxisP1Id() const -> quint32;
|
||||||
|
|
|
@ -47,8 +47,8 @@
|
||||||
#include "ui_dialogtruedarts.h"
|
#include "ui_dialogtruedarts.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogTrueDarts::DialogTrueDarts(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogTrueDarts::DialogTrueDarts(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogTrueDarts),
|
ui(new Ui::DialogTrueDarts),
|
||||||
d1PointName(),
|
d1PointName(),
|
||||||
d2PointName(),
|
d2PointName(),
|
||||||
|
|
|
@ -47,7 +47,7 @@ class DialogTrueDarts : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogTrueDarts(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogTrueDarts(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogTrueDarts() override;
|
~DialogTrueDarts() override;
|
||||||
|
|
||||||
auto GetFirstNewDartPointName() -> QString;
|
auto GetFirstNewDartPointName() -> QString;
|
||||||
|
|
|
@ -43,8 +43,8 @@
|
||||||
* @param data container with data
|
* @param data container with data
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogUnionDetails::DialogUnionDetails(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogUnionDetails::DialogUnionDetails(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogUnionDetails),
|
ui(new Ui::DialogUnionDetails),
|
||||||
indexD1(0),
|
indexD1(0),
|
||||||
indexD2(0),
|
indexD2(0),
|
||||||
|
|
|
@ -50,7 +50,7 @@ class DialogUnionDetails : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogUnionDetails(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
DialogUnionDetails(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogUnionDetails() override;
|
~DialogUnionDetails() override;
|
||||||
|
|
||||||
auto getD1() const -> quint32;
|
auto getD1() const -> quint32;
|
||||||
|
|
|
@ -26,13 +26,14 @@
|
||||||
**
|
**
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
#include "dialogduplicatedetail.h"
|
#include "dialogduplicatedetail.h"
|
||||||
#include "ui_dialogduplicatedetail.h"
|
|
||||||
#include "../../../visualization/path/vistoolduplicatedetail.h"
|
|
||||||
#include "../../../tools/vabstracttool.h"
|
#include "../../../tools/vabstracttool.h"
|
||||||
|
#include "../../../visualization/path/vistoolduplicatedetail.h"
|
||||||
|
#include "ui_dialogduplicatedetail.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogDuplicateDetail::DialogDuplicateDetail(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogDuplicateDetail::DialogDuplicateDetail(const VContainer *data, VAbstractPattern *doc, quint32 toolId,
|
||||||
: DialogTool(data, toolId, parent),
|
QWidget *parent)
|
||||||
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogDuplicateDetail),
|
ui(new Ui::DialogDuplicateDetail),
|
||||||
m_idDetail(NULL_ID),
|
m_idDetail(NULL_ID),
|
||||||
m_mx(0),
|
m_mx(0),
|
||||||
|
|
|
@ -40,7 +40,7 @@ class DialogDuplicateDetail : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogDuplicateDetail(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogDuplicateDetail(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
virtual ~DialogDuplicateDetail();
|
virtual ~DialogDuplicateDetail();
|
||||||
|
|
||||||
auto Duplicate() const -> quint32;
|
auto Duplicate() const -> quint32;
|
||||||
|
|
|
@ -27,8 +27,8 @@
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
#include "dialoginsertnode.h"
|
#include "dialoginsertnode.h"
|
||||||
#include "ui_dialoginsertnode.h"
|
|
||||||
#include "../vpatterndb/vcontainer.h"
|
#include "../vpatterndb/vcontainer.h"
|
||||||
|
#include "ui_dialoginsertnode.h"
|
||||||
#if QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
|
#if QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
|
||||||
#include "../vmisc/backport/qoverload.h"
|
#include "../vmisc/backport/qoverload.h"
|
||||||
#endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
|
#endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
|
||||||
|
@ -36,8 +36,8 @@
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogInsertNode::DialogInsertNode(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogInsertNode::DialogInsertNode(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogInsertNode)
|
ui(new Ui::DialogInsertNode)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
@ -45,10 +45,7 @@ DialogInsertNode::DialogInsertNode(const VContainer *data, quint32 toolId, QWidg
|
||||||
|
|
||||||
CheckPieces();
|
CheckPieces();
|
||||||
|
|
||||||
connect(ui->comboBoxPiece, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [this]()
|
connect(ui->comboBoxPiece, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [this]() { CheckPieces(); });
|
||||||
{
|
|
||||||
CheckPieces();
|
|
||||||
});
|
|
||||||
|
|
||||||
connect(ui->listWidget, &QListWidget::customContextMenuRequested, this, &DialogInsertNode::ShowContextMenu);
|
connect(ui->listWidget, &QListWidget::customContextMenuRequested, this, &DialogInsertNode::ShowContextMenu);
|
||||||
connect(ui->listWidget, &QListWidget::itemSelectionChanged, this, &DialogInsertNode::NodeSelected);
|
connect(ui->listWidget, &QListWidget::itemSelectionChanged, this, &DialogInsertNode::NodeSelected);
|
||||||
|
|
|
@ -42,7 +42,7 @@ class DialogInsertNode : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogInsertNode(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogInsertNode(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
virtual ~DialogInsertNode();
|
virtual ~DialogInsertNode();
|
||||||
|
|
||||||
virtual void SetPiecesList(const QVector<quint32> &list) override;
|
virtual void SetPiecesList(const QVector<quint32> &list) override;
|
||||||
|
|
|
@ -86,8 +86,8 @@ auto CuttingPath(quint32 id, const VContainer *data) -> QVector<QPointF>
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogPiecePath::DialogPiecePath(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogPiecePath::DialogPiecePath(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogPiecePath),
|
ui(new Ui::DialogPiecePath),
|
||||||
m_timerWidth(new QTimer(this)),
|
m_timerWidth(new QTimer(this)),
|
||||||
m_timerWidthBefore(new QTimer(this)),
|
m_timerWidthBefore(new QTimer(this)),
|
||||||
|
|
|
@ -41,7 +41,7 @@ class DialogPiecePath : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogPiecePath(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogPiecePath(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogPiecePath() override;
|
~DialogPiecePath() override;
|
||||||
|
|
||||||
void EnbleShowMode(bool disable);
|
void EnbleShowMode(bool disable);
|
||||||
|
|
|
@ -27,16 +27,16 @@
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
#include "dialogpin.h"
|
#include "dialogpin.h"
|
||||||
#include "ui_dialogpin.h"
|
|
||||||
#include "../../../visualization/line/vistoolspecialpoint.h"
|
#include "../../../visualization/line/vistoolspecialpoint.h"
|
||||||
|
#include "ui_dialogpin.h"
|
||||||
#if QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
|
#if QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
|
||||||
#include "../vmisc/backport/qoverload.h"
|
#include "../vmisc/backport/qoverload.h"
|
||||||
#endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
|
#endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
|
||||||
#include "../vpatterndb/vcontainer.h"
|
#include "../vpatterndb/vcontainer.h"
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogPin::DialogPin(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogPin::DialogPin(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogPin),
|
ui(new Ui::DialogPin),
|
||||||
m_showMode(false),
|
m_showMode(false),
|
||||||
m_flagPoint(false),
|
m_flagPoint(false),
|
||||||
|
@ -47,10 +47,7 @@ DialogPin::DialogPin(const VContainer *data, quint32 toolId, QWidget *parent)
|
||||||
|
|
||||||
FillComboBoxPoints(ui->comboBoxPoint);
|
FillComboBoxPoints(ui->comboBoxPoint);
|
||||||
|
|
||||||
connect(ui->comboBoxPiece, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [this]()
|
connect(ui->comboBoxPiece, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [this]() { CheckPieces(); });
|
||||||
{
|
|
||||||
CheckPieces();
|
|
||||||
});
|
|
||||||
|
|
||||||
vis = new VisToolSpecialPoint(data);
|
vis = new VisToolSpecialPoint(data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ class DialogPin : public DialogTool
|
||||||
{
|
{
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
public:
|
public:
|
||||||
explicit DialogPin(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogPin(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
virtual ~DialogPin();
|
virtual ~DialogPin();
|
||||||
|
|
||||||
void EnbleShowMode(bool disable);
|
void EnbleShowMode(bool disable);
|
||||||
|
|
|
@ -40,8 +40,8 @@
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogPlaceLabel::DialogPlaceLabel(const VContainer *data, quint32 toolId, QWidget *parent)
|
DialogPlaceLabel::DialogPlaceLabel(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogTool(data, toolId, parent),
|
: DialogTool(data, doc, toolId, parent),
|
||||||
ui(new Ui::DialogPlaceLabel),
|
ui(new Ui::DialogPlaceLabel),
|
||||||
m_showMode(false),
|
m_showMode(false),
|
||||||
m_formulaBaseHeightWidth(0),
|
m_formulaBaseHeightWidth(0),
|
||||||
|
|
|
@ -42,7 +42,7 @@ class DialogPlaceLabel : public DialogTool
|
||||||
Q_OBJECT // NOLINT
|
Q_OBJECT // NOLINT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogPlaceLabel(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
explicit DialogPlaceLabel(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
~DialogPlaceLabel() override;
|
~DialogPlaceLabel() override;
|
||||||
|
|
||||||
void EnbleShowMode(bool disable);
|
void EnbleShowMode(bool disable);
|
||||||
|
|
|
@ -152,17 +152,7 @@ void InitComboBoxFormats(QComboBox *box, const QStringList &items, const QString
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
DialogSeamAllowance::DialogSeamAllowance(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
DialogSeamAllowance::DialogSeamAllowance(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent)
|
||||||
: DialogSeamAllowance(data, toolId, parent)
|
: DialogTool(data, doc, toolId, parent),
|
||||||
{
|
|
||||||
SCASSERT(doc != nullptr)
|
|
||||||
m_doc = doc;
|
|
||||||
|
|
||||||
uiTabLabels->groupBoxPatternLabel->setEnabled(not m_doc->GetPatternLabelTemplate().isEmpty());
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
DialogSeamAllowance::DialogSeamAllowance(const VContainer *data, quint32 toolId, QWidget *parent)
|
|
||||||
: DialogTool(data, toolId, parent),
|
|
||||||
ui(new Ui::DialogSeamAllowance),
|
ui(new Ui::DialogSeamAllowance),
|
||||||
uiTabPaths(new Ui::TabPaths),
|
uiTabPaths(new Ui::TabPaths),
|
||||||
uiTabLabels(new Ui::TabLabels),
|
uiTabLabels(new Ui::TabLabels),
|
||||||
|
@ -210,6 +200,8 @@ DialogSeamAllowance::DialogSeamAllowance(const VContainer *data, quint32 toolId,
|
||||||
flagMainPathIsValid = MainPathIsValid();
|
flagMainPathIsValid = MainPathIsValid();
|
||||||
|
|
||||||
m_ftb->SetCurrentIndex(TabOrder::Paths); // Show always first tab active on start.
|
m_ftb->SetCurrentIndex(TabOrder::Paths); // Show always first tab active on start.
|
||||||
|
|
||||||
|
uiTabLabels->groupBoxPatternLabel->setEnabled(not m_doc->GetPatternLabelTemplate().isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -924,7 +916,7 @@ void DialogSeamAllowance::ShowCustomSAContextMenu(const QPoint &pos)
|
||||||
}
|
}
|
||||||
else if (selectedAction == actionOption)
|
else if (selectedAction == actionOption)
|
||||||
{
|
{
|
||||||
auto *dialog = new DialogPiecePath(data, record.path, this);
|
auto *dialog = new DialogPiecePath(data, m_doc, record.path, this);
|
||||||
dialog->SetPiecePath(CurrentPath(record.path));
|
dialog->SetPiecePath(CurrentPath(record.path));
|
||||||
dialog->SetPieceId(toolId);
|
dialog->SetPieceId(toolId);
|
||||||
if (record.includeType == PiecePathIncludeType::AsMainPath)
|
if (record.includeType == PiecePathIncludeType::AsMainPath)
|
||||||
|
@ -965,7 +957,7 @@ void DialogSeamAllowance::ShowInternalPathsContextMenu(const QPoint &pos)
|
||||||
SCASSERT(rowItem != nullptr);
|
SCASSERT(rowItem != nullptr);
|
||||||
const auto pathId = qvariant_cast<quint32>(rowItem->data(Qt::UserRole));
|
const auto pathId = qvariant_cast<quint32>(rowItem->data(Qt::UserRole));
|
||||||
|
|
||||||
auto *dialog = new DialogPiecePath(data, pathId, this);
|
auto *dialog = new DialogPiecePath(data, m_doc, pathId, this);
|
||||||
dialog->SetPiecePath(CurrentPath(pathId));
|
dialog->SetPiecePath(CurrentPath(pathId));
|
||||||
dialog->SetPieceId(toolId);
|
dialog->SetPieceId(toolId);
|
||||||
dialog->EnbleShowMode(true);
|
dialog->EnbleShowMode(true);
|
||||||
|
@ -1058,7 +1050,7 @@ void DialogSeamAllowance::ShowPlaceLabelsContextMenu(const QPoint &pos)
|
||||||
}
|
}
|
||||||
else if (selectedAction == actionOption)
|
else if (selectedAction == actionOption)
|
||||||
{
|
{
|
||||||
auto *dialog = new DialogPlaceLabel(data, labelId, this);
|
auto *dialog = new DialogPlaceLabel(data, m_doc, labelId, this);
|
||||||
dialog->EnbleShowMode(true);
|
dialog->EnbleShowMode(true);
|
||||||
dialog->SetLabelType(currentLabel.GetLabelType());
|
dialog->SetLabelType(currentLabel.GetLabelType());
|
||||||
dialog->SetWidth(currentLabel.GetWidthFormula());
|
dialog->SetWidth(currentLabel.GetWidthFormula());
|
||||||
|
@ -3517,21 +3509,26 @@ void DialogSeamAllowance::InitLabelsTab()
|
||||||
// Pattern label data
|
// Pattern label data
|
||||||
uiTabLabels->lineEditCustomerEmail->setClearButtonEnabled(true);
|
uiTabLabels->lineEditCustomerEmail->setClearButtonEnabled(true);
|
||||||
|
|
||||||
uiTabLabels->lineEditCustomerName->setText(VAbstractValApplication::VApp()->GetCustomerName());
|
|
||||||
uiTabLabels->lineEditCustomerEmail->setText(VAbstractValApplication::VApp()->CustomerEmail());
|
|
||||||
uiTabLabels->dateEditCustomerBirthDate->setDate(VAbstractValApplication::VApp()->GetCustomerBirthDate());
|
|
||||||
|
|
||||||
if (VAbstractValApplication::VApp()->GetMeasurementsType() == MeasurementsType::Individual)
|
if (VAbstractValApplication::VApp()->GetMeasurementsType() == MeasurementsType::Individual)
|
||||||
{
|
{
|
||||||
|
uiTabLabels->lineEditCustomerName->setText(VAbstractValApplication::VApp()->GetCustomerName());
|
||||||
uiTabLabels->lineEditCustomerName->setDisabled(true);
|
uiTabLabels->lineEditCustomerName->setDisabled(true);
|
||||||
uiTabLabels->lineEditCustomerName->setToolTip(tr("The customer name from individual measurements"));
|
uiTabLabels->lineEditCustomerName->setToolTip(tr("The customer name from individual measurements"));
|
||||||
|
|
||||||
|
uiTabLabels->lineEditCustomerEmail->setText(VAbstractValApplication::VApp()->CustomerEmail());
|
||||||
uiTabLabels->lineEditCustomerEmail->setDisabled(true);
|
uiTabLabels->lineEditCustomerEmail->setDisabled(true);
|
||||||
uiTabLabels->lineEditCustomerEmail->setToolTip(tr("The customer email from individual measurements"));
|
uiTabLabels->lineEditCustomerEmail->setToolTip(tr("The customer email from individual measurements"));
|
||||||
|
|
||||||
|
uiTabLabels->dateEditCustomerBirthDate->setDate(VAbstractValApplication::VApp()->GetCustomerBirthDate());
|
||||||
uiTabLabels->dateEditCustomerBirthDate->setDisabled(true);
|
uiTabLabels->dateEditCustomerBirthDate->setDisabled(true);
|
||||||
uiTabLabels->dateEditCustomerBirthDate->setToolTip(tr("The customer birth date from individual measurements"));
|
uiTabLabels->dateEditCustomerBirthDate->setToolTip(tr("The customer birth date from individual measurements"));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
uiTabLabels->lineEditCustomerName->setText(m_doc->GetCustomerName());
|
||||||
|
uiTabLabels->lineEditCustomerEmail->setText(m_doc->GetCustomerEmail());
|
||||||
|
uiTabLabels->dateEditCustomerBirthDate->setDate(m_doc->GetCustomerBirthDate());
|
||||||
|
}
|
||||||
|
|
||||||
connect(uiTabLabels->lineEditPatternName, &QLineEdit::editingFinished, this,
|
connect(uiTabLabels->lineEditPatternName, &QLineEdit::editingFinished, this,
|
||||||
&DialogSeamAllowance::PatternLabelDataChanged);
|
&DialogSeamAllowance::PatternLabelDataChanged);
|
||||||
|
|
|
@ -55,7 +55,6 @@ class DialogSeamAllowance : public DialogTool
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DialogSeamAllowance(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
DialogSeamAllowance(const VContainer *data, VAbstractPattern *doc, quint32 toolId, QWidget *parent = nullptr);
|
||||||
DialogSeamAllowance(const VContainer *data, quint32 toolId, QWidget *parent = nullptr);
|
|
||||||
~DialogSeamAllowance() override;
|
~DialogSeamAllowance() override;
|
||||||
|
|
||||||
void EnableApply(bool enable);
|
void EnableApply(bool enable);
|
||||||
|
@ -253,8 +252,6 @@ private:
|
||||||
QHash<quint32, VPlaceLabelItem> m_newPlaceLabels{};
|
QHash<quint32, VPlaceLabelItem> m_newPlaceLabels{};
|
||||||
QHash<quint32, VPiecePath> m_newPaths{};
|
QHash<quint32, VPiecePath> m_newPaths{};
|
||||||
|
|
||||||
VAbstractPattern *m_doc{nullptr};
|
|
||||||
|
|
||||||
QString m_defLabelValue{};
|
QString m_defLabelValue{};
|
||||||
|
|
||||||
QMenu *m_placeholdersMenu;
|
QMenu *m_placeholdersMenu;
|
||||||
|
|
|
@ -38,6 +38,7 @@
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
|
|
||||||
#include "../vabstractpoint.h"
|
#include "../vabstractpoint.h"
|
||||||
|
#include "../vgeometry/vpointf.h"
|
||||||
#include "../vmisc/def.h"
|
#include "../vmisc/def.h"
|
||||||
#include "../vwidgets/vscenepoint.h"
|
#include "../vwidgets/vscenepoint.h"
|
||||||
|
|
||||||
|
|
|
@ -42,11 +42,9 @@
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
|
|
||||||
|
|
||||||
#include "../ifc/exception/vexceptionbadid.h"
|
#include "../ifc/exception/vexceptionbadid.h"
|
||||||
#include "../toolsdef.h"
|
#include "../toolsdef.h"
|
||||||
#include "../vdatatool.h"
|
#include "../vdatatool.h"
|
||||||
#include "../vgeometry/vpointf.h"
|
|
||||||
#include "../vinteractivetool.h"
|
#include "../vinteractivetool.h"
|
||||||
#include "../vmisc/def.h"
|
#include "../vmisc/def.h"
|
||||||
#include "../vmisc/vabstractapplication.h"
|
#include "../vmisc/vabstractapplication.h"
|
||||||
|
@ -194,7 +192,7 @@ void VDrawTool::ContextMenu(QGraphicsSceneContextMenuEvent *event, quint32 itemI
|
||||||
|
|
||||||
// add the menu "add to group" to the context menu
|
// add the menu "add to group" to the context menu
|
||||||
QMap<quint32, QString> groupsNotContainingItem = doc->GetGroupsContainingItem(this->getId(), itemId, false);
|
QMap<quint32, QString> groupsNotContainingItem = doc->GetGroupsContainingItem(this->getId(), itemId, false);
|
||||||
QActionGroup *actionsAddToGroup = new QActionGroup(this);
|
auto *actionsAddToGroup = new QActionGroup(this);
|
||||||
if (not groupsNotContainingItem.empty())
|
if (not groupsNotContainingItem.empty())
|
||||||
{
|
{
|
||||||
QMenu *menuAddToGroup =
|
QMenu *menuAddToGroup =
|
||||||
|
@ -286,11 +284,12 @@ void VDrawTool::ContextMenu(QGraphicsSceneContextMenuEvent *event, quint32 itemI
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (selectedAction == actionOption)
|
|
||||||
|
if (selectedAction == actionOption)
|
||||||
{
|
{
|
||||||
qCDebug(vTool, "Show options.");
|
qCDebug(vTool, "Show options.");
|
||||||
emit VAbstractValApplication::VApp()->getSceneView()->itemClicked(nullptr);
|
emit VAbstractValApplication::VApp()->getSceneView()->itemClicked(nullptr);
|
||||||
m_dialog = QPointer<Dialog>(new Dialog(getData(), m_id, VAbstractValApplication::VApp()->getMainWindow()));
|
m_dialog = QPointer<Dialog>(new Dialog(getData(), doc, m_id, VAbstractValApplication::VApp()->getMainWindow()));
|
||||||
m_dialog->setModal(true);
|
m_dialog->setModal(true);
|
||||||
|
|
||||||
connect(m_dialog.data(), &DialogTool::DialogClosed, this, &VDrawTool::FullUpdateFromGuiOk);
|
connect(m_dialog.data(), &DialogTool::DialogClosed, this, &VDrawTool::FullUpdateFromGuiOk);
|
||||||
|
@ -319,16 +318,14 @@ void VDrawTool::ContextMenu(QGraphicsSceneContextMenuEvent *event, quint32 itemI
|
||||||
quint32 groupId = selectedAction->data().toUInt();
|
quint32 groupId = selectedAction->data().toUInt();
|
||||||
QDomElement item = doc->AddItemToGroup(this->getId(), itemId, groupId);
|
QDomElement item = doc->AddItemToGroup(this->getId(), itemId, groupId);
|
||||||
|
|
||||||
VMainGraphicsScene *scene =
|
auto *scene = qobject_cast<VMainGraphicsScene *>(VAbstractValApplication::VApp()->getCurrentScene());
|
||||||
qobject_cast<VMainGraphicsScene *>(VAbstractValApplication::VApp()->getCurrentScene());
|
|
||||||
SCASSERT(scene != nullptr)
|
SCASSERT(scene != nullptr)
|
||||||
scene->clearSelection();
|
scene->clearSelection();
|
||||||
|
|
||||||
VAbstractMainWindow *window =
|
auto *window = qobject_cast<VAbstractMainWindow *>(VAbstractValApplication::VApp()->getMainWindow());
|
||||||
qobject_cast<VAbstractMainWindow *>(VAbstractValApplication::VApp()->getMainWindow());
|
|
||||||
SCASSERT(window != nullptr)
|
SCASSERT(window != nullptr)
|
||||||
{
|
{
|
||||||
AddItemToGroup *addItemToGroup = new AddItemToGroup(item, doc, groupId);
|
auto *addItemToGroup = new AddItemToGroup(item, doc, groupId);
|
||||||
connect(addItemToGroup, &AddItemToGroup::UpdateGroups, window,
|
connect(addItemToGroup, &AddItemToGroup::UpdateGroups, window,
|
||||||
&VAbstractMainWindow::UpdateVisibilityGroups);
|
&VAbstractMainWindow::UpdateVisibilityGroups);
|
||||||
VAbstractApplication::VApp()->getUndoStack()->push(addItemToGroup);
|
VAbstractApplication::VApp()->getUndoStack()->push(addItemToGroup);
|
||||||
|
@ -339,11 +336,10 @@ void VDrawTool::ContextMenu(QGraphicsSceneContextMenuEvent *event, quint32 itemI
|
||||||
quint32 groupId = selectedAction->data().toUInt();
|
quint32 groupId = selectedAction->data().toUInt();
|
||||||
QDomElement item = doc->RemoveItemFromGroup(this->getId(), itemId, groupId);
|
QDomElement item = doc->RemoveItemFromGroup(this->getId(), itemId, groupId);
|
||||||
|
|
||||||
VAbstractMainWindow *window =
|
auto *window = qobject_cast<VAbstractMainWindow *>(VAbstractValApplication::VApp()->getMainWindow());
|
||||||
qobject_cast<VAbstractMainWindow *>(VAbstractValApplication::VApp()->getMainWindow());
|
|
||||||
SCASSERT(window != nullptr)
|
SCASSERT(window != nullptr)
|
||||||
{
|
{
|
||||||
RemoveItemFromGroup *removeItemFromGroup = new RemoveItemFromGroup(item, doc, groupId);
|
auto *removeItemFromGroup = new RemoveItemFromGroup(item, doc, groupId);
|
||||||
connect(removeItemFromGroup, &RemoveItemFromGroup::UpdateGroups, window,
|
connect(removeItemFromGroup, &RemoveItemFromGroup::UpdateGroups, window,
|
||||||
&VAbstractMainWindow::UpdateVisibilityGroups);
|
&VAbstractMainWindow::UpdateVisibilityGroups);
|
||||||
VAbstractApplication::VApp()->getUndoStack()->push(removeItemFromGroup);
|
VAbstractApplication::VApp()->getUndoStack()->push(removeItemFromGroup);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user