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
qualitypage.h
Go to the documentation of this file.
1
23#ifndef QUALITYPAGE_H
24#define QUALITYPAGE_H
25
27
28class QCheckBox;
29class QComboBox;
30class QDoubleSpinBox;
31class QSpinBox;
32class QTabWidget;
33
34namespace openswmmvis::ui
35{
36
38{
39 Q_OBJECT
40
41public:
42 explicit QualityPage(SimOptionsContext &ctx, QWidget *parent = nullptr);
43
44 [[nodiscard]] QString title() const override;
45 void read() override;
46 int write() override;
47 void applyCapabilities() override;
48 void refreshGates() override;
49
52
53 [[nodiscard]] QTabWidget *tabs() const { return m_tabs; }
55 [[nodiscard]] QString qualitySolver() const;
58 [[nodiscard]] bool tracksReservedSpecies() const;
59
60private:
61 void buildUi();
62 void tagWidgets();
63
64 QTabWidget *m_tabs = nullptr;
65
66 QComboBox *m_qualitySolverCombo = nullptr; // QUALITY_SOLVER (header)
67 QComboBox *m_outfallBackflowCombo = nullptr; // OUTFALL_BACKFLOW_QUALITY
68 QDoubleSpinBox *m_qualityStepSpin = nullptr; // QUALITY_STEP (s)
69 QSpinBox *m_maxSegmentsSpin = nullptr; // MAX_SEGMENTS_PER_LINK
70 QComboBox *m_dispersionCombo = nullptr; // DISPERSION OFF|RWPT
71 QSpinBox *m_rwptSeedSpin = nullptr; // RWPT_SEED (RWPT only)
72 QCheckBox *m_waterAgeBox = nullptr; // WATER_AGE
73 QCheckBox *m_heatTransportBox = nullptr; // HEAT_TRANSPORT
74 QComboBox *m_fvScalarSchemeCombo = nullptr; // FV_SCALAR_SCHEME
75};
76
77} // namespace openswmmvis::ui
78
79#endif // QUALITYPAGE_H
Definition qualitypage.h:38
void applyCapabilities() override
One-shot per-widget disable/tooltip from ctx_.caps().
Definition qualitypage.cpp:268
void read() override
engine โ†’ widgets. Block signals while setting.
Definition qualitypage.cpp:298
QString qualitySolver() const
Current QUALITY_SOLVER token (LEGACY | EULERIAN_ARD | LAGRANGIAN).
Definition qualitypage.cpp:39
QTabWidget * tabs() const
Definition qualitypage.h:53
Tab
Tab order, so the dialog can name gates without magic numbers.
Definition qualitypage.h:51
@ TabReserved
Definition qualitypage.h:51
@ TabArd
Definition qualitypage.h:51
@ TabGeneral
Definition qualitypage.h:51
@ TabLard
Definition qualitypage.h:51
QString title() const override
Sidebar row text, already tr()'d.
Definition qualitypage.cpp:34
int write() override
widgets โ†’ engine via ctx_.writeIfChanged; returns the sum.
Definition qualitypage.cpp:338
void refreshGates() override
Intra-page widget gates (PLAN ยง4.3 "widget" rows).
Definition qualitypage.cpp:253
bool tracksReservedSpecies() const
True while WATER_AGE or HEAT_TRANSPORT is ticked โ€” half of the dialog's "is there anything to transpo...
Definition qualitypage.cpp:45
Definition simoptionscontext.h:31
Definition simoptionspage.h:25
Definition openswmmvislayer.h:43
QVector< int > parent
union-find
Definition pslgminsize.cpp:176