diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-02-28 01:08:15 -0500 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-02-28 01:08:15 -0500 |
| commit | efb2daeb653694f29e12ee09348ccf68c904cc83 (patch) | |
| tree | a8bc3582870efe95f5b6364ea36635140a4e8e45 | |
| parent | 0f65eadc328acd2c1b9ca0a76284fecabcbd34d8 (diff) | |
| download | sigen-efb2daeb653694f29e12ee09348ccf68c904cc83.tar.gz sigen-efb2daeb653694f29e12ee09348ccf68c904cc83.tar.xz sigen-efb2daeb653694f29e12ee09348ccf68c904cc83.zip | |
Fixed setting of the widgets for Fraction
| -rw-r--r-- | sigmodr/corewidgets/FractionWidget.cpp | 13 | ||||
| -rw-r--r-- | sigmodr/corewidgets/FractionWidget_p.h | 1 |
2 files changed, 10 insertions, 4 deletions
diff --git a/sigmodr/corewidgets/FractionWidget.cpp b/sigmodr/corewidgets/FractionWidget.cpp index 327de025..3ba823df 100644 --- a/sigmodr/corewidgets/FractionWidget.cpp +++ b/sigmodr/corewidgets/FractionWidget.cpp @@ -86,8 +86,7 @@ QWidget* FractionWidget::Private::makeWidgets(FractionWidget* widget) connect(ui_numerator, SIGNAL(valueChanged(int)), this, SLOT(numeratorChanged(int))); connect(ui_denominator, SIGNAL(valueChanged(int)), this, SLOT(denominatorChanged(int))); connect(this, SIGNAL(valueChanged(Sigcore::Fraction)), widget, SIGNAL(valueChanged(Sigcore::Fraction))); - connect(this, SIGNAL(valueChanged(Sigcore::Fraction)), this, SLOT(updateValue())); - connect(this, SIGNAL(valueChanged(Sigcore::Fraction)), this, SLOT(resetRanges())); + connect(widget, SIGNAL(valueChanged(Sigcore::Fraction)), this, SLOT(setGui())); connect(widget, SIGNAL(behaviorChanged(Behavior)), this, SLOT(resetRanges())); updateValue(); return formWidget; @@ -105,6 +104,14 @@ void FractionWidget::Private::denominatorChanged(const int denominator) emit(valueChanged(m_value)); } +void FractionWidget::Private::setGui() +{ + resetRanges(); + ui_numerator->setValue(m_value.numerator()); + ui_denominator->setValue(m_value.denominator()); + updateValue(); +} + void FractionWidget::Private::updateValue() { ui_value->setText(QString::number(double(m_value), 'g', 7)); @@ -112,8 +119,6 @@ void FractionWidget::Private::updateValue() void FractionWidget::Private::resetRanges() { - ui_numerator->setValue(m_value.numerator()); - ui_denominator->setValue(m_value.denominator()); int numMin = 0; int numMax = INT_MAX; int denomMin = 1; diff --git a/sigmodr/corewidgets/FractionWidget_p.h b/sigmodr/corewidgets/FractionWidget_p.h index b7f02ce4..25b7d3ea 100644 --- a/sigmodr/corewidgets/FractionWidget_p.h +++ b/sigmodr/corewidgets/FractionWidget_p.h @@ -52,6 +52,7 @@ class FractionWidget::Private : public QObject void numeratorChanged(const int numerator); void denominatorChanged(const int denominator); + void setGui(); void updateValue(); void resetRanges(); private: |
