OpenMW
apps/opencs/view/settings/proxyblock.hpp
Go to the documentation of this file.
00001 #ifndef PROXYBLOCK_HPP
00002 #define PROXYBLOCK_HPP
00003 
00004 #include "groupblock.hpp"
00005 
00006 namespace CSVSettings
00007 {
00008     class ProxyBlock : public GroupBlock
00009     {
00010         Q_OBJECT
00011 
00013         ItemBlockList mProxiedItemBlockList;
00014         ProxyList mProxyList;
00015         QStringList *mValueList;
00016 
00017     public:
00018 
00019         explicit ProxyBlock (QWidget *parent = 0);
00020         explicit ProxyBlock (ItemBlock *proxyItemBlock, QWidget *parent = 0);
00021 
00023         void addSetting (ItemBlock* settingBlock, QStringList *proxyList);
00024 
00025         int build (GroupBlockDef *def);
00026 
00027         CSMSettings::SettingList *getSettings()  { return 0; }
00028 
00030         bool updateSettings (const CSMSettings::SettingMap &settings);
00031 
00033         bool updateBySignal (const QString &name, const QString &value, bool &doEmit);
00034 
00035     private:
00036 
00038         ItemBlock *getProxiedItemBlock (const QString &name);
00039 
00041         bool updateByProxiedSettings(const CSMSettings::SettingMap *settings = 0);
00042 
00044         bool updateProxiedSettings();
00045 
00046     private slots:
00047 
00048         void slotUpdateProxySetting (const QString &name, const QString &value);
00049 
00050     };
00051 }
00052 #endif // PROXYBLOCK_HPP