307 lines
7.7 KiB
C++
307 lines
7.7 KiB
C++
#ifndef WEATHERDATA_H
|
|
#define WEATHERDATA_H
|
|
|
|
#include <QObject>
|
|
|
|
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
|