diff --git a/src/app/dialogs/tools/dialogalongline.cpp b/src/app/dialogs/tools/dialogalongline.cpp index d407e44b3..2b124ec74 100644 --- a/src/app/dialogs/tools/dialogalongline.cpp +++ b/src/app/dialogs/tools/dialogalongline.cpp @@ -165,22 +165,6 @@ void DialogAlongLine::ChosenObject(quint32 id, const SceneObject &type) } } -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogAlongLine::DialogAccepted() -{ - this->SaveData(); - emit DialogClosed(QDialog::Accepted); -} - -//--------------------------------------------------------------------------------------------------------------------- -void DialogAlongLine::DialogApply() -{ - this->SaveData(); - emit DialogApplied(); -} //--------------------------------------------------------------------------------------------------------------------- void DialogAlongLine::SaveData() { diff --git a/src/app/dialogs/tools/dialogalongline.h b/src/app/dialogs/tools/dialogalongline.h index b71a313ea..4eeb9265a 100644 --- a/src/app/dialogs/tools/dialogalongline.h +++ b/src/app/dialogs/tools/dialogalongline.h @@ -63,11 +63,6 @@ public: void setSecondPointId(const quint32 &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(); /** * @brief DeployFormulaTextEdit grow or shrink formula input */ @@ -79,6 +74,10 @@ public slots: void PointChanged(); protected: virtual void ShowVisualization(); + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogAlongLine) @@ -106,11 +105,6 @@ private: /** @brief formulaBaseHeight base height defined by dialogui */ int formulaBaseHeight; VisToolAlongLine *line; - - /** - * @brief SaveData Put dialog data in local variables - */ - void SaveData(); }; //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogarc.cpp b/src/app/dialogs/tools/dialogarc.cpp index 5abcdc6ba..f79600cc4 100644 --- a/src/app/dialogs/tools/dialogarc.cpp +++ b/src/app/dialogs/tools/dialogarc.cpp @@ -190,22 +190,6 @@ void DialogArc::ChosenObject(quint32 id, const SceneObject &type) } } -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogArc::DialogAccepted() -{ - this->SaveData(); - emit DialogClosed(QDialog::Accepted); -} - -//--------------------------------------------------------------------------------------------------------------------- -void DialogArc::DialogApply() -{ - this->SaveData(); - emit DialogApplied(); -} //--------------------------------------------------------------------------------------------------------------------- void DialogArc::SaveData() { diff --git a/src/app/dialogs/tools/dialogarc.h b/src/app/dialogs/tools/dialogarc.h index 5a36d31e9..c97f0b51a 100644 --- a/src/app/dialogs/tools/dialogarc.h +++ b/src/app/dialogs/tools/dialogarc.h @@ -59,11 +59,6 @@ public: void SetF2(const QString &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** TODO ISSUE 79 : create real function - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(); /** * @brief DeployFormulaTextEdit grow or shrink formula input */ @@ -81,6 +76,10 @@ public slots: void F2Changed(); protected: virtual void CheckState(); + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogArc) @@ -126,10 +125,7 @@ private: void EvalF1(); void EvalF2(); void ShowLineAngles(); - /** - * @brief SaveData Put dialog data in local variables - */ - void SaveData(); + }; //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogbisector.cpp b/src/app/dialogs/tools/dialogbisector.cpp index e17b2b583..11d2bb6a9 100644 --- a/src/app/dialogs/tools/dialogbisector.cpp +++ b/src/app/dialogs/tools/dialogbisector.cpp @@ -268,22 +268,6 @@ void DialogBisector::setThirdPointId(const quint32 &value) line->setPoint3Id(thirdPointId); } -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogBisector::DialogAccepted() -{ - this->SaveData(); - emit DialogClosed(QDialog::Accepted); -} - -//--------------------------------------------------------------------------------------------------------------------- -void DialogBisector::DialogApply() -{ - this->SaveData(); - emit DialogApplied(); -} //--------------------------------------------------------------------------------------------------------------------- void DialogBisector::SaveData() { diff --git a/src/app/dialogs/tools/dialogbisector.h b/src/app/dialogs/tools/dialogbisector.h index 1c8727a42..12fbdfacf 100644 --- a/src/app/dialogs/tools/dialogbisector.h +++ b/src/app/dialogs/tools/dialogbisector.h @@ -68,11 +68,6 @@ public: void setThirdPointId(const quint32 &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(); /** * @brief DeployFormulaTextEdit grow or shrink formula input */ @@ -84,6 +79,10 @@ public slots: virtual void PointNameChanged(); protected: virtual void ShowVisualization(); + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogBisector) @@ -116,10 +115,6 @@ private: VisToolBisector *line; bool prepare; - /** - * @brief SaveData Put dialog data in local variables - */ - void SaveData(); }; //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogcutarc.cpp b/src/app/dialogs/tools/dialogcutarc.cpp index 01e22926f..062f17ec9 100644 --- a/src/app/dialogs/tools/dialogcutarc.cpp +++ b/src/app/dialogs/tools/dialogcutarc.cpp @@ -100,22 +100,6 @@ void DialogCutArc::ChosenObject(quint32 id, const SceneObject &type) } } -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogCutArc::DialogAccepted() -{ - this->SaveData(); - emit DialogClosed(QDialog::Accepted); -} - -//--------------------------------------------------------------------------------------------------------------------- -void DialogCutArc::DialogApply() -{ - this->SaveData(); - emit DialogApplied(); -} //--------------------------------------------------------------------------------------------------------------------- void DialogCutArc::SaveData() { diff --git a/src/app/dialogs/tools/dialogcutarc.h b/src/app/dialogs/tools/dialogcutarc.h index 193ba586a..63a0fb380 100644 --- a/src/app/dialogs/tools/dialogcutarc.h +++ b/src/app/dialogs/tools/dialogcutarc.h @@ -57,19 +57,19 @@ public: void setArcId(const quint32 &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(); /** * @brief DeployFormulaTextEdit grow or shrink formula input */ - void DeployFormulaTextEdit(); + void DeployFormulaTextEdit(); /** * @brief FormulaTextChanged when formula text changes for validation and calc */ - void FormulaTextChanged(); + void FormulaTextChanged(); +protected: + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogCutArc) /** @brief ui keeps information about user interface */ @@ -86,10 +86,7 @@ private: /** @brief formulaBaseHeight base height defined by dialogui */ int formulaBaseHeight; - /** - * @brief SaveData Put dialog data in local variables - */ - void SaveData(); + }; //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogcutspline.cpp b/src/app/dialogs/tools/dialogcutspline.cpp index 932be7619..beefd1be8 100644 --- a/src/app/dialogs/tools/dialogcutspline.cpp +++ b/src/app/dialogs/tools/dialogcutspline.cpp @@ -126,16 +126,12 @@ void DialogCutSpline::ChosenObject(quint32 id, const SceneObject &type) } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogCutSpline::DialogAccepted() +void DialogCutSpline::SaveData() { pointName = ui->lineEditNamePoint->text(); formula = ui->plainTextEditFormula->toPlainText(); formula.replace("\n", " "); splineId = getCurrentObjectId(ui->comboBoxSpline); - emit DialogClosed(QDialog::Accepted); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogcutspline.h b/src/app/dialogs/tools/dialogcutspline.h index a334d42ab..11833bd25 100644 --- a/src/app/dialogs/tools/dialogcutspline.h +++ b/src/app/dialogs/tools/dialogcutspline.h @@ -56,15 +56,15 @@ public: void setSplineId(const quint32 &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** TODO ISSUE 79 : create real function - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(){} /** * @brief DeployFormulaTextEdit grow or shrink formula input */ - void DeployFormulaTextEdit(); + void DeployFormulaTextEdit(); +protected: + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogCutSpline) @@ -81,7 +81,7 @@ private: quint32 splineId; /** @brief formulaBaseHeight base height defined by dialogui */ - int formulaBaseHeight; + int formulaBaseHeight; }; //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogcutsplinepath.cpp b/src/app/dialogs/tools/dialogcutsplinepath.cpp index 73aec2f85..827187aad 100644 --- a/src/app/dialogs/tools/dialogcutsplinepath.cpp +++ b/src/app/dialogs/tools/dialogcutsplinepath.cpp @@ -126,16 +126,12 @@ void DialogCutSplinePath::ChosenObject(quint32 id, const SceneObject &type) } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogCutSplinePath::DialogAccepted() +void DialogCutSplinePath::SaveData() { pointName = ui->lineEditNamePoint->text(); formula = ui->plainTextEditFormula->toPlainText(); formula.replace("\n", " "); splinePathId = getCurrentObjectId(ui->comboBoxSplinePath); - emit DialogClosed(QDialog::Accepted); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogcutsplinepath.h b/src/app/dialogs/tools/dialogcutsplinepath.h index 4b7e79c10..a6676629a 100644 --- a/src/app/dialogs/tools/dialogcutsplinepath.h +++ b/src/app/dialogs/tools/dialogcutsplinepath.h @@ -56,15 +56,15 @@ public: void setSplinePathId(const quint32 &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** TODO ISSUE 79 : create real function - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(){} /** * @brief DeployFormulaTextEdit grow or shrink formula input */ - void DeployFormulaTextEdit(); + void DeployFormulaTextEdit(); +protected: + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogCutSplinePath) diff --git a/src/app/dialogs/tools/dialogdetail.cpp b/src/app/dialogs/tools/dialogdetail.cpp index c7fbbacef..ea37c9dca 100644 --- a/src/app/dialogs/tools/dialogdetail.cpp +++ b/src/app/dialogs/tools/dialogdetail.cpp @@ -110,10 +110,7 @@ void DialogDetail::ChosenObject(quint32 id, const SceneObject &type) } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogDetail::DialogAccepted() +void DialogDetail::SaveData() { details.Clear(); for (qint32 i = 0; i < ui.listWidget->count(); ++i) @@ -125,8 +122,6 @@ void DialogDetail::DialogAccepted() details.setName(ui.lineEditNameDetail->text()); details.setSeamAllowance(supplement); details.setClosed(closed); - emit ToolTip(""); - emit DialogClosed(QDialog::Accepted); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogdetail.h b/src/app/dialogs/tools/dialogdetail.h index 417ee1c09..98791899e 100644 --- a/src/app/dialogs/tools/dialogdetail.h +++ b/src/app/dialogs/tools/dialogdetail.h @@ -46,11 +46,6 @@ public: void setDetails(const VDetail &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** TODO ISSUE 79 : create real function - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(){} void BiasXChanged(qreal d); void BiasYChanged(qreal d); void ClickedSeams(bool checked); @@ -58,6 +53,11 @@ public slots: void ObjectChanged(int row); void DeleteItem(); virtual void UpdateList(); +protected: + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: /** @brief ui keeps information about user interface */ diff --git a/src/app/dialogs/tools/dialogendline.cpp b/src/app/dialogs/tools/dialogendline.cpp index fc5ec8763..f9785a07a 100644 --- a/src/app/dialogs/tools/dialogendline.cpp +++ b/src/app/dialogs/tools/dialogendline.cpp @@ -268,22 +268,6 @@ void DialogEndLine::ShowVisualization() } } -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogEndLine::DialogAccepted() -{ - this->SaveData(); - emit DialogClosed(QDialog::Accepted); -} - -//--------------------------------------------------------------------------------------------------------------------- -void DialogEndLine::DialogApply() -{ - this->SaveData(); - emit DialogApplied(); -} //--------------------------------------------------------------------------------------------------------------------- void DialogEndLine::SaveData() { diff --git a/src/app/dialogs/tools/dialogendline.h b/src/app/dialogs/tools/dialogendline.h index 5d0d5ea5d..b0a9eed1c 100644 --- a/src/app/dialogs/tools/dialogendline.h +++ b/src/app/dialogs/tools/dialogendline.h @@ -65,11 +65,6 @@ public: virtual void ShowDialog(bool click); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(); /** * @brief DeployFormulaTextEdit grow or shrink formula input */ @@ -83,7 +78,11 @@ public slots: void AngleTextChanged(); void DeployAngleTextEdit(); protected: - virtual void ShowVisualization(); + virtual void ShowVisualization(); + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogEndLine) @@ -111,10 +110,7 @@ private: VisToolEndLine *line; - /** - * @brief SaveData Put dialog data in local variables - */ - void SaveData(); + }; //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogheight.cpp b/src/app/dialogs/tools/dialogheight.cpp index e8ca1c118..653277448 100644 --- a/src/app/dialogs/tools/dialogheight.cpp +++ b/src/app/dialogs/tools/dialogheight.cpp @@ -32,6 +32,8 @@ #include "../../geometry/vpointf.h" #include "../../container/vcontainer.h" #include "../../tools/vabstracttool.h" +#include "../visualization/vistoolheight.h" +#include "../widgets/vmaingraphicsscene.h" //--------------------------------------------------------------------------------------------------------------------- /** @@ -41,11 +43,11 @@ */ DialogHeight::DialogHeight(const VContainer *data, const quint32 &toolId, QWidget *parent) :DialogTool(data, toolId, parent), ui(new Ui::DialogHeight), number(0), pointName(QString()), - typeLine(QString()), basePointId(0), p1LineId(0), p2LineId(0) + typeLine(QString()), basePointId(0), p1LineId(0), p2LineId(0), line(nullptr) { ui->setupUi(this); labelEditNamePoint = ui->labelEditNamePoint; - InitOkCancel(ui); + InitOkCancelApply(ui); flagName = false; CheckState(); @@ -61,11 +63,13 @@ DialogHeight::DialogHeight(const VContainer *data, const quint32 &toolId, QWidge connect(ui->comboBoxP2Line, static_cast(&QComboBox::currentIndexChanged), this, &DialogHeight::PointNameChanged); + line = new VisToolHeight(data); } //--------------------------------------------------------------------------------------------------------------------- DialogHeight::~DialogHeight() { + delete line; delete ui; } @@ -89,6 +93,7 @@ void DialogHeight::setTypeLine(const QString &value) { typeLine = value; SetupTypeLine(ui->comboBoxLineType, value); + line->setLineStyle(VAbstractTool::LineStyle(typeLine)); } //--------------------------------------------------------------------------------------------------------------------- @@ -99,6 +104,7 @@ void DialogHeight::setTypeLine(const QString &value) void DialogHeight::setBasePointId(const quint32 &value) { setPointId(ui->comboBoxBasePoint, basePointId, value); + line->setPoint1Id(basePointId); } //--------------------------------------------------------------------------------------------------------------------- @@ -109,6 +115,7 @@ void DialogHeight::setBasePointId(const quint32 &value) void DialogHeight::setP1LineId(const quint32 &value) { setPointId(ui->comboBoxP1Line, p1LineId, value); + line->setLineP1Id(p1LineId); } //--------------------------------------------------------------------------------------------------------------------- @@ -119,6 +126,7 @@ void DialogHeight::setP1LineId(const quint32 &value) void DialogHeight::setP2LineId(const quint32 &value) { setPointId(ui->comboBoxP2Line, p2LineId, value); + line->setLineP2Id(p2LineId); } //--------------------------------------------------------------------------------------------------------------------- @@ -137,17 +145,23 @@ void DialogHeight::ChosenObject(quint32 id, const SceneObject &type) case (0): ChangeCurrentText(ui->comboBoxBasePoint, point->name()); number++; + line->VisualMode(id); emit ToolTip(tr("Select first point of line")); break; case (1): ChangeCurrentText(ui->comboBoxP1Line, point->name()); number++; + line->setLineP1Id(id); + line->RefreshGeometry(); emit ToolTip(tr("Select second point of line")); break; case (2): ChangeCurrentText(ui->comboBoxP2Line, point->name()); number = 0; - emit ToolTip(tr("")); + emit ToolTip(""); + line->setLineP2Id(id); + line->RefreshGeometry(); + prepare = true; if (isInitialized == false) { this->setModal(true); @@ -161,17 +175,19 @@ void DialogHeight::ChosenObject(quint32 id, const SceneObject &type) } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogHeight::DialogAccepted() +void DialogHeight::SaveData() { pointName = ui->lineEditNamePoint->text(); typeLine = GetTypeLine(ui->comboBoxLineType); basePointId = getCurrentObjectId(ui->comboBoxBasePoint); p1LineId = getCurrentObjectId(ui->comboBoxP1Line); p2LineId = getCurrentObjectId(ui->comboBoxP2Line); - emit DialogClosed(QDialog::Accepted); + + line->setPoint1Id(basePointId); + line->setLineP1Id(p1LineId); + line->setLineP2Id(p2LineId); + line->setLineStyle(VAbstractTool::LineStyle(typeLine)); + line->RefreshGeometry(); } //--------------------------------------------------------------------------------------------------------------------- @@ -216,3 +232,15 @@ void DialogHeight::UpdateList() * This dialog doesn't work with formula. Don't delete. Help avoid crash. */ } + +//--------------------------------------------------------------------------------------------------------------------- +void DialogHeight::ShowVisualization() +{ + if (prepare == false) + { + VMainGraphicsScene *scene = qApp->getCurrentScene(); + connect(scene, &VMainGraphicsScene::NewFactor, line, &VisLine::SetFactor); + scene->addItem(line); + line->RefreshGeometry(); + } +} diff --git a/src/app/dialogs/tools/dialogheight.h b/src/app/dialogs/tools/dialogheight.h index 5b28c782b..8d4c33f01 100644 --- a/src/app/dialogs/tools/dialogheight.h +++ b/src/app/dialogs/tools/dialogheight.h @@ -36,6 +36,8 @@ namespace Ui class DialogHeight; } +class VisToolHeight; + /** * @brief The DialogHeight class dialog for ToolHeight. Help create point and edit option. */ @@ -62,13 +64,14 @@ public: void setP2LineId(const quint32 &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** TODO ISSUE 79 : create real function - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(){} virtual void PointNameChanged(); virtual void UpdateList(); +protected: + virtual void ShowVisualization(); + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogHeight) @@ -85,13 +88,14 @@ private: QString typeLine; /** @brief basePointId id base point of height */ - quint32 basePointId; + quint32 basePointId; /** @brief p1LineId id first point of line */ - quint32 p1LineId; + quint32 p1LineId; /** @brief p2LineId id second point of line */ - quint32 p2LineId; + quint32 p2LineId; + VisToolHeight *line; }; //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogheight.ui b/src/app/dialogs/tools/dialogheight.ui index fc6ba114b..006e1817b 100644 --- a/src/app/dialogs/tools/dialogheight.ui +++ b/src/app/dialogs/tools/dialogheight.ui @@ -6,7 +6,7 @@ 0 0 - 247 + 285 220 @@ -174,7 +174,7 @@ Qt::Horizontal - QDialogButtonBox::Cancel|QDialogButtonBox::Ok + QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok diff --git a/src/app/dialogs/tools/dialogline.cpp b/src/app/dialogs/tools/dialogline.cpp index 23a9881e7..cad805a5e 100644 --- a/src/app/dialogs/tools/dialogline.cpp +++ b/src/app/dialogs/tools/dialogline.cpp @@ -104,23 +104,6 @@ void DialogLine::setFirstPoint(const quint32 &value) line->setPoint1Id(value); } -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogLine::DialogAccepted() -{ - this->SaveData(); - DialogClosed(QDialog::Accepted); -} - -//--------------------------------------------------------------------------------------------------------------------- -void DialogLine::DialogApply() -{ - this->SaveData(); - emit DialogApplied(); -} - //--------------------------------------------------------------------------------------------------------------------- void DialogLine::PointNameChanged() { diff --git a/src/app/dialogs/tools/dialogline.h b/src/app/dialogs/tools/dialogline.h index 2a967c4de..c08d061b0 100644 --- a/src/app/dialogs/tools/dialogline.h +++ b/src/app/dialogs/tools/dialogline.h @@ -58,15 +58,14 @@ public: void setTypeLine(const QString &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(); virtual void PointNameChanged(); virtual void UpdateList(); protected: virtual void ShowVisualization(); + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogLine) @@ -85,10 +84,7 @@ private: /** @brief typeLine type of line */ QString typeLine; VisToolLine *line; - /** - * @brief SaveData Put dialog data in local variables - */ - void SaveData(); + }; //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialoglineintersect.cpp b/src/app/dialogs/tools/dialoglineintersect.cpp index 3cc7d83a5..7e8b2dddd 100644 --- a/src/app/dialogs/tools/dialoglineintersect.cpp +++ b/src/app/dialogs/tools/dialoglineintersect.cpp @@ -151,17 +151,13 @@ void DialogLineIntersect::ChosenObject(quint32 id, const SceneObject &type) } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogLineIntersect::DialogAccepted() +void DialogLineIntersect::SaveData() { pointName = ui->lineEditNamePoint->text(); p1Line1 = getCurrentObjectId(ui->comboBoxP1Line1); p2Line1 = getCurrentObjectId(ui->comboBoxP2Line1); p1Line2 = getCurrentObjectId(ui->comboBoxP1Line2); p2Line2 = getCurrentObjectId(ui->comboBoxP2Line2); - emit DialogClosed(QDialog::Accepted); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialoglineintersect.h b/src/app/dialogs/tools/dialoglineintersect.h index cde6b04d4..9a3d1024c 100644 --- a/src/app/dialogs/tools/dialoglineintersect.h +++ b/src/app/dialogs/tools/dialoglineintersect.h @@ -62,17 +62,17 @@ public: void setPointName(const QString &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** TODO ISSUE 79 : create real function - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(){} void P1Line1Changed( int index); void P2Line1Changed( int index); void P1Line2Changed( int index); void P2Line2Changed( int index); virtual void PointNameChanged(); virtual void UpdateList(); +protected: + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogLineIntersect) @@ -86,16 +86,16 @@ private: QString pointName; /** @brief p1Line1 id first point of first line */ - quint32 p1Line1; + quint32 p1Line1; /** @brief p2Line1 id second point of first line */ - quint32 p2Line1; + quint32 p2Line1; /** @brief p1Line2 id first point of second line */ - quint32 p1Line2; + quint32 p1Line2; /** @brief p2Line2 id second point of second line */ - quint32 p2Line2; + quint32 p2Line2; /** @brief flagPoint keep state of point */ bool flagPoint; diff --git a/src/app/dialogs/tools/dialognormal.cpp b/src/app/dialogs/tools/dialognormal.cpp index 08ceb837f..b24619aa2 100644 --- a/src/app/dialogs/tools/dialognormal.cpp +++ b/src/app/dialogs/tools/dialognormal.cpp @@ -163,22 +163,6 @@ void DialogNormal::ChosenObject(quint32 id, const SceneObject &type) } } -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogNormal::DialogAccepted() -{ - this->SaveData(); - emit DialogClosed(QDialog::Accepted); -} - -//--------------------------------------------------------------------------------------------------------------------- -void DialogNormal::DialogApply() -{ - this->SaveData(); - emit DialogApplied(); -} //--------------------------------------------------------------------------------------------------------------------- void DialogNormal::SaveData() { diff --git a/src/app/dialogs/tools/dialognormal.h b/src/app/dialogs/tools/dialognormal.h index 9515220e1..4c52ad887 100644 --- a/src/app/dialogs/tools/dialognormal.h +++ b/src/app/dialogs/tools/dialognormal.h @@ -67,11 +67,6 @@ public: void setSecondPointId(const quint32 &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(); /** * @brief DeployFormulaTextEdit grow or shrink formula input */ @@ -83,6 +78,10 @@ public slots: virtual void PointNameChanged(); protected: virtual void ShowVisualization(); + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogNormal) @@ -114,11 +113,6 @@ private: int formulaBaseHeight; VisToolNormal *line; - - /** - * @brief SaveData Put dialog data in local variables - */ - void SaveData(); }; //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogpointofcontact.cpp b/src/app/dialogs/tools/dialogpointofcontact.cpp index f8fbad7ed..0d759f124 100644 --- a/src/app/dialogs/tools/dialogpointofcontact.cpp +++ b/src/app/dialogs/tools/dialogpointofcontact.cpp @@ -175,22 +175,6 @@ void DialogPointOfContact::ChosenObject(quint32 id, const SceneObject &type) } } -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogPointOfContact::DialogAccepted() -{ - this->SaveData(); - emit DialogClosed(QDialog::Accepted); -} - -//--------------------------------------------------------------------------------------------------------------------- -void DialogPointOfContact::DialogApply() -{ - this->SaveData(); - emit DialogApplied(); -} //--------------------------------------------------------------------------------------------------------------------- void DialogPointOfContact::SaveData() { diff --git a/src/app/dialogs/tools/dialogpointofcontact.h b/src/app/dialogs/tools/dialogpointofcontact.h index 15bac0b97..ea51776e3 100644 --- a/src/app/dialogs/tools/dialogpointofcontact.h +++ b/src/app/dialogs/tools/dialogpointofcontact.h @@ -61,11 +61,6 @@ public: void setSecondPoint(const quint32 &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(); /** * @brief DeployFormulaTextEdit grow or shrink formula input */ @@ -75,6 +70,11 @@ public slots: */ void FormulaTextChanged(); virtual void PointNameChanged(); +protected: + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogPointOfContact) @@ -101,11 +101,6 @@ private: /** @brief formulaBaseHeight base height defined by dialogui */ int formulaBaseHeight; - - /** - * @brief SaveData Put dialog data in local variables - */ - void SaveData(); }; //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogpointofintersection.cpp b/src/app/dialogs/tools/dialogpointofintersection.cpp index 81fd815d9..1cb8dc0e3 100644 --- a/src/app/dialogs/tools/dialogpointofintersection.cpp +++ b/src/app/dialogs/tools/dialogpointofintersection.cpp @@ -116,15 +116,11 @@ void DialogPointOfIntersection::ChosenObject(quint32 id, const SceneObject &type } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogPointOfIntersection::DialogAccepted() +void DialogPointOfIntersection::SaveData() { pointName = ui->lineEditNamePoint->text(); firstPointId = getCurrentObjectId(ui->comboBoxFirstPoint); secondPointId = getCurrentObjectId(ui->comboBoxSecondPoint); - emit DialogClosed(QDialog::Accepted); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogpointofintersection.h b/src/app/dialogs/tools/dialogpointofintersection.h index 8862a1fe8..6878f0c52 100644 --- a/src/app/dialogs/tools/dialogpointofintersection.h +++ b/src/app/dialogs/tools/dialogpointofintersection.h @@ -56,13 +56,13 @@ public: void setSecondPointId(const quint32 &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** TODO ISSUE 79 : create real function - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(){} virtual void PointNameChanged(); virtual void UpdateList(); +protected: + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogPointOfIntersection) diff --git a/src/app/dialogs/tools/dialogshoulderpoint.cpp b/src/app/dialogs/tools/dialogshoulderpoint.cpp index 52220b498..dbdc200d9 100644 --- a/src/app/dialogs/tools/dialogshoulderpoint.cpp +++ b/src/app/dialogs/tools/dialogshoulderpoint.cpp @@ -195,22 +195,6 @@ void DialogShoulderPoint::ChosenObject(quint32 id, const SceneObject &type) } } -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogShoulderPoint::DialogAccepted() -{ - this->SaveData(); - emit DialogClosed(QDialog::Accepted); -} - -//--------------------------------------------------------------------------------------------------------------------- -void DialogShoulderPoint::DialogApply() -{ - this->SaveData(); - emit DialogApplied(); -} //--------------------------------------------------------------------------------------------------------------------- void DialogShoulderPoint::SaveData() { diff --git a/src/app/dialogs/tools/dialogshoulderpoint.h b/src/app/dialogs/tools/dialogshoulderpoint.h index 3c5f1f475..192cd7387 100644 --- a/src/app/dialogs/tools/dialogshoulderpoint.h +++ b/src/app/dialogs/tools/dialogshoulderpoint.h @@ -67,11 +67,6 @@ public: void setPShoulder(const quint32 &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(); /** * @brief DeployFormulaTextEdit grow or shrink formula input */ @@ -83,6 +78,10 @@ public slots: virtual void PointNameChanged(); protected: virtual void ShowVisualization(); + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogShoulderPoint) @@ -113,11 +112,6 @@ private: /** @brief formulaBaseHeight base height defined by dialogui */ int formulaBaseHeight; VisToolShoulderPoint *line; - - /** - * @brief SaveData Put dialog data in local variables - */ - void SaveData(); }; //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogsinglepoint.cpp b/src/app/dialogs/tools/dialogsinglepoint.cpp index 7990b43e4..3cc17ca49 100644 --- a/src/app/dialogs/tools/dialogsinglepoint.cpp +++ b/src/app/dialogs/tools/dialogsinglepoint.cpp @@ -71,14 +71,10 @@ void DialogSinglePoint::mousePress(const QPointF &scenePos) } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogSinglePoint::DialogAccepted() +void DialogSinglePoint::SaveData() { point = QPointF(qApp->toPixel(ui->doubleSpinBoxX->value()), qApp->toPixel(ui->doubleSpinBoxY->value())); name = ui->lineEditName->text(); - emit DialogClosed(QDialog::Accepted); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogsinglepoint.h b/src/app/dialogs/tools/dialogsinglepoint.h index bfef831b3..25972eb7f 100644 --- a/src/app/dialogs/tools/dialogsinglepoint.h +++ b/src/app/dialogs/tools/dialogsinglepoint.h @@ -50,12 +50,12 @@ public: QPointF getPoint()const; public slots: void mousePress(const QPointF &scenePos); - virtual void DialogAccepted(); - /** TODO ISSUE 79 : create real function - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(){} virtual void UpdateList(); +protected: + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogSinglePoint) diff --git a/src/app/dialogs/tools/dialogspline.cpp b/src/app/dialogs/tools/dialogspline.cpp index 9c63165bf..700fe85fb 100644 --- a/src/app/dialogs/tools/dialogspline.cpp +++ b/src/app/dialogs/tools/dialogspline.cpp @@ -118,10 +118,7 @@ void DialogSpline::ChosenObject(quint32 id, const SceneObject &type) } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogSpline::DialogAccepted() +void DialogSpline::SaveData() { p1 = getCurrentObjectId(ui->comboBoxP1); p4 = getCurrentObjectId(ui->comboBoxP4); @@ -130,7 +127,6 @@ void DialogSpline::DialogAccepted() kAsm1 = ui->doubleSpinBoxKasm1->value(); kAsm2 = ui->doubleSpinBoxKasm2->value(); kCurve = ui->doubleSpinBoxKcurve->value(); - emit DialogClosed(QDialog::Accepted); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogspline.h b/src/app/dialogs/tools/dialogspline.h index 6a6d65cb6..d288d7615 100644 --- a/src/app/dialogs/tools/dialogspline.h +++ b/src/app/dialogs/tools/dialogspline.h @@ -46,10 +46,10 @@ public: DialogSpline(const VContainer *data, const quint32 &toolId, QWidget *parent = nullptr); ~DialogSpline(); - quint32 getP1() const; + quint32 getP1() const; void setP1(const quint32 &value); - quint32 getP4() const; + quint32 getP4() const; void setP4(const quint32 &value); qreal getAngle1() const; @@ -68,13 +68,13 @@ public: void setKCurve(const qreal &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** TODO ISSUE 79 : create real function - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(){} virtual void PointNameChanged(); virtual void UpdateList(); +protected: + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogSpline) diff --git a/src/app/dialogs/tools/dialogsplinepath.cpp b/src/app/dialogs/tools/dialogsplinepath.cpp index 3888c3cdb..6ac0b8d8b 100644 --- a/src/app/dialogs/tools/dialogsplinepath.cpp +++ b/src/app/dialogs/tools/dialogsplinepath.cpp @@ -99,10 +99,7 @@ void DialogSplinePath::ChosenObject(quint32 id, const SceneObject &type) } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogSplinePath::DialogAccepted() +void DialogSplinePath::SaveData() { path.Clear(); for (qint32 i = 0; i < ui->listWidget->count(); ++i) @@ -111,8 +108,6 @@ void DialogSplinePath::DialogAccepted() path.append( qvariant_cast(item->data(Qt::UserRole))); } path.setKCurve(ui->doubleSpinBoxKcurve->value()); - emit ToolTip(""); - emit DialogClosed(QDialog::Accepted); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogsplinepath.h b/src/app/dialogs/tools/dialogsplinepath.h index b25576cdc..52c5356f8 100644 --- a/src/app/dialogs/tools/dialogsplinepath.h +++ b/src/app/dialogs/tools/dialogsplinepath.h @@ -51,11 +51,6 @@ public: void SetPath(const VSplinePath &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** TODO ISSUE 79 : create real function - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(){} void PointChanged(int row); void currentPointChanged( int index ); void Angle1Changed(qreal index ); @@ -63,6 +58,11 @@ public slots: void KAsm1Changed(qreal d); void KAsm2Changed(qreal d); virtual void UpdateList(); +protected: + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogSplinePath) diff --git a/src/app/dialogs/tools/dialogtool.cpp b/src/app/dialogs/tools/dialogtool.cpp index d0132d54c..4e371573d 100644 --- a/src/app/dialogs/tools/dialogtool.cpp +++ b/src/app/dialogs/tools/dialogtool.cpp @@ -71,6 +71,13 @@ DialogTool::DialogTool(const VContainer *data, const quint32 &toolId, QWidget *p this->setWindowFlags(Qt::Tool | Qt::WindowTitleHint | Qt::WindowCloseButtonHint | Qt::CustomizeWindowHint); } + +//--------------------------------------------------------------------------------------------------------------------- +DialogTool::~DialogTool() +{ + emit ToolTip(""); +} + //--------------------------------------------------------------------------------------------------------------------- /** * @brief closeEvent handle when dialog cloded @@ -703,9 +710,17 @@ void DialogTool::setPointId(QComboBox *box, quint32 &pointId, const quint32 &val */ void DialogTool::DialogAccepted() { + SaveData(); emit DialogClosed(QDialog::Accepted); } +//--------------------------------------------------------------------------------------------------------------------- +void DialogTool::DialogApply() +{ + SaveData(); + emit DialogApplied(); +} + //--------------------------------------------------------------------------------------------------------------------- /** * @brief DialogRejected emit signal dialog rejected diff --git a/src/app/dialogs/tools/dialogtool.h b/src/app/dialogs/tools/dialogtool.h index 03d1c1668..5bea4a5fa 100644 --- a/src/app/dialogs/tools/dialogtool.h +++ b/src/app/dialogs/tools/dialogtool.h @@ -56,7 +56,7 @@ class DialogTool : public QDialog Q_OBJECT public: DialogTool(const VContainer *data, const quint32 &toolId, QWidget *parent = nullptr); - virtual ~DialogTool() {} + virtual ~DialogTool(); VAbstractTool* GetAssociatedTool(); void SetAssociatedTool(VAbstractTool* tool); @@ -74,7 +74,7 @@ signals: /** * @brief DialogApplied emit signal dialog apply changes */ - void DialogApplied(); + void DialogApplied(); /** * @brief ToolTip emit tooltipe for tool * @param toolTip text tooltipe @@ -88,7 +88,7 @@ public slots: /** * @brief DialogApply save data and emit signal DialogApplied. */ - virtual void DialogApply(){} + virtual void DialogApply(); virtual void DialogRejected(); void FormulaChanged(); /** @@ -320,6 +320,10 @@ protected: void ChangeColor(QWidget *widget, const QColor &color); void setPointId(QComboBox *box, quint32 &pointId, const quint32 &value); virtual void ShowVisualization(){} + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(){} private: void FillList(QComboBox *box, const QMap &list)const; }; diff --git a/src/app/dialogs/tools/dialogtriangle.cpp b/src/app/dialogs/tools/dialogtriangle.cpp index aaa060f40..66445f613 100644 --- a/src/app/dialogs/tools/dialogtriangle.cpp +++ b/src/app/dialogs/tools/dialogtriangle.cpp @@ -115,17 +115,13 @@ void DialogTriangle::ChosenObject(quint32 id, const SceneObject &type) } //--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogTriangle::DialogAccepted() +void DialogTriangle::SaveData() { pointName = ui->lineEditNamePoint->text(); firstPointId = getCurrentObjectId(ui->comboBoxFirstPoint); secondPointId = getCurrentObjectId(ui->comboBoxSecondPoint); axisP1Id = getCurrentObjectId(ui->comboBoxAxisP1); axisP2Id = getCurrentObjectId(ui->comboBoxAxisP2); - emit DialogClosed(QDialog::Accepted); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogtriangle.h b/src/app/dialogs/tools/dialogtriangle.h index 44d69cf69..256c58d4a 100644 --- a/src/app/dialogs/tools/dialogtriangle.h +++ b/src/app/dialogs/tools/dialogtriangle.h @@ -62,12 +62,12 @@ public: void setPointName(const QString &value); public slots: virtual void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** TODO ISSUE 79 : create real function - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(){} virtual void PointNameChanged(); +protected: + /** + * @brief SaveData Put dialog data in local variables + */ + virtual void SaveData(); private: Q_DISABLE_COPY(DialogTriangle) diff --git a/src/app/dialogs/tools/dialoguniondetails.cpp b/src/app/dialogs/tools/dialoguniondetails.cpp index db8a9157b..f993b7e40 100644 --- a/src/app/dialogs/tools/dialoguniondetails.cpp +++ b/src/app/dialogs/tools/dialoguniondetails.cpp @@ -69,15 +69,6 @@ void DialogUnionDetails::ChosenObject(quint32 id, const SceneObject &type) } } -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief DialogAccepted save data and emit signal about closed dialog. - */ -void DialogUnionDetails::DialogAccepted() -{ - emit DialogClosed(QDialog::Accepted); -} - //--------------------------------------------------------------------------------------------------------------------- void DialogUnionDetails::UpdateList() { diff --git a/src/app/dialogs/tools/dialoguniondetails.h b/src/app/dialogs/tools/dialoguniondetails.h index c92f36958..37a34f29c 100644 --- a/src/app/dialogs/tools/dialoguniondetails.h +++ b/src/app/dialogs/tools/dialoguniondetails.h @@ -52,11 +52,6 @@ public: ptrdiff_t getIndexD2() const; public slots: void ChosenObject(quint32 id, const SceneObject &type); - virtual void DialogAccepted(); - /** TODO ISSUE 79 : create real function - * @brief DialogApply apply data and emit signal about applied dialog. - */ - virtual void DialogApply(){} virtual void UpdateList(); private: Q_DISABLE_COPY(DialogUnionDetails) diff --git a/src/app/mainwindow.cpp b/src/app/mainwindow.cpp index cfe89011c..03a47ad54 100644 --- a/src/app/mainwindow.cpp +++ b/src/app/mainwindow.cpp @@ -568,8 +568,9 @@ void MainWindow::ClosedDialogDetail(int result) */ void MainWindow::ToolHeight(bool checked) { - SetToolButton(checked, Tool::Height, ":/cursor/height_cursor.png", tr("Select base point"), - &MainWindow::ClosedDialog); + SetToolButtonWithApply(checked, Tool::Height, ":/cursor/height_cursor.png", tr("Select base point"), + &MainWindow::ClosedDialogWithApply, + &MainWindow::ApplyDialog); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/tools/drawTools/vtoolheight.cpp b/src/app/tools/drawTools/vtoolheight.cpp index 350588912..d19dd9ac0 100644 --- a/src/app/tools/drawTools/vtoolheight.cpp +++ b/src/app/tools/drawTools/vtoolheight.cpp @@ -85,9 +85,9 @@ void VToolHeight::setDialog() * @param scene pointer to scene. * @param doc dom document container. * @param data container with variables. + * @return the created tool */ -void VToolHeight::Create(DialogTool *dialog, VMainGraphicsScene *scene, VPattern *doc, - VContainer *data) +VToolHeight* VToolHeight::Create(DialogTool *dialog, VMainGraphicsScene *scene, VPattern *doc, VContainer *data) { SCASSERT(dialog != nullptr); DialogHeight *dialogTool = qobject_cast(dialog); @@ -98,8 +98,15 @@ void VToolHeight::Create(DialogTool *dialog, VMainGraphicsScene *scene, VPattern const quint32 basePointId = dialogTool->getBasePointId(); const quint32 p1LineId = dialogTool->getP1LineId(); const quint32 p2LineId = dialogTool->getP2LineId(); - Create(0, pointName, typeLine, basePointId, p1LineId, p2LineId, 5, 10, scene, doc, data, - Document::FullParse, Source::FromGui); + + VToolHeight *point = nullptr; + point = Create(0, pointName, typeLine, basePointId, p1LineId, p2LineId, 5, 10, scene, doc, data, + Document::FullParse, Source::FromGui); + if (point != nullptr) + { + point->dialog=dialogTool; + } + return point; } //--------------------------------------------------------------------------------------------------------------------- @@ -118,11 +125,12 @@ void VToolHeight::Create(DialogTool *dialog, VMainGraphicsScene *scene, VPattern * @param data container with variables. * @param parse parser file mode. * @param typeCreation way we create this tool. + * @return the created tool */ -void VToolHeight::Create(const quint32 _id, const QString &pointName, const QString &typeLine, - const quint32 &basePointId, const quint32 &p1LineId, const quint32 &p2LineId, - const qreal &mx, const qreal &my, VMainGraphicsScene *scene, VPattern *doc, - VContainer *data, const Document &parse, const Source &typeCreation) +VToolHeight* VToolHeight::Create(const quint32 _id, const QString &pointName, const QString &typeLine, + const quint32 &basePointId, const quint32 &p1LineId, const quint32 &p2LineId, + const qreal &mx, const qreal &my, VMainGraphicsScene *scene, VPattern *doc, + VContainer *data, const Document &parse, const Source &typeCreation) { const VPointF *basePoint = data->GeometricObject(basePointId); const VPointF *p1Line = data->GeometricObject(p1LineId); @@ -161,7 +169,9 @@ void VToolHeight::Create(const quint32 _id, const QString &pointName, const QStr doc->IncrementReferens(basePointId); doc->IncrementReferens(p1LineId); doc->IncrementReferens(p2LineId); + return point; } + return nullptr; } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/tools/drawTools/vtoolheight.h b/src/app/tools/drawTools/vtoolheight.h index e4abb087d..b8e680930 100644 --- a/src/app/tools/drawTools/vtoolheight.h +++ b/src/app/tools/drawTools/vtoolheight.h @@ -43,11 +43,11 @@ public: const quint32 &p1LineId, const quint32 &p2LineId, const Source &typeCreation, QGraphicsItem * parent = nullptr); virtual void setDialog(); - static void Create(DialogTool *dialog, VMainGraphicsScene *scene, VPattern *doc, VContainer *data); - static void Create(const quint32 _id, const QString &pointName, const QString &typeLine, - const quint32 &basePointId, const quint32 &p1LineId, const quint32 &p2LineId, - const qreal &mx, const qreal &my, VMainGraphicsScene *scene, VPattern *doc, - VContainer *data, const Document &parse, const Source &typeCreation); + static VToolHeight *Create(DialogTool *dialog, VMainGraphicsScene *scene, VPattern *doc, VContainer *data); + static VToolHeight *Create(const quint32 _id, const QString &pointName, const QString &typeLine, + const quint32 &basePointId, const quint32 &p1LineId, const quint32 &p2LineId, + const qreal &mx, const qreal &my, VMainGraphicsScene *scene, VPattern *doc, + VContainer *data, const Document &parse, const Source &typeCreation); static QPointF FindPoint(const QLineF &line, const QPointF &point); static const QString ToolType; public slots: diff --git a/src/app/visualization/vistoolheight.cpp b/src/app/visualization/vistoolheight.cpp index 0b8063eb6..8c340b4df 100644 --- a/src/app/visualization/vistoolheight.cpp +++ b/src/app/visualization/vistoolheight.cpp @@ -82,8 +82,10 @@ void VisToolHeight::RefreshGeometry() DrawLine(line, base_line, supportColor); QPointF height = VToolHeight::FindPoint(base_line, first->toQPointF()); + DrawPoint(point, height, mainColor); + QLineF height_line(first->toQPointF(), height); - DrawLine(this, height_line, mainColor); + DrawLine(this, height_line, mainColor, lineStyle); ShowIntersection(height_line, base_line); }