21#ifndef OPENSWMMVIS_PATTERN_PATTERNREGISTRY_H
22#define OPENSWMMVIS_PATTERN_PATTERNREGISTRY_H
44 QVector<PatternProvider *>
providers()
const {
return m_providers; }
120 const QString &prevName,
const QString &newName);
123 QVector<PatternProvider *> m_providers;
124 QHash<QString, PatternProvider *> m_byLowerName;
125 void *m_engineHandle =
nullptr;
Definition patternprovider.h:49
Definition patternregistry.h:34
void providerAboutToBeRemoved(openswmmvis::pattern::PatternProvider *provider)
A provider is about to be removed. Subscribers must drop refs.
void providerRenamed(openswmmvis::pattern::PatternProvider *provider, const QString &prevName, const QString &newName)
A provider's name changed.
void attachEngine(void *engineHandle)
Attach an engine handle so subsequent mutations (create / remove / rename / duplicate) are mirrored t...
Definition patternregistry.h:106
int saveToEngine(void *engineHandle)
Push every provider's factors back to the engine via swmm_pattern_set_factors. New providers (missing...
Definition patternregistry.cpp:177
int providerCount() const noexcept
Definition patternregistry.h:46
bool hasName(const QString &name) const
True iff a provider with this name exists (case-insensitive).
Definition patternregistry.h:52
void remove(PatternProvider *p)
Remove + delete a provider. Safe to call with a stale pointer (no-op if not owned by this registry)....
Definition patternregistry.cpp:86
QVector< PatternProvider * > providers() const
All providers in insertion order.
Definition patternregistry.h:44
~PatternRegistry() override
void * engineHandle() const noexcept
The currently-attached engine handle (or nullptr).
Definition patternregistry.h:109
PatternProvider * duplicate(const QString &srcName, const QString &newName)
Clone an existing provider under a new name. Copies the source provider's type and all factor values....
Definition patternregistry.cpp:58
int loadFromEngine(void *engineHandle)
Populate the registry from a live SWMM engine handle. Walks swmm_pattern_*, creates one PatternProvid...
Definition patternregistry.cpp:137
PatternProvider * findByName(const QString &name) const
Find by exact name (case-insensitive). Returns nullptr if absent.
Definition patternregistry.cpp:21
bool rename(PatternProvider *p, const QString &newName)
Rename a provider. Performs the uniqueness check; returns false (and emits no signal) if newName coll...
Definition patternregistry.cpp:103
PatternProvider * create(const QString &name, PatternType type)
Create + own a new provider with the given name + type.
Definition patternregistry.cpp:26
void providerAdded(openswmmvis::pattern::PatternProvider *provider)
A provider was created and added to the registry.
enum OpenSWMM::Render::@788::Value::Type type
ArrowPlacement p
Definition linesymbollayer.cpp:27
Definition patternprovider.h:36
PatternType
Pattern shape — fixed factor count per type. Numeric values intentionally match the engine's PatternT...
Definition patternprovider.h:41
Slice BQ Phase 6.7.2 — MVC model for a single SWMM time pattern.
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
QString name
Definition sectionmodelbuilders.cpp:474