#ifndef PROXYBLOCK_HPP #define PROXYBLOCK_HPP #include "groupblock.hpp" namespace CsSettings { class ProxyBlock : public GroupBlock { Q_OBJECT //NOTE: mProxyItemBlockList and mProxyList //should be combined into a value pair and stored in one list. ItemBlockList mProxiedItemBlockList; ProxyList mProxyList; QStringList *mValueList; public: explicit ProxyBlock (QWidget *parent = 0); explicit ProxyBlock (ItemBlock *proxyItemBlock, QWidget *parent = 0); void addSetting (ItemBlock* settingBlock, QStringList *proxyList); int build (GroupBlockDef &def); SettingList *getSettings() { return 0; } bool updateSettings (const SettingMap &settings); bool updateBySignal (const QString &name, const QString &value, bool &doEmit); private: ItemBlock *getProxiedItemBlock (const QString &name); bool updateByProxiedSettings(const SettingMap *settings = 0); bool updateProxiedSettings(); private slots: void slotUpdateProxySetting (const QString &name, const QString &value); }; } #endif // PROXYBLOCK_HPP