#ifndef WEATHERDATA_H #define WEATHERDATA_H #include class WeatherData : public QObject { Q_OBJECT public: enum ICON_NAME { regen, bewolkt, halfbewolkt, lichtbewolkt, nachtbewolkt, wolkennacht, zonnig, helderenacht }; Q_ENUM(ICON_NAME) enum WEATHER_COND { Regen, Bewolkt, Halfbewolkt, Lichtbewolkt, Zonnig, Helder }; Q_ENUM(WEATHER_COND) enum WIND_DIR { Noord, NNO, NO, ONO, Oost, OZO, ZO, ZZO, Zuid, ZZW, ZW, WZW, West, WNW, NW, NNW }; Q_ENUM(WIND_DIR) explicit WeatherData(QObject *parent = nullptr); WeatherData(long tijd, const QString &tijd_nl, int offset, float temp, int wind_ms, int wind_bf, int wind_knp, int wind_kmh, int wind_r, const QString &wind_ltr, int visibility, int neersl, float luchtd_bar, float luchtdmmhg, float luchtdinHg, int hw, int mw, int lw, int tw, int rv, int gr, int gr_w, const QString &cape, int snd, int snv, int cond, int iconCode, const QString &sameenv, const QString &icoon); WeatherData(const WeatherData &other); WeatherData operator=(WeatherData const &other); Q_PROPERTY(long tijd READ tijd WRITE setTijd NOTIFY tijdChanged FINAL) // DateTime in Timestamp Q_PROPERTY(QString tijd_nl READ tijd_nl WRITE setTijd_nl NOTIFY tijd_nlChanged FINAL) // DateTime is Human readable format Q_PROPERTY(int offset READ offset WRITE setOffset NOTIFY offsetChanged FINAL) // Offset is the last reference hour point of the // model's predicted weather data Q_PROPERTY(float temp READ temp WRITE setTemp NOTIFY tempChanged FINAL) // temp in Celsius Q_PROPERTY(int wind_ms READ wind_ms WRITE setWind_ms NOTIFY wind_msChanged FINAL) // Wind avg speed in m/s Q_PROPERTY(int wind_bf READ wind_bf WRITE setWind_bf NOTIFY wind_bfChanged FINAL) // Wind avg speed in Beaufort Q_PROPERTY(int wind_knp READ wind_knp WRITE setWind_knp NOTIFY wind_knpChanged FINAL) // Wind avg speed in knots Q_PROPERTY(int wind_kmh READ wind_kmh WRITE setWind_kmh NOTIFY wind_kmhChanged FINAL) // Wind avg speed in k/h Q_PROPERTY(int wind_r READ wind_r WRITE setWind_r NOTIFY wind_rChanged FINAL) // Wind direction in degrees Q_PROPERTY( QString wind_ltr READ wind_ltr WRITE setWind_ltr NOTIFY wind_ltrChanged FINAL) // Wind directions in Letters like N,S,E,W Q_PROPERTY(int visibility READ visibility WRITE setVisibility NOTIFY visibilityChanged FINAL) // Visibility in meters Q_PROPERTY(int neersl READ neersl WRITE setNeersl NOTIFY neerslChanged FINAL) // Precipitation in nml Q_PROPERTY(float luchtd_bar READ luchtd_bar WRITE setLuchtd_bar NOTIFY luchtd_barChanged FINAL) // Air pressure in mbar Q_PROPERTY(float luchtdmmhg READ luchtdmmhg WRITE setLuchtdmmhg NOTIFY luchtdmmhgChanged FINAL) // Air pressure in mmHg Q_PROPERTY(float luchtdinHg READ luchtdinHg WRITE setLuchtdinHg NOTIFY luchtdinHgChanged FINAL) // Air pressure in inHg Q_PROPERTY(int hw READ hw WRITE setHw NOTIFY hwChanged FINAL) //% of Higher Cloud desnsity Q_PROPERTY(int mw READ mw WRITE setMw NOTIFY mwChanged FINAL) // % of medium cloud density Q_PROPERTY(int lw READ lw WRITE setLw NOTIFY lwChanged FINAL) // % of low cloud density Q_PROPERTY(int tw READ tw WRITE setTw NOTIFY twChanged FINAL) // % avg of all cloud density Q_PROPERTY( int rv READ rv WRITE setRv NOTIFY rvChanged FINAL) // Reletive Humidity Q_PROPERTY(int gr READ gr WRITE setGr NOTIFY grChanged FINAL) // Expected Sun radiation J/cm2 Q_PROPERTY(int gr_w READ gr_w WRITE setGr_w NOTIFY gr_wChanged FINAL) // Expected Sun radiation watts/m2 Q_PROPERTY(QString cape READ cape WRITE setCape NOTIFY capeChanged FINAL) // Not gonna use it Q_PROPERTY(int snd READ snd WRITE setSnd NOTIFY sndChanged FINAL) // Available snow deck in mm Q_PROPERTY(int snv READ snv WRITE setSnv NOTIFY snvChanged FINAL) // Actual snowfall in mm Q_PROPERTY(int cond READ cond WRITE setCond NOTIFY condChanged FINAL) // Cond is condition code is weather type like sunny, // rainy, etc Q_PROPERTY(int iconCode READ iconCode WRITE setIconCode NOTIFY iconCodeChanged FINAL) // Icon code of the weather Q_PROPERTY(QString sameenv READ sameenv WRITE setSameenv NOTIFY sameenvChanged FINAL) // Name of the current weather type Q_PROPERTY(QString icoon READ icoon WRITE setIcoon NOTIFY icoonChanged FINAL) // Icon name of the current weather long tijd() const; void setTijd(long newTijd); QString tijd_nl() const; void setTijd_nl(const QString &newTijd_nl); int offset() const; void setOffset(int newOffset); float temp() const; void setTemp(float newTemp); int wind_ms() const; void setWind_ms(int newWind_ms); int wind_bf() const; void setWind_bf(int newWind_bf); int wind_knp() const; void setWind_knp(int newWind_knp); int wind_kmh() const; void setWind_kmh(int newWind_kmh); int wind_r() const; void setWind_r(int newWind_r); QString wind_ltr() const; void setWind_ltr(const QString &newWind_ltr); int visibility() const; void setVisibility(int newVisibility); int neersl() const; void setNeersl(int newNeersl); float luchtd_bar() const; void setLuchtd_bar(float newLuchtd_bar); float luchtdmmhg() const; void setLuchtdmmhg(float newLuchtdmmhg); float luchtdinHg() const; void setLuchtdinHg(float newLuchtdinHg); int hw() const; void setHw(int newHw); int mw() const; void setMw(int newMw); int lw() const; void setLw(int newLw); int tw() const; void setTw(int newTw); int rv() const; void setRv(int newRv); int gr() const; void setGr(int newGr); int gr_w() const; void setGr_w(int newGr_w); QString cape() const; void setCape(const QString &newCape); int snd() const; void setSnd(int newSnd); int snv() const; void setSnv(int newSnv); int cond() const; void setCond(int newCond); int iconCode() const; void setIconCode(int newIconCode); QString sameenv() const; void setSameenv(const QString &newSameenv); QString icoon() const; void setIcoon(const QString &newIcoon); void print(); signals: void tijdChanged(); void tijd_nlChanged(); void offsetChanged(); void tempChanged(); void wind_msChanged(); void wind_bfChanged(); void wind_knpChanged(); void wind_kmhChanged(); void wind_rChanged(); void wind_ltrChanged(); void visibilityChanged(); void neerslChanged(); void luchtd_barChanged(); void luchtdmmhgChanged(); void luchtdinHgChanged(); void hwChanged(); void mwChanged(); void lwChanged(); void twChanged(); void rvChanged(); void grChanged(); void gr_wChanged(); void capeChanged(); void sndChanged(); void snvChanged(); void condChanged(); void iconCodeChanged(); void sameenvChanged(); void icoonChanged(); private: long m_tijd; QString m_tijd_nl; int m_offset; float m_temp; int m_wind_ms; int m_wind_bf; int m_wind_knp; int m_wind_kmh; int m_wind_r; QString m_wind_ltr; int m_visibility; int m_neersl; float m_luchtd_bar; float m_luchtdmmhg; float m_luchtdinHg; int m_hw; int m_mw; int m_lw; int m_tw; int m_rv; int m_gr; int m_gr_w; QString m_cape; int m_snd; int m_snv; int m_cond; int m_iconCode; QString m_sameenv; QString m_icoon; }; #endif // WEATHERDATA_H