Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CfgConfigurable.h

Go to the documentation of this file.
00001 
00002 // $Id: CfgConfigurable.h,v 1.7 2004/03/11 15:34:20 rhatcher Exp $
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   // Subclass should implement this method:
00060   virtual void            Config() = 0;
00061 
00062   // Access default and main configuration
00063   virtual const Registry& DefaultConfig() const;
00064   Registry&               GetConfig();
00065   const Registry&         GetConfig() const;
00066 
00067   // Call anytime.  Triggers Config() only iff it has been modifed
00068   // since last calling.
00069   int  Update();
00070 
00071   // Set config via interactive dialog
00072   void Set(CfgDialog* d=0);
00073 
00074   // Set config via string
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 

Generated on Mon Feb 15 11:06:31 2010 for loon by  doxygen 1.3.9.1