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
openswmmvisworkspace.h
Go to the documentation of this file.
1
19#ifndef SWMMVISPROJECT_H
20#define SWMMVISPROJECT_H
21
22#include <QObject>
23
25class SWMMModelLayer;
26
41class OpenSWMMVisWorkspace : public QObject
42{
43
44 Q_OBJECT
45 Q_PROPERTY(QString ProjectFilePath READ projectPath NOTIFY projectFilePathChanged)
46 Q_PROPERTY(QString Title READ title NOTIFY projectTileChanged)
47
48public:
54 OpenSWMMVisWorkspace(QObject* parent = nullptr);
55
63 const QString& projectFilepath = "",
64 QObject* parent = nullptr
65 );
66
68 virtual ~OpenSWMMVisWorkspace();
69
74 QString projectPath() const;
75
81 QString title() const;
82
87 QString swmmProjectPath() const;
88
93
99 SWMMModelLayer* modelLayer,
100 QList<QString>& warnings,
101 QList<QString>& errors
102 );
103
112 QVector<OpenSWMMVisSession*> layers() const;
113
124 bool saveProject(
125 const QString& filepath,
126 QList<QString>& warnings,
127 QList<QString>& errors
128 );
129
139 bool saveSWMMProject(
140 const QString& filepath,
141 QList<QString>& warnings,
142 QList<QString>& errors
143 );
144
152 bool openSWMMModel(
153 const QString &filepath,
154 QList<QString> &warnings,
155 QList<QString> &errors
156 );
157
169 const QString &projectFilepath = "",
170 QObject *parent = nullptr
171 );
172
178 bool hasChanges() const;
179
180
181signals:
182
184
186
188
189private:
190
191 bool initializeFromProjectFile(
192 const QString& projectFilepath,
193 QList<QString>& warnings,
194 QList<QString>& errors
195 );
196
197private:
198 QVector<OpenSWMMVisSession*> mLayers;
199 QString mProjectPath;
200 QString mSWMMProjectPath;
201 QString mTitle;
202 SWMMModelLayer* mSWMMModelLayer;
203 bool mHasChanges;
204
205};
206
207
208Q_DECLARE_METATYPE(OpenSWMMVisWorkspace*)
209Q_DECLARE_METATYPE(QVector<OpenSWMMVisWorkspace*>)
210
211#endif // SWMMVISPROJECT_H
Couples an OpenSWMMVisWorkspace (project data) with an OpenSWMMVisGraphicsView (map overlay) for one ...
Definition openswmmvissession.h:40
Top-level project container managing sessions, the SWMM model layer, and persistence paths for one SW...
Definition openswmmvisworkspace.h:42
QString ProjectFilePath
Definition openswmmvisworkspace.h:45
SWMMModelLayer * swmmModelLayer() const
Returns the SWMM model layer bound to this project.
Definition openswmmvisworkspace.cpp:63
static OpenSWMMVisWorkspace * newInstance(const QString &projectFilepath="", QObject *parent=nullptr)
Factory: create and optionally initialise a workspace from a project file path.
Definition openswmmvisworkspace.cpp:168
QVector< OpenSWMMVisSession * > layers() const
layers getter method
Definition openswmmvisworkspace.cpp:102
bool saveSWMMProject(const QString &filepath, QList< QString > &warnings, QList< QString > &errors)
Saves the SWMM model file companion (.inp) to the given path.
Definition openswmmvisworkspace.cpp:129
QString title() const
projectName getter method
Definition openswmmvisworkspace.cpp:53
bool saveProject(const QString &filepath, QList< QString > &warnings, QList< QString > &errors)
Saves the workspace project to the given file path.
Definition openswmmvisworkspace.cpp:108
QString projectPath() const
projectPath getter method
Definition openswmmvisworkspace.cpp:48
QString Title
Definition openswmmvisworkspace.h:46
QString swmmProjectPath() const
Get the path to the SWMM project file.
Definition openswmmvisworkspace.cpp:58
bool setSWMMModelLayer(SWMMModelLayer *modelLayer, QList< QString > &warnings, QList< QString > &errors)
Binds a SWMM model layer to the project.
Definition openswmmvisworkspace.cpp:68
bool openSWMMModel(const QString &filepath, QList< QString > &warnings, QList< QString > &errors)
Opens a SWMM input file and loads the model into this workspace.
Definition openswmmvisworkspace.cpp:147
bool hasChanges() const
Returns true when the workspace has unsaved changes.
Definition openswmmvisworkspace.cpp:173
Renders the SWMM network elements (nodes, links, subcatchments, rain gages) for one OpenSWMMEngine mo...
Definition swmmmodellayer.h:133
QVector< int > parent
union-find
Definition pslgminsize.cpp:176