qt/LedOK/wProgramManager/wEditProgram/wElement/eweather.h

65 lines
1.6 KiB
C
Raw Normal View History

2022-01-04 18:11:48 +08:00
#ifndef EWEATHER_H
#define EWEATHER_H
#include "eobject.h"
class eWeather : public eObject
{
Q_OBJECT
public:
struct Data {
int country;
int region1;
int region2;
bool weather;
bool temp;
bool wind;
bool humidity;
bool curTemp;
int tempType;
int tempUnitType;
QString labelWeather;
QString labelTemp;
QString labelWind;
QString labelHumidity;
QString labelCurTemp;
int lineStyle;
QString fontFamily;
int fontSize;
bool fontBold;
bool fontItalics;
bool fontUnderline;
QColor textColor;
int playRefresh;
int playDuration;
};
public:
explicit eWeather(QRectF rectInit,InteractiveType type = Dynamic, QGraphicsItem *parent = nullptr);
explicit eWeather(const QJsonObject &json, InteractiveType type = Dynamic, QGraphicsItem *parent = nullptr);
private:
void init();
public:
static void setElement(const QJsonObject &json, Data &attr);
public:
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
virtual int type() const override { return eObject::Weather; }
virtual QWidget* wAttr() override;
virtual QWidget* wAttrElement() override;
2022-01-20 10:08:17 +08:00
virtual bool save(const QString &) override{return true;}
2022-01-04 18:11:48 +08:00
virtual QJsonObject elementJson() const override;
signals:
public slots:
void onAttrChanged(const eWeather::Data &data);
private:
Data m_attr;
};
#endif // EWEATHER_H