diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-02-24 03:02:23 -0500 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-02-24 03:02:23 -0500 |
| commit | 4453d587364e38c11f218c46db482f0b2ebe93ae (patch) | |
| tree | c1035338d94298316b2de0eb88e6f39ceef86210 /sigmodr/widgets/FractionWidget.cpp | |
| parent | c076cd60d8dc8b4a8f9636e5b8ce828f9aee3f7c (diff) | |
| download | sigen-4453d587364e38c11f218c46db482f0b2ebe93ae.tar.gz sigen-4453d587364e38c11f218c46db482f0b2ebe93ae.tar.xz sigen-4453d587364e38c11f218c46db482f0b2ebe93ae.zip | |
Converted some classes to load from the resource instead of using inheritence for forms
Diffstat (limited to 'sigmodr/widgets/FractionWidget.cpp')
| -rw-r--r-- | sigmodr/widgets/FractionWidget.cpp | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/sigmodr/widgets/FractionWidget.cpp b/sigmodr/widgets/FractionWidget.cpp index 87893a99..85a1c306 100644 --- a/sigmodr/widgets/FractionWidget.cpp +++ b/sigmodr/widgets/FractionWidget.cpp @@ -18,12 +18,31 @@ // Header include #include "FractionWidget.h" +// KDE includes +#include <KIntNumInput> +#include <KLineEdit> + +// Qt includes +#include <QtCore/QFile> +#include <QtUiTools/QUiLoader> + +// C includes +#include <climits> + Sigmodr::Widgets::FractionWidget::FractionWidget(QWidget* parent, const Sigcore::Fraction& value) : QWidget(parent), - m_behavior(Any), - m_value(value) + m_value(value), + m_behavior(Any) { - setupUi(this); + QFile file(":/gui/weather.ui"); + file.open(QFile::ReadOnly); + QWidget *formWidget = QUiLoader().load(&file, this); + file.close(); + ui_numerator = formWidget->findChild<KIntNumInput*>("varNumerator"); + ui_denominator = formWidget->findChild<KIntNumInput*>("varDenominator"); + ui_value = formWidget->findChild<KLineEdit*>("varValue"); + 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)), SLOT(updateValue())); connect(this, SIGNAL(valueChanged(Sigcore::Fraction)), SLOT(resetRanges())); connect(this, SIGNAL(behaviorChanged(Behavior)), SLOT(resetRanges())); @@ -48,7 +67,7 @@ void Sigmodr::Widgets::FractionWidget::setBehavior(const Behavior behavior) void Sigmodr::Widgets::FractionWidget::setValue(const Sigcore::Fraction& value) { - if (!varValue->text().isEmpty() && (m_value == value)) + if (!ui_value->text().isEmpty() && (m_value == value)) return; m_value = value; emit(valueChanged(m_value)); @@ -56,16 +75,16 @@ void Sigmodr::Widgets::FractionWidget::setValue(const Sigcore::Fraction& value) void Sigmodr::Widgets::FractionWidget::updateValue() { - varValue->setText(QString::number(double(m_value), 'g', 7)); + ui_value->setText(QString::number(double(m_value), 'g', 7)); } -void Sigmodr::Widgets::FractionWidget::on_varNumerator_valueChanged(const int numerator) +void Sigmodr::Widgets::FractionWidget::numeratorChanged(const int numerator) { m_value.setNumerator(numerator); emit(valueChanged(m_value)); } -void Sigmodr::Widgets::FractionWidget::on_varDenominator_valueChanged(const int denominator) +void Sigmodr::Widgets::FractionWidget::denominatorChanged(const int denominator) { m_value.setDenominator(denominator); emit(valueChanged(m_value)); @@ -73,8 +92,8 @@ void Sigmodr::Widgets::FractionWidget::on_varDenominator_valueChanged(const int void Sigmodr::Widgets::FractionWidget::resetRanges() { - varNumerator->setValue(m_value.numerator()); - varDenominator->setValue(m_value.denominator()); + ui_numerator->setValue(m_value.numerator()); + ui_denominator->setValue(m_value.denominator()); int numMin = 0; int numMax = INT_MAX; int denomMin = 1; @@ -93,6 +112,6 @@ void Sigmodr::Widgets::FractionWidget::resetRanges() default: break; } - varNumerator->setRange(numMin, numMax); - varDenominator->setRange(denomMin, denomMax); + ui_numerator->setRange(numMin, numMax); + ui_denominator->setRange(denomMin, denomMax); } |
