]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/utils.i
[start of] a wxUniversal implementation of wxToolBar
[wxWidgets.git] / wxPython / src / utils.i
index dc975a793843b2fa67be496537edeffea242967d..eb04fabdb4a4e7ddb26d8d6807b0aff3d31b48fc 100644 (file)
@@ -34,8 +34,6 @@
 //---------------------------------------------------------------------------
 
 %{
-    static wxString wxPyEmptyStr("");
-
     static PyObject* __EnumerationHelper(bool flag, wxString& str, long index) {
         PyObject* ret = PyTuple_New(3);
         if (ret) {
@@ -60,10 +58,10 @@ enum
 
 class wxConfigBase {
 public:
-//      wxConfigBase(const wxString& appName = wxPyEmptyStr,       **** An ABC
-//                   const wxString& vendorName = wxPyEmptyStr,
-//                   const wxString& localFilename = wxPyEmptyStr,
-//                   const wxString& globalFilename = wxPyEmptyStr,
+//      wxConfigBase(const wxString& appName = wxEmptyString,       **** An ABC
+//                   const wxString& vendorName = wxEmptyString,
+//                   const wxString& localFilename = wxEmptyString,
+//                   const wxString& globalFilename = wxEmptyString,
 //                   long style = 0);
     ~wxConfigBase();
 
@@ -148,9 +146,25 @@ public:
     bool IsExpandingEnvVars();
     bool IsRecordingDefaults();
 
-    wxString Read(const wxString& key, const wxString& defaultVal = wxPyEmptyStr);
-    %name(ReadInt)long Read(const wxString& key, long defaultVal = 0);
-    %name(ReadFloat)double Read(const wxString& key, double defaultVal = 0.0);
+    wxString Read(const wxString& key, const wxString& defaultVal = wxEmptyString);
+
+    %addmethods {
+        long ReadInt(const wxString& key, long defaultVal = 0) {
+            long rv;
+            self->Read(key, &rv, defaultVal);
+            return rv;
+        }
+        double ReadFloat(const wxString& key, double defaultVal = 0.0) {
+            double rv;
+            self->Read(key, &rv, defaultVal);
+            return rv;
+        }
+        bool ReadBool(const wxString& key, bool defaultVal = FALSE) {
+            bool rv;
+            self->Read(key, &rv, defaultVal);
+            return rv;
+        }
+    }
 
     void SetExpandEnvVars (bool bDoIt = TRUE);
     void SetPath(const wxString& strPath);
@@ -164,6 +178,7 @@ public:
     bool Write(const wxString& key, const wxString& value);
     %name(WriteInt)bool Write(const wxString& key, long value);
     %name(WriteFloat)bool Write(const wxString& key, double value);
+    %name(WriteBool)bool Write(const wxString& key, bool value);
 
     EntryType GetEntryType(const wxString& name);
     bool RenameEntry(const wxString& oldName,
@@ -175,24 +190,28 @@ public:
 
 };
 
+
 //---------------------------------------------------------------------------
 
+// This will be a wxRegConfig on Win32 and wxFileConfig otherwise.
 class wxConfig : public wxConfigBase {
 public:
-    wxConfig(const wxString& appName = wxPyEmptyStr,
-             const wxString& vendorName = wxPyEmptyStr,
-             const wxString& localFilename = wxPyEmptyStr,
-             const wxString& globalFilename = wxPyEmptyStr,
+    wxConfig(const wxString& appName = wxEmptyString,
+             const wxString& vendorName = wxEmptyString,
+             const wxString& localFilename = wxEmptyString,
+             const wxString& globalFilename = wxEmptyString,
              long style = 0);
     ~wxConfig();
 };
 
+
+// Sometimes it's nice to explicitly have a wxFileConfig too.
 class wxFileConfig : public wxConfigBase {
 public:
-    wxFileConfig(const wxString& appName = wxPyEmptyStr,
-                 const wxString& vendorName = wxPyEmptyStr,
-                 const wxString& localFilename = wxPyEmptyStr,
-                 const wxString& globalFilename = wxPyEmptyStr,
+    wxFileConfig(const wxString& appName = wxEmptyString,
+                 const wxString& vendorName = wxEmptyString,
+                 const wxString& localFilename = wxEmptyString,
+                 const wxString& globalFilename = wxEmptyString,
                  long style = 0);
     ~wxFileConfig();
 };