00001
00002
00003
00038 #ifndef CFGCONFIGURABLE_H
00039 #define CFGCONFIGURABLE_H
00040 #ifndef REGISTRY_H
00041 # include "Registry/Registry.h"
00042 #endif
00043 class CfgDialog;
00044
00045 #ifndef ROOT_Rtypes
00046 #if !defined(__CINT__) || defined(__MAKECINT__)
00047 #include "Rtypes.h"
00048 #endif
00049 #endif
00050
00051 class CfgConfigurable
00052 {
00053
00054 public:
00055
00056 CfgConfigurable();
00057 virtual ~CfgConfigurable();
00058
00059
00060 virtual void Config() = 0;
00061
00062
00063 virtual const Registry& DefaultConfig() const;
00064 Registry& GetConfig();
00065 const Registry& GetConfig() const;
00066
00067
00068
00069 int Update();
00070
00071
00072 void Set(CfgDialog* d=0);
00073
00074
00075 void Set(const char* s);
00076
00077 protected:
00078 virtual void CommitDefaultConfig(const Registry& r);
00079
00080 private:
00081 Registry fDefConfig, fConfig;
00082
00083
00084 ClassDef(CfgConfigurable,1)
00085 };
00086
00087 #endif // CFGCONFIGURABLE_H
00088