aboutsummaryrefslogtreecommitdiffstats
path: root/desktop-widgets/tab-widgets
diff options
context:
space:
mode:
Diffstat (limited to 'desktop-widgets/tab-widgets')
-rw-r--r--desktop-widgets/tab-widgets/TabDiveStatistics.cpp101
-rw-r--r--desktop-widgets/tab-widgets/TabDiveStatistics.h26
-rw-r--r--desktop-widgets/tab-widgets/TabDiveStatistics.ui2
3 files changed, 128 insertions, 1 deletions
diff --git a/desktop-widgets/tab-widgets/TabDiveStatistics.cpp b/desktop-widgets/tab-widgets/TabDiveStatistics.cpp
index bedc15402..ce8eba13c 100644
--- a/desktop-widgets/tab-widgets/TabDiveStatistics.cpp
+++ b/desktop-widgets/tab-widgets/TabDiveStatistics.cpp
@@ -5,6 +5,8 @@
#include "core/qthelper.h"
#include "core/selection.h"
#include "core/statistics.h"
+#include <QLabel>
+#include <QIcon>
TabDiveStatistics::TabDiveStatistics(QWidget *parent) : TabBase(parent), ui(new Ui::TabDiveStatistics())
{
@@ -156,3 +158,102 @@ void TabDiveStatistics::updateData()
ui->gasConsumption->setText(gasUsedString);
}
+double MinMaxAvgWidget::average() const
+{
+ return avgValue->text().toDouble();
+}
+
+double MinMaxAvgWidget::maximum() const
+{
+ return maxValue->text().toDouble();
+}
+
+double MinMaxAvgWidget::minimum() const
+{
+ return minValue->text().toDouble();
+}
+
+MinMaxAvgWidget::MinMaxAvgWidget(QWidget *parent) : QWidget(parent)
+{
+ avgIco = new QLabel(this);
+ avgIco->setPixmap(QIcon(":value-average-icon").pixmap(16, 16));
+ avgIco->setToolTip(gettextFromC::tr("Average"));
+ minIco = new QLabel(this);
+ minIco->setPixmap(QIcon(":value-minimum-icon").pixmap(16, 16));
+ minIco->setToolTip(gettextFromC::tr("Minimum"));
+ maxIco = new QLabel(this);
+ maxIco->setPixmap(QIcon(":value-maximum-icon").pixmap(16, 16));
+ maxIco->setToolTip(gettextFromC::tr("Maximum"));
+ avgValue = new QLabel(this);
+ minValue = new QLabel(this);
+ maxValue = new QLabel(this);
+
+ 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);
+ setLayout(formLayout);
+}
+
+void MinMaxAvgWidget::clear()
+{
+ avgValue->setText(QString());
+ maxValue->setText(QString());
+ minValue->setText(QString());
+}
+
+void MinMaxAvgWidget::setAverage(double average)
+{
+ avgValue->setText(QString::number(average));
+}
+
+void MinMaxAvgWidget::setMaximum(double maximum)
+{
+ maxValue->setText(QString::number(maximum));
+}
+void MinMaxAvgWidget::setMinimum(double minimum)
+{
+ minValue->setText(QString::number(minimum));
+}
+
+void MinMaxAvgWidget::setAverage(const QString &average)
+{
+ avgValue->setText(average);
+}
+
+void MinMaxAvgWidget::setMaximum(const QString &maximum)
+{
+ maxValue->setText(maximum);
+}
+
+void MinMaxAvgWidget::setMinimum(const QString &minimum)
+{
+ minValue->setText(minimum);
+}
+
+void MinMaxAvgWidget::overrideMinToolTipText(const QString &newTip)
+{
+ minIco->setToolTip(newTip);
+ minValue->setToolTip(newTip);
+}
+
+void MinMaxAvgWidget::overrideAvgToolTipText(const QString &newTip)
+{
+ avgIco->setToolTip(newTip);
+ avgValue->setToolTip(newTip);
+}
+
+void MinMaxAvgWidget::overrideMaxToolTipText(const QString &newTip)
+{
+ maxIco->setToolTip(newTip);
+ maxValue->setToolTip(newTip);
+}
+
+void MinMaxAvgWidget::setAvgVisibility(bool visible)
+{
+ avgIco->setVisible(visible);
+ avgValue->setVisible(visible);
+}
diff --git a/desktop-widgets/tab-widgets/TabDiveStatistics.h b/desktop-widgets/tab-widgets/TabDiveStatistics.h
index 8d764d4ed..d6b1c1522 100644
--- a/desktop-widgets/tab-widgets/TabDiveStatistics.h
+++ b/desktop-widgets/tab-widgets/TabDiveStatistics.h
@@ -25,4 +25,30 @@ private:
Ui::TabDiveStatistics *ui;
};
+// Widget describing, minimum, maximum and average value.
+// Scheduled for removal in due course.
+class QLabel;
+class MinMaxAvgWidget : public QWidget {
+ Q_OBJECT
+ QLabel *avgIco, *avgValue;
+ QLabel *minIco, *minValue;
+ QLabel *maxIco, *maxValue;
+public:
+ MinMaxAvgWidget(QWidget *parent);
+ double minimum() const;
+ double maximum() const;
+ double average() const;
+ void setMinimum(double minimum);
+ void setMaximum(double maximum);
+ void setAverage(double average);
+ void setMinimum(const QString &minimum);
+ void setMaximum(const QString &maximum);
+ void setAverage(const QString &average);
+ void overrideMinToolTipText(const QString &newTip);
+ void overrideAvgToolTipText(const QString &newTip);
+ void overrideMaxToolTipText(const QString &newTip);
+ void setAvgVisibility(bool visible);
+ void clear();
+};
+
#endif
diff --git a/desktop-widgets/tab-widgets/TabDiveStatistics.ui b/desktop-widgets/tab-widgets/TabDiveStatistics.ui
index 1be4bbcfc..be2d01229 100644
--- a/desktop-widgets/tab-widgets/TabDiveStatistics.ui
+++ b/desktop-widgets/tab-widgets/TabDiveStatistics.ui
@@ -197,7 +197,7 @@
<customwidget>
<class>MinMaxAvgWidget</class>
<extends>QWidget</extends>
- <header>desktop-widgets/simplewidgets.h</header>
+ <header>desktop-widgets/tab-widgets/TabDiveStatistics.h</header>
<container>1</container>
</customwidget>
</customwidgets>