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
aquiferregistry.h
Go to the documentation of this file.
1
14#ifndef OPENSWMMVIS_AQUIFER_AQUIFERREGISTRY_H
15#define OPENSWMMVIS_AQUIFER_AQUIFERREGISTRY_H
16
18
19#include <QHash>
20#include <QObject>
21#include <QString>
22#include <QVector>
23
24namespace openswmmvis::aquifer {
25
26class AquiferRegistry : public QObject
27{
28 Q_OBJECT
29
30public:
31 explicit AquiferRegistry(QObject *parent = nullptr);
32 ~AquiferRegistry() override;
33
34 QVector<AquiferProvider *> providers() const { return m_providers; }
35 int providerCount() const noexcept { return m_providers.size(); }
36
37 AquiferProvider *findByName(const QString &name) const;
38 bool hasName(const QString &name) const { return findByName(name) != nullptr; }
39
40 AquiferProvider *create(const QString &name);
42 bool rename(AquiferProvider *p, const QString &newName);
43
48 QString impactSummary(AquiferProvider *p) const;
49
51 int saveToEngine(void *engineHandle);
52 int saveToEngine();
53
54 void *engineHandle() const noexcept { return m_engineHandle; }
55
56signals:
60 const QString &prevName, const QString &newName);
62
63private:
64 void wireProviderSignals_(AquiferProvider *p);
65
66 QVector<AquiferProvider *> m_providers;
67 QHash<QString, AquiferProvider *> m_byLowerName;
68 void *m_engineHandle = nullptr;
69};
70
71} // namespace openswmmvis::aquifer
72
73#endif // OPENSWMMVIS_AQUIFER_AQUIFERREGISTRY_H
MVC model for a single SWMM aquifer ([AQUIFERS]).
Definition aquiferprovider.h:24
Definition aquiferregistry.h:27
int providerCount() const noexcept
Definition aquiferregistry.h:35
QString impactSummary(AquiferProvider *p) const
Definition aquiferregistry.cpp:51
int saveToEngine()
Definition aquiferregistry.cpp:151
void providerAboutToBeRemoved(openswmmvis::aquifer::AquiferProvider *provider)
AquiferProvider * findByName(const QString &name) const
Definition aquiferregistry.cpp:22
QVector< AquiferProvider * > providers() const
Definition aquiferregistry.h:34
void providerAdded(openswmmvis::aquifer::AquiferProvider *provider)
void providerParamsChanged(openswmmvis::aquifer::AquiferProvider *provider)
AquiferProvider * create(const QString &name)
Definition aquiferregistry.cpp:40
int loadFromEngine(void *engineHandle)
Definition aquiferregistry.cpp:119
void * engineHandle() const noexcept
Definition aquiferregistry.h:54
void providerRenamed(openswmmvis::aquifer::AquiferProvider *provider, const QString &prevName, const QString &newName)
void remove(AquiferProvider *p)
Definition aquiferregistry.cpp:77
bool rename(AquiferProvider *p, const QString &newName)
Definition aquiferregistry.cpp:96
bool hasName(const QString &name) const
Definition aquiferregistry.h:38
ArrowPlacement p
Definition linesymbollayer.cpp:27
Definition aquiferprovider.h:21
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
QString name
Definition sectionmodelbuilders.cpp:474