#ifndef SCSTWQMLSETTING_H #define SCSTWQMLSETTING_H #include #include class ScStwSetting : public QObject { Q_OBJECT Q_PROPERTY(ScStwSettings* scStwSettings READ getScStwSettings WRITE setScStwSettings NOTIFY scStwSettingsChanged) Q_PROPERTY(int key READ getKey WRITE setKey NOTIFY keyChanged) Q_PROPERTY(int keyLevel READ getKeyLevel WRITE setKeyLevel NOTIFY keyLevelChanged) Q_PROPERTY(QVariant value READ getValue WRITE setValue NOTIFY valueChanged) public: explicit ScStwSetting(QObject *parent = nullptr); private: ScStwSettings* scStwSettings; int key; int keyLevel; QVariant valueCache; public slots: ScStwSettings* getScStwSettings(); void setScStwSettings(ScStwSettings* scStwSettings); int getKey(); void setKey(int key); int getKeyLevel(); void setKeyLevel(int keyLevel); QVariant getValue(); void setValue(QVariant value); private slots: void handleSettingChange(int key, int keyLevel, QVariant value); signals: void scStwSettingsChanged(); void keyChanged(); void keyLevelChanged(); void valueChanged(); }; #endif // SCSTWQMLSETTING_H