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
transectregistry.h
Go to the documentation of this file.
1
12#ifndef OPENSWMMVIS_TRANSECT_TRANSECTREGISTRY_H
13#define OPENSWMMVIS_TRANSECT_TRANSECTREGISTRY_H
14
16
17#include <QHash>
18#include <QObject>
19#include <QString>
20#include <QVector>
21
22namespace openswmmvis::transect {
23
24class TransectRegistry : public QObject
25{
26 Q_OBJECT
27
28public:
29 explicit TransectRegistry(QObject *parent = nullptr);
31
32 QVector<TransectProvider *> providers() const { return m_providers; }
33 int providerCount() const noexcept { return m_providers.size(); }
34
35 TransectProvider *findByName(const QString &name) const;
36 bool hasName(const QString &name) const { return findByName(name) != nullptr; }
37
40 TransectProvider *create(const QString &name);
41
43 bool rename(TransectProvider *p, const QString &newName);
44
50
53 int saveToEngine(void *engineHandle);
54
58 int saveToEngine();
59
62 void *engineHandle() const noexcept { return m_engineHandle; }
63
64signals:
68 const QString &prevName, const QString &newName);
71
72private:
73 void wireProviderSignals_(TransectProvider *p);
74
75 QVector<TransectProvider *> m_providers;
76 QHash<QString, TransectProvider *> m_byLowerName;
77 void *m_engineHandle = nullptr;
78};
79
80} // namespace openswmmvis::transect
81
82#endif // OPENSWMMVIS_TRANSECT_TRANSECTREGISTRY_H
Definition transectprovider.h:42
Definition transectregistry.h:25
bool hasName(const QString &name) const
Definition transectregistry.h:36
int saveToEngine()
Flush against the engine handle cached by the most recent loadFromEngine / saveToEngine(handle) call....
Definition transectregistry.cpp:180
TransectProvider * findByName(const QString &name) const
Definition transectregistry.cpp:24
void remove(TransectProvider *p)
Definition transectregistry.cpp:67
void providerAboutToBeRemoved(openswmmvis::transect::TransectProvider *provider)
void providerRenamed(openswmmvis::transect::TransectProvider *provider, const QString &prevName, const QString &newName)
int providerCount() const noexcept
Definition transectregistry.h:33
int loadFromEngine(void *engineHandle)
Populate from a live SWMM engine handle. Caches engineHandle so the no-arg saveToEngine() overload ca...
Definition transectregistry.cpp:112
void * engineHandle() const noexcept
Engine handle cached from the most recent load / save, or nullptr if none.
Definition transectregistry.h:62
bool rename(TransectProvider *p, const QString &newName)
Definition transectregistry.cpp:89
void providerMetadataChanged(openswmmvis::transect::TransectProvider *provider)
QVector< TransectProvider * > providers() const
Definition transectregistry.h:32
void providerAdded(openswmmvis::transect::TransectProvider *provider)
TransectProvider * create(const QString &name)
Create + own a new provider with the given name. Returns the new provider, or nullptr if the name col...
Definition transectregistry.cpp:56
void providerPointsChanged(openswmmvis::transect::TransectProvider *provider)
ArrowPlacement p
Definition linesymbollayer.cpp:27
Definition transectprovider.h:33
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
QString name
Definition sectionmodelbuilders.cpp:474
Slice BQ Phase 6.7.4 — MVC model for a single SWMM transect.