13#ifndef OPENSWMMVIS_CURVE_CURVEREGISTRY_H
14#define OPENSWMMVIS_CURVE_CURVEREGISTRY_H
33 QVector<CurveProvider *>
providers()
const {
return m_providers; }
58 const QString &prevName,
const QString &newName);
61 QVector<CurveProvider *> m_providers;
62 QHash<QString, CurveProvider *> m_byLowerName;
65 void *m_engineHandle =
nullptr;
Definition curveprovider.h:56
Definition curveregistry.h:26
void providerRenamed(openswmmvis::curve::CurveProvider *provider, const QString &prevName, const QString &newName)
CurveProvider * findByName(const QString &name) const
Definition curveregistry.cpp:26
int saveToEngine(void *engineHandle)
Push every provider back to the engine via swmm_curve_add (if new) + swmm_table_clear + swmm_table_ad...
Definition curveregistry.cpp:123
bool rename(CurveProvider *p, const QString &newName)
Definition curveregistry.cpp:69
int providerCount() const noexcept
Definition curveregistry.h:34
~CurveRegistry() override
void providerAboutToBeRemoved(openswmmvis::curve::CurveProvider *provider)
QVector< CurveProvider * > providers() const
Definition curveregistry.h:33
int loadFromEngine(void *engineHandle)
Populate from a live SWMM engine handle. Walks swmm_table_*, filters out TIMESERIES tables (type code...
Definition curveregistry.cpp:81
bool hasName(const QString &name) const
Definition curveregistry.h:37
void providerAdded(openswmmvis::curve::CurveProvider *provider)
CurveProvider * create(const QString &name, CurveType type)
Create + own a new provider with the given name + type.
Definition curveregistry.cpp:31
void remove(CurveProvider *p)
Definition curveregistry.cpp:49
Slice BQ Phase 6.7.1 — MVC model for a single SWMM curve.
enum OpenSWMM::Render::@788::Value::Type type
ArrowPlacement p
Definition linesymbollayer.cpp:27
Definition curveprovider.h:31
CurveType
Curve flavour. Numeric values match the engine's TableType (1..11) so static_cast<int>(type) is safe.
Definition curveprovider.h:35
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
QString name
Definition sectionmodelbuilders.cpp:474