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
plotvariablepickerdialog.h
Go to the documentation of this file.
1
20#ifndef OPENSWMMVIS_UI_DIALOGS_PLOTVARIABLEPICKERDIALOG_H
21#define OPENSWMMVIS_UI_DIALOGS_PLOTVARIABLEPICKERDIALOG_H
22
23#include "plot/irunlayer.h"
24#include "plot/plotattribute.h"
25
26#include <QDialog>
27#include <QVector>
28
29class QDialogButtonBox;
30class QLineEdit;
31class QTreeWidget;
32class QTreeWidgetItem;
33
34namespace openswmmvis::ui {
35
36class PlotVariablePickerDialog : public QDialog
37{
38 Q_OBJECT
39
40public:
58
70 const QVector<openswmmvis::plot::ObjectRef> &features,
71 const openswmmvis::plot::IRunLayer *availability,
73 QWidget *parent = nullptr);
74
76 [[nodiscard]] QVector<Entry> checkedEntries() const;
77
78private:
79 void buildTree(const QVector<openswmmvis::plot::ObjectRef> &features,
80 const openswmmvis::plot::IRunLayer *availability,
82 void addAttributeLeaf(QTreeWidgetItem *group,
85 const openswmmvis::plot::IRunLayer *availability,
87 void addDescriptorLeaf(QTreeWidgetItem *group,
90 const openswmmvis::plot::IRunLayer *availability,
92 void setAllChecked(bool checked);
93 void invertChecked();
94 void applyFilter(const QString &text);
95 void updateOkEnabled();
96
97 QTreeWidget *m_tree = nullptr;
98 QLineEdit *m_filter = nullptr;
99 QDialogButtonBox *m_buttons = nullptr;
100};
101
102} // namespace openswmmvis::ui
103
104#endif // OPENSWMMVIS_UI_DIALOGS_PLOTVARIABLEPICKERDIALOG_H
Abstract source backing one comparison-plot run.
Definition irunlayer.h:171
Definition plotvariablepickerdialog.h:37
QVector< Entry > checkedEntries() const
All checked leaf entries, in tree order.
Definition plotvariablepickerdialog.cpp:181
Slice BL — abstract "data-source" that the ComparisonPlotModel reads timeseries from.
PlotAttribute
What a series plots. One row per attribute in the Nx2 grid.
Definition plotattribute.h:38
UnitSystem
Unit system carried per .out file. Sourced from swmm_output_get_flow_units: 0=CFS / 1=GPM / 2=MGD → U...
Definition plotattribute.h:32
Definition openswmmvislayer.h:43
Slice BL — canonical enumeration of plottable result attributes.
EdgeRef ref
Definition pslgminsize.cpp:377
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
QString text
Definition queryparser.cpp:35
Identifies what object a series is about. Kind is the discriminator; the active union member is impli...
Definition irunlayer.h:38
One plottable result: a fixed attribute OR a species by name.
Definition resultdescriptor.h:39
static ResultDescriptor forAttribute(PlotAttribute a)
Definition resultdescriptor.h:65
static ResultDescriptor forSpecies(const QString &name)
Definition resultdescriptor.h:68
Definition plotvariablepickerdialog.h:45
QString species
Definition plotvariablepickerdialog.h:49
openswmmvis::plot::ObjectRef ref
Definition plotvariablepickerdialog.h:46
openswmmvis::plot::ResultDescriptor descriptor() const
Definition plotvariablepickerdialog.h:51
openswmmvis::plot::PlotAttribute attribute
Definition plotvariablepickerdialog.h:47