subsurface/desktop-widgets/tab-widgets/TabDiveStatistics.h
Berthold Stoeger cded7ef5fe selection: pass down selection to tab widgets
On selection change, pass down selection (including current
dive and dc) to the tab widgets. Ultimately, this should
remove access to global variables. A number of new accesses
are marked as TODO. They shall be removed in due course.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2023-04-16 20:23:59 +02:00

54 lines
1.4 KiB
C++

// SPDX-License-Identifier: GPL-2.0
#ifndef TAB_DIVE_STATISTICS_H
#define TAB_DIVE_STATISTICS_H
#include "TabBase.h"
#include "core/subsurface-qt/divelistnotifier.h"
namespace Ui {
class TabDiveStatistics;
};
class TabDiveStatistics : public TabBase {
Q_OBJECT
public:
TabDiveStatistics(QWidget *parent = 0);
~TabDiveStatistics();
void updateData(const std::vector<dive *> &selection, dive *currentDive, int currentDC) override;
void clear() override;
private slots:
void divesChanged(const QVector<dive *> &dives, DiveField field);
void cylinderChanged(dive *d);
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