Fix filling piece label data.

This commit is contained in:
Roman Telezhynskyi 2023-10-07 12:47:43 +03:00
parent a103108799
commit 8f23d057f4
94 changed files with 522 additions and 531 deletions

View File

@ -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.

View File

@ -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)

View File

@ -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;

View File

@ -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),

View File

@ -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());

View File

@ -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.");

View File

@ -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))
{ {

View File

@ -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;

View File

@ -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)),

View File

@ -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;

View File

@ -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)),

View File

@ -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;

View File

@ -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))
{ {

View File

@ -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;

View File

@ -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),

View File

@ -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;

View File

@ -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),

View File

@ -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;

View File

@ -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),

View File

@ -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;

View File

@ -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))
{ {

View File

@ -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;

View File

@ -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))
{ {

View File

@ -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;

View File

@ -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))
{ {

View File

@ -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;

View File

@ -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)),

View File

@ -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;

View File

@ -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(),

View File

@ -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;

View File

@ -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(),

View File

@ -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;

View File

@ -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(),

View File

@ -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;

View File

@ -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)

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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)
{ {

View File

@ -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;

View File

@ -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;
} }

View File

@ -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;

View File

@ -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),

View File

@ -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;

View File

@ -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)),

View File

@ -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;

View File

@ -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))
{ {

View File

@ -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;

View File

@ -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();

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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))
{ {

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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))

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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(),

View File

@ -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;

View File

@ -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))
{ {

View File

@ -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;

View File

@ -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();

View File

@ -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);

View File

@ -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)),

View File

@ -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;

View File

@ -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),

View File

@ -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;

View File

@ -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()

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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(),

View File

@ -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;

View File

@ -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),

View File

@ -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;

View File

@ -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),

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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)),

View File

@ -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);

View File

@ -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);
} }

View File

@ -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);

View File

@ -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),

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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"

View File

@ -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);