]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/wizard.i
simpler fix for rendering bug fixed in previous revision
[wxWidgets.git] / wxPython / src / wizard.i
index b53e3d313ce2e1ee8701b38c3637fd85757b6622..f3a4bed4ac2fbe58486ce958f10be75d3f1a3b1f 100644 (file)
 %import controls.i
 
 
+//----------------------------------------------------------------------
+%{
+    // Put some wx default wxChar* values into wxStrings.
+    static const wxString wxPyEmptyString(wxT(""));
+%}
 //----------------------------------------------------------------------
 
 enum {
@@ -97,12 +102,17 @@ public:
 //                  const char* resource = NULL);
 //     %name(wxPreWizardPage)wxWizardPage();
 
-    bool Create(wxWizard *parent,
-                const wxBitmap& bitmap = wxNullBitmap,
-                const char* resource = NULL);
+    %addmethods {
+        bool Create(wxWizard *parent,
+                    const wxBitmap& bitmap = wxNullBitmap,
+                    const wxString& resource = wxPyEmptyString) {
+            wxChar* res = NULL;
+            if (resource.Length())
+                res = (wxChar*)resource.c_str();
+            return self->Create(parent, bitmap, res);
+        }
+    }
 
-    // common part of ctors:
-    void Init();
 
     // these functions are used by the wizard to show another page when the
     // user chooses "Back" or "Next" button
@@ -200,14 +210,29 @@ public:
     // of the default one for this wizard (should be of the same size). Notice
     // that no other parameters are needed because the wizard will resize and
     // reposition the page anyhow
-    wxPyWizardPage(wxWizard *parent,
-                 const wxBitmap& bitmap = wxNullBitmap,
-                 const char* resource = NULL);
+    %addmethods {
+        wxPyWizardPage(wxWizard *parent,
+                       const wxBitmap* bitmap = &wxNullBitmap,
+                       const wxString* resource = &wxPyEmptyString) {
+            wxChar* res = NULL;
+            if (resource->Length())
+                res = (wxChar*)resource->c_str();
+            return new wxPyWizardPage(parent, *bitmap, res);
+        }
+    }
+
     %name(wxPrePyWizardPage)wxPyWizardPage();
 
-    bool Create(wxWizard *parent,
-                const wxBitmap& bitmap = wxNullBitmap,
-                const char* resource = NULL);
+    %addmethods {
+        bool Create(wxWizard *parent,
+                    const wxBitmap& bitmap = wxNullBitmap,
+                    const wxString& resource = wxPyEmptyString) {
+            wxChar* res = NULL;
+            if (resource.Length())
+                res = (wxChar*)resource.c_str();
+            return self->Create(parent, bitmap, res);
+        }
+    }
 
     void _setCallbackInfo(PyObject* self, PyObject* _class);
     %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyWizardPage)"
@@ -270,9 +295,6 @@ public:
     %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
     %pragma(python) addtomethod = "wxPreWizardPageSimple:val._setOORInfo(val)"
 
-    // common part of ctors:
-    void Init();
-
     // the pointers may be also set later - but before starting the wizard
     void SetPrev(wxWizardPage *prev);
     void SetNext(wxWizardPage *next);