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
swmmraingagepropertyadapter.h
Go to the documentation of this file.
1
16#ifndef SWMMRAINGAGEPROPERTYADAPTER_H
17#define SWMMRAINGAGEPROPERTYADAPTER_H
18
20#include "ui/properties/userflagseditref.h" // USER_FLAGS Phase 4
21#include "ui/properties/dataobjectref.h" // DA.2 parity — Series Name picker
22#include "ui/properties/rainintervalref.h" // DA.2 parity — H:MM interval combo
23
25{
26 Q_OBJECT
27
28public:
32 // Mixed-case enumerators deliberately avoid the all-caps Windows SDK
33 // macros (IN/OUT) and the <cstdio> FILE typedef.
34 enum RainType { Intensity = 0, Volume = 1, Cumulative = 2 };
35 enum DataSource { Timeseries = 0, File = 1 };
36 enum RainUnits { Inches = 0, Millimeters = 1 };
45 Q_ENUM(RainType)
46 Q_ENUM(DataSource)
47 Q_ENUM(RainUnits)
48 Q_ENUM(RainFileFormat)
49
50private:
58 Q_PROPERTY(double xCoord READ xCoord WRITE setXCoord NOTIFY changed)
59 Q_PROPERTY(double yCoord READ yCoord WRITE setYCoord NOTIFY changed)
61 READ rainType WRITE setRainType NOTIFY changed)
69 Q_PROPERTY(double snowFactor READ snowFactor WRITE setSnowFactor NOTIFY changed)
74 Q_PROPERTY(double scaleFactor READ scaleFactor WRITE setScaleFactor NOTIFY changed)
76 READ dataSource WRITE setDataSource NOTIFY changed)
81 READ seriesNameRef WRITE setSeriesNameRef NOTIFY changed)
83 Q_PROPERTY(double currentRainfall READ currentRainfall NOTIFY changed)
88 Q_PROPERTY(QString filePath READ filePath WRITE setFilePath NOTIFY changed)
89 Q_PROPERTY(QString resolvedFilePath READ resolvedFilePath NOTIFY changed)
95 Q_PROPERTY(QString fileColumn READ fileColumn WRITE setFileColumn NOTIFY changed)
105 READ fileFormatEnum WRITE setFileFormat NOTIFY changed)
109 Q_PROPERTY(QString stationId READ stationId WRITE setStationId NOTIFY changed)
111 READ rainUnits WRITE setRainUnits NOTIFY changed)
115 READ userFlagsRef WRITE setUserFlagsRef NOTIFY changed)
116
117public:
119
120 [[nodiscard]] UserFlagsEditRef userFlagsRef() const;
121
122 [[nodiscard]] double xCoord() const;
123 [[nodiscard]] double yCoord() const;
124
125 [[nodiscard]] RainType rainType() const;
126 [[nodiscard]] RainIntervalRef rainIntervalRef() const;
127 [[nodiscard]] double snowFactor() const;
128 [[nodiscard]] double scaleFactor() const;
129 [[nodiscard]] DataSource dataSource() const;
130 [[nodiscard]] DataObjectRef seriesNameRef() const;
131 [[nodiscard]] double currentRainfall() const;
132 [[nodiscard]] QString filePath() const;
133 [[nodiscard]] QString resolvedFilePath() const;
134 [[nodiscard]] QString fileColumn() const;
135 [[nodiscard]] QString stationId() const;
136 [[nodiscard]] RainUnits rainUnits() const;
140 [[nodiscard]] int fileFormat() const;
145 [[nodiscard]] RainFileFormat fileFormatEnum() const;
146
147 Q_INVOKABLE QString displayLabelFor(const QString &property) const;
148
149public slots:
152 void setXCoord(double v);
153 void setYCoord(double v);
154 void setRainType(int v);
155 void setRainIntervalRef(const RainIntervalRef &r);
156 void setSnowFactor(double v);
157 void setScaleFactor(double v);
158 void setDataSource(int v);
159 void setSeriesNameRef(const DataObjectRef &r);
160 void setFilePath(const QString &p);
161 void setFileColumn(const QString &c);
162 void setFileFormat(int v);
163 void setStationId(const QString &s);
164 void setRainUnits(int v);
165 void setUserFlagsRef(const UserFlagsEditRef &) { emit changed(); }
166
167signals:
171 void coordChangeRequested(double newX, double newY);
172
173private:
174 [[nodiscard]] int idx() const;
175};
176
177#endif // SWMMRAINGAGEPROPERTYADAPTER_H
Common base for non-spatial Data Object property adapters.
Definition swmmdataobjectpropertyadapter.h:38
Definition swmmraingagepropertyadapter.h:25
void setScaleFactor(double v)
Definition swmmraingagepropertyadapter.cpp:187
void setSnowFactor(double v)
Definition swmmraingagepropertyadapter.cpp:171
void setRainType(int v)
Definition swmmraingagepropertyadapter.cpp:118
void setYCoord(double v)
Definition swmmraingagepropertyadapter.cpp:81
void setXCoord(double v)
Definition swmmraingagepropertyadapter.cpp:71
double yCoord
Definition swmmraingagepropertyadapter.h:59
SWMMRainGagePropertyAdapter::RainType rainType
Definition swmmraingagepropertyadapter.h:61
QString fileColumn
Definition swmmraingagepropertyadapter.h:95
RainUnits
Definition swmmraingagepropertyadapter.h:36
@ Millimeters
Definition swmmraingagepropertyadapter.h:36
@ Inches
Definition swmmraingagepropertyadapter.h:36
void setFilePath(const QString &p)
Definition swmmraingagepropertyadapter.cpp:288
SWMMRainGagePropertyAdapter::RainFileFormat fileFormat
Definition swmmraingagepropertyadapter.h:105
RainType
Definition swmmraingagepropertyadapter.h:34
@ Intensity
Definition swmmraingagepropertyadapter.h:34
@ Cumulative
Definition swmmraingagepropertyadapter.h:34
@ Volume
Definition swmmraingagepropertyadapter.h:34
SWMMRainGagePropertyAdapter::DataSource dataSource
Definition swmmraingagepropertyadapter.h:76
QString stationId
Definition swmmraingagepropertyadapter.h:109
void setRainIntervalRef(const RainIntervalRef &r)
Definition swmmraingagepropertyadapter.cpp:153
Q_INVOKABLE QString displayLabelFor(const QString &property) const
Definition swmmraingagepropertyadapter.cpp:23
void setStationId(const QString &s)
Definition swmmraingagepropertyadapter.cpp:231
void setFileColumn(const QString &c)
Definition swmmraingagepropertyadapter.cpp:331
void setDataSource(int v)
Definition swmmraingagepropertyadapter.cpp:125
void setFileFormat(int v)
Definition swmmraingagepropertyadapter.cpp:360
QString resolvedFilePath
Definition swmmraingagepropertyadapter.h:89
void coordChangeRequested(double newX, double newY)
DataSource
Definition swmmraingagepropertyadapter.h:35
@ File
Definition swmmraingagepropertyadapter.h:35
@ Timeseries
Definition swmmraingagepropertyadapter.h:35
double currentRainfall
Definition swmmraingagepropertyadapter.h:83
DataObjectRef seriesNameRef() const
Definition swmmraingagepropertyadapter.cpp:199
RainIntervalRef rainIntervalRef() const
Definition swmmraingagepropertyadapter.cpp:138
SWMMRainGagePropertyAdapter::RainUnits rainUnits
Definition swmmraingagepropertyadapter.h:111
DataObjectRef seriesName
Definition swmmraingagepropertyadapter.h:81
void setRainUnits(int v)
Definition swmmraingagepropertyadapter.cpp:248
double scaleFactor
Definition swmmraingagepropertyadapter.h:74
void setUserFlagsRef(const UserFlagsEditRef &)
Definition swmmraingagepropertyadapter.h:165
QString filePath
Definition swmmraingagepropertyadapter.h:88
UserFlagsEditRef userFlagsRef() const
Definition swmmraingagepropertyadapter.cpp:372
RainFileFormat fileFormatEnum() const
Definition swmmraingagepropertyadapter.cpp:349
RainIntervalRef rainInterval
Definition swmmraingagepropertyadapter.h:66
UserFlagsEditRef userFlags
Definition swmmraingagepropertyadapter.h:115
double snowFactor
Definition swmmraingagepropertyadapter.h:69
RainFileFormat
Definition swmmraingagepropertyadapter.h:44
@ StandardRainFile
Definition swmmraingagepropertyadapter.h:44
@ AutoDetect
Definition swmmraingagepropertyadapter.h:44
@ MultiColumn
Definition swmmraingagepropertyadapter.h:44
double xCoord
Definition swmmraingagepropertyadapter.h:58
void setSeriesNameRef(const DataObjectRef &r)
Definition swmmraingagepropertyadapter.cpp:214
double s
Scene px per model length unit.
Definition inletdrawingview.cpp:82
ArrowPlacement p
Definition linesymbollayer.cpp:27
QVector< int > v
pool vertex indices
Definition pslgminsize.cpp:159
Definition dataobjectref.h:34
Definition rainintervalref.h:36
Definition userflagseditref.h:29