SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
statssummarypanel.h
Go to the documentation of this file.
1
23#ifndef OPENSWMMVIS_UI_WIDGETS_STATSSUMMARYPANEL_H
24#define OPENSWMMVIS_UI_WIDGETS_STATSSUMMARYPANEL_H
25
26#include "plot/numberformat.h"
27
28#include <QDateTime>
29#include <QHash>
30#include <QPointer>
31#include <QString>
32#include <QWidget>
33
34class QTabWidget;
35class QTableWidget;
36
37namespace openswmmvis::plot { class ComparisonPlotModel; }
38
39namespace openswmmvis::ui {
40
41class StatsSummaryPanel : public QWidget
42{
43 Q_OBJECT
44public:
45 explicit StatsSummaryPanel(QWidget *parent = nullptr);
46 ~StatsSummaryPanel() override = default;
47
52
55 { return m_valueFormat; }
56
59
60public slots:
63 void setSelectionRange(QDateTime lo, QDateTime hi);
64
68 void refresh();
69
70private:
71 void rebuildTabs();
72 void populateTab(QTableWidget *table, int rowIndex);
74 void applyColumnVisibility(QTableWidget *table);
77 void showHeaderContextMenu(QTableWidget *table, const QPoint &globalPos);
80 void loadColumnVisibility();
82 void saveColumnVisibility();
83 void loadNumberFormat();
84 void saveNumberFormat() const;
85 [[nodiscard]] QString formatValue(double value) const;
86
87 QTabWidget *m_tabs = nullptr;
88 QPointer<openswmmvis::plot::ComparisonPlotModel> m_model;
89 QDateTime m_selLo;
90 QDateTime m_selHi;
92
97 QHash<QString, bool> m_columnVisible;
98};
99
100} // namespace openswmmvis::ui
101
102#endif // OPENSWMMVIS_UI_WIDGETS_STATSSUMMARYPANEL_H
Model layer for the Comparison Plot Dialog.
Definition comparisonplotmodel.h:118
Definition statssummarypanel.h:42
void setModel(openswmmvis::plot::ComparisonPlotModel *model)
Bind the panel to a model. Refreshes immediately. The panel listens for the model's structural signal...
Definition statssummarypanel.cpp:177
void refresh()
Recompute all tabs from the current model + selection. Called automatically on model signals; also ex...
Definition statssummarypanel.cpp:207
void setSelectionRange(QDateTime lo, QDateTime hi)
Narrow the stats to samples whose timestamp falls in [lo, hi]. Pass invalid datetimes to clear the se...
Definition statssummarypanel.cpp:199
openswmmvis::plot::NumberFormat statisticNumberFormat() const
Current number format used for all statistic value cells.
Definition statssummarypanel.h:54
void setStatisticNumberFormat(const openswmmvis::plot::NumberFormat &format)
Set the number format used for statistic value cells.
Definition statssummarypanel.cpp:98
~StatsSummaryPanel() override=default
Definition chartproperties.h:34
Definition openswmmvislayer.h:43
Single source of truth for how chart plots render numeric values.
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
A mode + count describing how to render a double.
Definition numberformat.h:41