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
newprojectdialog.h
Go to the documentation of this file.
1
14#ifndef NEWPROJECTDIALOG_H
15#define NEWPROJECTDIALOG_H
16
17#include <QDateTime>
18#include <QDialog>
19#include <QString>
20
21class QComboBox;
22class QDateTimeEdit;
23class QLineEdit;
24class QPushButton;
25
26class NewProjectDialog : public QDialog
27{
28 Q_OBJECT
29
30public:
35 struct Result
36 {
37 QString name = QStringLiteral("Untitled");
38 QString flowUnits = QStringLiteral("CFS");
39 QString infiltrationModel = QStringLiteral("HORTON");
40 QString flowRouting = QStringLiteral("DYNWAVE");
41 QDateTime startDateTime;
42 QDateTime endDateTime;
43 QString crsAuthCode;
44 };
45
46 explicit NewProjectDialog(QWidget *parent = nullptr);
47 ~NewProjectDialog() override = default;
48
49 [[nodiscard]] Result result() const { return m_result; }
50
51private slots:
52 void onChooseCrs();
53 void onAccept();
54
55private:
56 void buildUi();
57 void seedDefaults();
58
59 QLineEdit *m_nameEdit = nullptr;
60 QComboBox *m_flowUnitsCombo = nullptr;
61 QComboBox *m_infiltrationCombo = nullptr;
62 QComboBox *m_routingCombo = nullptr;
63 QDateTimeEdit *m_startEdit = nullptr;
64 QDateTimeEdit *m_endEdit = nullptr;
65 QLineEdit *m_crsEdit = nullptr;
66 QPushButton *m_crsBtn = nullptr;
67
68 Result m_result;
69};
70
71#endif // NEWPROJECTDIALOG_H
Definition newprojectdialog.h:27
Result result() const
Definition newprojectdialog.h:49
~NewProjectDialog() override=default
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
Inputs collected from the dialog. Strings are SWMM-INP keywords ready to inline into the synthesized ...
Definition newprojectdialog.h:36
QString flowUnits
Definition newprojectdialog.h:38
QDateTime endDateTime
Definition newprojectdialog.h:42
QString name
Definition newprojectdialog.h:37
QDateTime startDateTime
Definition newprojectdialog.h:41
QString flowRouting
Definition newprojectdialog.h:40
QString infiltrationModel
Definition newprojectdialog.h:39
QString crsAuthCode
e.g. "EPSG:4326"; empty = no CRS.
Definition newprojectdialog.h:43