From 3f50c316de2a7fba972d9812e1747f5d1382ac10 Mon Sep 17 00:00:00 2001 From: dismine Date: Mon, 14 Jul 2014 18:15:55 +0300 Subject: [PATCH] DialogPointOfContact - check if names of points don't equal. --HG-- branch : develop --- .../dialogs/tools/dialogpointofcontact.cpp | 38 +++++++++++++++++-- src/app/dialogs/tools/dialogpointofcontact.h | 7 ++-- src/app/dialogs/tools/dialogpointofcontact.ui | 10 +++-- 3 files changed, 44 insertions(+), 11 deletions(-) diff --git a/src/app/dialogs/tools/dialogpointofcontact.cpp b/src/app/dialogs/tools/dialogpointofcontact.cpp index c232474f9..bf54fb986 100644 --- a/src/app/dialogs/tools/dialogpointofcontact.cpp +++ b/src/app/dialogs/tools/dialogpointofcontact.cpp @@ -79,6 +79,12 @@ DialogPointOfContact::DialogPointOfContact(const VContainer *data, QWidget *pare connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, &DialogPointOfContact::NamePointChanged); connect(ui->plainTextEditFormula, &QPlainTextEdit::textChanged, this, &DialogPointOfContact::FormulaTextChanged); connect(ui->pushButtonGrowLength, &QPushButton::clicked, this, &DialogPointOfContact::DeployFormulaTextEdit); + connect(ui->comboBoxFirstPoint, static_cast(&QComboBox::currentIndexChanged), + this, &DialogPointOfContact::PointNameChanged); + connect(ui->comboBoxSecondPoint, static_cast(&QComboBox::currentIndexChanged), + this, &DialogPointOfContact::PointNameChanged); + connect(ui->comboBoxCenter, static_cast(&QComboBox::currentIndexChanged), + this, &DialogPointOfContact::PointNameChanged); } //--------------------------------------------------------------------------------------------------------------------- @@ -87,6 +93,31 @@ void DialogPointOfContact::FormulaTextChanged() this->FormulaChangedPlainText(); } +//--------------------------------------------------------------------------------------------------------------------- +void DialogPointOfContact::PointNameChanged() +{ + QSet set; + set.insert(getCurrentObjectId(ui->comboBoxFirstPoint)); + set.insert(getCurrentObjectId(ui->comboBoxSecondPoint)); + set.insert(getCurrentObjectId(ui->comboBoxCenter)); + + if (set.size() != 3) + { + flagError = false; + ChangeColor(ui->labelFirstPoint, Qt::red); + ChangeColor(ui->labelSecondPoint, Qt::red); + ChangeColor(ui->labelArcCenter, Qt::red); + } + else + { + flagError = true; + ChangeColor(ui->labelFirstPoint, QColor(76, 76, 76)); + ChangeColor(ui->labelSecondPoint, QColor(76, 76, 76)); + ChangeColor(ui->labelArcCenter, QColor(76, 76, 76)); + } + CheckState(); +} + //--------------------------------------------------------------------------------------------------------------------- void DialogPointOfContact::DeployFormulaTextEdit() { @@ -179,7 +210,7 @@ void DialogPointOfContact::SaveData() */ void DialogPointOfContact::setSecondPoint(const quint32 &value, const quint32 &id) { - setCurrentPointId(ui->comboBoxSecondPoint, secondPoint, value, id); + setPointId(ui->comboBoxSecondPoint, secondPoint, value, id); } //--------------------------------------------------------------------------------------------------------------------- @@ -190,7 +221,7 @@ void DialogPointOfContact::setSecondPoint(const quint32 &value, const quint32 &i */ void DialogPointOfContact::setFirstPoint(const quint32 &value, const quint32 &id) { - setCurrentPointId(ui->comboBoxFirstPoint, firstPoint, value, id); + setPointId(ui->comboBoxFirstPoint, firstPoint, value, id); } //--------------------------------------------------------------------------------------------------------------------- @@ -201,8 +232,7 @@ void DialogPointOfContact::setFirstPoint(const quint32 &value, const quint32 &id */ void DialogPointOfContact::setCenter(const quint32 &value, const quint32 &id) { - setCurrentPointId(ui->comboBoxCenter, center, value, id); - center = value; + setPointId(ui->comboBoxCenter, center, value, id); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogpointofcontact.h b/src/app/dialogs/tools/dialogpointofcontact.h index e4413785e..9f7ac6691 100644 --- a/src/app/dialogs/tools/dialogpointofcontact.h +++ b/src/app/dialogs/tools/dialogpointofcontact.h @@ -65,15 +65,16 @@ public slots: /** * @brief DialogApply apply data and emit signal about applied dialog. */ - virtual void DialogApply(); + 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(); + virtual void PointNameChanged(); private: Q_DISABLE_COPY(DialogPointOfContact) diff --git a/src/app/dialogs/tools/dialogpointofcontact.ui b/src/app/dialogs/tools/dialogpointofcontact.ui index fd13a0448..cf93a6ba7 100644 --- a/src/app/dialogs/tools/dialogpointofcontact.ui +++ b/src/app/dialogs/tools/dialogpointofcontact.ui @@ -189,7 +189,9 @@ - + + + @@ -268,7 +270,7 @@ - + 0 @@ -304,7 +306,7 @@ - + 0 @@ -337,7 +339,7 @@ - + 0