diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2013-06-04 18:51:27 -0300 |
---|---|---|
committer | Tomaz Canabrava <tcanabrava@kde.org> | 2013-06-04 18:51:27 -0300 |
commit | 48dda4192f5e82fcaa7a04577a8a0b9aea1a00c8 (patch) | |
tree | 3eba70644f9b644fb37641926f9bb95f82c7ca4d /qt-ui/simplewidgets.cpp | |
parent | b38e2ab485756e33d4d8bbab8baf1969405a1d90 (diff) | |
download | subsurface-48dda4192f5e82fcaa7a04577a8a0b9aea1a00c8.tar.gz |
Added a new widget 'MinMaxAvgWidget'
Added a new widget, MinMaxAvgWidget, a simple widget
that displays values in 'min, max, avg' fashion.
it has a setMaximum, setAverage and setMinimum
methods, that is userful for setting the minimum,
maximum and average of stuff. Ah, it also shows
the minimum, maximum and average of things.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Diffstat (limited to 'qt-ui/simplewidgets.cpp')
-rw-r--r-- | qt-ui/simplewidgets.cpp | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/qt-ui/simplewidgets.cpp b/qt-ui/simplewidgets.cpp new file mode 100644 index 000000000..c389a34c3 --- /dev/null +++ b/qt-ui/simplewidgets.cpp @@ -0,0 +1,92 @@ +#include "simplewidgets.h" + +#include <QLabel> +#include <QLabel> +#include <QFormLayout> +#include <QIcon> + +class MinMaxAvgWidgetPrivate{ +public: + QLabel *avgIco, *avgValue; + QLabel *minIco, *minValue; + QLabel *maxIco, *maxValue; + + MinMaxAvgWidgetPrivate(MinMaxAvgWidget *owner){ + avgIco = new QLabel(owner); + avgIco->setPixmap(QIcon(":/average").pixmap(16,16)); + avgIco->setToolTip(QObject::tr("Average")); + minIco = new QLabel(owner); + minIco->setPixmap(QIcon(":/minimum").pixmap(16,16)); + minIco->setToolTip(QObject::tr("Minimum")); + maxIco = new QLabel(owner); + maxIco->setPixmap(QIcon(":/maximum").pixmap(16,16)); + maxIco->setToolTip(QObject::tr("Maximum")); + avgValue = new QLabel(owner); + minValue = new QLabel(owner); + maxValue = new QLabel(owner); + + QGridLayout *formLayout = new QGridLayout(); + formLayout->addWidget(maxIco, 0, 0); + formLayout->addWidget(maxValue, 0, 1); + formLayout->addWidget(avgIco, 1, 0); + formLayout->addWidget(avgValue, 1, 1); + formLayout->addWidget(minIco, 2, 0); + formLayout->addWidget(minValue, 2, 1); + owner->setLayout(formLayout); + } +}; + +double MinMaxAvgWidget::average() const +{ + return d->avgValue->text().toDouble(); +} + +double MinMaxAvgWidget::maximum() const +{ + return d->maxValue->text().toDouble(); +} +double MinMaxAvgWidget::minimum() const +{ + return d->minValue->text().toDouble(); +} + +MinMaxAvgWidget::MinMaxAvgWidget(QWidget* parent) +: d(new MinMaxAvgWidgetPrivate(this)){ + +} + +void MinMaxAvgWidget::clear() +{ + d->avgValue->setText(QString()); + d->maxValue->setText(QString()); + d->minValue->setText(QString()); +} + +void MinMaxAvgWidget::setAverage(double average) +{ + d->avgValue->setText(QString::number(average)); +} + +void MinMaxAvgWidget::setMaximum(double maximum) +{ + d->maxValue->setText(QString::number(maximum)); +} +void MinMaxAvgWidget::setMinimum(double minimum) +{ + d->minValue->setText(QString::number(minimum)); +} + +void MinMaxAvgWidget::setAverage(const QString& average) +{ + d->avgValue->setText(average); +} + +void MinMaxAvgWidget::setMaximum(const QString& maximum) +{ + d->maxValue->setText(maximum); +} + +void MinMaxAvgWidget::setMinimum(const QString& minimum) +{ + d->minValue->setText(minimum); +} |