From 84050f042b76ba1e0dd6164b5697ec846af15c19 Mon Sep 17 00:00:00 2001 From: dismine Date: Mon, 14 Jul 2014 19:12:51 +0300 Subject: [PATCH] DialogTriangle - check if names of points don't equal. --HG-- branch : develop --- src/app/dialogs/tools/dialogtriangle.cpp | 48 ++++++++++++++++++++---- src/app/dialogs/tools/dialogtriangle.h | 3 +- src/app/dialogs/tools/dialogtriangle.ui | 8 ++-- 3 files changed, 46 insertions(+), 13 deletions(-) diff --git a/src/app/dialogs/tools/dialogtriangle.cpp b/src/app/dialogs/tools/dialogtriangle.cpp index 652356339..acc550111 100644 --- a/src/app/dialogs/tools/dialogtriangle.cpp +++ b/src/app/dialogs/tools/dialogtriangle.cpp @@ -54,6 +54,14 @@ DialogTriangle::DialogTriangle(const VContainer *data, QWidget *parent) FillComboBoxPoints(ui->comboBoxSecondPoint); connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, &DialogTriangle::NamePointChanged); + connect(ui->comboBoxFirstPoint, static_cast(&QComboBox::currentIndexChanged), + this, &DialogTriangle::PointNameChanged); + connect(ui->comboBoxSecondPoint, static_cast(&QComboBox::currentIndexChanged), + this, &DialogTriangle::PointNameChanged); + connect(ui->comboBoxAxisP1, static_cast(&QComboBox::currentIndexChanged), + this, &DialogTriangle::PointNameChanged); + connect(ui->comboBoxAxisP2, static_cast(&QComboBox::currentIndexChanged), + this, &DialogTriangle::PointNameChanged); } //--------------------------------------------------------------------------------------------------------------------- @@ -120,6 +128,34 @@ void DialogTriangle::DialogAccepted() emit DialogClosed(QDialog::Accepted); } +//--------------------------------------------------------------------------------------------------------------------- +void DialogTriangle::PointNameChanged() +{ + QSet set; + set.insert(getCurrentObjectId(ui->comboBoxFirstPoint)); + set.insert(getCurrentObjectId(ui->comboBoxSecondPoint)); + set.insert(getCurrentObjectId(ui->comboBoxAxisP1)); + set.insert(getCurrentObjectId(ui->comboBoxAxisP2)); + + if (set.size() != 4) + { + flagError = false; + ChangeColor(ui->labelFirstPoint, Qt::red); + ChangeColor(ui->labelSecondPoint, Qt::red); + ChangeColor(ui->labelAxisP1, Qt::red); + ChangeColor(ui->labelAxisP2, Qt::red); + } + else + { + flagError = true; + ChangeColor(ui->labelFirstPoint, QColor(76, 76, 76)); + ChangeColor(ui->labelSecondPoint, QColor(76, 76, 76)); + ChangeColor(ui->labelAxisP1, QColor(76, 76, 76)); + ChangeColor(ui->labelAxisP2, QColor(76, 76, 76)); + } + CheckState(); +} + //--------------------------------------------------------------------------------------------------------------------- /** * @brief setPointName set name of point @@ -139,8 +175,7 @@ void DialogTriangle::setPointName(const QString &value) */ void DialogTriangle::setSecondPointId(const quint32 &value, const quint32 &id) { - secondPointId = value; - setCurrentPointId(ui->comboBoxSecondPoint, secondPointId, value, id); + setPointId(ui->comboBoxSecondPoint, secondPointId, value, id); } //--------------------------------------------------------------------------------------------------------------------- @@ -151,8 +186,7 @@ void DialogTriangle::setSecondPointId(const quint32 &value, const quint32 &id) */ void DialogTriangle::setFirstPointId(const quint32 &value, const quint32 &id) { - firstPointId = value; - setCurrentPointId(ui->comboBoxFirstPoint, firstPointId, value, id); + setPointId(ui->comboBoxFirstPoint, firstPointId, value, id); } //--------------------------------------------------------------------------------------------------------------------- @@ -163,8 +197,7 @@ void DialogTriangle::setFirstPointId(const quint32 &value, const quint32 &id) */ void DialogTriangle::setAxisP2Id(const quint32 &value, const quint32 &id) { - axisP2Id = value; - setCurrentPointId(ui->comboBoxAxisP2, axisP2Id, value, id); + setPointId(ui->comboBoxAxisP2, axisP2Id, value, id); } //--------------------------------------------------------------------------------------------------------------------- @@ -175,6 +208,5 @@ void DialogTriangle::setAxisP2Id(const quint32 &value, const quint32 &id) */ void DialogTriangle::setAxisP1Id(const quint32 &value, const quint32 &id) { - axisP1Id = value; - setCurrentPointId(ui->comboBoxAxisP1, axisP1Id, value, id); + setPointId(ui->comboBoxAxisP1, axisP1Id, value, id); } diff --git a/src/app/dialogs/tools/dialogtriangle.h b/src/app/dialogs/tools/dialogtriangle.h index 4c648f6b4..8e8d78177 100644 --- a/src/app/dialogs/tools/dialogtriangle.h +++ b/src/app/dialogs/tools/dialogtriangle.h @@ -66,7 +66,8 @@ public slots: /** TODO ISSUE 79 : create real function * @brief DialogApply apply data and emit signal about applied dialog. */ - virtual void DialogApply(){} + virtual void DialogApply(){} + virtual void PointNameChanged(); private: Q_DISABLE_COPY(DialogTriangle) diff --git a/src/app/dialogs/tools/dialogtriangle.ui b/src/app/dialogs/tools/dialogtriangle.ui index 7bb314c84..0a5f3223f 100644 --- a/src/app/dialogs/tools/dialogtriangle.ui +++ b/src/app/dialogs/tools/dialogtriangle.ui @@ -81,7 +81,7 @@ - + First point of axis @@ -99,7 +99,7 @@ - + Second point of axis @@ -117,7 +117,7 @@ - + First point @@ -135,7 +135,7 @@ - + Second point