]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/config.h
WXFARPROC prototyped as `typedef int (__stdcall *WXFARPROC)()' (does Borland
[wxWidgets.git] / include / wx / config.h
index 26650fd4f5e9f166493f3d5ab921303beb202651..f5b1b195eb94a5965aa1b21bc402570e3e2a1e3f 100644 (file)
@@ -88,17 +88,20 @@ public:
   // static functions
     // sets the config object, returns the previous pointer
   static wxConfigBase *Set(wxConfigBase *pConfig);
-    // get the config object, creates it on demand
+    // get the config object, creates it on demand unless DontCreateOnDemand
+    // was called
   static wxConfigBase *Get() { if ( !ms_pConfig ) Create(); return ms_pConfig; }
     // create a new config object: this function will create the "best"
     // implementation of wxConfig available for the current platform, see
     // comments near definition wxCONFIG_WIN32_NATIVE for details. It returns
     // the created object and also sets it as ms_pConfig.
   static wxConfigBase *Create();
+    // should Get() try to create a new log object if the current one is NULL?
+  static void DontCreateOnDemand() { ms_bAutoCreate = FALSE; }
 
   // ctor & virtual dtor
     // environment variable expansion is on by default
-  wxConfigBase() { m_bExpandEnvVars = TRUE; }
+  wxConfigBase() { m_bExpandEnvVars = TRUE; m_bRecordDefaults = FALSE; }
     // empty but ensures that dtor of all derived classes is virtual
   virtual ~wxConfigBase() { }
 
@@ -169,7 +172,10 @@ public:
     // (this option is on by default, you can turn it on/off at any time)
   bool IsExpandingEnvVars() const { return m_bExpandEnvVars; }
   void SetExpandEnvVars(bool bDoIt = TRUE) { m_bExpandEnvVars = bDoIt; }
-    // does expansion only if needed
+    // recording of default values
+  void SetRecordDefaults(bool bDoIt = TRUE) { m_bRecordDefaults = bDoIt; }
+  bool IsRecordingDefaults() const { return m_bRecordDefaults; }
+  // does expansion only if needed
   wxString ExpandEnvVars(const wxString& str) const
     {
         wxString tmp; // Required for BC++
@@ -208,9 +214,12 @@ protected:
 private:
   // are we doing automatic environment variable expansion?
   bool m_bExpandEnvVars;
-
+  // do we record default values?
+  bool m_bRecordDefaults;
+  
   // static variables
   static wxConfigBase *ms_pConfig;
+  static bool          ms_bAutoCreate;
 };
 
 // ----------------------------------------------------------------------------
@@ -228,4 +237,5 @@ private:
   #define wxConfig  wxFileConfig
 #endif
 
-#endif  //_wxCONFIG_H
\ No newline at end of file
+#endif  //_wxCONFIG_H
+