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
hydrographmodels.h File Reference
#include <QAbstractListModel>
#include <QAbstractTableModel>
#include <QObject>
#include <QString>
Include dependency graph for hydrographmodels.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  HydrographGroupListModel
 
class  HydrographRtkTableModel
 
class  HydrographIaTableModel
 
class  HydrographDecayTableModel
 

Detailed Description

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License\n GPL-3.0-or-later

Slice BS Phase 6.9.2 — hydrograph MVC layer.

Four QAbstractItem/Table/ListModel subclasses owned by SWMMModelLayer. Each is a thin Qt view onto the engine's [HYDROGRAPHS] / [RDII_DECAY] state and listens to SWMMModelLayer::hydrographChanged(name) so every subscribed view (HydrographGroupEditor, SWMMHydrographPropertyAdapter, Object Browser, NewDataObjectDialog, NodeCompoundEditDialog) stays in sync without polling.

Mutation is one-way: views call layer->applyHydrograph*() / applyRdiiDecay*(); the layer wraps the BS-02 C API and emits hydrographChanged(). The models themselves are read-only with respect to engine state — their setData() implementations forward to those apply* helpers and rely on the resulting signal for the refresh.

Per-(name, month) rebinding uses setContext() rather than per-key cached instances; only the editor needs (name, month)-specific views and only one at a time per tab.

See: docs/GUI_IMPLEMENTATION_PLAN.md Slice BS Phase 6.9.2.