27#ifndef OPENSWMMVIS_UI_RAINFALLVISUALIZATIONDIALOG_H
28#define OPENSWMMVIS_UI_RAINFALLVISUALIZATIONDIALOG_H
43class QTableWidgetItem;
53class InteractiveChartView;
54class ChartAxisFormatController;
62 QWidget *
parent =
nullptr);
90 QVector<QChart *> out;
91 for (
const auto &
p : m_panels) out.push_back(
p.chart);
98 QVector<openswmmvis::plot::UtcTimeAxis *> out;
99 for (
const auto &
p : m_panels) out.push_back(
p.axisX);
109 void onBasisChanged_(
int index);
110 void onAutoRefresh_();
111 void onStatsItemChanged_(QTableWidgetItem *item);
115 void rebuildCharts_();
116 void rebuildStatsTable_();
118 QString rainUnitLabel_()
const;
119 QString basisAxisTitle_()
const;
122 QChart *chart =
nullptr;
124 QValueAxis *axisY =
nullptr;
129 QPointer<SWMMModelLayer> m_layer;
132 QToolBar *m_toolbar =
nullptr;
133 QComboBox *m_basisCombo =
nullptr;
134 QTabWidget *m_tabs =
nullptr;
135 QSplitter *m_mainSplit =
nullptr;
136 QTableWidget *m_statsTable =
nullptr;
137 QLabel *m_emptyLabel =
nullptr;
143 QWidget *m_panelsHost =
nullptr;
144 QVector<GagePanel> m_panels;
145 bool m_syncingX =
false;
149 QSet<QString> m_visibleGages;
151 QTimer *m_refreshDebounce =
nullptr;
153 QAction *m_actSelect =
nullptr, *m_actPan =
nullptr,
154 *m_actZoomIn =
nullptr, *m_actZoomOut =
nullptr;
Renders the SWMM network elements (nodes, links, subcatchments, rain gages) for one OpenSWMMEngine mo...
Definition swmmmodellayer.h:133
Definition rainfallseriesmodel.h:71
Basis
Display basis for chart series built from a gage.
Definition rainfallseriesmodel.h:76
Definition utctimeaxis.h:57
Definition interactivechartview.h:43
Definition rainfallvisualizationdialog.h:57
openswmmvis::plot::RainfallSeriesModel::Basis basis() const
Current display basis (exposed for tests).
Definition rainfallvisualizationdialog.cpp:116
openswmmvis::plot::RainfallSeriesModel * model()
The data model (exposed for tests).
Definition rainfallvisualizationdialog.h:81
QSet< QString > visibleGages() const
Gage ids currently plotted (exposed for tests).
Definition rainfallvisualizationdialog.h:75
QChart * overlayChart() const
Overlay chart (exposed for tests — charts live in the QGraphicsScene, outside the widget findChild tr...
Definition rainfallvisualizationdialog.h:85
~RainfallVisualizationDialog() override
QVector< openswmmvis::plot::UtcTimeAxis * > panelTimeAxes() const
Per-gage panel X axes, in gage order (tests).
Definition rainfallvisualizationdialog.h:96
void setLayer(SWMMModelLayer *layer)
Re-bind to a different project's model layer (project-window switch on the singleton instance) and re...
Definition rainfallvisualizationdialog.cpp:99
void refresh()
Reload gage data from the engine (re-reading FILE gages when the engine state allows) and rebuild eve...
Definition rainfallvisualizationdialog.cpp:297
QVector< QChart * > panelCharts() const
Per-gage panel charts, in gage order (tests).
Definition rainfallvisualizationdialog.h:88
void setFocusGage(const QString &gageId)
Make gageId the only visible gage (context-menu / property panel launches). The rest stay listed in t...
Definition rainfallvisualizationdialog.cpp:517
ArrowPlacement p
Definition linesymbollayer.cpp:27
int index
Position in m_quadRegions / m_quadReports.
Definition meshgenerator.cpp:153
Definition chartproperties.h:34
Definition openswmmvislayer.h:43
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
Data model for the Rainfall Visualization dialog.