]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/gtk/controls.cpp
updated version number for DLL name
[wxWidgets.git] / utils / wxPython / src / gtk / controls.cpp
index 190082e8a483e8e38aaee8f0a8653a88cf6aac50..498321fe5b73c68d2ff80bbf4abd91574ebc0a0c 100644 (file)
@@ -3,7 +3,7 @@
  * 
  * This file was automatically generated by :
  * Simplified Wrapper and Interface Generator (SWIG)
  * 
  * This file was automatically generated by :
  * Simplified Wrapper and Interface Generator (SWIG)
- * Version 1.1 (Patch 5)
+ * Version 1.1 (Build 798)
  * 
  * Portions Copyright (c) 1995-1998
  * The University of Utah and The Regents of the University of California.
  * 
  * Portions Copyright (c) 1995-1998
  * The University of Utah and The Regents of the University of California.
 /* Definitions for Windows/Unix exporting */
 #if defined(__WIN32__)
 #   if defined(_MSC_VER)
 /* Definitions for Windows/Unix exporting */
 #if defined(__WIN32__)
 #   if defined(_MSC_VER)
-#      define SWIGEXPORT(a,b) __declspec(dllexport) a b
+#      define SWIGEXPORT(a) __declspec(dllexport) a
 #   else
 #      if defined(__BORLANDC__)
 #   else
 #      if defined(__BORLANDC__)
-#          define SWIGEXPORT(a,b) a _export b
+#          define SWIGEXPORT(a) a _export 
 #      else
 #      else
-#          define SWIGEXPORT(a,b) a b
+#          define SWIGEXPORT(a) a 
 #      endif
 #   endif
 #else
 #      endif
 #   endif
 #else
-#   define SWIGEXPORT(a,b) a b
+#   define SWIGEXPORT(a) a 
 #endif
 
 #ifdef __cplusplus
 #endif
 
 #ifdef __cplusplus
@@ -43,12 +43,12 @@ extern "C" {
 extern void SWIG_MakePtr(char *, void *, char *);
 extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *));
 extern char *SWIG_GetPtr(char *, void **, char *);
 extern void SWIG_MakePtr(char *, void *, char *);
 extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *));
 extern char *SWIG_GetPtr(char *, void **, char *);
+extern char *SWIG_GetPtrObj(PyObject *, void **, char *);
 extern void SWIG_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
 extern PyObject *SWIG_newvarlink(void);
 #ifdef __cplusplus
 }
 #endif
 extern void SWIG_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
 extern PyObject *SWIG_newvarlink(void);
 #ifdef __cplusplus
 }
 #endif
-
 #define SWIG_init    initcontrolsc
 
 #define SWIG_name    "controlsc"
 #define SWIG_init    initcontrolsc
 
 #define SWIG_name    "controlsc"
@@ -56,6 +56,8 @@ extern PyObject *SWIG_newvarlink(void);
 #include "helpers.h"
 #include <wx/slider.h>
 #include <wx/spinbutt.h>
 #include "helpers.h"
 #include <wx/slider.h>
 #include <wx/spinbutt.h>
+#include <wx/dynarray.h>
+#include <wx/statline.h>
 
 #ifdef __WXMSW__
 #if wxUSE_OWNER_DRAWN
 
 #ifdef __WXMSW__
 #if wxUSE_OWNER_DRAWN
@@ -63,6 +65,11 @@ extern PyObject *SWIG_newvarlink(void);
 #endif
 #endif
 
 #endif
 #endif
 
+#ifdef __WXGTK__
+#include <wx/checklst.h>
+#endif
+
+
 static PyObject* l_output_helper(PyObject* target, PyObject* o) {
     PyObject*   o2;
     PyObject*   o3;
 static PyObject* l_output_helper(PyObject* target, PyObject* o) {
     PyObject*   o2;
     PyObject*   o3;
@@ -111,6 +118,7 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) {
 }
 
 
 }
 
 
+extern byte* byte_LIST_helper(PyObject* source);
 extern int* int_LIST_helper(PyObject* source);
 extern long* long_LIST_helper(PyObject* source);
 extern char** string_LIST_helper(PyObject* source);
 extern int* int_LIST_helper(PyObject* source);
 extern long* long_LIST_helper(PyObject* source);
 extern char** string_LIST_helper(PyObject* source);
@@ -123,6 +131,9 @@ extern wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
 static char* wxStringErrorMsg = "string type is required for parameter";
 
 wxValidator wxPyDefaultValidator;       // Non-const default because of SWIG
 static char* wxStringErrorMsg = "string type is required for parameter";
 
 wxValidator wxPyDefaultValidator;       // Non-const default because of SWIG
+#ifdef __cplusplus
+extern "C" {
+#endif
 static void *SwigwxControlTowxWindow(void *ptr) {
     wxControl *src;
     wxWindow *dest;
 static void *SwigwxControlTowxWindow(void *ptr) {
     wxControl *src;
     wxWindow *dest;
@@ -139,53 +150,29 @@ static void *SwigwxControlTowxEvtHandler(void *ptr) {
     return (void *) dest;
 }
 
     return (void *) dest;
 }
 
-#define wxControl_Command(_swigobj,_swigarg0)  (_swigobj->Command(_swigarg0))
-static PyObject *_wrap_wxControl_Command(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    wxControl * _arg0;
-    wxCommandEvent * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
-
-    self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxControl_Command",&_argc0,&_argc1)) 
-        return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxControl_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxControl_Command. Expected _wxControl_p.");
-        return NULL;
-        }
-    }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxCommandEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxControl_Command. Expected _wxCommandEvent_p.");
-        return NULL;
-        }
-    }
-    wxControl_Command(_arg0,*_arg1);
-    Py_INCREF(Py_None);
-    _resultobj = Py_None;
-    return _resultobj;
-}
-
 #define wxControl_GetLabel(_swigobj)  (_swigobj->GetLabel())
 static PyObject *_wrap_wxControl_GetLabel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxString * _result;
     wxControl * _arg0;
 #define wxControl_GetLabel(_swigobj)  (_swigobj->GetLabel())
 static PyObject *_wrap_wxControl_GetLabel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxString * _result;
     wxControl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxControl_GetLabel",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxControl_GetLabel",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxControl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxControl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxControl_GetLabel. Expected _wxControl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxControl_GetLabel. Expected _wxControl_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxControl_GetLabel(_arg0));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxControl_GetLabel(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -199,14 +186,15 @@ static PyObject *_wrap_wxControl_SetLabel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxControl * _arg0;
     wxString * _arg1;
     PyObject * _resultobj;
     wxControl * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxControl_SetLabel",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxControl_SetLabel",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxControl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxControl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxControl_SetLabel. Expected _wxControl_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxControl_SetLabel. Expected _wxControl_p.");
         return NULL;
         }
@@ -216,10 +204,14 @@ static PyObject *_wrap_wxControl_SetLabel(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    wxControl_SetLabel(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxControl_SetLabel(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj1)
     _resultobj = Py_None;
 {
     if (_obj1)
@@ -259,23 +251,24 @@ static PyObject *_wrap_new_wxButton(PyObject *self, PyObject *args) {
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxString * _arg2;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxString * _arg2;
-    wxPoint * _arg3 = &wxPyDefaultPosition;
-    wxSize * _arg4 = &wxPyDefaultSize;
-    long  _arg5 = 0;
-    wxValidator * _arg6 = &wxPyDefaultValidator;
-    char * _arg7 = "button";
-    char * _argc0 = 0;
+    wxPoint * _arg3 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg4 = (wxSize *) &wxPyDefaultSize;
+    long  _arg5 = (long ) 0;
+    wxValidator * _arg6 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg7 = (char *) "button";
+    PyObject * _argo0 = 0;
     PyObject * _obj2 = 0;
     PyObject * _obj2 = 0;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
-    char * _argc6 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
+    PyObject * _argo6 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO|sslss:new_wxButton",&_argc0,&_arg1,&_obj2,&_argc3,&_argc4,&_arg5,&_argc6,&_arg7)) 
+    if(!PyArg_ParseTuple(args,"OiO|OOlOs:new_wxButton",&_argo0,&_arg1,&_obj2,&_argo3,&_argo4,&_arg5,&_argo6,&_arg7)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxButton. Expected _wxWindow_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxButton. Expected _wxWindow_p.");
         return NULL;
         }
@@ -285,29 +278,41 @@ static PyObject *_wrap_new_wxButton(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg2 = new wxString(PyString_AsString(_obj2));
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
 }
 }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxPoint_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxButton. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxButton. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxSize_p")) {
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxButton. Expected _wxSize_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxButton. Expected _wxSize_p.");
         return NULL;
         }
     }
-    if (_argc6) {
-        if (SWIG_GetPtr(_argc6,(void **) &_arg6,"_wxValidator_p")) {
+    if (_argo6) {
+        if (_argo6 == Py_None) { _arg6 = NULL; }
+        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_wxValidator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxButton. Expected _wxValidator_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxButton. Expected _wxValidator_p.");
         return NULL;
         }
     }
-    _result = (wxButton *)new_wxButton(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxButton_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxButton *)new_wxButton(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxButton_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
 {
     if (_obj2)
         delete _arg2;
 {
     if (_obj2)
         delete _arg2;
@@ -319,19 +324,24 @@ static PyObject *_wrap_new_wxButton(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxButton_SetDefault(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxButton * _arg0;
 static PyObject *_wrap_wxButton_SetDefault(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxButton_SetDefault",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxButton_SetDefault",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxButton_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxButton_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxButton_SetDefault. Expected _wxButton_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxButton_SetDefault. Expected _wxButton_p.");
         return NULL;
         }
     }
-    wxButton_SetDefault(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxButton_SetDefault(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -375,54 +385,68 @@ static PyObject *_wrap_new_wxBitmapButton(PyObject *self, PyObject *args) {
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxBitmap * _arg2;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxBitmap * _arg2;
-    wxPoint * _arg3 = &wxPyDefaultPosition;
-    wxSize * _arg4 = &wxPyDefaultSize;
-    long  _arg5 = (wxBU_AUTODRAW);
-    wxValidator * _arg6 = &wxPyDefaultValidator;
-    char * _arg7 = "button";
-    char * _argc0 = 0;
-    char * _argc2 = 0;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
-    char * _argc6 = 0;
+    wxPoint * _arg3 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg4 = (wxSize *) &wxPyDefaultSize;
+    long  _arg5 = (long ) wxBU_AUTODRAW;
+    wxValidator * _arg6 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg7 = (char *) "button";
+    PyObject * _argo0 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
+    PyObject * _argo6 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sis|sslss:new_wxBitmapButton",&_argc0,&_arg1,&_argc2,&_argc3,&_argc4,&_arg5,&_argc6,&_arg7)) 
+    if(!PyArg_ParseTuple(args,"OiO|OOlOs:new_wxBitmapButton",&_argo0,&_arg1,&_argo2,&_argo3,&_argo4,&_arg5,&_argo6,&_arg7)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxBitmapButton. Expected _wxWindow_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxBitmapButton. Expected _wxWindow_p.");
         return NULL;
         }
     }
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxBitmap_p")) {
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxBitmap_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxBitmapButton. Expected _wxBitmap_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxBitmapButton. Expected _wxBitmap_p.");
         return NULL;
         }
     }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxPoint_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxBitmapButton. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxBitmapButton. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxSize_p")) {
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxBitmapButton. Expected _wxSize_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxBitmapButton. Expected _wxSize_p.");
         return NULL;
         }
     }
-    if (_argc6) {
-        if (SWIG_GetPtr(_argc6,(void **) &_arg6,"_wxValidator_p")) {
+    if (_argo6) {
+        if (_argo6 == Py_None) { _arg6 = NULL; }
+        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_wxValidator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxBitmapButton. Expected _wxValidator_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxBitmapButton. Expected _wxValidator_p.");
         return NULL;
         }
     }
-    _result = (wxBitmapButton *)new_wxBitmapButton(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmapButton_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxBitmapButton *)new_wxBitmapButton(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmapButton_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -431,22 +455,239 @@ static PyObject *_wrap_wxBitmapButton_GetBitmapLabel(PyObject *self, PyObject *a
     PyObject * _resultobj;
     wxBitmap * _result;
     wxBitmapButton * _arg0;
     PyObject * _resultobj;
     wxBitmap * _result;
     wxBitmapButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxBitmapButton_GetBitmapLabel",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxBitmapButton_GetBitmapLabel",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxBitmapButton_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmapButton_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapButton_GetBitmapLabel. Expected _wxBitmapButton_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapButton_GetBitmapLabel. Expected _wxBitmapButton_p.");
         return NULL;
         }
     }
-    wxBitmap & _result_ref = wxBitmapButton_GetBitmapLabel(_arg0);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmap & _result_ref = wxBitmapButton_GetBitmapLabel(_arg0);
+    _result = (wxBitmap *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxBitmapButton_GetBitmapDisabled(_swigobj)  (_swigobj->GetBitmapDisabled())
+static PyObject *_wrap_wxBitmapButton_GetBitmapDisabled(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxBitmap * _result;
+    wxBitmapButton * _arg0;
+    PyObject * _argo0 = 0;
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:wxBitmapButton_GetBitmapDisabled",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmapButton_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapButton_GetBitmapDisabled. Expected _wxBitmapButton_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmap & _result_ref = wxBitmapButton_GetBitmapDisabled(_arg0);
+    _result = (wxBitmap *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxBitmapButton_GetBitmapFocus(_swigobj)  (_swigobj->GetBitmapFocus())
+static PyObject *_wrap_wxBitmapButton_GetBitmapFocus(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxBitmap * _result;
+    wxBitmapButton * _arg0;
+    PyObject * _argo0 = 0;
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:wxBitmapButton_GetBitmapFocus",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmapButton_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapButton_GetBitmapFocus. Expected _wxBitmapButton_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmap & _result_ref = wxBitmapButton_GetBitmapFocus(_arg0);
+    _result = (wxBitmap *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxBitmapButton_GetBitmapSelected(_swigobj)  (_swigobj->GetBitmapSelected())
+static PyObject *_wrap_wxBitmapButton_GetBitmapSelected(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxBitmap * _result;
+    wxBitmapButton * _arg0;
+    PyObject * _argo0 = 0;
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:wxBitmapButton_GetBitmapSelected",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmapButton_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapButton_GetBitmapSelected. Expected _wxBitmapButton_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmap & _result_ref = wxBitmapButton_GetBitmapSelected(_arg0);
     _result = (wxBitmap *) &_result_ref;
     _result = (wxBitmap *) &_result_ref;
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxBitmapButton_SetBitmapDisabled(_swigobj,_swigarg0)  (_swigobj->SetBitmapDisabled(_swigarg0))
+static PyObject *_wrap_wxBitmapButton_SetBitmapDisabled(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxBitmapButton * _arg0;
+    wxBitmap * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"OO:wxBitmapButton_SetBitmapDisabled",&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmapButton_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapButton_SetBitmapDisabled. Expected _wxBitmapButton_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxBitmapButton_SetBitmapDisabled. Expected _wxBitmap_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmapButton_SetBitmapDisabled(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxBitmapButton_SetBitmapFocus(_swigobj,_swigarg0)  (_swigobj->SetBitmapFocus(_swigarg0))
+static PyObject *_wrap_wxBitmapButton_SetBitmapFocus(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxBitmapButton * _arg0;
+    wxBitmap * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"OO:wxBitmapButton_SetBitmapFocus",&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmapButton_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapButton_SetBitmapFocus. Expected _wxBitmapButton_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxBitmapButton_SetBitmapFocus. Expected _wxBitmap_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmapButton_SetBitmapFocus(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxBitmapButton_SetBitmapSelected(_swigobj,_swigarg0)  (_swigobj->SetBitmapSelected(_swigarg0))
+static PyObject *_wrap_wxBitmapButton_SetBitmapSelected(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxBitmapButton * _arg0;
+    wxBitmap * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"OO:wxBitmapButton_SetBitmapSelected",&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmapButton_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapButton_SetBitmapSelected. Expected _wxBitmapButton_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxBitmapButton_SetBitmapSelected. Expected _wxBitmap_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmapButton_SetBitmapSelected(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -455,26 +696,32 @@ static PyObject *_wrap_wxBitmapButton_SetBitmapLabel(PyObject *self, PyObject *a
     PyObject * _resultobj;
     wxBitmapButton * _arg0;
     wxBitmap * _arg1;
     PyObject * _resultobj;
     wxBitmapButton * _arg0;
     wxBitmap * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxBitmapButton_SetBitmapLabel",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxBitmapButton_SetBitmapLabel",&_argo0,&_argo1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxBitmapButton_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmapButton_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapButton_SetBitmapLabel. Expected _wxBitmapButton_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapButton_SetBitmapLabel. Expected _wxBitmapButton_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxBitmap_p")) {
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxBitmapButton_SetBitmapLabel. Expected _wxBitmap_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxBitmapButton_SetBitmapLabel. Expected _wxBitmap_p.");
         return NULL;
         }
     }
-    wxBitmapButton_SetBitmapLabel(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmapButton_SetBitmapLabel(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -510,23 +757,24 @@ static PyObject *_wrap_new_wxCheckBox(PyObject *self, PyObject *args) {
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxString * _arg2;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxString * _arg2;
-    wxPoint * _arg3 = &wxPyDefaultPosition;
-    wxSize * _arg4 = &wxPyDefaultSize;
-    long  _arg5 = 0;
-    wxValidator * _arg6 = &wxPyDefaultValidator;
-    char * _arg7 = "checkBox";
-    char * _argc0 = 0;
+    wxPoint * _arg3 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg4 = (wxSize *) &wxPyDefaultSize;
+    long  _arg5 = (long ) 0;
+    wxValidator * _arg6 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg7 = (char *) "checkBox";
+    PyObject * _argo0 = 0;
     PyObject * _obj2 = 0;
     PyObject * _obj2 = 0;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
-    char * _argc6 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
+    PyObject * _argo6 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO|sslss:new_wxCheckBox",&_argc0,&_arg1,&_obj2,&_argc3,&_argc4,&_arg5,&_argc6,&_arg7)) 
+    if(!PyArg_ParseTuple(args,"OiO|OOlOs:new_wxCheckBox",&_argo0,&_arg1,&_obj2,&_argo3,&_argo4,&_arg5,&_argo6,&_arg7)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxCheckBox. Expected _wxWindow_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxCheckBox. Expected _wxWindow_p.");
         return NULL;
         }
@@ -536,29 +784,41 @@ static PyObject *_wrap_new_wxCheckBox(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg2 = new wxString(PyString_AsString(_obj2));
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
 }
 }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxPoint_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxCheckBox. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxCheckBox. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxSize_p")) {
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxCheckBox. Expected _wxSize_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxCheckBox. Expected _wxSize_p.");
         return NULL;
         }
     }
-    if (_argc6) {
-        if (SWIG_GetPtr(_argc6,(void **) &_arg6,"_wxValidator_p")) {
+    if (_argo6) {
+        if (_argo6 == Py_None) { _arg6 = NULL; }
+        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_wxValidator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxCheckBox. Expected _wxValidator_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxCheckBox. Expected _wxValidator_p.");
         return NULL;
         }
     }
-    _result = (wxCheckBox *)new_wxCheckBox(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxCheckBox_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxCheckBox *)new_wxCheckBox(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCheckBox_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
 {
     if (_obj2)
         delete _arg2;
 {
     if (_obj2)
         delete _arg2;
@@ -571,19 +831,24 @@ static PyObject *_wrap_wxCheckBox_GetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     bool  _result;
     wxCheckBox * _arg0;
     PyObject * _resultobj;
     bool  _result;
     wxCheckBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxCheckBox_GetValue",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxCheckBox_GetValue",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxCheckBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCheckBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCheckBox_GetValue. Expected _wxCheckBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCheckBox_GetValue. Expected _wxCheckBox_p.");
         return NULL;
         }
     }
-    _result = (bool )wxCheckBox_GetValue(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxCheckBox_GetValue(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -592,21 +857,26 @@ static PyObject *_wrap_wxCheckBox_SetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxCheckBox * _arg0;
     bool  _arg1;
     PyObject * _resultobj;
     wxCheckBox * _arg0;
     bool  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool1;
 
     self = self;
     int tempbool1;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxCheckBox_SetValue",&_argc0,&tempbool1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxCheckBox_SetValue",&_argo0,&tempbool1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxCheckBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCheckBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCheckBox_SetValue. Expected _wxCheckBox_p.");
         return NULL;
         }
     }
     _arg1 = (bool ) tempbool1;
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCheckBox_SetValue. Expected _wxCheckBox_p.");
         return NULL;
         }
     }
     _arg1 = (bool ) tempbool1;
-    wxCheckBox_SetValue(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxCheckBox_SetValue(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -641,37 +911,40 @@ static PyObject *_wrap_new_wxChoice(PyObject *self, PyObject *args) {
     wxChoice * _result;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxChoice * _result;
     wxWindow * _arg0;
     wxWindowID  _arg1;
-    wxPoint * _arg2 = &wxPyDefaultPosition;
-    wxSize * _arg3 = &wxPyDefaultSize;
-    int  _arg4 = 0;
-    wxString * _arg5 = NULL;
-    long  _arg6 = 0;
-    wxValidator * _arg7 = &wxPyDefaultValidator;
-    char * _arg8 = "choice";
-    char * _argc0 = 0;
-    char * _argc2 = 0;
-    char * _argc3 = 0;
+    wxPoint * _arg2 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg3 = (wxSize *) &wxPyDefaultSize;
+    int  _arg4 = (int ) 0;
+    wxString * _arg5 = (wxString *) NULL;
+    long  _arg6 = (long ) 0;
+    wxValidator * _arg7 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg8 = (char *) "choice";
+    PyObject * _argo0 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
     PyObject * _obj5 = 0;
     PyObject * _obj5 = 0;
-    char * _argc7 = 0;
+    PyObject * _argo7 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|ssOlss:new_wxChoice",&_argc0,&_arg1,&_argc2,&_argc3,&_obj5,&_arg6,&_argc7,&_arg8)) 
+    if(!PyArg_ParseTuple(args,"Oi|OOOlOs:new_wxChoice",&_argo0,&_arg1,&_argo2,&_argo3,&_obj5,&_arg6,&_argo7,&_arg8)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxChoice. Expected _wxWindow_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxChoice. Expected _wxWindow_p.");
         return NULL;
         }
     }
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxPoint_p")) {
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxChoice. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxChoice. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxSize_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxChoice. Expected _wxSize_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxChoice. Expected _wxSize_p.");
         return NULL;
         }
@@ -683,18 +956,33 @@ static PyObject *_wrap_new_wxChoice(PyObject *self, PyObject *args) {
         return NULL;
     }
 }
         return NULL;
     }
 }
-    if (_argc7) {
-        if (SWIG_GetPtr(_argc7,(void **) &_arg7,"_wxValidator_p")) {
+    if (_argo7) {
+        if (_argo7 == Py_None) { _arg7 = NULL; }
+        else if (SWIG_GetPtrObj(_argo7,(void **) &_arg7,"_wxValidator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 8 of new_wxChoice. Expected _wxValidator_p.");
         return NULL;
         }
     }
 {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 8 of new_wxChoice. Expected _wxValidator_p.");
         return NULL;
         }
     }
 {
-    _arg4 = PyList_Size(_obj5);
+    if (_obj5) {
+        _arg4 = PyList_Size(_obj5);
+    }
+    else {
+        _arg4 = 0;
+    }
 }
 }
-    _result = (wxChoice *)new_wxChoice(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5,_arg6,*_arg7,_arg8);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxChoice_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxChoice *)new_wxChoice(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5,_arg6,*_arg7,_arg8);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxChoice_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
 {
     delete [] _arg5;
 }
 {
     delete [] _arg5;
 }
@@ -706,14 +994,15 @@ static PyObject *_wrap_wxChoice_Append(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxChoice * _arg0;
     wxString * _arg1;
     PyObject * _resultobj;
     wxChoice * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxChoice_Append",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxChoice_Append",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxChoice_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxChoice_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_Append. Expected _wxChoice_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_Append. Expected _wxChoice_p.");
         return NULL;
         }
@@ -723,10 +1012,14 @@ static PyObject *_wrap_wxChoice_Append(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    wxChoice_Append(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxChoice_Append(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj1)
     _resultobj = Py_None;
 {
     if (_obj1)
@@ -739,19 +1032,24 @@ static PyObject *_wrap_wxChoice_Append(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxChoice_Clear(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxChoice * _arg0;
 static PyObject *_wrap_wxChoice_Clear(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxChoice * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxChoice_Clear",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxChoice_Clear",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxChoice_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxChoice_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_Clear. Expected _wxChoice_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_Clear. Expected _wxChoice_p.");
         return NULL;
         }
     }
-    wxChoice_Clear(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxChoice_Clear(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -762,14 +1060,15 @@ static PyObject *_wrap_wxChoice_FindString(PyObject *self, PyObject *args) {
     int  _result;
     wxChoice * _arg0;
     wxString * _arg1;
     int  _result;
     wxChoice * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxChoice_FindString",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxChoice_FindString",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxChoice_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxChoice_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_FindString. Expected _wxChoice_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_FindString. Expected _wxChoice_p.");
         return NULL;
         }
@@ -779,10 +1078,14 @@ static PyObject *_wrap_wxChoice_FindString(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    _result = (int )wxChoice_FindString(_arg0,*_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxChoice_FindString(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj1)
         delete _arg1;
 {
     if (_obj1)
         delete _arg1;
@@ -795,19 +1098,24 @@ static PyObject *_wrap_wxChoice_GetColumns(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxChoice * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxChoice * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxChoice_GetColumns",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxChoice_GetColumns",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxChoice_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxChoice_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_GetColumns. Expected _wxChoice_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_GetColumns. Expected _wxChoice_p.");
         return NULL;
         }
     }
-    _result = (int )wxChoice_GetColumns(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxChoice_GetColumns(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -816,19 +1124,24 @@ static PyObject *_wrap_wxChoice_GetSelection(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxChoice * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxChoice * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxChoice_GetSelection",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxChoice_GetSelection",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxChoice_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxChoice_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_GetSelection. Expected _wxChoice_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_GetSelection. Expected _wxChoice_p.");
         return NULL;
         }
     }
-    _result = (int )wxChoice_GetSelection(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxChoice_GetSelection(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -838,19 +1151,24 @@ static PyObject *_wrap_wxChoice_GetString(PyObject *self, PyObject *args) {
     wxString * _result;
     wxChoice * _arg0;
     int  _arg1;
     wxString * _result;
     wxChoice * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxChoice_GetString",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxChoice_GetString",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxChoice_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxChoice_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_GetString. Expected _wxChoice_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_GetString. Expected _wxChoice_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxChoice_GetString(_arg0,_arg1));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxChoice_GetString(_arg0,_arg1));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -864,19 +1182,24 @@ static PyObject *_wrap_wxChoice_GetStringSelection(PyObject *self, PyObject *arg
     PyObject * _resultobj;
     wxString * _result;
     wxChoice * _arg0;
     PyObject * _resultobj;
     wxString * _result;
     wxChoice * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxChoice_GetStringSelection",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxChoice_GetStringSelection",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxChoice_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxChoice_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_GetStringSelection. Expected _wxChoice_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_GetStringSelection. Expected _wxChoice_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxChoice_GetStringSelection(_arg0));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxChoice_GetStringSelection(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -890,19 +1213,24 @@ static PyObject *_wrap_wxChoice_Number(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxChoice * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxChoice * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxChoice_Number",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxChoice_Number",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxChoice_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxChoice_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_Number. Expected _wxChoice_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_Number. Expected _wxChoice_p.");
         return NULL;
         }
     }
-    _result = (int )wxChoice_Number(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxChoice_Number(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -910,20 +1238,25 @@ static PyObject *_wrap_wxChoice_Number(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxChoice_SetColumns(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxChoice * _arg0;
 static PyObject *_wrap_wxChoice_SetColumns(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxChoice * _arg0;
-    int  _arg1 = 1;
-    char * _argc0 = 0;
+    int  _arg1 = (int ) 1;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s|i:wxChoice_SetColumns",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"O|i:wxChoice_SetColumns",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxChoice_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxChoice_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_SetColumns. Expected _wxChoice_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_SetColumns. Expected _wxChoice_p.");
         return NULL;
         }
     }
-    wxChoice_SetColumns(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxChoice_SetColumns(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -933,19 +1266,24 @@ static PyObject *_wrap_wxChoice_SetSelection(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxChoice * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxChoice * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxChoice_SetSelection",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxChoice_SetSelection",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxChoice_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxChoice_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_SetSelection. Expected _wxChoice_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_SetSelection. Expected _wxChoice_p.");
         return NULL;
         }
     }
-    wxChoice_SetSelection(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxChoice_SetSelection(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -955,14 +1293,15 @@ static PyObject *_wrap_wxChoice_SetStringSelection(PyObject *self, PyObject *arg
     PyObject * _resultobj;
     wxChoice * _arg0;
     wxString * _arg1;
     PyObject * _resultobj;
     wxChoice * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxChoice_SetStringSelection",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxChoice_SetStringSelection",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxChoice_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxChoice_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_SetStringSelection. Expected _wxChoice_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChoice_SetStringSelection. Expected _wxChoice_p.");
         return NULL;
         }
@@ -972,10 +1311,14 @@ static PyObject *_wrap_wxChoice_SetStringSelection(PyObject *self, PyObject *arg
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    wxChoice_SetStringSelection(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxChoice_SetStringSelection(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj1)
     _resultobj = Py_None;
 {
     if (_obj1)
@@ -984,6 +1327,14 @@ static PyObject *_wrap_wxChoice_SetStringSelection(PyObject *self, PyObject *arg
     return _resultobj;
 }
 
     return _resultobj;
 }
 
+static void *SwigwxComboBoxTowxChoice(void *ptr) {
+    wxComboBox *src;
+    wxChoice *dest;
+    src = (wxComboBox *) ptr;
+    dest = (wxChoice *) src;
+    return (void *) dest;
+}
+
 static void *SwigwxComboBoxTowxControl(void *ptr) {
     wxComboBox *src;
     wxControl *dest;
 static void *SwigwxComboBoxTowxControl(void *ptr) {
     wxComboBox *src;
     wxControl *dest;
@@ -1014,38 +1365,41 @@ static PyObject *_wrap_new_wxComboBox(PyObject *self, PyObject *args) {
     wxComboBox * _result;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxComboBox * _result;
     wxWindow * _arg0;
     wxWindowID  _arg1;
-    char * _arg2 = "";
-    wxPoint * _arg3 = &wxPyDefaultPosition;
-    wxSize * _arg4 = &wxPyDefaultSize;
-    int  _arg5 = 0;
-    wxString * _arg6 = NULL;
-    long  _arg7 = 0;
-    wxValidator * _arg8 = &wxPyDefaultValidator;
-    char * _arg9 = "comboBox";
-    char * _argc0 = 0;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
+    char * _arg2 = (char *) "";
+    wxPoint * _arg3 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg4 = (wxSize *) &wxPyDefaultSize;
+    int  _arg5 = (int ) 0;
+    wxString * _arg6 = (wxString *) NULL;
+    long  _arg7 = (long ) 0;
+    wxValidator * _arg8 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg9 = (char *) "comboBox";
+    PyObject * _argo0 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
     PyObject * _obj6 = 0;
     PyObject * _obj6 = 0;
-    char * _argc8 = 0;
+    PyObject * _argo8 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|sssOlss:new_wxComboBox",&_argc0,&_arg1,&_arg2,&_argc3,&_argc4,&_obj6,&_arg7,&_argc8,&_arg9)) 
+    if(!PyArg_ParseTuple(args,"Oi|sOOOlOs:new_wxComboBox",&_argo0,&_arg1,&_arg2,&_argo3,&_argo4,&_obj6,&_arg7,&_argo8,&_arg9)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxComboBox. Expected _wxWindow_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxComboBox. Expected _wxWindow_p.");
         return NULL;
         }
     }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxPoint_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxComboBox. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxComboBox. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxSize_p")) {
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxComboBox. Expected _wxSize_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxComboBox. Expected _wxSize_p.");
         return NULL;
         }
@@ -1057,18 +1411,33 @@ static PyObject *_wrap_new_wxComboBox(PyObject *self, PyObject *args) {
         return NULL;
     }
 }
         return NULL;
     }
 }
-    if (_argc8) {
-        if (SWIG_GetPtr(_argc8,(void **) &_arg8,"_wxValidator_p")) {
+    if (_argo8) {
+        if (_argo8 == Py_None) { _arg8 = NULL; }
+        else if (SWIG_GetPtrObj(_argo8,(void **) &_arg8,"_wxValidator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 9 of new_wxComboBox. Expected _wxValidator_p.");
         return NULL;
         }
     }
 {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 9 of new_wxComboBox. Expected _wxValidator_p.");
         return NULL;
         }
     }
 {
-    _arg5 = PyList_Size(_obj6);
+    if (_obj6) {
+        _arg5 = PyList_Size(_obj6);
+    }
+    else {
+        _arg5 = 0;
+    }
 }
 }
-    _result = (wxComboBox *)new_wxComboBox(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,_arg6,_arg7,*_arg8,_arg9);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxComboBox_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxComboBox *)new_wxComboBox(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,_arg6,_arg7,*_arg8,_arg9);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxComboBox_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
 {
     delete [] _arg6;
 }
 {
     delete [] _arg6;
 }
@@ -1080,14 +1449,15 @@ static PyObject *_wrap_wxComboBox_Append(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     wxString * _arg1;
     PyObject * _resultobj;
     wxComboBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxComboBox_Append",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxComboBox_Append",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Append. Expected _wxComboBox_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Append. Expected _wxComboBox_p.");
         return NULL;
         }
@@ -1097,10 +1467,14 @@ static PyObject *_wrap_wxComboBox_Append(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    wxComboBox_Append(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_Append(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj1)
     _resultobj = Py_None;
 {
     if (_obj1)
@@ -1113,19 +1487,24 @@ static PyObject *_wrap_wxComboBox_Append(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxComboBox_Clear(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
 static PyObject *_wrap_wxComboBox_Clear(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_Clear",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxComboBox_Clear",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Clear. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Clear. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    wxComboBox_Clear(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_Clear(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1134,19 +1513,24 @@ static PyObject *_wrap_wxComboBox_Clear(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxComboBox_Copy(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
 static PyObject *_wrap_wxComboBox_Copy(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_Copy",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxComboBox_Copy",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Copy. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Copy. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    wxComboBox_Copy(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_Copy(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1155,19 +1539,24 @@ static PyObject *_wrap_wxComboBox_Copy(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxComboBox_Cut(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
 static PyObject *_wrap_wxComboBox_Cut(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_Cut",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxComboBox_Cut",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Cut. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Cut. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    wxComboBox_Cut(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_Cut(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1177,19 +1566,24 @@ static PyObject *_wrap_wxComboBox_Delete(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxComboBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxComboBox_Delete",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxComboBox_Delete",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Delete. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Delete. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    wxComboBox_Delete(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_Delete(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1200,14 +1594,15 @@ static PyObject *_wrap_wxComboBox_FindString(PyObject *self, PyObject *args) {
     int  _result;
     wxComboBox * _arg0;
     wxString * _arg1;
     int  _result;
     wxComboBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxComboBox_FindString",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxComboBox_FindString",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_FindString. Expected _wxComboBox_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_FindString. Expected _wxComboBox_p.");
         return NULL;
         }
@@ -1217,10 +1612,14 @@ static PyObject *_wrap_wxComboBox_FindString(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    _result = (int )wxComboBox_FindString(_arg0,*_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxComboBox_FindString(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj1)
         delete _arg1;
 {
     if (_obj1)
         delete _arg1;
@@ -1233,19 +1632,24 @@ static PyObject *_wrap_wxComboBox_GetInsertionPoint(PyObject *self, PyObject *ar
     PyObject * _resultobj;
     long  _result;
     wxComboBox * _arg0;
     PyObject * _resultobj;
     long  _result;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_GetInsertionPoint",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxComboBox_GetInsertionPoint",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_GetInsertionPoint. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_GetInsertionPoint. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    _result = (long )wxComboBox_GetInsertionPoint(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxComboBox_GetInsertionPoint(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -1254,19 +1658,24 @@ static PyObject *_wrap_wxComboBox_GetLastPosition(PyObject *self, PyObject *args
     PyObject * _resultobj;
     long  _result;
     wxComboBox * _arg0;
     PyObject * _resultobj;
     long  _result;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_GetLastPosition",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxComboBox_GetLastPosition",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_GetLastPosition. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_GetLastPosition. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    _result = (long )wxComboBox_GetLastPosition(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxComboBox_GetLastPosition(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -1275,19 +1684,24 @@ static PyObject *_wrap_wxComboBox_GetSelection(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxComboBox * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_GetSelection",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxComboBox_GetSelection",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_GetSelection. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_GetSelection. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    _result = (int )wxComboBox_GetSelection(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxComboBox_GetSelection(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -1297,19 +1711,24 @@ static PyObject *_wrap_wxComboBox_GetString(PyObject *self, PyObject *args) {
     wxString * _result;
     wxComboBox * _arg0;
     int  _arg1;
     wxString * _result;
     wxComboBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxComboBox_GetString",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxComboBox_GetString",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_GetString. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_GetString. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxComboBox_GetString(_arg0,_arg1));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxComboBox_GetString(_arg0,_arg1));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -1323,19 +1742,24 @@ static PyObject *_wrap_wxComboBox_GetStringSelection(PyObject *self, PyObject *a
     PyObject * _resultobj;
     wxString * _result;
     wxComboBox * _arg0;
     PyObject * _resultobj;
     wxString * _result;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_GetStringSelection",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxComboBox_GetStringSelection",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_GetStringSelection. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_GetStringSelection. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxComboBox_GetStringSelection(_arg0));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxComboBox_GetStringSelection(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -1349,19 +1773,24 @@ static PyObject *_wrap_wxComboBox_GetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxString * _result;
     wxComboBox * _arg0;
     PyObject * _resultobj;
     wxString * _result;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_GetValue",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxComboBox_GetValue",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_GetValue. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_GetValue. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxComboBox_GetValue(_arg0));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxComboBox_GetValue(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -1375,19 +1804,24 @@ static PyObject *_wrap_wxComboBox_Number(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxComboBox * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_Number",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxComboBox_Number",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Number. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Number. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    _result = (int )wxComboBox_Number(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxComboBox_Number(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -1395,19 +1829,24 @@ static PyObject *_wrap_wxComboBox_Number(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxComboBox_Paste(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
 static PyObject *_wrap_wxComboBox_Paste(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_Paste",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxComboBox_Paste",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Paste. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Paste. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    wxComboBox_Paste(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_Paste(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1419,14 +1858,15 @@ static PyObject *_wrap_wxComboBox_Replace(PyObject *self, PyObject *args) {
     long  _arg1;
     long  _arg2;
     wxString * _arg3;
     long  _arg1;
     long  _arg2;
     wxString * _arg3;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj3 = 0;
 
     self = self;
     PyObject * _obj3 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sllO:wxComboBox_Replace",&_argc0,&_arg1,&_arg2,&_obj3)) 
+    if(!PyArg_ParseTuple(args,"OllO:wxComboBox_Replace",&_argo0,&_arg1,&_arg2,&_obj3)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Replace. Expected _wxComboBox_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Replace. Expected _wxComboBox_p.");
         return NULL;
         }
@@ -1436,10 +1876,14 @@ static PyObject *_wrap_wxComboBox_Replace(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg3 = new wxString(PyString_AsString(_obj3));
+    _arg3 = new wxString(PyString_AsString(_obj3), PyString_Size(_obj3));
 }
 }
-    wxComboBox_Replace(_arg0,_arg1,_arg2,*_arg3);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_Replace(_arg0,_arg1,_arg2,*_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj3)
     _resultobj = Py_None;
 {
     if (_obj3)
@@ -1454,19 +1898,24 @@ static PyObject *_wrap_wxComboBox_Remove(PyObject *self, PyObject *args) {
     wxComboBox * _arg0;
     long  _arg1;
     long  _arg2;
     wxComboBox * _arg0;
     long  _arg1;
     long  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxComboBox_Remove",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTuple(args,"Oll:wxComboBox_Remove",&_argo0,&_arg1,&_arg2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Remove. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_Remove. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    wxComboBox_Remove(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_Remove(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1476,19 +1925,24 @@ static PyObject *_wrap_wxComboBox_SetInsertionPoint(PyObject *self, PyObject *ar
     PyObject * _resultobj;
     wxComboBox * _arg0;
     long  _arg1;
     PyObject * _resultobj;
     wxComboBox * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxComboBox_SetInsertionPoint",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Ol:wxComboBox_SetInsertionPoint",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_SetInsertionPoint. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_SetInsertionPoint. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    wxComboBox_SetInsertionPoint(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_SetInsertionPoint(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1497,44 +1951,51 @@ static PyObject *_wrap_wxComboBox_SetInsertionPoint(PyObject *self, PyObject *ar
 static PyObject *_wrap_wxComboBox_SetInsertionPointEnd(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
 static PyObject *_wrap_wxComboBox_SetInsertionPointEnd(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_SetInsertionPointEnd",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxComboBox_SetInsertionPointEnd",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_SetInsertionPointEnd. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_SetInsertionPointEnd. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    wxComboBox_SetInsertionPointEnd(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_SetInsertionPointEnd(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
     _resultobj = Py_None;
     return _resultobj;
 }
 
-#define wxComboBox_SetSelection(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetSelection(_swigarg0,_swigarg1))
+#define wxComboBox_SetSelection(_swigobj,_swigarg0)  (_swigobj->SetSelection(_swigarg0))
 static PyObject *_wrap_wxComboBox_SetSelection(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     int  _arg1;
 static PyObject *_wrap_wxComboBox_SetSelection(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     int  _arg1;
-    bool  _arg2 = (1);
-    char * _argc0 = 0;
-    int tempbool2;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|i:wxComboBox_SetSelection",&_argc0,&_arg1,&tempbool2)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxComboBox_SetSelection",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_SetSelection. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_SetSelection. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    _arg2 = (bool ) tempbool2;
-    wxComboBox_SetSelection(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_SetSelection(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1545,19 +2006,24 @@ static PyObject *_wrap_wxComboBox_SetMark(PyObject *self, PyObject *args) {
     wxComboBox * _arg0;
     long  _arg1;
     long  _arg2;
     wxComboBox * _arg0;
     long  _arg1;
     long  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxComboBox_SetMark",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTuple(args,"Oll:wxComboBox_SetMark",&_argo0,&_arg1,&_arg2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_SetMark. Expected _wxComboBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_SetMark. Expected _wxComboBox_p.");
         return NULL;
         }
     }
-    wxComboBox_SetMark(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_SetMark(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1567,14 +2033,15 @@ static PyObject *_wrap_wxComboBox_SetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     wxString * _arg1;
     PyObject * _resultobj;
     wxComboBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxComboBox_SetValue",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxComboBox_SetValue",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxComboBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxComboBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_SetValue. Expected _wxComboBox_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxComboBox_SetValue. Expected _wxComboBox_p.");
         return NULL;
         }
@@ -1584,10 +2051,14 @@ static PyObject *_wrap_wxComboBox_SetValue(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    wxComboBox_SetValue(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_SetValue(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj1)
     _resultobj = Py_None;
 {
     if (_obj1)
@@ -1627,47 +2098,60 @@ static PyObject *_wrap_new_wxGauge(PyObject *self, PyObject *args) {
     wxWindow * _arg0;
     wxWindowID  _arg1;
     int  _arg2;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     int  _arg2;
-    wxPoint * _arg3 = &wxPyDefaultPosition;
-    wxSize * _arg4 = &wxPyDefaultSize;
-    long  _arg5 = (wxGA_HORIZONTAL);
-    wxValidator * _arg6 = &wxPyDefaultValidator;
-    char * _arg7 = "gauge";
-    char * _argc0 = 0;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
-    char * _argc6 = 0;
+    wxPoint * _arg3 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg4 = (wxSize *) &wxPyDefaultSize;
+    long  _arg5 = (long ) wxGA_HORIZONTAL;
+    wxValidator * _arg6 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg7 = (char *) "gauge";
+    PyObject * _argo0 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
+    PyObject * _argo6 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii|sslss:new_wxGauge",&_argc0,&_arg1,&_arg2,&_argc3,&_argc4,&_arg5,&_argc6,&_arg7)) 
+    if(!PyArg_ParseTuple(args,"Oii|OOlOs:new_wxGauge",&_argo0,&_arg1,&_arg2,&_argo3,&_argo4,&_arg5,&_argo6,&_arg7)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxGauge. Expected _wxWindow_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxGauge. Expected _wxWindow_p.");
         return NULL;
         }
     }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxPoint_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxGauge. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxGauge. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxSize_p")) {
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxGauge. Expected _wxSize_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxGauge. Expected _wxSize_p.");
         return NULL;
         }
     }
-    if (_argc6) {
-        if (SWIG_GetPtr(_argc6,(void **) &_arg6,"_wxValidator_p")) {
+    if (_argo6) {
+        if (_argo6 == Py_None) { _arg6 = NULL; }
+        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_wxValidator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxGauge. Expected _wxValidator_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxGauge. Expected _wxValidator_p.");
         return NULL;
         }
     }
-    _result = (wxGauge *)new_wxGauge(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxGauge_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxGauge *)new_wxGauge(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGauge_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -1676,19 +2160,24 @@ static PyObject *_wrap_wxGauge_GetBezelFace(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxGauge * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxGauge * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGauge_GetBezelFace",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxGauge_GetBezelFace",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGauge_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGauge_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_GetBezelFace. Expected _wxGauge_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_GetBezelFace. Expected _wxGauge_p.");
         return NULL;
         }
     }
-    _result = (int )wxGauge_GetBezelFace(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxGauge_GetBezelFace(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -1697,19 +2186,24 @@ static PyObject *_wrap_wxGauge_GetRange(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxGauge * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxGauge * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGauge_GetRange",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxGauge_GetRange",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGauge_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGauge_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_GetRange. Expected _wxGauge_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_GetRange. Expected _wxGauge_p.");
         return NULL;
         }
     }
-    _result = (int )wxGauge_GetRange(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxGauge_GetRange(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -1718,19 +2212,24 @@ static PyObject *_wrap_wxGauge_GetShadowWidth(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxGauge * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxGauge * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGauge_GetShadowWidth",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxGauge_GetShadowWidth",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGauge_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGauge_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_GetShadowWidth. Expected _wxGauge_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_GetShadowWidth. Expected _wxGauge_p.");
         return NULL;
         }
     }
-    _result = (int )wxGauge_GetShadowWidth(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxGauge_GetShadowWidth(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -1739,19 +2238,24 @@ static PyObject *_wrap_wxGauge_GetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxGauge * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxGauge * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGauge_GetValue",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxGauge_GetValue",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGauge_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGauge_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_GetValue. Expected _wxGauge_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_GetValue. Expected _wxGauge_p.");
         return NULL;
         }
     }
-    _result = (int )wxGauge_GetValue(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxGauge_GetValue(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -1760,19 +2264,24 @@ static PyObject *_wrap_wxGauge_SetBezelFace(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxGauge * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxGauge * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxGauge_SetBezelFace",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxGauge_SetBezelFace",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGauge_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGauge_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_SetBezelFace. Expected _wxGauge_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_SetBezelFace. Expected _wxGauge_p.");
         return NULL;
         }
     }
-    wxGauge_SetBezelFace(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxGauge_SetBezelFace(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1782,19 +2291,24 @@ static PyObject *_wrap_wxGauge_SetRange(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxGauge * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxGauge * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxGauge_SetRange",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxGauge_SetRange",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGauge_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGauge_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_SetRange. Expected _wxGauge_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_SetRange. Expected _wxGauge_p.");
         return NULL;
         }
     }
-    wxGauge_SetRange(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxGauge_SetRange(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1804,19 +2318,24 @@ static PyObject *_wrap_wxGauge_SetShadowWidth(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxGauge * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxGauge * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxGauge_SetShadowWidth",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxGauge_SetShadowWidth",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGauge_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGauge_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_SetShadowWidth. Expected _wxGauge_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_SetShadowWidth. Expected _wxGauge_p.");
         return NULL;
         }
     }
-    wxGauge_SetShadowWidth(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxGauge_SetShadowWidth(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1826,19 +2345,24 @@ static PyObject *_wrap_wxGauge_SetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxGauge * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxGauge * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxGauge_SetValue",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxGauge_SetValue",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGauge_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGauge_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_SetValue. Expected _wxGauge_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGauge_SetValue. Expected _wxGauge_p.");
         return NULL;
         }
     }
-    wxGauge_SetValue(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxGauge_SetValue(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1874,21 +2398,22 @@ static PyObject *_wrap_new_wxStaticBox(PyObject *self, PyObject *args) {
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxString * _arg2;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxString * _arg2;
-    wxPoint * _arg3 = &wxPyDefaultPosition;
-    wxSize * _arg4 = &wxPyDefaultSize;
-    long  _arg5 = 0;
-    char * _arg6 = "staticBox";
-    char * _argc0 = 0;
+    wxPoint * _arg3 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg4 = (wxSize *) &wxPyDefaultSize;
+    long  _arg5 = (long ) 0;
+    char * _arg6 = (char *) "staticBox";
+    PyObject * _argo0 = 0;
     PyObject * _obj2 = 0;
     PyObject * _obj2 = 0;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO|ssls:new_wxStaticBox",&_argc0,&_arg1,&_obj2,&_argc3,&_argc4,&_arg5,&_arg6)) 
+    if(!PyArg_ParseTuple(args,"OiO|OOls:new_wxStaticBox",&_argo0,&_arg1,&_obj2,&_argo3,&_argo4,&_arg5,&_arg6)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxStaticBox. Expected _wxWindow_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxStaticBox. Expected _wxWindow_p.");
         return NULL;
         }
@@ -1898,23 +2423,34 @@ static PyObject *_wrap_new_wxStaticBox(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg2 = new wxString(PyString_AsString(_obj2));
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
 }
 }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxPoint_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxStaticBox. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxStaticBox. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxSize_p")) {
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxStaticBox. Expected _wxSize_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxStaticBox. Expected _wxSize_p.");
         return NULL;
         }
     }
-    _result = (wxStaticBox *)new_wxStaticBox(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticBox_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxStaticBox *)new_wxStaticBox(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticBox_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
 {
     if (_obj2)
         delete _arg2;
 {
     if (_obj2)
         delete _arg2;
@@ -1922,23 +2458,101 @@ static PyObject *_wrap_new_wxStaticBox(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-static void *SwigwxStaticTextTowxControl(void *ptr) {
-    wxStaticText *src;
+static void *SwigwxStaticLineTowxControl(void *ptr) {
+    wxStaticLine *src;
     wxControl *dest;
     wxControl *dest;
-    src = (wxStaticText *) ptr;
+    src = (wxStaticLine *) ptr;
     dest = (wxControl *) src;
     return (void *) dest;
 }
 
     dest = (wxControl *) src;
     return (void *) dest;
 }
 
-static void *SwigwxStaticTextTowxWindow(void *ptr) {
-    wxStaticText *src;
+static void *SwigwxStaticLineTowxWindow(void *ptr) {
+    wxStaticLine *src;
     wxWindow *dest;
     wxWindow *dest;
-    src = (wxStaticText *) ptr;
+    src = (wxStaticLine *) ptr;
     dest = (wxWindow *) src;
     return (void *) dest;
 }
 
     dest = (wxWindow *) src;
     return (void *) dest;
 }
 
-static void *SwigwxStaticTextTowxEvtHandler(void *ptr) {
+static void *SwigwxStaticLineTowxEvtHandler(void *ptr) {
+    wxStaticLine *src;
+    wxEvtHandler *dest;
+    src = (wxStaticLine *) ptr;
+    dest = (wxEvtHandler *) src;
+    return (void *) dest;
+}
+
+#define new_wxStaticLine(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (new wxStaticLine(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_new_wxStaticLine(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxStaticLine * _result;
+    wxWindow * _arg0;
+    wxWindowID  _arg1;
+    wxPoint * _arg2 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg3 = (wxSize *) &wxPyDefaultSize;
+    long  _arg4 = (long ) wxLI_HORIZONTAL;
+    char * _arg5 = (char *) "staticLine";
+    PyObject * _argo0 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"Oi|OOls:new_wxStaticLine",&_argo0,&_arg1,&_argo2,&_argo3,&_arg4,&_arg5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxStaticLine. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxStaticLine. Expected _wxPoint_p.");
+        return NULL;
+        }
+    }
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxSize_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxStaticLine. Expected _wxSize_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxStaticLine *)new_wxStaticLine(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticLine_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static void *SwigwxStaticTextTowxControl(void *ptr) {
+    wxStaticText *src;
+    wxControl *dest;
+    src = (wxStaticText *) ptr;
+    dest = (wxControl *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxStaticTextTowxWindow(void *ptr) {
+    wxStaticText *src;
+    wxWindow *dest;
+    src = (wxStaticText *) ptr;
+    dest = (wxWindow *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxStaticTextTowxEvtHandler(void *ptr) {
     wxStaticText *src;
     wxEvtHandler *dest;
     src = (wxStaticText *) ptr;
     wxStaticText *src;
     wxEvtHandler *dest;
     src = (wxStaticText *) ptr;
@@ -1953,21 +2567,22 @@ static PyObject *_wrap_new_wxStaticText(PyObject *self, PyObject *args) {
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxString * _arg2;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxString * _arg2;
-    wxPoint * _arg3 = &wxPyDefaultPosition;
-    wxSize * _arg4 = &wxPyDefaultSize;
-    long  _arg5 = 0;
-    char * _arg6 = "staticText";
-    char * _argc0 = 0;
+    wxPoint * _arg3 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg4 = (wxSize *) &wxPyDefaultSize;
+    long  _arg5 = (long ) 0;
+    char * _arg6 = (char *) "staticText";
+    PyObject * _argo0 = 0;
     PyObject * _obj2 = 0;
     PyObject * _obj2 = 0;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO|ssls:new_wxStaticText",&_argc0,&_arg1,&_obj2,&_argc3,&_argc4,&_arg5,&_arg6)) 
+    if(!PyArg_ParseTuple(args,"OiO|OOls:new_wxStaticText",&_argo0,&_arg1,&_obj2,&_argo3,&_argo4,&_arg5,&_arg6)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxStaticText. Expected _wxWindow_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxStaticText. Expected _wxWindow_p.");
         return NULL;
         }
@@ -1977,23 +2592,34 @@ static PyObject *_wrap_new_wxStaticText(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg2 = new wxString(PyString_AsString(_obj2));
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
 }
 }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxPoint_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxStaticText. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxStaticText. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxSize_p")) {
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxStaticText. Expected _wxSize_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxStaticText. Expected _wxSize_p.");
         return NULL;
         }
     }
-    _result = (wxStaticText *)new_wxStaticText(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticText_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxStaticText *)new_wxStaticText(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticText_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
 {
     if (_obj2)
         delete _arg2;
 {
     if (_obj2)
         delete _arg2;
@@ -2006,19 +2632,24 @@ static PyObject *_wrap_wxStaticText_GetLabel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxString * _result;
     wxStaticText * _arg0;
     PyObject * _resultobj;
     wxString * _result;
     wxStaticText * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxStaticText_GetLabel",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxStaticText_GetLabel",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxStaticText_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStaticText_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStaticText_GetLabel. Expected _wxStaticText_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStaticText_GetLabel. Expected _wxStaticText_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxStaticText_GetLabel(_arg0));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxStaticText_GetLabel(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -2032,14 +2663,15 @@ static PyObject *_wrap_wxStaticText_SetLabel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxStaticText * _arg0;
     wxString * _arg1;
     PyObject * _resultobj;
     wxStaticText * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxStaticText_SetLabel",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxStaticText_SetLabel",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxStaticText_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStaticText_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStaticText_SetLabel. Expected _wxStaticText_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStaticText_SetLabel. Expected _wxStaticText_p.");
         return NULL;
         }
@@ -2049,10 +2681,14 @@ static PyObject *_wrap_wxStaticText_SetLabel(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    wxStaticText_SetLabel(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxStaticText_SetLabel(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj1)
     _resultobj = Py_None;
 {
     if (_obj1)
@@ -2091,37 +2727,40 @@ static PyObject *_wrap_new_wxListBox(PyObject *self, PyObject *args) {
     wxListBox * _result;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxListBox * _result;
     wxWindow * _arg0;
     wxWindowID  _arg1;
-    wxPoint * _arg2 = &wxPyDefaultPosition;
-    wxSize * _arg3 = &wxPyDefaultSize;
+    wxPoint * _arg2 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg3 = (wxSize *) &wxPyDefaultSize;
     int  _arg4;
     int  _arg4;
-    wxString * _arg5 = NULL;
-    long  _arg6 = 0;
-    wxValidator * _arg7 = &wxPyDefaultValidator;
-    char * _arg8 = "listBox";
-    char * _argc0 = 0;
-    char * _argc2 = 0;
-    char * _argc3 = 0;
+    wxString * _arg5 = (wxString *) NULL;
+    long  _arg6 = (long ) 0;
+    wxValidator * _arg7 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg8 = (char *) "listBox";
+    PyObject * _argo0 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
     PyObject * _obj5 = 0;
     PyObject * _obj5 = 0;
-    char * _argc7 = 0;
+    PyObject * _argo7 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|ssOlss:new_wxListBox",&_argc0,&_arg1,&_argc2,&_argc3,&_obj5,&_arg6,&_argc7,&_arg8)) 
+    if(!PyArg_ParseTuple(args,"Oi|OOOlOs:new_wxListBox",&_argo0,&_arg1,&_argo2,&_argo3,&_obj5,&_arg6,&_argo7,&_arg8)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxListBox. Expected _wxWindow_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxListBox. Expected _wxWindow_p.");
         return NULL;
         }
     }
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxPoint_p")) {
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxListBox. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxListBox. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxSize_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxListBox. Expected _wxSize_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxListBox. Expected _wxSize_p.");
         return NULL;
         }
@@ -2133,18 +2772,33 @@ static PyObject *_wrap_new_wxListBox(PyObject *self, PyObject *args) {
         return NULL;
     }
 }
         return NULL;
     }
 }
-    if (_argc7) {
-        if (SWIG_GetPtr(_argc7,(void **) &_arg7,"_wxValidator_p")) {
+    if (_argo7) {
+        if (_argo7 == Py_None) { _arg7 = NULL; }
+        else if (SWIG_GetPtrObj(_argo7,(void **) &_arg7,"_wxValidator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 8 of new_wxListBox. Expected _wxValidator_p.");
         return NULL;
         }
     }
 {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 8 of new_wxListBox. Expected _wxValidator_p.");
         return NULL;
         }
     }
 {
-    _arg4 = PyList_Size(_obj5);
+    if (_obj5) {
+        _arg4 = PyList_Size(_obj5);
+    }
+    else {
+        _arg4 = 0;
+    }
 }
 }
-    _result = (wxListBox *)new_wxListBox(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5,_arg6,*_arg7,_arg8);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxListBox_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxListBox *)new_wxListBox(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5,_arg6,*_arg7,_arg8);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxListBox_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
 {
     delete [] _arg5;
 }
 {
     delete [] _arg5;
 }
@@ -2156,14 +2810,15 @@ static PyObject *_wrap_wxListBox_Append(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     wxString * _arg1;
     PyObject * _resultobj;
     wxListBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxListBox_Append",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxListBox_Append",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Append. Expected _wxListBox_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Append. Expected _wxListBox_p.");
         return NULL;
         }
@@ -2173,10 +2828,14 @@ static PyObject *_wrap_wxListBox_Append(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    wxListBox_Append(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxListBox_Append(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj1)
     _resultobj = Py_None;
 {
     if (_obj1)
@@ -2189,19 +2848,24 @@ static PyObject *_wrap_wxListBox_Append(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxListBox_Clear(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxListBox * _arg0;
 static PyObject *_wrap_wxListBox_Clear(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxListBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxListBox_Clear",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxListBox_Clear",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Clear. Expected _wxListBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Clear. Expected _wxListBox_p.");
         return NULL;
         }
     }
-    wxListBox_Clear(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxListBox_Clear(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2211,19 +2875,24 @@ static PyObject *_wrap_wxListBox_Delete(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxListBox_Delete",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxListBox_Delete",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Delete. Expected _wxListBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Delete. Expected _wxListBox_p.");
         return NULL;
         }
     }
-    wxListBox_Delete(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxListBox_Delete(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2233,19 +2902,24 @@ static PyObject *_wrap_wxListBox_Deselect(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxListBox_Deselect",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxListBox_Deselect",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Deselect. Expected _wxListBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Deselect. Expected _wxListBox_p.");
         return NULL;
         }
     }
-    wxListBox_Deselect(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxListBox_Deselect(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2256,14 +2930,15 @@ static PyObject *_wrap_wxListBox_FindString(PyObject *self, PyObject *args) {
     int  _result;
     wxListBox * _arg0;
     wxString * _arg1;
     int  _result;
     wxListBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxListBox_FindString",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxListBox_FindString",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_FindString. Expected _wxListBox_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_FindString. Expected _wxListBox_p.");
         return NULL;
         }
@@ -2273,10 +2948,14 @@ static PyObject *_wrap_wxListBox_FindString(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    _result = (int )wxListBox_FindString(_arg0,*_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxListBox_FindString(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj1)
         delete _arg1;
 {
     if (_obj1)
         delete _arg1;
@@ -2289,19 +2968,60 @@ static PyObject *_wrap_wxListBox_GetSelection(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxListBox * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxListBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxListBox_GetSelection",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxListBox_GetSelection",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_GetSelection. Expected _wxListBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_GetSelection. Expected _wxListBox_p.");
         return NULL;
         }
     }
-    _result = (int )wxListBox_GetSelection(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxListBox_GetSelection(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject * wxListBox_GetSelections(wxListBox *self) {
+          wxArrayInt lst;
+          self->GetSelections(lst);
+          PyObject *tup = PyTuple_New(lst.GetCount());
+          for(int i=0; i<lst.GetCount(); i++) {
+              PyTuple_SetItem(tup, i, PyInt_FromLong(lst[i]));
+          }
+          return tup;
+      }
+static PyObject *_wrap_wxListBox_GetSelections(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxListBox * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:wxListBox_GetSelections",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_GetSelections. Expected _wxListBox_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxListBox_GetSelections(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -2311,19 +3031,24 @@ static PyObject *_wrap_wxListBox_GetString(PyObject *self, PyObject *args) {
     wxString * _result;
     wxListBox * _arg0;
     int  _arg1;
     wxString * _result;
     wxListBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxListBox_GetString",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxListBox_GetString",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_GetString. Expected _wxListBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_GetString. Expected _wxListBox_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxListBox_GetString(_arg0,_arg1));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxListBox_GetString(_arg0,_arg1));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -2337,19 +3062,24 @@ static PyObject *_wrap_wxListBox_GetStringSelection(PyObject *self, PyObject *ar
     PyObject * _resultobj;
     wxString * _result;
     wxListBox * _arg0;
     PyObject * _resultobj;
     wxString * _result;
     wxListBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxListBox_GetStringSelection",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxListBox_GetStringSelection",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_GetStringSelection. Expected _wxListBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_GetStringSelection. Expected _wxListBox_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxListBox_GetStringSelection(_arg0));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxListBox_GetStringSelection(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -2363,19 +3093,24 @@ static PyObject *_wrap_wxListBox_Number(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxListBox * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxListBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxListBox_Number",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxListBox_Number",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Number. Expected _wxListBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Number. Expected _wxListBox_p.");
         return NULL;
         }
     }
-    _result = (int )wxListBox_Number(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxListBox_Number(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -2385,19 +3120,24 @@ static PyObject *_wrap_wxListBox_Selected(PyObject *self, PyObject *args) {
     bool  _result;
     wxListBox * _arg0;
     int  _arg1;
     bool  _result;
     wxListBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxListBox_Selected",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxListBox_Selected",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Selected. Expected _wxListBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Selected. Expected _wxListBox_p.");
         return NULL;
         }
     }
-    _result = (bool )wxListBox_Selected(_arg0,_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxListBox_Selected(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -2407,14 +3147,15 @@ static PyObject *_wrap_wxListBox_Set(PyObject *self, PyObject *args) {
     wxListBox * _arg0;
     int  _arg1;
     wxString * _arg2;
     wxListBox * _arg0;
     int  _arg1;
     wxString * _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj2 = 0;
 
     self = self;
     PyObject * _obj2 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxListBox_Set",&_argc0,&_obj2)) 
+    if(!PyArg_ParseTuple(args,"OO:wxListBox_Set",&_argo0,&_obj2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Set. Expected _wxListBox_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_Set. Expected _wxListBox_p.");
         return NULL;
         }
@@ -2427,10 +3168,19 @@ static PyObject *_wrap_wxListBox_Set(PyObject *self, PyObject *args) {
     }
 }
 {
     }
 }
 {
-    _arg1 = PyList_Size(_obj2);
+    if (_obj2) {
+        _arg1 = PyList_Size(_obj2);
+    }
+    else {
+        _arg1 = 0;
+    }
 }
 }
-    wxListBox_Set(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxListBox_Set(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     delete [] _arg2;
     _resultobj = Py_None;
 {
     delete [] _arg2;
@@ -2443,19 +3193,24 @@ static PyObject *_wrap_wxListBox_SetFirstItem(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxListBox_SetFirstItem",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxListBox_SetFirstItem",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_SetFirstItem. Expected _wxListBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_SetFirstItem. Expected _wxListBox_p.");
         return NULL;
         }
     }
-    wxListBox_SetFirstItem(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxListBox_SetFirstItem(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2465,14 +3220,15 @@ static PyObject *_wrap_wxListBox_SetFirstItemStr(PyObject *self, PyObject *args)
     PyObject * _resultobj;
     wxListBox * _arg0;
     wxString * _arg1;
     PyObject * _resultobj;
     wxListBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxListBox_SetFirstItemStr",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxListBox_SetFirstItemStr",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_SetFirstItemStr. Expected _wxListBox_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_SetFirstItemStr. Expected _wxListBox_p.");
         return NULL;
         }
@@ -2482,10 +3238,14 @@ static PyObject *_wrap_wxListBox_SetFirstItemStr(PyObject *self, PyObject *args)
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    wxListBox_SetFirstItemStr(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxListBox_SetFirstItemStr(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj1)
     _resultobj = Py_None;
 {
     if (_obj1)
@@ -2499,22 +3259,27 @@ static PyObject *_wrap_wxListBox_SetSelection(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
-    bool  _arg2 = (1);
-    char * _argc0 = 0;
-    int tempbool2;
+    bool  _arg2 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    int tempbool2 = (int) TRUE;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|i:wxListBox_SetSelection",&_argc0,&_arg1,&tempbool2)) 
+    if(!PyArg_ParseTuple(args,"Oi|i:wxListBox_SetSelection",&_argo0,&_arg1,&tempbool2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_SetSelection. Expected _wxListBox_p.");
         return NULL;
         }
     }
     _arg2 = (bool ) tempbool2;
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_SetSelection. Expected _wxListBox_p.");
         return NULL;
         }
     }
     _arg2 = (bool ) tempbool2;
-    wxListBox_SetSelection(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxListBox_SetSelection(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2525,14 +3290,15 @@ static PyObject *_wrap_wxListBox_SetString(PyObject *self, PyObject *args) {
     wxListBox * _arg0;
     int  _arg1;
     wxString * _arg2;
     wxListBox * _arg0;
     int  _arg1;
     wxString * _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj2 = 0;
 
     self = self;
     PyObject * _obj2 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO:wxListBox_SetString",&_argc0,&_arg1,&_obj2)) 
+    if(!PyArg_ParseTuple(args,"OiO:wxListBox_SetString",&_argo0,&_arg1,&_obj2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_SetString. Expected _wxListBox_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_SetString. Expected _wxListBox_p.");
         return NULL;
         }
@@ -2542,10 +3308,14 @@ static PyObject *_wrap_wxListBox_SetString(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg2 = new wxString(PyString_AsString(_obj2));
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
 }
 }
-    wxListBox_SetString(_arg0,_arg1,*_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxListBox_SetString(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj2)
     _resultobj = Py_None;
 {
     if (_obj2)
@@ -2559,16 +3329,17 @@ static PyObject *_wrap_wxListBox_SetStringSelection(PyObject *self, PyObject *ar
     PyObject * _resultobj;
     wxListBox * _arg0;
     wxString * _arg1;
     PyObject * _resultobj;
     wxListBox * _arg0;
     wxString * _arg1;
-    bool  _arg2 = (1);
-    char * _argc0 = 0;
+    bool  _arg2 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
     PyObject * _obj1 = 0;
-    int tempbool2;
+    int tempbool2 = (int) TRUE;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO|i:wxListBox_SetStringSelection",&_argc0,&_obj1,&tempbool2)) 
+    if(!PyArg_ParseTuple(args,"OO|i:wxListBox_SetStringSelection",&_argo0,&_obj1,&tempbool2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_SetStringSelection. Expected _wxListBox_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListBox_SetStringSelection. Expected _wxListBox_p.");
         return NULL;
         }
@@ -2578,11 +3349,15 @@ static PyObject *_wrap_wxListBox_SetStringSelection(PyObject *self, PyObject *ar
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
     _arg2 = (bool ) tempbool2;
 }
     _arg2 = (bool ) tempbool2;
-    wxListBox_SetStringSelection(_arg0,*_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxListBox_SetStringSelection(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj1)
     _resultobj = Py_None;
 {
     if (_obj1)
@@ -2591,6 +3366,205 @@ static PyObject *_wrap_wxListBox_SetStringSelection(PyObject *self, PyObject *ar
     return _resultobj;
 }
 
     return _resultobj;
 }
 
+static void *SwigwxCheckListBoxTowxListBox(void *ptr) {
+    wxCheckListBox *src;
+    wxListBox *dest;
+    src = (wxCheckListBox *) ptr;
+    dest = (wxListBox *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxCheckListBoxTowxControl(void *ptr) {
+    wxCheckListBox *src;
+    wxControl *dest;
+    src = (wxCheckListBox *) ptr;
+    dest = (wxControl *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxCheckListBoxTowxWindow(void *ptr) {
+    wxCheckListBox *src;
+    wxWindow *dest;
+    src = (wxCheckListBox *) ptr;
+    dest = (wxWindow *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxCheckListBoxTowxEvtHandler(void *ptr) {
+    wxCheckListBox *src;
+    wxEvtHandler *dest;
+    src = (wxCheckListBox *) ptr;
+    dest = (wxEvtHandler *) src;
+    return (void *) dest;
+}
+
+#define new_wxCheckListBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8) (new wxCheckListBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8))
+static PyObject *_wrap_new_wxCheckListBox(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxCheckListBox * _result;
+    wxWindow * _arg0;
+    wxWindowID  _arg1;
+    wxPoint * _arg2 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg3 = (wxSize *) &wxPyDefaultSize;
+    int  _arg4 = (int ) 0;
+    wxString * _arg5 = (wxString *) NULL;
+    long  _arg6 = (long ) 0;
+    wxValidator * _arg7 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg8 = (char *) "listBox";
+    PyObject * _argo0 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _obj5 = 0;
+    PyObject * _argo7 = 0;
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"Oi|OOOlOs:new_wxCheckListBox",&_argo0,&_arg1,&_argo2,&_argo3,&_obj5,&_arg6,&_argo7,&_arg8)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxCheckListBox. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPoint_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxCheckListBox. Expected _wxPoint_p.");
+        return NULL;
+        }
+    }
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxSize_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxCheckListBox. Expected _wxSize_p.");
+        return NULL;
+        }
+    }
+    if (_obj5)
+{
+    _arg5 = wxString_LIST_helper(_obj5);
+    if (_arg5 == NULL) {
+        return NULL;
+    }
+}
+    if (_argo7) {
+        if (_argo7 == Py_None) { _arg7 = NULL; }
+        else if (SWIG_GetPtrObj(_argo7,(void **) &_arg7,"_wxValidator_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 8 of new_wxCheckListBox. Expected _wxValidator_p.");
+        return NULL;
+        }
+    }
+{
+    if (_obj5) {
+        _arg4 = PyList_Size(_obj5);
+    }
+    else {
+        _arg4 = 0;
+    }
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxCheckListBox *)new_wxCheckListBox(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5,_arg6,*_arg7,_arg8);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCheckListBox_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    delete [] _arg5;
+}
+    return _resultobj;
+}
+
+#define wxCheckListBox_IsChecked(_swigobj,_swigarg0)  (_swigobj->IsChecked(_swigarg0))
+static PyObject *_wrap_wxCheckListBox_IsChecked(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxCheckListBox * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"Oi:wxCheckListBox_IsChecked",&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCheckListBox_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCheckListBox_IsChecked. Expected _wxCheckListBox_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxCheckListBox_IsChecked(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxCheckListBox_Check(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Check(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxCheckListBox_Check(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxCheckListBox * _arg0;
+    int  _arg1;
+    bool  _arg2 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    int tempbool2 = (int) TRUE;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"Oi|i:wxCheckListBox_Check",&_argo0,&_arg1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCheckListBox_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCheckListBox_Check. Expected _wxCheckListBox_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxCheckListBox_Check(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxCheckListBox_GetItemHeight(_swigobj)  (_swigobj->GetItemHeight())
+static PyObject *_wrap_wxCheckListBox_GetItemHeight(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    int  _result;
+    wxCheckListBox * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:wxCheckListBox_GetItemHeight",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCheckListBox_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCheckListBox_GetItemHeight. Expected _wxCheckListBox_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxCheckListBox_GetItemHeight(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
 static void *SwigwxTextCtrlTowxControl(void *ptr) {
     wxTextCtrl *src;
     wxControl *dest;
 static void *SwigwxTextCtrlTowxControl(void *ptr) {
     wxTextCtrl *src;
     wxControl *dest;
@@ -2621,48 +3595,61 @@ static PyObject *_wrap_new_wxTextCtrl(PyObject *self, PyObject *args) {
     wxTextCtrl * _result;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxTextCtrl * _result;
     wxWindow * _arg0;
     wxWindowID  _arg1;
-    char * _arg2 = "";
-    wxPoint * _arg3 = &wxPyDefaultPosition;
-    wxSize * _arg4 = &wxPyDefaultSize;
-    long  _arg5 = 0;
-    wxValidator * _arg6 = &wxPyDefaultValidator;
-    char * _arg7 = "text";
-    char * _argc0 = 0;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
-    char * _argc6 = 0;
+    char * _arg2 = (char *) "";
+    wxPoint * _arg3 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg4 = (wxSize *) &wxPyDefaultSize;
+    long  _arg5 = (long ) 0;
+    wxValidator * _arg6 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg7 = (char *) "text";
+    PyObject * _argo0 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
+    PyObject * _argo6 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|ssslss:new_wxTextCtrl",&_argc0,&_arg1,&_arg2,&_argc3,&_argc4,&_arg5,&_argc6,&_arg7)) 
+    if(!PyArg_ParseTuple(args,"Oi|sOOlOs:new_wxTextCtrl",&_argo0,&_arg1,&_arg2,&_argo3,&_argo4,&_arg5,&_argo6,&_arg7)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxTextCtrl. Expected _wxWindow_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxTextCtrl. Expected _wxWindow_p.");
         return NULL;
         }
     }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxPoint_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxTextCtrl. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxTextCtrl. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxSize_p")) {
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxTextCtrl. Expected _wxSize_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxTextCtrl. Expected _wxSize_p.");
         return NULL;
         }
     }
-    if (_argc6) {
-        if (SWIG_GetPtr(_argc6,(void **) &_arg6,"_wxValidator_p")) {
+    if (_argo6) {
+        if (_argo6 == Py_None) { _arg6 = NULL; }
+        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_wxValidator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxTextCtrl. Expected _wxValidator_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxTextCtrl. Expected _wxValidator_p.");
         return NULL;
         }
     }
-    _result = (wxTextCtrl *)new_wxTextCtrl(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxTextCtrl_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxTextCtrl *)new_wxTextCtrl(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxTextCtrl_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -2670,19 +3657,24 @@ static PyObject *_wrap_new_wxTextCtrl(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxTextCtrl_Clear(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
 static PyObject *_wrap_wxTextCtrl_Clear(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_Clear",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_Clear",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_Clear. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_Clear. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    wxTextCtrl_Clear(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_Clear(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2691,19 +3683,24 @@ static PyObject *_wrap_wxTextCtrl_Clear(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxTextCtrl_Copy(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
 static PyObject *_wrap_wxTextCtrl_Copy(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_Copy",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_Copy",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_Copy. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_Copy. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    wxTextCtrl_Copy(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_Copy(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2712,19 +3709,24 @@ static PyObject *_wrap_wxTextCtrl_Copy(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxTextCtrl_Cut(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
 static PyObject *_wrap_wxTextCtrl_Cut(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_Cut",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_Cut",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_Cut. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_Cut. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    wxTextCtrl_Cut(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_Cut(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2733,19 +3735,24 @@ static PyObject *_wrap_wxTextCtrl_Cut(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxTextCtrl_DiscardEdits(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
 static PyObject *_wrap_wxTextCtrl_DiscardEdits(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_DiscardEdits",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_DiscardEdits",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_DiscardEdits. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_DiscardEdits. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    wxTextCtrl_DiscardEdits(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_DiscardEdits(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2755,19 +3762,24 @@ static PyObject *_wrap_wxTextCtrl_GetInsertionPoint(PyObject *self, PyObject *ar
     PyObject * _resultobj;
     long  _result;
     wxTextCtrl * _arg0;
     PyObject * _resultobj;
     long  _result;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_GetInsertionPoint",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_GetInsertionPoint",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetInsertionPoint. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetInsertionPoint. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    _result = (long )wxTextCtrl_GetInsertionPoint(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxTextCtrl_GetInsertionPoint(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -2776,19 +3788,24 @@ static PyObject *_wrap_wxTextCtrl_GetLastPosition(PyObject *self, PyObject *args
     PyObject * _resultobj;
     long  _result;
     wxTextCtrl * _arg0;
     PyObject * _resultobj;
     long  _result;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_GetLastPosition",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_GetLastPosition",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetLastPosition. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetLastPosition. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    _result = (long )wxTextCtrl_GetLastPosition(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxTextCtrl_GetLastPosition(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -2798,19 +3815,24 @@ static PyObject *_wrap_wxTextCtrl_GetLineLength(PyObject *self, PyObject *args)
     int  _result;
     wxTextCtrl * _arg0;
     long  _arg1;
     int  _result;
     wxTextCtrl * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxTextCtrl_GetLineLength",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Ol:wxTextCtrl_GetLineLength",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetLineLength. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetLineLength. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    _result = (int )wxTextCtrl_GetLineLength(_arg0,_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxTextCtrl_GetLineLength(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -2820,19 +3842,24 @@ static PyObject *_wrap_wxTextCtrl_GetLineText(PyObject *self, PyObject *args) {
     wxString * _result;
     wxTextCtrl * _arg0;
     long  _arg1;
     wxString * _result;
     wxTextCtrl * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxTextCtrl_GetLineText",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Ol:wxTextCtrl_GetLineText",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetLineText. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetLineText. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxTextCtrl_GetLineText(_arg0,_arg1));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxTextCtrl_GetLineText(_arg0,_arg1));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -2846,19 +3873,24 @@ static PyObject *_wrap_wxTextCtrl_GetNumberOfLines(PyObject *self, PyObject *arg
     PyObject * _resultobj;
     int  _result;
     wxTextCtrl * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_GetNumberOfLines",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_GetNumberOfLines",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetNumberOfLines. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetNumberOfLines. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    _result = (int )wxTextCtrl_GetNumberOfLines(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxTextCtrl_GetNumberOfLines(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -2867,19 +3899,24 @@ static PyObject *_wrap_wxTextCtrl_GetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxString * _result;
     wxTextCtrl * _arg0;
     PyObject * _resultobj;
     wxString * _result;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_GetValue",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_GetValue",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetValue. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetValue. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxTextCtrl_GetValue(_arg0));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxTextCtrl_GetValue(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -2893,19 +3930,24 @@ static PyObject *_wrap_wxTextCtrl_IsModified(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     bool  _result;
     wxTextCtrl * _arg0;
     PyObject * _resultobj;
     bool  _result;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_IsModified",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_IsModified",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_IsModified. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_IsModified. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    _result = (bool )wxTextCtrl_IsModified(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_IsModified(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -2915,14 +3957,15 @@ static PyObject *_wrap_wxTextCtrl_LoadFile(PyObject *self, PyObject *args) {
     bool  _result;
     wxTextCtrl * _arg0;
     wxString * _arg1;
     bool  _result;
     wxTextCtrl * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxTextCtrl_LoadFile",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxTextCtrl_LoadFile",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_LoadFile. Expected _wxTextCtrl_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_LoadFile. Expected _wxTextCtrl_p.");
         return NULL;
         }
@@ -2932,10 +3975,14 @@ static PyObject *_wrap_wxTextCtrl_LoadFile(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    _result = (bool )wxTextCtrl_LoadFile(_arg0,*_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_LoadFile(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj1)
         delete _arg1;
 {
     if (_obj1)
         delete _arg1;
@@ -2947,19 +3994,24 @@ static PyObject *_wrap_wxTextCtrl_LoadFile(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxTextCtrl_Paste(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
 static PyObject *_wrap_wxTextCtrl_Paste(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_Paste",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_Paste",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_Paste. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_Paste. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    wxTextCtrl_Paste(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_Paste(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2973,7 +4025,7 @@ static PyObject *_wrap_wxTextCtrl_PositionToXY(PyObject *self, PyObject *args) {
     long  temp;
     long * _arg3;
     long  temp0;
     long  temp;
     long * _arg3;
     long  temp0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 {
 
     self = self;
 {
@@ -2982,16 +4034,21 @@ static PyObject *_wrap_wxTextCtrl_PositionToXY(PyObject *self, PyObject *args) {
 {
   _arg3 = &temp0;
 }
 {
   _arg3 = &temp0;
 }
-    if(!PyArg_ParseTuple(args,"sl:wxTextCtrl_PositionToXY",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Ol:wxTextCtrl_PositionToXY",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_PositionToXY. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_PositionToXY. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    wxTextCtrl_PositionToXY(_arg0,_arg1,_arg2,_arg3);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_PositionToXY(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     PyObject *o;
     _resultobj = Py_None;
 {
     PyObject *o;
@@ -3012,19 +4069,24 @@ static PyObject *_wrap_wxTextCtrl_Remove(PyObject *self, PyObject *args) {
     wxTextCtrl * _arg0;
     long  _arg1;
     long  _arg2;
     wxTextCtrl * _arg0;
     long  _arg1;
     long  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxTextCtrl_Remove",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTuple(args,"Oll:wxTextCtrl_Remove",&_argo0,&_arg1,&_arg2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_Remove. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_Remove. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    wxTextCtrl_Remove(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_Remove(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -3036,14 +4098,15 @@ static PyObject *_wrap_wxTextCtrl_Replace(PyObject *self, PyObject *args) {
     long  _arg1;
     long  _arg2;
     wxString * _arg3;
     long  _arg1;
     long  _arg2;
     wxString * _arg3;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj3 = 0;
 
     self = self;
     PyObject * _obj3 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sllO:wxTextCtrl_Replace",&_argc0,&_arg1,&_arg2,&_obj3)) 
+    if(!PyArg_ParseTuple(args,"OllO:wxTextCtrl_Replace",&_argo0,&_arg1,&_arg2,&_obj3)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_Replace. Expected _wxTextCtrl_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_Replace. Expected _wxTextCtrl_p.");
         return NULL;
         }
@@ -3053,10 +4116,14 @@ static PyObject *_wrap_wxTextCtrl_Replace(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg3 = new wxString(PyString_AsString(_obj3));
+    _arg3 = new wxString(PyString_AsString(_obj3), PyString_Size(_obj3));
 }
 }
-    wxTextCtrl_Replace(_arg0,_arg1,_arg2,*_arg3);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_Replace(_arg0,_arg1,_arg2,*_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj3)
     _resultobj = Py_None;
 {
     if (_obj3)
@@ -3071,14 +4138,15 @@ static PyObject *_wrap_wxTextCtrl_SaveFile(PyObject *self, PyObject *args) {
     bool  _result;
     wxTextCtrl * _arg0;
     wxString * _arg1;
     bool  _result;
     wxTextCtrl * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxTextCtrl_SaveFile",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxTextCtrl_SaveFile",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_SaveFile. Expected _wxTextCtrl_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_SaveFile. Expected _wxTextCtrl_p.");
         return NULL;
         }
@@ -3088,10 +4156,14 @@ static PyObject *_wrap_wxTextCtrl_SaveFile(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    _result = (bool )wxTextCtrl_SaveFile(_arg0,*_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_SaveFile(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj1)
         delete _arg1;
 {
     if (_obj1)
         delete _arg1;
@@ -3104,201 +4176,482 @@ static PyObject *_wrap_wxTextCtrl_SetEditable(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
     bool  _arg1;
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
     bool  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool1;
 
     self = self;
     int tempbool1;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxTextCtrl_SetEditable",&_argc0,&tempbool1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxTextCtrl_SetEditable",&_argo0,&tempbool1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_SetEditable. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_SetEditable(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxTextCtrl_SetInsertionPoint(_swigobj,_swigarg0)  (_swigobj->SetInsertionPoint(_swigarg0))
+static PyObject *_wrap_wxTextCtrl_SetInsertionPoint(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxTextCtrl * _arg0;
+    long  _arg1;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"Ol:wxTextCtrl_SetInsertionPoint",&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_SetInsertionPoint. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_SetInsertionPoint(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxTextCtrl_SetInsertionPointEnd(_swigobj)  (_swigobj->SetInsertionPointEnd())
+static PyObject *_wrap_wxTextCtrl_SetInsertionPointEnd(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxTextCtrl * _arg0;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_SetInsertionPointEnd",&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_SetInsertionPointEnd. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_SetInsertionPointEnd(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxTextCtrl_SetSelection(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetSelection(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxTextCtrl_SetSelection(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxTextCtrl * _arg0;
+    long  _arg1;
+    long  _arg2;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"Oll:wxTextCtrl_SetSelection",&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_SetSelection. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_SetSelection(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxTextCtrl_SetValue(_swigobj,_swigarg0)  (_swigobj->SetValue(_swigarg0))
+static PyObject *_wrap_wxTextCtrl_SetValue(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxTextCtrl * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"OO:wxTextCtrl_SetValue",&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_SetValue. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_SetValue(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxTextCtrl_ShowPosition(_swigobj,_swigarg0)  (_swigobj->ShowPosition(_swigarg0))
+static PyObject *_wrap_wxTextCtrl_ShowPosition(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxTextCtrl * _arg0;
+    long  _arg1;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"Ol:wxTextCtrl_ShowPosition",&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_ShowPosition. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_ShowPosition(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxTextCtrl_WriteText(_swigobj,_swigarg0)  (_swigobj->WriteText(_swigarg0))
+static PyObject *_wrap_wxTextCtrl_WriteText(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxTextCtrl * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"OO:wxTextCtrl_WriteText",&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_WriteText. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_WriteText(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxTextCtrl_AppendText(_swigobj,_swigarg0)  (_swigobj->AppendText(_swigarg0))
+static PyObject *_wrap_wxTextCtrl_AppendText(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxTextCtrl * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"OO:wxTextCtrl_AppendText",&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_AppendText. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_AppendText(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxTextCtrl_XYToPosition(_swigobj,_swigarg0,_swigarg1)  (_swigobj->XYToPosition(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxTextCtrl_XYToPosition(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    long  _result;
+    wxTextCtrl * _arg0;
+    long  _arg1;
+    long  _arg2;
+    PyObject * _argo0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"Oll:wxTextCtrl_XYToPosition",&_argo0,&_arg1,&_arg2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_SetEditable. Expected _wxTextCtrl_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_XYToPosition. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
         return NULL;
         }
     }
-    _arg1 = (bool ) tempbool1;
-    wxTextCtrl_SetEditable(_arg0,_arg1);
-    Py_INCREF(Py_None);
-    _resultobj = Py_None;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxTextCtrl_XYToPosition(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-#define wxTextCtrl_SetInsertionPoint(_swigobj,_swigarg0)  (_swigobj->SetInsertionPoint(_swigarg0))
-static PyObject *_wrap_wxTextCtrl_SetInsertionPoint(PyObject *self, PyObject *args) {
+#define wxTextCtrl_CanCopy(_swigobj)  (_swigobj->CanCopy())
+static PyObject *_wrap_wxTextCtrl_CanCopy(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     PyObject * _resultobj;
+    bool  _result;
     wxTextCtrl * _arg0;
     wxTextCtrl * _arg0;
-    long  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxTextCtrl_SetInsertionPoint",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_CanCopy",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_SetInsertionPoint. Expected _wxTextCtrl_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_CanCopy. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
         return NULL;
         }
     }
-    wxTextCtrl_SetInsertionPoint(_arg0,_arg1);
-    Py_INCREF(Py_None);
-    _resultobj = Py_None;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanCopy(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-#define wxTextCtrl_SetInsertionPointEnd(_swigobj)  (_swigobj->SetInsertionPointEnd())
-static PyObject *_wrap_wxTextCtrl_SetInsertionPointEnd(PyObject *self, PyObject *args) {
+#define wxTextCtrl_CanCut(_swigobj)  (_swigobj->CanCut())
+static PyObject *_wrap_wxTextCtrl_CanCut(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     PyObject * _resultobj;
+    bool  _result;
     wxTextCtrl * _arg0;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_SetInsertionPointEnd",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_CanCut",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_SetInsertionPointEnd. Expected _wxTextCtrl_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_CanCut. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
         return NULL;
         }
     }
-    wxTextCtrl_SetInsertionPointEnd(_arg0);
-    Py_INCREF(Py_None);
-    _resultobj = Py_None;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanCut(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-#define wxTextCtrl_SetSelection(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetSelection(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxTextCtrl_SetSelection(PyObject *self, PyObject *args) {
+#define wxTextCtrl_CanPaste(_swigobj)  (_swigobj->CanPaste())
+static PyObject *_wrap_wxTextCtrl_CanPaste(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     PyObject * _resultobj;
+    bool  _result;
     wxTextCtrl * _arg0;
     wxTextCtrl * _arg0;
-    long  _arg1;
-    long  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxTextCtrl_SetSelection",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_CanPaste",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_SetSelection. Expected _wxTextCtrl_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_CanPaste. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
         return NULL;
         }
     }
-    wxTextCtrl_SetSelection(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
-    _resultobj = Py_None;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanPaste(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-#define wxTextCtrl_SetValue(_swigobj,_swigarg0)  (_swigobj->SetValue(_swigarg0))
-static PyObject *_wrap_wxTextCtrl_SetValue(PyObject *self, PyObject *args) {
+#define wxTextCtrl_CanRedo(_swigobj)  (_swigobj->CanRedo())
+static PyObject *_wrap_wxTextCtrl_CanRedo(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     PyObject * _resultobj;
+    bool  _result;
     wxTextCtrl * _arg0;
     wxTextCtrl * _arg0;
-    wxString * _arg1;
-    char * _argc0 = 0;
-    PyObject * _obj1 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxTextCtrl_SetValue",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_CanRedo",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_SetValue. Expected _wxTextCtrl_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_CanRedo. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
 {
         return NULL;
         }
     }
 {
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg1 = new wxString(PyString_AsString(_obj1));
-}
-    wxTextCtrl_SetValue(_arg0,*_arg1);
-    Py_INCREF(Py_None);
-    _resultobj = Py_None;
-{
-    if (_obj1)
-        delete _arg1;
-}
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanRedo(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-#define wxTextCtrl_ShowPosition(_swigobj,_swigarg0)  (_swigobj->ShowPosition(_swigarg0))
-static PyObject *_wrap_wxTextCtrl_ShowPosition(PyObject *self, PyObject *args) {
+#define wxTextCtrl_CanUndo(_swigobj)  (_swigobj->CanUndo())
+static PyObject *_wrap_wxTextCtrl_CanUndo(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     PyObject * _resultobj;
+    bool  _result;
     wxTextCtrl * _arg0;
     wxTextCtrl * _arg0;
-    long  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxTextCtrl_ShowPosition",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_CanUndo",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_ShowPosition. Expected _wxTextCtrl_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_CanUndo. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
         return NULL;
         }
     }
-    wxTextCtrl_ShowPosition(_arg0,_arg1);
-    Py_INCREF(Py_None);
-    _resultobj = Py_None;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanUndo(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-#define wxTextCtrl_WriteText(_swigobj,_swigarg0)  (_swigobj->WriteText(_swigarg0))
-static PyObject *_wrap_wxTextCtrl_WriteText(PyObject *self, PyObject *args) {
+#define wxTextCtrl_GetSelection(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetSelection(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxTextCtrl_GetSelection(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
-    wxString * _arg1;
-    char * _argc0 = 0;
-    PyObject * _obj1 = 0;
+    long * _arg1;
+    long  temp;
+    long * _arg2;
+    long  temp0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxTextCtrl_WriteText",&_argc0,&_obj1)) 
+{
+  _arg1 = &temp;
+}
+{
+  _arg2 = &temp0;
+}
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_GetSelection",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_WriteText. Expected _wxTextCtrl_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetSelection. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
 {
         return NULL;
         }
     }
 {
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg1 = new wxString(PyString_AsString(_obj1));
-}
-    wxTextCtrl_WriteText(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_GetSelection(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     _resultobj = Py_None;
 {
-    if (_obj1)
-        delete _arg1;
+    PyObject *o;
+    o = PyInt_FromLong((long) (*_arg1));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+{
+    PyObject *o;
+    o = PyInt_FromLong((long) (*_arg2));
+    _resultobj = t_output_helper(_resultobj, o);
 }
     return _resultobj;
 }
 
 }
     return _resultobj;
 }
 
-#define wxTextCtrl_XYToPosition(_swigobj,_swigarg0,_swigarg1)  (_swigobj->XYToPosition(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxTextCtrl_XYToPosition(PyObject *self, PyObject *args) {
+#define wxTextCtrl_IsEditable(_swigobj)  (_swigobj->IsEditable())
+static PyObject *_wrap_wxTextCtrl_IsEditable(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     PyObject * _resultobj;
-    long  _result;
+    bool  _result;
     wxTextCtrl * _arg0;
     wxTextCtrl * _arg0;
-    long  _arg1;
-    long  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxTextCtrl_XYToPosition",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTuple(args,"O:wxTextCtrl_IsEditable",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_XYToPosition. Expected _wxTextCtrl_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_IsEditable. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
         return NULL;
         }
     }
-    _result = (long )wxTextCtrl_XYToPosition(_arg0,_arg1,_arg2);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_IsEditable(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -3331,48 +4684,61 @@ static PyObject *_wrap_new_wxScrollBar(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxScrollBar * _result;
     wxWindow * _arg0;
     PyObject * _resultobj;
     wxScrollBar * _result;
     wxWindow * _arg0;
-    wxWindowID  _arg1 = -1;
-    wxPoint * _arg2 = &wxPyDefaultPosition;
-    wxSize * _arg3 = &wxPyDefaultSize;
-    long  _arg4 = (wxSB_HORIZONTAL);
-    wxValidator * _arg5 = &wxPyDefaultValidator;
-    char * _arg6 = "scrollBar";
-    char * _argc0 = 0;
-    char * _argc2 = 0;
-    char * _argc3 = 0;
-    char * _argc5 = 0;
+    wxWindowID  _arg1 = (wxWindowID ) -1;
+    wxPoint * _arg2 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg3 = (wxSize *) &wxPyDefaultSize;
+    long  _arg4 = (long ) wxSB_HORIZONTAL;
+    wxValidator * _arg5 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg6 = (char *) "scrollBar";
+    PyObject * _argo0 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo5 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s|isslss:new_wxScrollBar",&_argc0,&_arg1,&_argc2,&_argc3,&_arg4,&_argc5,&_arg6)) 
+    if(!PyArg_ParseTuple(args,"O|iOOlOs:new_wxScrollBar",&_argo0,&_arg1,&_argo2,&_argo3,&_arg4,&_argo5,&_arg6)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxScrollBar. Expected _wxWindow_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxScrollBar. Expected _wxWindow_p.");
         return NULL;
         }
     }
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxPoint_p")) {
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxScrollBar. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxScrollBar. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxSize_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxScrollBar. Expected _wxSize_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxScrollBar. Expected _wxSize_p.");
         return NULL;
         }
     }
-    if (_argc5) {
-        if (SWIG_GetPtr(_argc5,(void **) &_arg5,"_wxValidator_p")) {
+    if (_argo5) {
+        if (_argo5 == Py_None) { _arg5 = NULL; }
+        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_wxValidator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of new_wxScrollBar. Expected _wxValidator_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of new_wxScrollBar. Expected _wxValidator_p.");
         return NULL;
         }
     }
-    _result = (wxScrollBar *)new_wxScrollBar(_arg0,_arg1,*_arg2,*_arg3,_arg4,*_arg5,_arg6);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxScrollBar_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxScrollBar *)new_wxScrollBar(_arg0,_arg1,*_arg2,*_arg3,_arg4,*_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxScrollBar_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -3381,19 +4747,24 @@ static PyObject *_wrap_wxScrollBar_GetRange(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxScrollBar_GetRange",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxScrollBar_GetRange",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxScrollBar_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollBar_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_GetRange. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_GetRange. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
-    _result = (int )wxScrollBar_GetRange(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxScrollBar_GetRange(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -3402,40 +4773,50 @@ static PyObject *_wrap_wxScrollBar_GetPageSize(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxScrollBar_GetPageSize",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxScrollBar_GetPageSize",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxScrollBar_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollBar_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_GetPageSize. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_GetPageSize. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
-    _result = (int )wxScrollBar_GetPageSize(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxScrollBar_GetPageSize(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-#define wxScrollBar_GetPosition(_swigobj)  (_swigobj->GetPosition())
-static PyObject *_wrap_wxScrollBar_GetPosition(PyObject *self, PyObject *args) {
+#define wxScrollBar_GetThumbPosition(_swigobj)  (_swigobj->GetThumbPosition())
+static PyObject *_wrap_wxScrollBar_GetThumbPosition(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxScrollBar_GetPosition",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxScrollBar_GetThumbPosition",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxScrollBar_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_GetPosition. Expected _wxScrollBar_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollBar_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_GetThumbPosition. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
         return NULL;
         }
     }
-    _result = (int )wxScrollBar_GetPosition(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxScrollBar_GetThumbPosition(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -3444,40 +4825,50 @@ static PyObject *_wrap_wxScrollBar_GetThumbSize(PyObject *self, PyObject *args)
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxScrollBar_GetThumbSize",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxScrollBar_GetThumbSize",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxScrollBar_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollBar_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_GetThumbSize. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_GetThumbSize. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
-    _result = (int )wxScrollBar_GetThumbSize(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxScrollBar_GetThumbSize(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-#define wxScrollBar_SetPosition(_swigobj,_swigarg0)  (_swigobj->SetPosition(_swigarg0))
-static PyObject *_wrap_wxScrollBar_SetPosition(PyObject *self, PyObject *args) {
+#define wxScrollBar_SetThumbPosition(_swigobj,_swigarg0)  (_swigobj->SetThumbPosition(_swigarg0))
+static PyObject *_wrap_wxScrollBar_SetThumbPosition(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxScrollBar * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxScrollBar * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxScrollBar_SetPosition",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxScrollBar_SetThumbPosition",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxScrollBar_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_SetPosition. Expected _wxScrollBar_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollBar_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_SetThumbPosition. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
         return NULL;
         }
     }
-    wxScrollBar_SetPosition(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxScrollBar_SetThumbPosition(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -3490,22 +4881,27 @@ static PyObject *_wrap_wxScrollBar_SetScrollbar(PyObject *self, PyObject *args)
     int  _arg2;
     int  _arg3;
     int  _arg4;
     int  _arg2;
     int  _arg3;
     int  _arg4;
-    bool  _arg5 = (1);
-    char * _argc0 = 0;
-    int tempbool5;
+    bool  _arg5 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    int tempbool5 = (int) TRUE;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siiii|i:wxScrollBar_SetScrollbar",&_argc0,&_arg1,&_arg2,&_arg3,&_arg4,&tempbool5)) 
+    if(!PyArg_ParseTuple(args,"Oiiii|i:wxScrollBar_SetScrollbar",&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&tempbool5)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxScrollBar_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollBar_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_SetScrollbar. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
     _arg5 = (bool ) tempbool5;
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_SetScrollbar. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
     _arg5 = (bool ) tempbool5;
-    wxScrollBar_SetScrollbar(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxScrollBar_SetScrollbar(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -3539,40 +4935,52 @@ static PyObject *_wrap_new_wxSpinButton(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxSpinButton * _result;
     wxWindow * _arg0;
     PyObject * _resultobj;
     wxSpinButton * _result;
     wxWindow * _arg0;
-    wxWindowID  _arg1 = -1;
-    wxPoint * _arg2 = &wxPyDefaultPosition;
-    wxSize * _arg3 = &wxPyDefaultSize;
-    long  _arg4 = (wxSP_HORIZONTAL);
-    char * _arg5 = "spinButton";
-    char * _argc0 = 0;
-    char * _argc2 = 0;
-    char * _argc3 = 0;
+    wxWindowID  _arg1 = (wxWindowID ) -1;
+    wxPoint * _arg2 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg3 = (wxSize *) &wxPyDefaultSize;
+    long  _arg4 = (long ) wxSP_HORIZONTAL;
+    char * _arg5 = (char *) "spinButton";
+    PyObject * _argo0 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s|issls:new_wxSpinButton",&_argc0,&_arg1,&_argc2,&_argc3,&_arg4,&_arg5)) 
+    if(!PyArg_ParseTuple(args,"O|iOOls:new_wxSpinButton",&_argo0,&_arg1,&_argo2,&_argo3,&_arg4,&_arg5)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxSpinButton. Expected _wxWindow_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxSpinButton. Expected _wxWindow_p.");
         return NULL;
         }
     }
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxPoint_p")) {
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxSpinButton. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxSpinButton. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxSize_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxSpinButton. Expected _wxSize_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxSpinButton. Expected _wxSize_p.");
         return NULL;
         }
     }
-    _result = (wxSpinButton *)new_wxSpinButton(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxSpinButton_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxSpinButton *)new_wxSpinButton(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxSpinButton_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -3581,19 +4989,24 @@ static PyObject *_wrap_wxSpinButton_GetMax(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxSpinButton * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxSpinButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSpinButton_GetMax",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSpinButton_GetMax",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSpinButton_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSpinButton_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSpinButton_GetMax. Expected _wxSpinButton_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSpinButton_GetMax. Expected _wxSpinButton_p.");
         return NULL;
         }
     }
-    _result = (int )wxSpinButton_GetMax(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxSpinButton_GetMax(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -3602,19 +5015,24 @@ static PyObject *_wrap_wxSpinButton_GetMin(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxSpinButton * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxSpinButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSpinButton_GetMin",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSpinButton_GetMin",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSpinButton_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSpinButton_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSpinButton_GetMin. Expected _wxSpinButton_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSpinButton_GetMin. Expected _wxSpinButton_p.");
         return NULL;
         }
     }
-    _result = (int )wxSpinButton_GetMin(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxSpinButton_GetMin(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -3623,19 +5041,24 @@ static PyObject *_wrap_wxSpinButton_GetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxSpinButton * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxSpinButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSpinButton_GetValue",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSpinButton_GetValue",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSpinButton_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSpinButton_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSpinButton_GetValue. Expected _wxSpinButton_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSpinButton_GetValue. Expected _wxSpinButton_p.");
         return NULL;
         }
     }
-    _result = (int )wxSpinButton_GetValue(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxSpinButton_GetValue(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -3645,19 +5068,24 @@ static PyObject *_wrap_wxSpinButton_SetRange(PyObject *self, PyObject *args) {
     wxSpinButton * _arg0;
     int  _arg1;
     int  _arg2;
     wxSpinButton * _arg0;
     int  _arg1;
     int  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxSpinButton_SetRange",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTuple(args,"Oii:wxSpinButton_SetRange",&_argo0,&_arg1,&_arg2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSpinButton_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSpinButton_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSpinButton_SetRange. Expected _wxSpinButton_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSpinButton_SetRange. Expected _wxSpinButton_p.");
         return NULL;
         }
     }
-    wxSpinButton_SetRange(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSpinButton_SetRange(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -3667,19 +5095,24 @@ static PyObject *_wrap_wxSpinButton_SetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxSpinButton * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxSpinButton * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxSpinButton_SetValue",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxSpinButton_SetValue",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSpinButton_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSpinButton_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSpinButton_SetValue. Expected _wxSpinButton_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSpinButton_SetValue. Expected _wxSpinButton_p.");
         return NULL;
         }
     }
-    wxSpinButton_SetValue(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSpinButton_SetValue(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -3715,46 +5148,59 @@ static PyObject *_wrap_new_wxStaticBitmap(PyObject *self, PyObject *args) {
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxBitmap * _arg2;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxBitmap * _arg2;
-    wxPoint * _arg3 = &wxPyDefaultPosition;
-    wxSize * _arg4 = &wxPyDefaultSize;
-    long  _arg5 = 0;
-    char * _arg6 = "staticBitmap";
-    char * _argc0 = 0;
-    char * _argc2 = 0;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
+    wxPoint * _arg3 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg4 = (wxSize *) &wxPyDefaultSize;
+    long  _arg5 = (long ) 0;
+    char * _arg6 = (char *) "staticBitmap";
+    PyObject * _argo0 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sis|ssls:new_wxStaticBitmap",&_argc0,&_arg1,&_argc2,&_argc3,&_argc4,&_arg5,&_arg6)) 
+    if(!PyArg_ParseTuple(args,"OiO|OOls:new_wxStaticBitmap",&_argo0,&_arg1,&_argo2,&_argo3,&_argo4,&_arg5,&_arg6)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxStaticBitmap. Expected _wxWindow_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxStaticBitmap. Expected _wxWindow_p.");
         return NULL;
         }
     }
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxBitmap_p")) {
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxBitmap_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxStaticBitmap. Expected _wxBitmap_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxStaticBitmap. Expected _wxBitmap_p.");
         return NULL;
         }
     }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxPoint_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxStaticBitmap. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxStaticBitmap. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxSize_p")) {
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxStaticBitmap. Expected _wxSize_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxStaticBitmap. Expected _wxSize_p.");
         return NULL;
         }
     }
-    _result = (wxStaticBitmap *)new_wxStaticBitmap(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticBitmap_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxStaticBitmap *)new_wxStaticBitmap(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticBitmap_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -3763,22 +5209,32 @@ static PyObject *_wrap_wxStaticBitmap_GetBitmap(PyObject *self, PyObject *args)
     PyObject * _resultobj;
     wxBitmap * _result;
     wxStaticBitmap * _arg0;
     PyObject * _resultobj;
     wxBitmap * _result;
     wxStaticBitmap * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxStaticBitmap_GetBitmap",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxStaticBitmap_GetBitmap",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxStaticBitmap_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStaticBitmap_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStaticBitmap_GetBitmap. Expected _wxStaticBitmap_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStaticBitmap_GetBitmap. Expected _wxStaticBitmap_p.");
         return NULL;
         }
     }
-    wxBitmap & _result_ref = wxStaticBitmap_GetBitmap(_arg0);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxBitmap & _result_ref = wxStaticBitmap_GetBitmap(_arg0);
     _result = (wxBitmap *) &_result_ref;
     _result = (wxBitmap *) &_result_ref;
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -3787,26 +5243,67 @@ static PyObject *_wrap_wxStaticBitmap_SetBitmap(PyObject *self, PyObject *args)
     PyObject * _resultobj;
     wxStaticBitmap * _arg0;
     wxBitmap * _arg1;
     PyObject * _resultobj;
     wxStaticBitmap * _arg0;
     wxBitmap * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxStaticBitmap_SetBitmap",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxStaticBitmap_SetBitmap",&_argo0,&_argo1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxStaticBitmap_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStaticBitmap_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStaticBitmap_SetBitmap. Expected _wxStaticBitmap_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStaticBitmap_SetBitmap. Expected _wxStaticBitmap_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxBitmap_p")) {
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxStaticBitmap_SetBitmap. Expected _wxBitmap_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxStaticBitmap_SetBitmap. Expected _wxBitmap_p.");
         return NULL;
         }
     }
-    wxStaticBitmap_SetBitmap(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxStaticBitmap_SetBitmap(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxStaticBitmap_SetIcon(_swigobj,_swigarg0)  (_swigobj->SetIcon(_swigarg0))
+static PyObject *_wrap_wxStaticBitmap_SetIcon(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxStaticBitmap * _arg0;
+    wxIcon * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"OO:wxStaticBitmap_SetIcon",&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStaticBitmap_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStaticBitmap_SetIcon. Expected _wxStaticBitmap_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxIcon_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxStaticBitmap_SetIcon. Expected _wxIcon_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxStaticBitmap_SetIcon(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -3842,27 +5339,28 @@ static PyObject *_wrap_new_wxRadioBox(PyObject *self, PyObject *args) {
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxString * _arg2;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxString * _arg2;
-    wxPoint * _arg3 = &wxPyDefaultPosition;
-    wxSize * _arg4 = &wxPyDefaultSize;
-    int  _arg5 = 0;
-    wxString * _arg6 = NULL;
-    int  _arg7 = 0;
-    long  _arg8 = (wxRA_HORIZONTAL);
-    wxValidator * _arg9 = &wxPyDefaultValidator;
-    char * _arg10 = "radioBox";
-    char * _argc0 = 0;
+    wxPoint * _arg3 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg4 = (wxSize *) &wxPyDefaultSize;
+    int  _arg5 = (int ) 0;
+    wxString * _arg6 = (wxString *) NULL;
+    int  _arg7 = (int ) 0;
+    long  _arg8 = (long ) wxRA_HORIZONTAL;
+    wxValidator * _arg9 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg10 = (char *) "radioBox";
+    PyObject * _argo0 = 0;
     PyObject * _obj2 = 0;
     PyObject * _obj2 = 0;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
     PyObject * _obj6 = 0;
     PyObject * _obj6 = 0;
-    char * _argc9 = 0;
+    PyObject * _argo9 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO|ssOilss:new_wxRadioBox",&_argc0,&_arg1,&_obj2,&_argc3,&_argc4,&_obj6,&_arg7,&_arg8,&_argc9,&_arg10)) 
+    if(!PyArg_ParseTuple(args,"OiO|OOOilOs:new_wxRadioBox",&_argo0,&_arg1,&_obj2,&_argo3,&_argo4,&_obj6,&_arg7,&_arg8,&_argo9,&_arg10)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxRadioBox. Expected _wxWindow_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxRadioBox. Expected _wxWindow_p.");
         return NULL;
         }
@@ -3872,16 +5370,18 @@ static PyObject *_wrap_new_wxRadioBox(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg2 = new wxString(PyString_AsString(_obj2));
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
 }
 }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxPoint_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxRadioBox. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxRadioBox. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxSize_p")) {
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxRadioBox. Expected _wxSize_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxRadioBox. Expected _wxSize_p.");
         return NULL;
         }
@@ -3893,18 +5393,33 @@ static PyObject *_wrap_new_wxRadioBox(PyObject *self, PyObject *args) {
         return NULL;
     }
 }
         return NULL;
     }
 }
-    if (_argc9) {
-        if (SWIG_GetPtr(_argc9,(void **) &_arg9,"_wxValidator_p")) {
+    if (_argo9) {
+        if (_argo9 == Py_None) { _arg9 = NULL; }
+        else if (SWIG_GetPtrObj(_argo9,(void **) &_arg9,"_wxValidator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 10 of new_wxRadioBox. Expected _wxValidator_p.");
         return NULL;
         }
     }
 {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 10 of new_wxRadioBox. Expected _wxValidator_p.");
         return NULL;
         }
     }
 {
-    _arg5 = PyList_Size(_obj6);
+    if (_obj6) {
+        _arg5 = PyList_Size(_obj6);
+    }
+    else {
+        _arg5 = 0;
+    }
 }
 }
-    _result = (wxRadioBox *)new_wxRadioBox(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6,_arg7,_arg8,*_arg9,_arg10);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRadioBox_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRadioBox *)new_wxRadioBox(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6,_arg7,_arg8,*_arg9,_arg10);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxRadioBox_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
 {
     if (_obj2)
         delete _arg2;
 {
     if (_obj2)
         delete _arg2;
@@ -3915,51 +5430,61 @@ static PyObject *_wrap_new_wxRadioBox(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-#define wxRadioBox_EnableBox(_swigobj,_swigarg0)  (_swigobj->Enable(_swigarg0))
-static PyObject *_wrap_wxRadioBox_EnableBox(PyObject *self, PyObject *args) {
+#define wxRadioBox_Enable(_swigobj,_swigarg0)  (_swigobj->Enable(_swigarg0))
+static PyObject *_wrap_wxRadioBox_Enable(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     bool  _arg1;
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     bool  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool1;
 
     self = self;
     int tempbool1;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioBox_EnableBox",&_argc0,&tempbool1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxRadioBox_Enable",&_argo0,&tempbool1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_EnableBox. Expected _wxRadioBox_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_Enable. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
     _arg1 = (bool ) tempbool1;
         return NULL;
         }
     }
     _arg1 = (bool ) tempbool1;
-    wxRadioBox_EnableBox(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRadioBox_Enable(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
     _resultobj = Py_None;
     return _resultobj;
 }
 
-#define wxRadioBox_Enable(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Enable(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxRadioBox_Enable(PyObject *self, PyObject *args) {
+#define wxRadioBox_EnableItem(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Enable(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxRadioBox_EnableItem(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     int  _arg1;
     bool  _arg2;
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     int  _arg1;
     bool  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool2;
 
     self = self;
     int tempbool2;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxRadioBox_Enable",&_argc0,&_arg1,&tempbool2)) 
+    if(!PyArg_ParseTuple(args,"Oii:wxRadioBox_EnableItem",&_argo0,&_arg1,&tempbool2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_Enable. Expected _wxRadioBox_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_EnableItem. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
     _arg2 = (bool ) tempbool2;
         return NULL;
         }
     }
     _arg2 = (bool ) tempbool2;
-    wxRadioBox_Enable(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRadioBox_EnableItem(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -3970,14 +5495,15 @@ static PyObject *_wrap_wxRadioBox_FindString(PyObject *self, PyObject *args) {
     int  _result;
     wxRadioBox * _arg0;
     wxString * _arg1;
     int  _result;
     wxRadioBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxRadioBox_FindString",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxRadioBox_FindString",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_FindString. Expected _wxRadioBox_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_FindString. Expected _wxRadioBox_p.");
         return NULL;
         }
@@ -3987,10 +5513,14 @@ static PyObject *_wrap_wxRadioBox_FindString(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    _result = (int )wxRadioBox_FindString(_arg0,*_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxRadioBox_FindString(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj1)
         delete _arg1;
 {
     if (_obj1)
         delete _arg1;
@@ -3998,25 +5528,30 @@ static PyObject *_wrap_wxRadioBox_FindString(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-#define wxRadioBox_GetLabel(_swigobj,_swigarg0)  (_swigobj->GetLabel(_swigarg0))
-static PyObject *_wrap_wxRadioBox_GetLabel(PyObject *self, PyObject *args) {
+#define wxRadioBox_GetItemLabel(_swigobj,_swigarg0)  (_swigobj->GetLabel(_swigarg0))
+static PyObject *_wrap_wxRadioBox_GetItemLabel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxString * _result;
     wxRadioBox * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxString * _result;
     wxRadioBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioBox_GetLabel",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxRadioBox_GetItemLabel",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_GetLabel. Expected _wxRadioBox_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_GetItemLabel. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
         return NULL;
         }
     }
-    _result = new wxString (wxRadioBox_GetLabel(_arg0,_arg1));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxRadioBox_GetItemLabel(_arg0,_arg1));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -4030,19 +5565,24 @@ static PyObject *_wrap_wxRadioBox_GetSelection(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxRadioBox * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxRadioBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRadioBox_GetSelection",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxRadioBox_GetSelection",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_GetSelection. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_GetSelection. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
-    _result = (int )wxRadioBox_GetSelection(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxRadioBox_GetSelection(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -4052,19 +5592,24 @@ static PyObject *_wrap_wxRadioBox_GetString(PyObject *self, PyObject *args) {
     wxString * _result;
     wxRadioBox * _arg0;
     int  _arg1;
     wxString * _result;
     wxRadioBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioBox_GetString",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxRadioBox_GetString",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_GetString. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_GetString. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxRadioBox_GetString(_arg0,_arg1));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxRadioBox_GetString(_arg0,_arg1));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -4078,19 +5623,24 @@ static PyObject *_wrap_wxRadioBox_GetStringSelection(PyObject *self, PyObject *a
     PyObject * _resultobj;
     wxString * _result;
     wxRadioBox * _arg0;
     PyObject * _resultobj;
     wxString * _result;
     wxRadioBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRadioBox_GetStringSelection",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxRadioBox_GetStringSelection",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_GetStringSelection. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_GetStringSelection. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxRadioBox_GetStringSelection(_arg0));
 {
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxRadioBox_GetStringSelection(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -4104,71 +5654,43 @@ static PyObject *_wrap_wxRadioBox_Number(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxRadioBox * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxRadioBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRadioBox_Number",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxRadioBox_Number",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_Number. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_Number. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
-    _result = (int )wxRadioBox_Number(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
-
-#define wxRadioBox_SetBoxLabel(_swigobj,_swigarg0)  (_swigobj->SetLabel(_swigarg0))
-static PyObject *_wrap_wxRadioBox_SetBoxLabel(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    wxRadioBox * _arg0;
-    wxString * _arg1;
-    char * _argc0 = 0;
-    PyObject * _obj1 = 0;
-
-    self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxRadioBox_SetBoxLabel",&_argc0,&_obj1)) 
-        return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_SetBoxLabel. Expected _wxRadioBox_p.");
-        return NULL;
-        }
-    }
-{
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg1 = new wxString(PyString_AsString(_obj1));
-}
-    wxRadioBox_SetBoxLabel(_arg0,*_arg1);
-    Py_INCREF(Py_None);
-    _resultobj = Py_None;
 {
 {
-    if (_obj1)
-        delete _arg1;
-}
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxRadioBox_Number(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-#define wxRadioBox_SetLabel(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetLabel(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxRadioBox_SetLabel(PyObject *self, PyObject *args) {
+#define wxRadioBox_SetItemLabel(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetLabel(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxRadioBox_SetItemLabel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     int  _arg1;
     wxString * _arg2;
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     int  _arg1;
     wxString * _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj2 = 0;
 
     self = self;
     PyObject * _obj2 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO:wxRadioBox_SetLabel",&_argc0,&_arg1,&_obj2)) 
+    if(!PyArg_ParseTuple(args,"OiO:wxRadioBox_SetItemLabel",&_argo0,&_arg1,&_obj2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_SetLabel. Expected _wxRadioBox_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_SetItemLabel. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
         return NULL;
         }
     }
@@ -4177,10 +5699,14 @@ static PyObject *_wrap_wxRadioBox_SetLabel(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg2 = new wxString(PyString_AsString(_obj2));
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
 }
 }
-    wxRadioBox_SetLabel(_arg0,_arg1,*_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRadioBox_SetItemLabel(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj2)
     _resultobj = Py_None;
 {
     if (_obj2)
@@ -4194,19 +5720,24 @@ static PyObject *_wrap_wxRadioBox_SetSelection(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioBox_SetSelection",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxRadioBox_SetSelection",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_SetSelection. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_SetSelection. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
-    wxRadioBox_SetSelection(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRadioBox_SetSelection(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4216,14 +5747,15 @@ static PyObject *_wrap_wxRadioBox_SetStringSelection(PyObject *self, PyObject *a
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     wxString * _arg1;
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
 
     self = self;
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxRadioBox_SetStringSelection",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"OO:wxRadioBox_SetStringSelection",&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_SetStringSelection. Expected _wxRadioBox_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_SetStringSelection. Expected _wxRadioBox_p.");
         return NULL;
         }
@@ -4233,10 +5765,14 @@ static PyObject *_wrap_wxRadioBox_SetStringSelection(PyObject *self, PyObject *a
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 }
-    wxRadioBox_SetStringSelection(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRadioBox_SetStringSelection(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj1)
     _resultobj = Py_None;
 {
     if (_obj1)
@@ -4250,21 +5786,26 @@ static PyObject *_wrap_wxRadioBox_Show(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     bool  _arg1;
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     bool  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool1;
 
     self = self;
     int tempbool1;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioBox_Show",&_argc0,&tempbool1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxRadioBox_Show",&_argo0,&tempbool1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_Show. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
     _arg1 = (bool ) tempbool1;
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_Show. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
     _arg1 = (bool ) tempbool1;
-    wxRadioBox_Show(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRadioBox_Show(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4275,21 +5816,26 @@ static PyObject *_wrap_wxRadioBox_ShowItem(PyObject *self, PyObject *args) {
     wxRadioBox * _arg0;
     int  _arg1;
     bool  _arg2;
     wxRadioBox * _arg0;
     int  _arg1;
     bool  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool2;
 
     self = self;
     int tempbool2;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxRadioBox_ShowItem",&_argc0,&_arg1,&tempbool2)) 
+    if(!PyArg_ParseTuple(args,"Oii:wxRadioBox_ShowItem",&_argo0,&_arg1,&tempbool2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioBox_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_ShowItem. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
     _arg2 = (bool ) tempbool2;
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_ShowItem. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
     _arg2 = (bool ) tempbool2;
-    wxRadioBox_ShowItem(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRadioBox_ShowItem(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4325,23 +5871,24 @@ static PyObject *_wrap_new_wxRadioButton(PyObject *self, PyObject *args) {
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxString * _arg2;
     wxWindow * _arg0;
     wxWindowID  _arg1;
     wxString * _arg2;
-    wxPoint * _arg3 = &wxPyDefaultPosition;
-    wxSize * _arg4 = &wxPyDefaultSize;
-    long  _arg5 = 0;
-    wxValidator * _arg6 = &wxPyDefaultValidator;
-    char * _arg7 = "radioButton";
-    char * _argc0 = 0;
+    wxPoint * _arg3 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg4 = (wxSize *) &wxPyDefaultSize;
+    long  _arg5 = (long ) 0;
+    wxValidator * _arg6 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg7 = (char *) "radioButton";
+    PyObject * _argo0 = 0;
     PyObject * _obj2 = 0;
     PyObject * _obj2 = 0;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
-    char * _argc6 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
+    PyObject * _argo6 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO|sslss:new_wxRadioButton",&_argc0,&_arg1,&_obj2,&_argc3,&_argc4,&_arg5,&_argc6,&_arg7)) 
+    if(!PyArg_ParseTuple(args,"OiO|OOlOs:new_wxRadioButton",&_argo0,&_arg1,&_obj2,&_argo3,&_argo4,&_arg5,&_argo6,&_arg7)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxRadioButton. Expected _wxWindow_p.");
         return NULL;
         }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxRadioButton. Expected _wxWindow_p.");
         return NULL;
         }
@@ -4351,29 +5898,41 @@ static PyObject *_wrap_new_wxRadioButton(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg2 = new wxString(PyString_AsString(_obj2));
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
 }
 }
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxPoint_p")) {
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxRadioButton. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxRadioButton. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxSize_p")) {
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxRadioButton. Expected _wxSize_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxRadioButton. Expected _wxSize_p.");
         return NULL;
         }
     }
-    if (_argc6) {
-        if (SWIG_GetPtr(_argc6,(void **) &_arg6,"_wxValidator_p")) {
+    if (_argo6) {
+        if (_argo6 == Py_None) { _arg6 = NULL; }
+        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_wxValidator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxRadioButton. Expected _wxValidator_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxRadioButton. Expected _wxValidator_p.");
         return NULL;
         }
     }
-    _result = (wxRadioButton *)new_wxRadioButton(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRadioButton_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRadioButton *)new_wxRadioButton(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxRadioButton_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
 {
     if (_obj2)
         delete _arg2;
 {
     if (_obj2)
         delete _arg2;
@@ -4386,19 +5945,24 @@ static PyObject *_wrap_wxRadioButton_GetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     bool  _result;
     wxRadioButton * _arg0;
     PyObject * _resultobj;
     bool  _result;
     wxRadioButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRadioButton_GetValue",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxRadioButton_GetValue",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioButton_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioButton_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioButton_GetValue. Expected _wxRadioButton_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioButton_GetValue. Expected _wxRadioButton_p.");
         return NULL;
         }
     }
-    _result = (bool )wxRadioButton_GetValue(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxRadioButton_GetValue(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -4407,21 +5971,26 @@ static PyObject *_wrap_wxRadioButton_SetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxRadioButton * _arg0;
     bool  _arg1;
     PyObject * _resultobj;
     wxRadioButton * _arg0;
     bool  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool1;
 
     self = self;
     int tempbool1;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioButton_SetValue",&_argc0,&tempbool1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxRadioButton_SetValue",&_argo0,&tempbool1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioButton_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRadioButton_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioButton_SetValue. Expected _wxRadioButton_p.");
         return NULL;
         }
     }
     _arg1 = (bool ) tempbool1;
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioButton_SetValue. Expected _wxRadioButton_p.");
         return NULL;
         }
     }
     _arg1 = (bool ) tempbool1;
-    wxRadioButton_SetValue(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRadioButton_SetValue(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4459,47 +6028,60 @@ static PyObject *_wrap_new_wxSlider(PyObject *self, PyObject *args) {
     int  _arg2;
     int  _arg3;
     int  _arg4;
     int  _arg2;
     int  _arg3;
     int  _arg4;
-    wxPoint * _arg5 = &wxPyDefaultPosition;
-    wxSize * _arg6 = &wxPyDefaultSize;
-    long  _arg7 = (wxSL_HORIZONTAL);
-    wxValidator * _arg8 = &wxPyDefaultValidator;
-    char * _arg9 = "slider";
-    char * _argc0 = 0;
-    char * _argc5 = 0;
-    char * _argc6 = 0;
-    char * _argc8 = 0;
+    wxPoint * _arg5 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg6 = (wxSize *) &wxPyDefaultSize;
+    long  _arg7 = (long ) wxSL_HORIZONTAL;
+    wxValidator * _arg8 = (wxValidator *) &wxPyDefaultValidator;
+    char * _arg9 = (char *) "slider";
+    PyObject * _argo0 = 0;
+    PyObject * _argo5 = 0;
+    PyObject * _argo6 = 0;
+    PyObject * _argo8 = 0;
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siiii|sslss:new_wxSlider",&_argc0,&_arg1,&_arg2,&_arg3,&_arg4,&_argc5,&_argc6,&_arg7,&_argc8,&_arg9)) 
+    if(!PyArg_ParseTuple(args,"Oiiii|OOlOs:new_wxSlider",&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&_argo5,&_argo6,&_arg7,&_argo8,&_arg9)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxSlider. Expected _wxWindow_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxSlider. Expected _wxWindow_p.");
         return NULL;
         }
     }
-    if (_argc5) {
-        if (SWIG_GetPtr(_argc5,(void **) &_arg5,"_wxPoint_p")) {
+    if (_argo5) {
+        if (_argo5 == Py_None) { _arg5 = NULL; }
+        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_wxPoint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of new_wxSlider. Expected _wxPoint_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of new_wxSlider. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    if (_argc6) {
-        if (SWIG_GetPtr(_argc6,(void **) &_arg6,"_wxSize_p")) {
+    if (_argo6) {
+        if (_argo6 == Py_None) { _arg6 = NULL; }
+        else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_wxSize_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxSlider. Expected _wxSize_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of new_wxSlider. Expected _wxSize_p.");
         return NULL;
         }
     }
-    if (_argc8) {
-        if (SWIG_GetPtr(_argc8,(void **) &_arg8,"_wxValidator_p")) {
+    if (_argo8) {
+        if (_argo8 == Py_None) { _arg8 = NULL; }
+        else if (SWIG_GetPtrObj(_argo8,(void **) &_arg8,"_wxValidator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 9 of new_wxSlider. Expected _wxValidator_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 9 of new_wxSlider. Expected _wxValidator_p.");
         return NULL;
         }
     }
-    _result = (wxSlider *)new_wxSlider(_arg0,_arg1,_arg2,_arg3,_arg4,*_arg5,*_arg6,_arg7,*_arg8,_arg9);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxSlider_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxSlider *)new_wxSlider(_arg0,_arg1,_arg2,_arg3,_arg4,*_arg5,*_arg6,_arg7,*_arg8,_arg9);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxSlider_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -4507,19 +6089,24 @@ static PyObject *_wrap_new_wxSlider(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxSlider_ClearSel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxSlider * _arg0;
 static PyObject *_wrap_wxSlider_ClearSel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_ClearSel",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSlider_ClearSel",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_ClearSel. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_ClearSel. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    wxSlider_ClearSel(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSlider_ClearSel(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4528,19 +6115,24 @@ static PyObject *_wrap_wxSlider_ClearSel(PyObject *self, PyObject *args) {
 static PyObject *_wrap_wxSlider_ClearTicks(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxSlider * _arg0;
 static PyObject *_wrap_wxSlider_ClearTicks(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_ClearTicks",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSlider_ClearTicks",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_ClearTicks. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_ClearTicks. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    wxSlider_ClearTicks(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSlider_ClearTicks(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4550,19 +6142,24 @@ static PyObject *_wrap_wxSlider_GetLineSize(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetLineSize",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSlider_GetLineSize",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetLineSize. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetLineSize. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    _result = (int )wxSlider_GetLineSize(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxSlider_GetLineSize(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -4571,19 +6168,24 @@ static PyObject *_wrap_wxSlider_GetMax(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetMax",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSlider_GetMax",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetMax. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetMax. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    _result = (int )wxSlider_GetMax(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxSlider_GetMax(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -4592,19 +6194,24 @@ static PyObject *_wrap_wxSlider_GetMin(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetMin",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSlider_GetMin",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetMin. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetMin. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    _result = (int )wxSlider_GetMin(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxSlider_GetMin(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -4613,19 +6220,24 @@ static PyObject *_wrap_wxSlider_GetPageSize(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetPageSize",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSlider_GetPageSize",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetPageSize. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetPageSize. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    _result = (int )wxSlider_GetPageSize(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxSlider_GetPageSize(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -4634,19 +6246,24 @@ static PyObject *_wrap_wxSlider_GetSelEnd(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetSelEnd",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSlider_GetSelEnd",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetSelEnd. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetSelEnd. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    _result = (int )wxSlider_GetSelEnd(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxSlider_GetSelEnd(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -4655,19 +6272,24 @@ static PyObject *_wrap_wxSlider_GetSelStart(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetSelStart",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSlider_GetSelStart",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetSelStart. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetSelStart. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    _result = (int )wxSlider_GetSelStart(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxSlider_GetSelStart(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -4676,19 +6298,24 @@ static PyObject *_wrap_wxSlider_GetThumbLength(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetThumbLength",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSlider_GetThumbLength",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetThumbLength. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetThumbLength. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    _result = (int )wxSlider_GetThumbLength(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxSlider_GetThumbLength(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -4697,19 +6324,24 @@ static PyObject *_wrap_wxSlider_GetTickFreq(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetTickFreq",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSlider_GetTickFreq",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetTickFreq. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetTickFreq. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    _result = (int )wxSlider_GetTickFreq(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxSlider_GetTickFreq(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -4718,19 +6350,24 @@ static PyObject *_wrap_wxSlider_GetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetValue",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"O:wxSlider_GetValue",&_argo0)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetValue. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_GetValue. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    _result = (int )wxSlider_GetValue(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxSlider_GetValue(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -4740,19 +6377,24 @@ static PyObject *_wrap_wxSlider_SetRange(PyObject *self, PyObject *args) {
     wxSlider * _arg0;
     int  _arg1;
     int  _arg2;
     wxSlider * _arg0;
     int  _arg1;
     int  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxSlider_SetRange",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTuple(args,"Oii:wxSlider_SetRange",&_argo0,&_arg1,&_arg2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetRange. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetRange. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    wxSlider_SetRange(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSlider_SetRange(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4763,19 +6405,24 @@ static PyObject *_wrap_wxSlider_SetTickFreq(PyObject *self, PyObject *args) {
     wxSlider * _arg0;
     int  _arg1;
     int  _arg2;
     wxSlider * _arg0;
     int  _arg1;
     int  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxSlider_SetTickFreq",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTuple(args,"Oii:wxSlider_SetTickFreq",&_argo0,&_arg1,&_arg2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetTickFreq. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetTickFreq. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    wxSlider_SetTickFreq(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSlider_SetTickFreq(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4785,19 +6432,24 @@ static PyObject *_wrap_wxSlider_SetLineSize(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxSlider_SetLineSize",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxSlider_SetLineSize",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetLineSize. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetLineSize. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    wxSlider_SetLineSize(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSlider_SetLineSize(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4807,19 +6459,24 @@ static PyObject *_wrap_wxSlider_SetPageSize(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxSlider_SetPageSize",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxSlider_SetPageSize",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetPageSize. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetPageSize. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    wxSlider_SetPageSize(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSlider_SetPageSize(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4830,19 +6487,24 @@ static PyObject *_wrap_wxSlider_SetSelection(PyObject *self, PyObject *args) {
     wxSlider * _arg0;
     int  _arg1;
     int  _arg2;
     wxSlider * _arg0;
     int  _arg1;
     int  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxSlider_SetSelection",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTuple(args,"Oii:wxSlider_SetSelection",&_argo0,&_arg1,&_arg2)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetSelection. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetSelection. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    wxSlider_SetSelection(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSlider_SetSelection(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4852,19 +6514,24 @@ static PyObject *_wrap_wxSlider_SetThumbLength(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxSlider_SetThumbLength",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxSlider_SetThumbLength",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetThumbLength. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetThumbLength. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    wxSlider_SetThumbLength(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSlider_SetThumbLength(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4874,19 +6541,24 @@ static PyObject *_wrap_wxSlider_SetTick(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxSlider_SetTick",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxSlider_SetTick",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetTick. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetTick. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    wxSlider_SetTick(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSlider_SetTick(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -4896,582 +6568,686 @@ static PyObject *_wrap_wxSlider_SetValue(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxSlider_SetValue",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"Oi:wxSlider_SetValue",&_argo0,&_arg1)) 
         return NULL;
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSlider_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSlider_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetValue. Expected _wxSlider_p.");
         return NULL;
         }
     }
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSlider_SetValue. Expected _wxSlider_p.");
         return NULL;
         }
     }
-    wxSlider_SetValue(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSlider_SetValue(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
 static PyMethodDef controlscMethods[] = {
     _resultobj = Py_None;
     return _resultobj;
 }
 
 static PyMethodDef controlscMethods[] = {
-        { "wxSlider_SetValue", _wrap_wxSlider_SetValue, 1 },
-        { "wxSlider_SetTick", _wrap_wxSlider_SetTick, 1 },
-        { "wxSlider_SetThumbLength", _wrap_wxSlider_SetThumbLength, 1 },
-        { "wxSlider_SetSelection", _wrap_wxSlider_SetSelection, 1 },
-        { "wxSlider_SetPageSize", _wrap_wxSlider_SetPageSize, 1 },
-        { "wxSlider_SetLineSize", _wrap_wxSlider_SetLineSize, 1 },
-        { "wxSlider_SetTickFreq", _wrap_wxSlider_SetTickFreq, 1 },
-        { "wxSlider_SetRange", _wrap_wxSlider_SetRange, 1 },
-        { "wxSlider_GetValue", _wrap_wxSlider_GetValue, 1 },
-        { "wxSlider_GetTickFreq", _wrap_wxSlider_GetTickFreq, 1 },
-        { "wxSlider_GetThumbLength", _wrap_wxSlider_GetThumbLength, 1 },
-        { "wxSlider_GetSelStart", _wrap_wxSlider_GetSelStart, 1 },
-        { "wxSlider_GetSelEnd", _wrap_wxSlider_GetSelEnd, 1 },
-        { "wxSlider_GetPageSize", _wrap_wxSlider_GetPageSize, 1 },
-        { "wxSlider_GetMin", _wrap_wxSlider_GetMin, 1 },
-        { "wxSlider_GetMax", _wrap_wxSlider_GetMax, 1 },
-        { "wxSlider_GetLineSize", _wrap_wxSlider_GetLineSize, 1 },
-        { "wxSlider_ClearTicks", _wrap_wxSlider_ClearTicks, 1 },
-        { "wxSlider_ClearSel", _wrap_wxSlider_ClearSel, 1 },
-        { "new_wxSlider", _wrap_new_wxSlider, 1 },
-        { "wxRadioButton_SetValue", _wrap_wxRadioButton_SetValue, 1 },
-        { "wxRadioButton_GetValue", _wrap_wxRadioButton_GetValue, 1 },
-        { "new_wxRadioButton", _wrap_new_wxRadioButton, 1 },
-        { "wxRadioBox_ShowItem", _wrap_wxRadioBox_ShowItem, 1 },
-        { "wxRadioBox_Show", _wrap_wxRadioBox_Show, 1 },
-        { "wxRadioBox_SetStringSelection", _wrap_wxRadioBox_SetStringSelection, 1 },
-        { "wxRadioBox_SetSelection", _wrap_wxRadioBox_SetSelection, 1 },
-        { "wxRadioBox_SetLabel", _wrap_wxRadioBox_SetLabel, 1 },
-        { "wxRadioBox_SetBoxLabel", _wrap_wxRadioBox_SetBoxLabel, 1 },
-        { "wxRadioBox_Number", _wrap_wxRadioBox_Number, 1 },
-        { "wxRadioBox_GetStringSelection", _wrap_wxRadioBox_GetStringSelection, 1 },
-        { "wxRadioBox_GetString", _wrap_wxRadioBox_GetString, 1 },
-        { "wxRadioBox_GetSelection", _wrap_wxRadioBox_GetSelection, 1 },
-        { "wxRadioBox_GetLabel", _wrap_wxRadioBox_GetLabel, 1 },
-        { "wxRadioBox_FindString", _wrap_wxRadioBox_FindString, 1 },
-        { "wxRadioBox_Enable", _wrap_wxRadioBox_Enable, 1 },
-        { "wxRadioBox_EnableBox", _wrap_wxRadioBox_EnableBox, 1 },
-        { "new_wxRadioBox", _wrap_new_wxRadioBox, 1 },
-        { "wxStaticBitmap_SetBitmap", _wrap_wxStaticBitmap_SetBitmap, 1 },
-        { "wxStaticBitmap_GetBitmap", _wrap_wxStaticBitmap_GetBitmap, 1 },
-        { "new_wxStaticBitmap", _wrap_new_wxStaticBitmap, 1 },
-        { "wxSpinButton_SetValue", _wrap_wxSpinButton_SetValue, 1 },
-        { "wxSpinButton_SetRange", _wrap_wxSpinButton_SetRange, 1 },
-        { "wxSpinButton_GetValue", _wrap_wxSpinButton_GetValue, 1 },
-        { "wxSpinButton_GetMin", _wrap_wxSpinButton_GetMin, 1 },
-        { "wxSpinButton_GetMax", _wrap_wxSpinButton_GetMax, 1 },
-        { "new_wxSpinButton", _wrap_new_wxSpinButton, 1 },
-        { "wxScrollBar_SetScrollbar", _wrap_wxScrollBar_SetScrollbar, 1 },
-        { "wxScrollBar_SetPosition", _wrap_wxScrollBar_SetPosition, 1 },
-        { "wxScrollBar_GetThumbSize", _wrap_wxScrollBar_GetThumbSize, 1 },
-        { "wxScrollBar_GetPosition", _wrap_wxScrollBar_GetPosition, 1 },
-        { "wxScrollBar_GetPageSize", _wrap_wxScrollBar_GetPageSize, 1 },
-        { "wxScrollBar_GetRange", _wrap_wxScrollBar_GetRange, 1 },
-        { "new_wxScrollBar", _wrap_new_wxScrollBar, 1 },
-        { "wxTextCtrl_XYToPosition", _wrap_wxTextCtrl_XYToPosition, 1 },
-        { "wxTextCtrl_WriteText", _wrap_wxTextCtrl_WriteText, 1 },
-        { "wxTextCtrl_ShowPosition", _wrap_wxTextCtrl_ShowPosition, 1 },
-        { "wxTextCtrl_SetValue", _wrap_wxTextCtrl_SetValue, 1 },
-        { "wxTextCtrl_SetSelection", _wrap_wxTextCtrl_SetSelection, 1 },
-        { "wxTextCtrl_SetInsertionPointEnd", _wrap_wxTextCtrl_SetInsertionPointEnd, 1 },
-        { "wxTextCtrl_SetInsertionPoint", _wrap_wxTextCtrl_SetInsertionPoint, 1 },
-        { "wxTextCtrl_SetEditable", _wrap_wxTextCtrl_SetEditable, 1 },
-        { "wxTextCtrl_SaveFile", _wrap_wxTextCtrl_SaveFile, 1 },
-        { "wxTextCtrl_Replace", _wrap_wxTextCtrl_Replace, 1 },
-        { "wxTextCtrl_Remove", _wrap_wxTextCtrl_Remove, 1 },
-        { "wxTextCtrl_PositionToXY", _wrap_wxTextCtrl_PositionToXY, 1 },
-        { "wxTextCtrl_Paste", _wrap_wxTextCtrl_Paste, 1 },
-        { "wxTextCtrl_LoadFile", _wrap_wxTextCtrl_LoadFile, 1 },
-        { "wxTextCtrl_IsModified", _wrap_wxTextCtrl_IsModified, 1 },
-        { "wxTextCtrl_GetValue", _wrap_wxTextCtrl_GetValue, 1 },
-        { "wxTextCtrl_GetNumberOfLines", _wrap_wxTextCtrl_GetNumberOfLines, 1 },
-        { "wxTextCtrl_GetLineText", _wrap_wxTextCtrl_GetLineText, 1 },
-        { "wxTextCtrl_GetLineLength", _wrap_wxTextCtrl_GetLineLength, 1 },
-        { "wxTextCtrl_GetLastPosition", _wrap_wxTextCtrl_GetLastPosition, 1 },
-        { "wxTextCtrl_GetInsertionPoint", _wrap_wxTextCtrl_GetInsertionPoint, 1 },
-        { "wxTextCtrl_DiscardEdits", _wrap_wxTextCtrl_DiscardEdits, 1 },
-        { "wxTextCtrl_Cut", _wrap_wxTextCtrl_Cut, 1 },
-        { "wxTextCtrl_Copy", _wrap_wxTextCtrl_Copy, 1 },
-        { "wxTextCtrl_Clear", _wrap_wxTextCtrl_Clear, 1 },
-        { "new_wxTextCtrl", _wrap_new_wxTextCtrl, 1 },
-        { "wxListBox_SetStringSelection", _wrap_wxListBox_SetStringSelection, 1 },
-        { "wxListBox_SetString", _wrap_wxListBox_SetString, 1 },
-        { "wxListBox_SetSelection", _wrap_wxListBox_SetSelection, 1 },
-        { "wxListBox_SetFirstItemStr", _wrap_wxListBox_SetFirstItemStr, 1 },
-        { "wxListBox_SetFirstItem", _wrap_wxListBox_SetFirstItem, 1 },
-        { "wxListBox_Set", _wrap_wxListBox_Set, 1 },
-        { "wxListBox_Selected", _wrap_wxListBox_Selected, 1 },
-        { "wxListBox_Number", _wrap_wxListBox_Number, 1 },
-        { "wxListBox_GetStringSelection", _wrap_wxListBox_GetStringSelection, 1 },
-        { "wxListBox_GetString", _wrap_wxListBox_GetString, 1 },
-        { "wxListBox_GetSelection", _wrap_wxListBox_GetSelection, 1 },
-        { "wxListBox_FindString", _wrap_wxListBox_FindString, 1 },
-        { "wxListBox_Deselect", _wrap_wxListBox_Deselect, 1 },
-        { "wxListBox_Delete", _wrap_wxListBox_Delete, 1 },
-        { "wxListBox_Clear", _wrap_wxListBox_Clear, 1 },
-        { "wxListBox_Append", _wrap_wxListBox_Append, 1 },
-        { "new_wxListBox", _wrap_new_wxListBox, 1 },
-        { "wxStaticText_SetLabel", _wrap_wxStaticText_SetLabel, 1 },
-        { "wxStaticText_GetLabel", _wrap_wxStaticText_GetLabel, 1 },
-        { "new_wxStaticText", _wrap_new_wxStaticText, 1 },
-        { "new_wxStaticBox", _wrap_new_wxStaticBox, 1 },
-        { "wxGauge_SetValue", _wrap_wxGauge_SetValue, 1 },
-        { "wxGauge_SetShadowWidth", _wrap_wxGauge_SetShadowWidth, 1 },
-        { "wxGauge_SetRange", _wrap_wxGauge_SetRange, 1 },
-        { "wxGauge_SetBezelFace", _wrap_wxGauge_SetBezelFace, 1 },
-        { "wxGauge_GetValue", _wrap_wxGauge_GetValue, 1 },
-        { "wxGauge_GetShadowWidth", _wrap_wxGauge_GetShadowWidth, 1 },
-        { "wxGauge_GetRange", _wrap_wxGauge_GetRange, 1 },
-        { "wxGauge_GetBezelFace", _wrap_wxGauge_GetBezelFace, 1 },
-        { "new_wxGauge", _wrap_new_wxGauge, 1 },
-        { "wxComboBox_SetValue", _wrap_wxComboBox_SetValue, 1 },
-        { "wxComboBox_SetMark", _wrap_wxComboBox_SetMark, 1 },
-        { "wxComboBox_SetSelection", _wrap_wxComboBox_SetSelection, 1 },
-        { "wxComboBox_SetInsertionPointEnd", _wrap_wxComboBox_SetInsertionPointEnd, 1 },
-        { "wxComboBox_SetInsertionPoint", _wrap_wxComboBox_SetInsertionPoint, 1 },
-        { "wxComboBox_Remove", _wrap_wxComboBox_Remove, 1 },
-        { "wxComboBox_Replace", _wrap_wxComboBox_Replace, 1 },
-        { "wxComboBox_Paste", _wrap_wxComboBox_Paste, 1 },
-        { "wxComboBox_Number", _wrap_wxComboBox_Number, 1 },
-        { "wxComboBox_GetValue", _wrap_wxComboBox_GetValue, 1 },
-        { "wxComboBox_GetStringSelection", _wrap_wxComboBox_GetStringSelection, 1 },
-        { "wxComboBox_GetString", _wrap_wxComboBox_GetString, 1 },
-        { "wxComboBox_GetSelection", _wrap_wxComboBox_GetSelection, 1 },
-        { "wxComboBox_GetLastPosition", _wrap_wxComboBox_GetLastPosition, 1 },
-        { "wxComboBox_GetInsertionPoint", _wrap_wxComboBox_GetInsertionPoint, 1 },
-        { "wxComboBox_FindString", _wrap_wxComboBox_FindString, 1 },
-        { "wxComboBox_Delete", _wrap_wxComboBox_Delete, 1 },
-        { "wxComboBox_Cut", _wrap_wxComboBox_Cut, 1 },
-        { "wxComboBox_Copy", _wrap_wxComboBox_Copy, 1 },
-        { "wxComboBox_Clear", _wrap_wxComboBox_Clear, 1 },
-        { "wxComboBox_Append", _wrap_wxComboBox_Append, 1 },
-        { "new_wxComboBox", _wrap_new_wxComboBox, 1 },
-        { "wxChoice_SetStringSelection", _wrap_wxChoice_SetStringSelection, 1 },
-        { "wxChoice_SetSelection", _wrap_wxChoice_SetSelection, 1 },
-        { "wxChoice_SetColumns", _wrap_wxChoice_SetColumns, 1 },
-        { "wxChoice_Number", _wrap_wxChoice_Number, 1 },
-        { "wxChoice_GetStringSelection", _wrap_wxChoice_GetStringSelection, 1 },
-        { "wxChoice_GetString", _wrap_wxChoice_GetString, 1 },
-        { "wxChoice_GetSelection", _wrap_wxChoice_GetSelection, 1 },
-        { "wxChoice_GetColumns", _wrap_wxChoice_GetColumns, 1 },
-        { "wxChoice_FindString", _wrap_wxChoice_FindString, 1 },
-        { "wxChoice_Clear", _wrap_wxChoice_Clear, 1 },
-        { "wxChoice_Append", _wrap_wxChoice_Append, 1 },
-        { "new_wxChoice", _wrap_new_wxChoice, 1 },
-        { "wxCheckBox_SetValue", _wrap_wxCheckBox_SetValue, 1 },
-        { "wxCheckBox_GetValue", _wrap_wxCheckBox_GetValue, 1 },
-        { "new_wxCheckBox", _wrap_new_wxCheckBox, 1 },
-        { "wxBitmapButton_SetBitmapLabel", _wrap_wxBitmapButton_SetBitmapLabel, 1 },
-        { "wxBitmapButton_GetBitmapLabel", _wrap_wxBitmapButton_GetBitmapLabel, 1 },
-        { "new_wxBitmapButton", _wrap_new_wxBitmapButton, 1 },
-        { "wxButton_SetDefault", _wrap_wxButton_SetDefault, 1 },
-        { "new_wxButton", _wrap_new_wxButton, 1 },
-        { "wxControl_SetLabel", _wrap_wxControl_SetLabel, 1 },
-        { "wxControl_GetLabel", _wrap_wxControl_GetLabel, 1 },
-        { "wxControl_Command", _wrap_wxControl_Command, 1 },
+        { "wxSlider_SetValue", _wrap_wxSlider_SetValue, METH_VARARGS },
+        { "wxSlider_SetTick", _wrap_wxSlider_SetTick, METH_VARARGS },
+        { "wxSlider_SetThumbLength", _wrap_wxSlider_SetThumbLength, METH_VARARGS },
+        { "wxSlider_SetSelection", _wrap_wxSlider_SetSelection, METH_VARARGS },
+        { "wxSlider_SetPageSize", _wrap_wxSlider_SetPageSize, METH_VARARGS },
+        { "wxSlider_SetLineSize", _wrap_wxSlider_SetLineSize, METH_VARARGS },
+        { "wxSlider_SetTickFreq", _wrap_wxSlider_SetTickFreq, METH_VARARGS },
+        { "wxSlider_SetRange", _wrap_wxSlider_SetRange, METH_VARARGS },
+        { "wxSlider_GetValue", _wrap_wxSlider_GetValue, METH_VARARGS },
+        { "wxSlider_GetTickFreq", _wrap_wxSlider_GetTickFreq, METH_VARARGS },
+        { "wxSlider_GetThumbLength", _wrap_wxSlider_GetThumbLength, METH_VARARGS },
+        { "wxSlider_GetSelStart", _wrap_wxSlider_GetSelStart, METH_VARARGS },
+        { "wxSlider_GetSelEnd", _wrap_wxSlider_GetSelEnd, METH_VARARGS },
+        { "wxSlider_GetPageSize", _wrap_wxSlider_GetPageSize, METH_VARARGS },
+        { "wxSlider_GetMin", _wrap_wxSlider_GetMin, METH_VARARGS },
+        { "wxSlider_GetMax", _wrap_wxSlider_GetMax, METH_VARARGS },
+        { "wxSlider_GetLineSize", _wrap_wxSlider_GetLineSize, METH_VARARGS },
+        { "wxSlider_ClearTicks", _wrap_wxSlider_ClearTicks, METH_VARARGS },
+        { "wxSlider_ClearSel", _wrap_wxSlider_ClearSel, METH_VARARGS },
+        { "new_wxSlider", _wrap_new_wxSlider, METH_VARARGS },
+        { "wxRadioButton_SetValue", _wrap_wxRadioButton_SetValue, METH_VARARGS },
+        { "wxRadioButton_GetValue", _wrap_wxRadioButton_GetValue, METH_VARARGS },
+        { "new_wxRadioButton", _wrap_new_wxRadioButton, METH_VARARGS },
+        { "wxRadioBox_ShowItem", _wrap_wxRadioBox_ShowItem, METH_VARARGS },
+        { "wxRadioBox_Show", _wrap_wxRadioBox_Show, METH_VARARGS },
+        { "wxRadioBox_SetStringSelection", _wrap_wxRadioBox_SetStringSelection, METH_VARARGS },
+        { "wxRadioBox_SetSelection", _wrap_wxRadioBox_SetSelection, METH_VARARGS },
+        { "wxRadioBox_SetItemLabel", _wrap_wxRadioBox_SetItemLabel, METH_VARARGS },
+        { "wxRadioBox_Number", _wrap_wxRadioBox_Number, METH_VARARGS },
+        { "wxRadioBox_GetStringSelection", _wrap_wxRadioBox_GetStringSelection, METH_VARARGS },
+        { "wxRadioBox_GetString", _wrap_wxRadioBox_GetString, METH_VARARGS },
+        { "wxRadioBox_GetSelection", _wrap_wxRadioBox_GetSelection, METH_VARARGS },
+        { "wxRadioBox_GetItemLabel", _wrap_wxRadioBox_GetItemLabel, METH_VARARGS },
+        { "wxRadioBox_FindString", _wrap_wxRadioBox_FindString, METH_VARARGS },
+        { "wxRadioBox_EnableItem", _wrap_wxRadioBox_EnableItem, METH_VARARGS },
+        { "wxRadioBox_Enable", _wrap_wxRadioBox_Enable, METH_VARARGS },
+        { "new_wxRadioBox", _wrap_new_wxRadioBox, METH_VARARGS },
+        { "wxStaticBitmap_SetIcon", _wrap_wxStaticBitmap_SetIcon, METH_VARARGS },
+        { "wxStaticBitmap_SetBitmap", _wrap_wxStaticBitmap_SetBitmap, METH_VARARGS },
+        { "wxStaticBitmap_GetBitmap", _wrap_wxStaticBitmap_GetBitmap, METH_VARARGS },
+        { "new_wxStaticBitmap", _wrap_new_wxStaticBitmap, METH_VARARGS },
+        { "wxSpinButton_SetValue", _wrap_wxSpinButton_SetValue, METH_VARARGS },
+        { "wxSpinButton_SetRange", _wrap_wxSpinButton_SetRange, METH_VARARGS },
+        { "wxSpinButton_GetValue", _wrap_wxSpinButton_GetValue, METH_VARARGS },
+        { "wxSpinButton_GetMin", _wrap_wxSpinButton_GetMin, METH_VARARGS },
+        { "wxSpinButton_GetMax", _wrap_wxSpinButton_GetMax, METH_VARARGS },
+        { "new_wxSpinButton", _wrap_new_wxSpinButton, METH_VARARGS },
+        { "wxScrollBar_SetScrollbar", _wrap_wxScrollBar_SetScrollbar, METH_VARARGS },
+        { "wxScrollBar_SetThumbPosition", _wrap_wxScrollBar_SetThumbPosition, METH_VARARGS },
+        { "wxScrollBar_GetThumbSize", _wrap_wxScrollBar_GetThumbSize, METH_VARARGS },
+        { "wxScrollBar_GetThumbPosition", _wrap_wxScrollBar_GetThumbPosition, METH_VARARGS },
+        { "wxScrollBar_GetPageSize", _wrap_wxScrollBar_GetPageSize, METH_VARARGS },
+        { "wxScrollBar_GetRange", _wrap_wxScrollBar_GetRange, METH_VARARGS },
+        { "new_wxScrollBar", _wrap_new_wxScrollBar, METH_VARARGS },
+        { "wxTextCtrl_IsEditable", _wrap_wxTextCtrl_IsEditable, METH_VARARGS },
+        { "wxTextCtrl_GetSelection", _wrap_wxTextCtrl_GetSelection, METH_VARARGS },
+        { "wxTextCtrl_CanUndo", _wrap_wxTextCtrl_CanUndo, METH_VARARGS },
+        { "wxTextCtrl_CanRedo", _wrap_wxTextCtrl_CanRedo, METH_VARARGS },
+        { "wxTextCtrl_CanPaste", _wrap_wxTextCtrl_CanPaste, METH_VARARGS },
+        { "wxTextCtrl_CanCut", _wrap_wxTextCtrl_CanCut, METH_VARARGS },
+        { "wxTextCtrl_CanCopy", _wrap_wxTextCtrl_CanCopy, METH_VARARGS },
+        { "wxTextCtrl_XYToPosition", _wrap_wxTextCtrl_XYToPosition, METH_VARARGS },
+        { "wxTextCtrl_AppendText", _wrap_wxTextCtrl_AppendText, METH_VARARGS },
+        { "wxTextCtrl_WriteText", _wrap_wxTextCtrl_WriteText, METH_VARARGS },
+        { "wxTextCtrl_ShowPosition", _wrap_wxTextCtrl_ShowPosition, METH_VARARGS },
+        { "wxTextCtrl_SetValue", _wrap_wxTextCtrl_SetValue, METH_VARARGS },
+        { "wxTextCtrl_SetSelection", _wrap_wxTextCtrl_SetSelection, METH_VARARGS },
+        { "wxTextCtrl_SetInsertionPointEnd", _wrap_wxTextCtrl_SetInsertionPointEnd, METH_VARARGS },
+        { "wxTextCtrl_SetInsertionPoint", _wrap_wxTextCtrl_SetInsertionPoint, METH_VARARGS },
+        { "wxTextCtrl_SetEditable", _wrap_wxTextCtrl_SetEditable, METH_VARARGS },
+        { "wxTextCtrl_SaveFile", _wrap_wxTextCtrl_SaveFile, METH_VARARGS },
+        { "wxTextCtrl_Replace", _wrap_wxTextCtrl_Replace, METH_VARARGS },
+        { "wxTextCtrl_Remove", _wrap_wxTextCtrl_Remove, METH_VARARGS },
+        { "wxTextCtrl_PositionToXY", _wrap_wxTextCtrl_PositionToXY, METH_VARARGS },
+        { "wxTextCtrl_Paste", _wrap_wxTextCtrl_Paste, METH_VARARGS },
+        { "wxTextCtrl_LoadFile", _wrap_wxTextCtrl_LoadFile, METH_VARARGS },
+        { "wxTextCtrl_IsModified", _wrap_wxTextCtrl_IsModified, METH_VARARGS },
+        { "wxTextCtrl_GetValue", _wrap_wxTextCtrl_GetValue, METH_VARARGS },
+        { "wxTextCtrl_GetNumberOfLines", _wrap_wxTextCtrl_GetNumberOfLines, METH_VARARGS },
+        { "wxTextCtrl_GetLineText", _wrap_wxTextCtrl_GetLineText, METH_VARARGS },
+        { "wxTextCtrl_GetLineLength", _wrap_wxTextCtrl_GetLineLength, METH_VARARGS },
+        { "wxTextCtrl_GetLastPosition", _wrap_wxTextCtrl_GetLastPosition, METH_VARARGS },
+        { "wxTextCtrl_GetInsertionPoint", _wrap_wxTextCtrl_GetInsertionPoint, METH_VARARGS },
+        { "wxTextCtrl_DiscardEdits", _wrap_wxTextCtrl_DiscardEdits, METH_VARARGS },
+        { "wxTextCtrl_Cut", _wrap_wxTextCtrl_Cut, METH_VARARGS },
+        { "wxTextCtrl_Copy", _wrap_wxTextCtrl_Copy, METH_VARARGS },
+        { "wxTextCtrl_Clear", _wrap_wxTextCtrl_Clear, METH_VARARGS },
+        { "new_wxTextCtrl", _wrap_new_wxTextCtrl, METH_VARARGS },
+        { "wxCheckListBox_GetItemHeight", _wrap_wxCheckListBox_GetItemHeight, METH_VARARGS },
+        { "wxCheckListBox_Check", _wrap_wxCheckListBox_Check, METH_VARARGS },
+        { "wxCheckListBox_IsChecked", _wrap_wxCheckListBox_IsChecked, METH_VARARGS },
+        { "new_wxCheckListBox", _wrap_new_wxCheckListBox, METH_VARARGS },
+        { "wxListBox_SetStringSelection", _wrap_wxListBox_SetStringSelection, METH_VARARGS },
+        { "wxListBox_SetString", _wrap_wxListBox_SetString, METH_VARARGS },
+        { "wxListBox_SetSelection", _wrap_wxListBox_SetSelection, METH_VARARGS },
+        { "wxListBox_SetFirstItemStr", _wrap_wxListBox_SetFirstItemStr, METH_VARARGS },
+        { "wxListBox_SetFirstItem", _wrap_wxListBox_SetFirstItem, METH_VARARGS },
+        { "wxListBox_Set", _wrap_wxListBox_Set, METH_VARARGS },
+        { "wxListBox_Selected", _wrap_wxListBox_Selected, METH_VARARGS },
+        { "wxListBox_Number", _wrap_wxListBox_Number, METH_VARARGS },
+        { "wxListBox_GetStringSelection", _wrap_wxListBox_GetStringSelection, METH_VARARGS },
+        { "wxListBox_GetString", _wrap_wxListBox_GetString, METH_VARARGS },
+        { "wxListBox_GetSelections", _wrap_wxListBox_GetSelections, METH_VARARGS },
+        { "wxListBox_GetSelection", _wrap_wxListBox_GetSelection, METH_VARARGS },
+        { "wxListBox_FindString", _wrap_wxListBox_FindString, METH_VARARGS },
+        { "wxListBox_Deselect", _wrap_wxListBox_Deselect, METH_VARARGS },
+        { "wxListBox_Delete", _wrap_wxListBox_Delete, METH_VARARGS },
+        { "wxListBox_Clear", _wrap_wxListBox_Clear, METH_VARARGS },
+        { "wxListBox_Append", _wrap_wxListBox_Append, METH_VARARGS },
+        { "new_wxListBox", _wrap_new_wxListBox, METH_VARARGS },
+        { "wxStaticText_SetLabel", _wrap_wxStaticText_SetLabel, METH_VARARGS },
+        { "wxStaticText_GetLabel", _wrap_wxStaticText_GetLabel, METH_VARARGS },
+        { "new_wxStaticText", _wrap_new_wxStaticText, METH_VARARGS },
+        { "new_wxStaticLine", _wrap_new_wxStaticLine, METH_VARARGS },
+        { "new_wxStaticBox", _wrap_new_wxStaticBox, METH_VARARGS },
+        { "wxGauge_SetValue", _wrap_wxGauge_SetValue, METH_VARARGS },
+        { "wxGauge_SetShadowWidth", _wrap_wxGauge_SetShadowWidth, METH_VARARGS },
+        { "wxGauge_SetRange", _wrap_wxGauge_SetRange, METH_VARARGS },
+        { "wxGauge_SetBezelFace", _wrap_wxGauge_SetBezelFace, METH_VARARGS },
+        { "wxGauge_GetValue", _wrap_wxGauge_GetValue, METH_VARARGS },
+        { "wxGauge_GetShadowWidth", _wrap_wxGauge_GetShadowWidth, METH_VARARGS },
+        { "wxGauge_GetRange", _wrap_wxGauge_GetRange, METH_VARARGS },
+        { "wxGauge_GetBezelFace", _wrap_wxGauge_GetBezelFace, METH_VARARGS },
+        { "new_wxGauge", _wrap_new_wxGauge, METH_VARARGS },
+        { "wxComboBox_SetValue", _wrap_wxComboBox_SetValue, METH_VARARGS },
+        { "wxComboBox_SetMark", _wrap_wxComboBox_SetMark, METH_VARARGS },
+        { "wxComboBox_SetSelection", _wrap_wxComboBox_SetSelection, METH_VARARGS },
+        { "wxComboBox_SetInsertionPointEnd", _wrap_wxComboBox_SetInsertionPointEnd, METH_VARARGS },
+        { "wxComboBox_SetInsertionPoint", _wrap_wxComboBox_SetInsertionPoint, METH_VARARGS },
+        { "wxComboBox_Remove", _wrap_wxComboBox_Remove, METH_VARARGS },
+        { "wxComboBox_Replace", _wrap_wxComboBox_Replace, METH_VARARGS },
+        { "wxComboBox_Paste", _wrap_wxComboBox_Paste, METH_VARARGS },
+        { "wxComboBox_Number", _wrap_wxComboBox_Number, METH_VARARGS },
+        { "wxComboBox_GetValue", _wrap_wxComboBox_GetValue, METH_VARARGS },
+        { "wxComboBox_GetStringSelection", _wrap_wxComboBox_GetStringSelection, METH_VARARGS },
+        { "wxComboBox_GetString", _wrap_wxComboBox_GetString, METH_VARARGS },
+        { "wxComboBox_GetSelection", _wrap_wxComboBox_GetSelection, METH_VARARGS },
+        { "wxComboBox_GetLastPosition", _wrap_wxComboBox_GetLastPosition, METH_VARARGS },
+        { "wxComboBox_GetInsertionPoint", _wrap_wxComboBox_GetInsertionPoint, METH_VARARGS },
+        { "wxComboBox_FindString", _wrap_wxComboBox_FindString, METH_VARARGS },
+        { "wxComboBox_Delete", _wrap_wxComboBox_Delete, METH_VARARGS },
+        { "wxComboBox_Cut", _wrap_wxComboBox_Cut, METH_VARARGS },
+        { "wxComboBox_Copy", _wrap_wxComboBox_Copy, METH_VARARGS },
+        { "wxComboBox_Clear", _wrap_wxComboBox_Clear, METH_VARARGS },
+        { "wxComboBox_Append", _wrap_wxComboBox_Append, METH_VARARGS },
+        { "new_wxComboBox", _wrap_new_wxComboBox, METH_VARARGS },
+        { "wxChoice_SetStringSelection", _wrap_wxChoice_SetStringSelection, METH_VARARGS },
+        { "wxChoice_SetSelection", _wrap_wxChoice_SetSelection, METH_VARARGS },
+        { "wxChoice_SetColumns", _wrap_wxChoice_SetColumns, METH_VARARGS },
+        { "wxChoice_Number", _wrap_wxChoice_Number, METH_VARARGS },
+        { "wxChoice_GetStringSelection", _wrap_wxChoice_GetStringSelection, METH_VARARGS },
+        { "wxChoice_GetString", _wrap_wxChoice_GetString, METH_VARARGS },
+        { "wxChoice_GetSelection", _wrap_wxChoice_GetSelection, METH_VARARGS },
+        { "wxChoice_GetColumns", _wrap_wxChoice_GetColumns, METH_VARARGS },
+        { "wxChoice_FindString", _wrap_wxChoice_FindString, METH_VARARGS },
+        { "wxChoice_Clear", _wrap_wxChoice_Clear, METH_VARARGS },
+        { "wxChoice_Append", _wrap_wxChoice_Append, METH_VARARGS },
+        { "new_wxChoice", _wrap_new_wxChoice, METH_VARARGS },
+        { "wxCheckBox_SetValue", _wrap_wxCheckBox_SetValue, METH_VARARGS },
+        { "wxCheckBox_GetValue", _wrap_wxCheckBox_GetValue, METH_VARARGS },
+        { "new_wxCheckBox", _wrap_new_wxCheckBox, METH_VARARGS },
+        { "wxBitmapButton_SetBitmapLabel", _wrap_wxBitmapButton_SetBitmapLabel, METH_VARARGS },
+        { "wxBitmapButton_SetBitmapSelected", _wrap_wxBitmapButton_SetBitmapSelected, METH_VARARGS },
+        { "wxBitmapButton_SetBitmapFocus", _wrap_wxBitmapButton_SetBitmapFocus, METH_VARARGS },
+        { "wxBitmapButton_SetBitmapDisabled", _wrap_wxBitmapButton_SetBitmapDisabled, METH_VARARGS },
+        { "wxBitmapButton_GetBitmapSelected", _wrap_wxBitmapButton_GetBitmapSelected, METH_VARARGS },
+        { "wxBitmapButton_GetBitmapFocus", _wrap_wxBitmapButton_GetBitmapFocus, METH_VARARGS },
+        { "wxBitmapButton_GetBitmapDisabled", _wrap_wxBitmapButton_GetBitmapDisabled, METH_VARARGS },
+        { "wxBitmapButton_GetBitmapLabel", _wrap_wxBitmapButton_GetBitmapLabel, METH_VARARGS },
+        { "new_wxBitmapButton", _wrap_new_wxBitmapButton, METH_VARARGS },
+        { "wxButton_SetDefault", _wrap_wxButton_SetDefault, METH_VARARGS },
+        { "new_wxButton", _wrap_new_wxButton, METH_VARARGS },
+        { "wxControl_SetLabel", _wrap_wxControl_SetLabel, METH_VARARGS },
+        { "wxControl_GetLabel", _wrap_wxControl_GetLabel, METH_VARARGS },
         { NULL, NULL }
 };
         { NULL, NULL }
 };
+#ifdef __cplusplus
+}
+#endif
+/*
+ * This table is used by the pointer type-checker
+ */
+static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
+    { "_wxAcceleratorTable","_class_wxAcceleratorTable",0},
+    { "_wxEvent","_class_wxEvent",0},
+    { "_class_wxActivateEvent","_wxActivateEvent",0},
+    { "_signed_long","_long",0},
+    { "_wxMenuEvent","_class_wxMenuEvent",0},
+    { "_wxPrintQuality","_int",0},
+    { "_wxPrintQuality","_signed_int",0},
+    { "_wxPrintQuality","_unsigned_int",0},
+    { "_wxPrintQuality","_wxWindowID",0},
+    { "_wxPrintQuality","_uint",0},
+    { "_wxPrintQuality","_EBool",0},
+    { "_wxPrintQuality","_size_t",0},
+    { "_class_wxRegionIterator","_wxRegionIterator",0},
+    { "_class_wxMenuBar","_wxMenuBar",0},
+    { "_class_wxEvtHandler","_class_wxSlider",SwigwxSliderTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxSlider",SwigwxSliderTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxRadioButton",SwigwxRadioButtonTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxRadioButton",SwigwxRadioButtonTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxRadioBox",SwigwxRadioBoxTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxRadioBox",SwigwxRadioBoxTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxStaticBitmap",SwigwxStaticBitmapTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxStaticBitmap",SwigwxStaticBitmapTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxSpinButton",SwigwxSpinButtonTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxSpinButton",SwigwxSpinButtonTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxScrollBar",SwigwxScrollBarTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxScrollBar",SwigwxScrollBarTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxTextCtrl",SwigwxTextCtrlTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxTextCtrl",SwigwxTextCtrlTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxCheckListBox",SwigwxCheckListBoxTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxCheckListBox",SwigwxCheckListBoxTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxListBox",SwigwxListBoxTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxListBox",SwigwxListBoxTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxStaticText",SwigwxStaticTextTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxStaticText",SwigwxStaticTextTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxStaticLine",SwigwxStaticLineTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxStaticLine",SwigwxStaticLineTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxStaticBox",SwigwxStaticBoxTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxStaticBox",SwigwxStaticBoxTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxGauge",SwigwxGaugeTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxGauge",SwigwxGaugeTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxComboBox",SwigwxComboBoxTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxComboBox",SwigwxComboBoxTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxChoice",SwigwxChoiceTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxChoice",SwigwxChoiceTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxCheckBox",SwigwxCheckBoxTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxCheckBox",SwigwxCheckBoxTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxBitmapButton",SwigwxBitmapButtonTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxBitmapButton",SwigwxBitmapButtonTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxButton",SwigwxButtonTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxButton",SwigwxButtonTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxControl",SwigwxControlTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxControl",SwigwxControlTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxEvtHandler",0},
+    { "_wxPaintEvent","_class_wxPaintEvent",0},
+    { "_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0},
+    { "_wxCursor","_class_wxCursor",0},
+    { "_wxNotifyEvent","_class_wxNotifyEvent",0},
+    { "_wxMask","_class_wxMask",0},
+    { "_wxPen","_class_wxPen",0},
+    { "_wxUpdateUIEvent","_class_wxUpdateUIEvent",0},
+    { "_byte","_unsigned_char",0},
+    { "_wxStaticBox","_class_wxStaticBox",0},
+    { "_wxChoice","_class_wxComboBox",SwigwxComboBoxTowxChoice},
+    { "_wxChoice","_wxComboBox",SwigwxComboBoxTowxChoice},
+    { "_wxChoice","_class_wxChoice",0},
+    { "_wxSlider","_class_wxSlider",0},
+    { "_long","_wxDash",0},
+    { "_long","_unsigned_long",0},
+    { "_long","_signed_long",0},
+    { "_wxImageList","_class_wxImageList",0},
+    { "_wxDropFilesEvent","_class_wxDropFilesEvent",0},
+    { "_wxBitmapButton","_class_wxBitmapButton",0},
+    { "_class_wxAcceleratorTable","_wxAcceleratorTable",0},
+    { "_class_wxGauge","_wxGauge",0},
+    { "_wxDC","_class_wxDC",0},
+    { "_wxSpinEvent","_class_wxSpinEvent",0},
+    { "_size_t","_wxPrintQuality",0},
+    { "_size_t","_unsigned_int",0},
+    { "_size_t","_int",0},
+    { "_size_t","_wxWindowID",0},
+    { "_size_t","_uint",0},
+    { "_class_wxRealPoint","_wxRealPoint",0},
+    { "_class_wxMenuItem","_wxMenuItem",0},
+    { "_class_wxPaintEvent","_wxPaintEvent",0},
+    { "_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0},
+    { "_class_wxPostScriptDC","_wxPostScriptDC",0},
+    { "_wxPanel","_class_wxPanel",0},
+    { "_wxInitDialogEvent","_class_wxInitDialogEvent",0},
+    { "_wxCheckBox","_class_wxCheckBox",0},
+    { "_wxPyEvent","_class_wxPyEvent",0},
+    { "_wxTextCtrl","_class_wxTextCtrl",0},
+    { "_class_wxMask","_wxMask",0},
+    { "_class_wxKeyEvent","_wxKeyEvent",0},
+    { "_wxColour","_class_wxColour",0},
+    { "_class_wxDialog","_wxDialog",0},
+    { "_wxIdleEvent","_class_wxIdleEvent",0},
+    { "_class_wxUpdateUIEvent","_wxUpdateUIEvent",0},
+    { "_wxStaticLine","_class_wxStaticLine",0},
+    { "_wxBrush","_class_wxBrush",0},
+    { "_wxShowEvent","_class_wxShowEvent",0},
+    { "_uint","_wxPrintQuality",0},
+    { "_uint","_size_t",0},
+    { "_uint","_unsigned_int",0},
+    { "_uint","_int",0},
+    { "_uint","_wxWindowID",0},
+    { "_class_wxEvent","_wxEvent",0},
+    { "_wxCheckListBox","_class_wxCheckListBox",0},
+    { "_wxRect","_class_wxRect",0},
+    { "_wxCommandEvent","_class_wxCommandEvent",0},
+    { "_wxSizeEvent","_class_wxSizeEvent",0},
+    { "_wxPoint","_class_wxPoint",0},
+    { "_class_wxButton","_class_wxBitmapButton",SwigwxBitmapButtonTowxButton},
+    { "_class_wxButton","_wxBitmapButton",SwigwxBitmapButtonTowxButton},
+    { "_class_wxButton","_wxButton",0},
+    { "_wxRadioBox","_class_wxRadioBox",0},
+    { "_wxBitmap","_class_wxBitmap",0},
+    { "_wxPyTimer","_class_wxPyTimer",0},
+    { "_wxWindowDC","_class_wxWindowDC",0},
+    { "_wxScrollBar","_class_wxScrollBar",0},
+    { "_wxSpinButton","_class_wxSpinButton",0},
+    { "_class_wxIndividualLayoutConstraint","_wxIndividualLayoutConstraint",0},
+    { "_class_wxNotifyEvent","_wxNotifyEvent",0},
+    { "_class_wxPyEvent","_wxPyEvent",0},
+    { "_class_wxIconizeEvent","_wxIconizeEvent",0},
+    { "_class_wxStaticBitmap","_wxStaticBitmap",0},
+    { "_class_wxStaticLine","_wxStaticLine",0},
+    { "_wxScrollEvent","_class_wxScrollEvent",0},
+    { "_EBool","_wxPrintQuality",0},
+    { "_EBool","_signed_int",0},
+    { "_EBool","_int",0},
+    { "_EBool","_wxWindowID",0},
+    { "_class_wxRegion","_wxRegion",0},
+    { "_class_wxDropFilesEvent","_wxDropFilesEvent",0},
+    { "_wxStaticText","_class_wxStaticText",0},
+    { "_wxFont","_class_wxFont",0},
+    { "_wxCloseEvent","_class_wxCloseEvent",0},
+    { "_unsigned_long","_wxDash",0},
+    { "_unsigned_long","_long",0},
+    { "_class_wxRect","_wxRect",0},
+    { "_class_wxDC","_wxDC",0},
+    { "_class_wxPyTimer","_wxPyTimer",0},
+    { "_wxFocusEvent","_class_wxFocusEvent",0},
+    { "_wxMaximizeEvent","_class_wxMaximizeEvent",0},
+    { "_class_wxSpinButton","_wxSpinButton",0},
+    { "_wxAcceleratorEntry","_class_wxAcceleratorEntry",0},
+    { "_class_wxPanel","_wxPanel",0},
+    { "_class_wxCheckBox","_wxCheckBox",0},
+    { "_wxComboBox","_class_wxComboBox",0},
+    { "_wxRadioButton","_class_wxRadioButton",0},
+    { "_signed_int","_wxPrintQuality",0},
+    { "_signed_int","_EBool",0},
+    { "_signed_int","_wxWindowID",0},
+    { "_signed_int","_int",0},
+    { "_class_wxTextCtrl","_wxTextCtrl",0},
+    { "_wxLayoutConstraints","_class_wxLayoutConstraints",0},
+    { "_wxMenu","_class_wxMenu",0},
+    { "_class_wxMoveEvent","_wxMoveEvent",0},
+    { "_wxListBox","_class_wxCheckListBox",SwigwxCheckListBoxTowxListBox},
+    { "_wxListBox","_wxCheckListBox",SwigwxCheckListBoxTowxListBox},
+    { "_wxListBox","_class_wxListBox",0},
+    { "_wxScreenDC","_class_wxScreenDC",0},
+    { "_WXTYPE","_short",0},
+    { "_WXTYPE","_signed_short",0},
+    { "_WXTYPE","_unsigned_short",0},
+    { "_class_wxBrush","_wxBrush",0},
+    { "_unsigned_short","_WXTYPE",0},
+    { "_unsigned_short","_short",0},
+    { "_class_wxWindow","_class_wxSlider",SwigwxSliderTowxWindow},
+    { "_class_wxWindow","_wxSlider",SwigwxSliderTowxWindow},
+    { "_class_wxWindow","_class_wxRadioButton",SwigwxRadioButtonTowxWindow},
+    { "_class_wxWindow","_wxRadioButton",SwigwxRadioButtonTowxWindow},
+    { "_class_wxWindow","_class_wxRadioBox",SwigwxRadioBoxTowxWindow},
+    { "_class_wxWindow","_wxRadioBox",SwigwxRadioBoxTowxWindow},
+    { "_class_wxWindow","_class_wxStaticBitmap",SwigwxStaticBitmapTowxWindow},
+    { "_class_wxWindow","_wxStaticBitmap",SwigwxStaticBitmapTowxWindow},
+    { "_class_wxWindow","_class_wxSpinButton",SwigwxSpinButtonTowxWindow},
+    { "_class_wxWindow","_wxSpinButton",SwigwxSpinButtonTowxWindow},
+    { "_class_wxWindow","_class_wxScrollBar",SwigwxScrollBarTowxWindow},
+    { "_class_wxWindow","_wxScrollBar",SwigwxScrollBarTowxWindow},
+    { "_class_wxWindow","_class_wxTextCtrl",SwigwxTextCtrlTowxWindow},
+    { "_class_wxWindow","_wxTextCtrl",SwigwxTextCtrlTowxWindow},
+    { "_class_wxWindow","_class_wxCheckListBox",SwigwxCheckListBoxTowxWindow},
+    { "_class_wxWindow","_wxCheckListBox",SwigwxCheckListBoxTowxWindow},
+    { "_class_wxWindow","_class_wxListBox",SwigwxListBoxTowxWindow},
+    { "_class_wxWindow","_wxListBox",SwigwxListBoxTowxWindow},
+    { "_class_wxWindow","_class_wxStaticText",SwigwxStaticTextTowxWindow},
+    { "_class_wxWindow","_wxStaticText",SwigwxStaticTextTowxWindow},
+    { "_class_wxWindow","_class_wxStaticLine",SwigwxStaticLineTowxWindow},
+    { "_class_wxWindow","_wxStaticLine",SwigwxStaticLineTowxWindow},
+    { "_class_wxWindow","_class_wxStaticBox",SwigwxStaticBoxTowxWindow},
+    { "_class_wxWindow","_wxStaticBox",SwigwxStaticBoxTowxWindow},
+    { "_class_wxWindow","_class_wxGauge",SwigwxGaugeTowxWindow},
+    { "_class_wxWindow","_wxGauge",SwigwxGaugeTowxWindow},
+    { "_class_wxWindow","_class_wxComboBox",SwigwxComboBoxTowxWindow},
+    { "_class_wxWindow","_wxComboBox",SwigwxComboBoxTowxWindow},
+    { "_class_wxWindow","_class_wxChoice",SwigwxChoiceTowxWindow},
+    { "_class_wxWindow","_wxChoice",SwigwxChoiceTowxWindow},
+    { "_class_wxWindow","_class_wxCheckBox",SwigwxCheckBoxTowxWindow},
+    { "_class_wxWindow","_wxCheckBox",SwigwxCheckBoxTowxWindow},
+    { "_class_wxWindow","_class_wxBitmapButton",SwigwxBitmapButtonTowxWindow},
+    { "_class_wxWindow","_wxBitmapButton",SwigwxBitmapButtonTowxWindow},
+    { "_class_wxWindow","_class_wxButton",SwigwxButtonTowxWindow},
+    { "_class_wxWindow","_wxButton",SwigwxButtonTowxWindow},
+    { "_class_wxWindow","_class_wxControl",SwigwxControlTowxWindow},
+    { "_class_wxWindow","_wxControl",SwigwxControlTowxWindow},
+    { "_class_wxWindow","_wxWindow",0},
+    { "_class_wxStaticText","_wxStaticText",0},
+    { "_class_wxFont","_wxFont",0},
+    { "_class_wxCloseEvent","_wxCloseEvent",0},
+    { "_class_wxMenuEvent","_wxMenuEvent",0},
+    { "_wxClientDC","_class_wxClientDC",0},
+    { "_wxMouseEvent","_class_wxMouseEvent",0},
+    { "_class_wxPoint","_wxPoint",0},
+    { "_wxRealPoint","_class_wxRealPoint",0},
+    { "_class_wxRadioBox","_wxRadioBox",0},
+    { "_signed_short","_WXTYPE",0},
+    { "_signed_short","_short",0},
+    { "_wxMemoryDC","_class_wxMemoryDC",0},
+    { "_wxPaintDC","_class_wxPaintDC",0},
+    { "_class_wxWindowDC","_wxWindowDC",0},
+    { "_class_wxFocusEvent","_wxFocusEvent",0},
+    { "_class_wxMaximizeEvent","_wxMaximizeEvent",0},
+    { "_class_wxAcceleratorEntry","_wxAcceleratorEntry",0},
+    { "_class_wxCursor","_wxCursor",0},
+    { "_wxPostScriptDC","_class_wxPostScriptDC",0},
+    { "_wxScrolledWindow","_class_wxScrolledWindow",0},
+    { "_unsigned_char","_byte",0},
+    { "_class_wxMenu","_wxMenu",0},
+    { "_wxControl","_class_wxSlider",SwigwxSliderTowxControl},
+    { "_wxControl","_wxSlider",SwigwxSliderTowxControl},
+    { "_wxControl","_class_wxRadioButton",SwigwxRadioButtonTowxControl},
+    { "_wxControl","_wxRadioButton",SwigwxRadioButtonTowxControl},
+    { "_wxControl","_class_wxRadioBox",SwigwxRadioBoxTowxControl},
+    { "_wxControl","_wxRadioBox",SwigwxRadioBoxTowxControl},
+    { "_wxControl","_class_wxStaticBitmap",SwigwxStaticBitmapTowxControl},
+    { "_wxControl","_wxStaticBitmap",SwigwxStaticBitmapTowxControl},
+    { "_wxControl","_class_wxSpinButton",SwigwxSpinButtonTowxControl},
+    { "_wxControl","_wxSpinButton",SwigwxSpinButtonTowxControl},
+    { "_wxControl","_class_wxScrollBar",SwigwxScrollBarTowxControl},
+    { "_wxControl","_wxScrollBar",SwigwxScrollBarTowxControl},
+    { "_wxControl","_class_wxTextCtrl",SwigwxTextCtrlTowxControl},
+    { "_wxControl","_wxTextCtrl",SwigwxTextCtrlTowxControl},
+    { "_wxControl","_class_wxCheckListBox",SwigwxCheckListBoxTowxControl},
+    { "_wxControl","_wxCheckListBox",SwigwxCheckListBoxTowxControl},
+    { "_wxControl","_class_wxListBox",SwigwxListBoxTowxControl},
+    { "_wxControl","_wxListBox",SwigwxListBoxTowxControl},
+    { "_wxControl","_class_wxStaticText",SwigwxStaticTextTowxControl},
+    { "_wxControl","_wxStaticText",SwigwxStaticTextTowxControl},
+    { "_wxControl","_class_wxStaticLine",SwigwxStaticLineTowxControl},
+    { "_wxControl","_wxStaticLine",SwigwxStaticLineTowxControl},
+    { "_wxControl","_class_wxStaticBox",SwigwxStaticBoxTowxControl},
+    { "_wxControl","_wxStaticBox",SwigwxStaticBoxTowxControl},
+    { "_wxControl","_class_wxGauge",SwigwxGaugeTowxControl},
+    { "_wxControl","_wxGauge",SwigwxGaugeTowxControl},
+    { "_wxControl","_class_wxComboBox",SwigwxComboBoxTowxControl},
+    { "_wxControl","_wxComboBox",SwigwxComboBoxTowxControl},
+    { "_wxControl","_class_wxChoice",SwigwxChoiceTowxControl},
+    { "_wxControl","_wxChoice",SwigwxChoiceTowxControl},
+    { "_wxControl","_class_wxCheckBox",SwigwxCheckBoxTowxControl},
+    { "_wxControl","_wxCheckBox",SwigwxCheckBoxTowxControl},
+    { "_wxControl","_class_wxBitmapButton",SwigwxBitmapButtonTowxControl},
+    { "_wxControl","_wxBitmapButton",SwigwxBitmapButtonTowxControl},
+    { "_wxControl","_class_wxButton",SwigwxButtonTowxControl},
+    { "_wxControl","_wxButton",SwigwxButtonTowxControl},
+    { "_wxControl","_class_wxControl",0},
+    { "_class_wxListBox","_class_wxCheckListBox",SwigwxCheckListBoxTowxListBox},
+    { "_class_wxListBox","_wxCheckListBox",SwigwxCheckListBoxTowxListBox},
+    { "_class_wxListBox","_wxListBox",0},
+    { "_unsigned_int","_wxPrintQuality",0},
+    { "_unsigned_int","_size_t",0},
+    { "_unsigned_int","_uint",0},
+    { "_unsigned_int","_wxWindowID",0},
+    { "_unsigned_int","_int",0},
+    { "_wxIcon","_class_wxIcon",0},
+    { "_wxDialog","_class_wxDialog",0},
+    { "_class_wxPen","_wxPen",0},
+    { "_short","_WXTYPE",0},
+    { "_short","_unsigned_short",0},
+    { "_short","_signed_short",0},
+    { "_class_wxStaticBox","_wxStaticBox",0},
+    { "_class_wxScrollEvent","_wxScrollEvent",0},
+    { "_wxJoystickEvent","_class_wxJoystickEvent",0},
+    { "_class_wxChoice","_class_wxComboBox",SwigwxComboBoxTowxChoice},
+    { "_class_wxChoice","_wxComboBox",SwigwxComboBoxTowxChoice},
+    { "_class_wxChoice","_wxChoice",0},
+    { "_class_wxSlider","_wxSlider",0},
+    { "_class_wxImageList","_wxImageList",0},
+    { "_class_wxBitmapButton","_wxBitmapButton",0},
+    { "_wxWindowID","_wxPrintQuality",0},
+    { "_wxWindowID","_size_t",0},
+    { "_wxWindowID","_EBool",0},
+    { "_wxWindowID","_uint",0},
+    { "_wxWindowID","_int",0},
+    { "_wxWindowID","_signed_int",0},
+    { "_wxWindowID","_unsigned_int",0},
+    { "_int","_wxPrintQuality",0},
+    { "_int","_size_t",0},
+    { "_int","_EBool",0},
+    { "_int","_uint",0},
+    { "_int","_wxWindowID",0},
+    { "_int","_unsigned_int",0},
+    { "_int","_signed_int",0},
+    { "_class_wxMouseEvent","_wxMouseEvent",0},
+    { "_class_wxSpinEvent","_wxSpinEvent",0},
+    { "_wxButton","_class_wxBitmapButton",SwigwxBitmapButtonTowxButton},
+    { "_wxButton","_wxBitmapButton",SwigwxBitmapButtonTowxButton},
+    { "_wxButton","_class_wxButton",0},
+    { "_wxSize","_class_wxSize",0},
+    { "_wxRegionIterator","_class_wxRegionIterator",0},
+    { "_class_wxPaintDC","_wxPaintDC",0},
+    { "_class_wxSysColourChangedEvent","_wxSysColourChangedEvent",0},
+    { "_class_wxInitDialogEvent","_wxInitDialogEvent",0},
+    { "_class_wxComboBox","_wxComboBox",0},
+    { "_class_wxRadioButton","_wxRadioButton",0},
+    { "_class_wxLayoutConstraints","_wxLayoutConstraints",0},
+    { "_wxIconizeEvent","_class_wxIconizeEvent",0},
+    { "_class_wxControl","_class_wxSlider",SwigwxSliderTowxControl},
+    { "_class_wxControl","_wxSlider",SwigwxSliderTowxControl},
+    { "_class_wxControl","_class_wxRadioButton",SwigwxRadioButtonTowxControl},
+    { "_class_wxControl","_wxRadioButton",SwigwxRadioButtonTowxControl},
+    { "_class_wxControl","_class_wxRadioBox",SwigwxRadioBoxTowxControl},
+    { "_class_wxControl","_wxRadioBox",SwigwxRadioBoxTowxControl},
+    { "_class_wxControl","_class_wxStaticBitmap",SwigwxStaticBitmapTowxControl},
+    { "_class_wxControl","_wxStaticBitmap",SwigwxStaticBitmapTowxControl},
+    { "_class_wxControl","_class_wxSpinButton",SwigwxSpinButtonTowxControl},
+    { "_class_wxControl","_wxSpinButton",SwigwxSpinButtonTowxControl},
+    { "_class_wxControl","_class_wxScrollBar",SwigwxScrollBarTowxControl},
+    { "_class_wxControl","_wxScrollBar",SwigwxScrollBarTowxControl},
+    { "_class_wxControl","_class_wxTextCtrl",SwigwxTextCtrlTowxControl},
+    { "_class_wxControl","_wxTextCtrl",SwigwxTextCtrlTowxControl},
+    { "_class_wxControl","_class_wxCheckListBox",SwigwxCheckListBoxTowxControl},
+    { "_class_wxControl","_wxCheckListBox",SwigwxCheckListBoxTowxControl},
+    { "_class_wxControl","_class_wxListBox",SwigwxListBoxTowxControl},
+    { "_class_wxControl","_wxListBox",SwigwxListBoxTowxControl},
+    { "_class_wxControl","_class_wxStaticText",SwigwxStaticTextTowxControl},
+    { "_class_wxControl","_wxStaticText",SwigwxStaticTextTowxControl},
+    { "_class_wxControl","_class_wxStaticLine",SwigwxStaticLineTowxControl},
+    { "_class_wxControl","_wxStaticLine",SwigwxStaticLineTowxControl},
+    { "_class_wxControl","_class_wxStaticBox",SwigwxStaticBoxTowxControl},
+    { "_class_wxControl","_wxStaticBox",SwigwxStaticBoxTowxControl},
+    { "_class_wxControl","_class_wxGauge",SwigwxGaugeTowxControl},
+    { "_class_wxControl","_wxGauge",SwigwxGaugeTowxControl},
+    { "_class_wxControl","_class_wxComboBox",SwigwxComboBoxTowxControl},
+    { "_class_wxControl","_wxComboBox",SwigwxComboBoxTowxControl},
+    { "_class_wxControl","_class_wxChoice",SwigwxChoiceTowxControl},
+    { "_class_wxControl","_wxChoice",SwigwxChoiceTowxControl},
+    { "_class_wxControl","_class_wxCheckBox",SwigwxCheckBoxTowxControl},
+    { "_class_wxControl","_wxCheckBox",SwigwxCheckBoxTowxControl},
+    { "_class_wxControl","_class_wxBitmapButton",SwigwxBitmapButtonTowxControl},
+    { "_class_wxControl","_wxBitmapButton",SwigwxBitmapButtonTowxControl},
+    { "_class_wxControl","_class_wxButton",SwigwxButtonTowxControl},
+    { "_class_wxControl","_wxButton",SwigwxButtonTowxControl},
+    { "_class_wxControl","_wxControl",0},
+    { "_wxStaticBitmap","_class_wxStaticBitmap",0},
+    { "_class_wxIcon","_wxIcon",0},
+    { "_class_wxColour","_wxColour",0},
+    { "_class_wxScreenDC","_wxScreenDC",0},
+    { "_wxPalette","_class_wxPalette",0},
+    { "_class_wxIdleEvent","_wxIdleEvent",0},
+    { "_wxEraseEvent","_class_wxEraseEvent",0},
+    { "_class_wxJoystickEvent","_wxJoystickEvent",0},
+    { "_wxRegion","_class_wxRegion",0},
+    { "_class_wxShowEvent","_wxShowEvent",0},
+    { "_wxActivateEvent","_class_wxActivateEvent",0},
+    { "_wxGauge","_class_wxGauge",0},
+    { "_class_wxCheckListBox","_wxCheckListBox",0},
+    { "_class_wxCommandEvent","_wxCommandEvent",0},
+    { "_class_wxClientDC","_wxClientDC",0},
+    { "_class_wxSizeEvent","_wxSizeEvent",0},
+    { "_class_wxSize","_wxSize",0},
+    { "_class_wxBitmap","_wxBitmap",0},
+    { "_class_wxMemoryDC","_wxMemoryDC",0},
+    { "_wxMenuBar","_class_wxMenuBar",0},
+    { "_wxEvtHandler","_class_wxSlider",SwigwxSliderTowxEvtHandler},
+    { "_wxEvtHandler","_wxSlider",SwigwxSliderTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxRadioButton",SwigwxRadioButtonTowxEvtHandler},
+    { "_wxEvtHandler","_wxRadioButton",SwigwxRadioButtonTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxRadioBox",SwigwxRadioBoxTowxEvtHandler},
+    { "_wxEvtHandler","_wxRadioBox",SwigwxRadioBoxTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxStaticBitmap",SwigwxStaticBitmapTowxEvtHandler},
+    { "_wxEvtHandler","_wxStaticBitmap",SwigwxStaticBitmapTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxSpinButton",SwigwxSpinButtonTowxEvtHandler},
+    { "_wxEvtHandler","_wxSpinButton",SwigwxSpinButtonTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxScrollBar",SwigwxScrollBarTowxEvtHandler},
+    { "_wxEvtHandler","_wxScrollBar",SwigwxScrollBarTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxTextCtrl",SwigwxTextCtrlTowxEvtHandler},
+    { "_wxEvtHandler","_wxTextCtrl",SwigwxTextCtrlTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxCheckListBox",SwigwxCheckListBoxTowxEvtHandler},
+    { "_wxEvtHandler","_wxCheckListBox",SwigwxCheckListBoxTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxListBox",SwigwxListBoxTowxEvtHandler},
+    { "_wxEvtHandler","_wxListBox",SwigwxListBoxTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxStaticText",SwigwxStaticTextTowxEvtHandler},
+    { "_wxEvtHandler","_wxStaticText",SwigwxStaticTextTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxStaticLine",SwigwxStaticLineTowxEvtHandler},
+    { "_wxEvtHandler","_wxStaticLine",SwigwxStaticLineTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxStaticBox",SwigwxStaticBoxTowxEvtHandler},
+    { "_wxEvtHandler","_wxStaticBox",SwigwxStaticBoxTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxGauge",SwigwxGaugeTowxEvtHandler},
+    { "_wxEvtHandler","_wxGauge",SwigwxGaugeTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxComboBox",SwigwxComboBoxTowxEvtHandler},
+    { "_wxEvtHandler","_wxComboBox",SwigwxComboBoxTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxChoice",SwigwxChoiceTowxEvtHandler},
+    { "_wxEvtHandler","_wxChoice",SwigwxChoiceTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxCheckBox",SwigwxCheckBoxTowxEvtHandler},
+    { "_wxEvtHandler","_wxCheckBox",SwigwxCheckBoxTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxBitmapButton",SwigwxBitmapButtonTowxEvtHandler},
+    { "_wxEvtHandler","_wxBitmapButton",SwigwxBitmapButtonTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxButton",SwigwxButtonTowxEvtHandler},
+    { "_wxEvtHandler","_wxButton",SwigwxButtonTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxControl",SwigwxControlTowxEvtHandler},
+    { "_wxEvtHandler","_wxControl",SwigwxControlTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxEvtHandler",0},
+    { "_wxMenuItem","_class_wxMenuItem",0},
+    { "_class_wxScrollBar","_wxScrollBar",0},
+    { "_wxDash","_unsigned_long",0},
+    { "_wxDash","_long",0},
+    { "_class_wxScrolledWindow","_wxScrolledWindow",0},
+    { "_wxKeyEvent","_class_wxKeyEvent",0},
+    { "_wxMoveEvent","_class_wxMoveEvent",0},
+    { "_class_wxPalette","_wxPalette",0},
+    { "_class_wxEraseEvent","_wxEraseEvent",0},
+    { "_wxWindow","_class_wxSlider",SwigwxSliderTowxWindow},
+    { "_wxWindow","_wxSlider",SwigwxSliderTowxWindow},
+    { "_wxWindow","_class_wxRadioButton",SwigwxRadioButtonTowxWindow},
+    { "_wxWindow","_wxRadioButton",SwigwxRadioButtonTowxWindow},
+    { "_wxWindow","_class_wxRadioBox",SwigwxRadioBoxTowxWindow},
+    { "_wxWindow","_wxRadioBox",SwigwxRadioBoxTowxWindow},
+    { "_wxWindow","_class_wxStaticBitmap",SwigwxStaticBitmapTowxWindow},
+    { "_wxWindow","_wxStaticBitmap",SwigwxStaticBitmapTowxWindow},
+    { "_wxWindow","_class_wxSpinButton",SwigwxSpinButtonTowxWindow},
+    { "_wxWindow","_wxSpinButton",SwigwxSpinButtonTowxWindow},
+    { "_wxWindow","_class_wxScrollBar",SwigwxScrollBarTowxWindow},
+    { "_wxWindow","_wxScrollBar",SwigwxScrollBarTowxWindow},
+    { "_wxWindow","_class_wxTextCtrl",SwigwxTextCtrlTowxWindow},
+    { "_wxWindow","_wxTextCtrl",SwigwxTextCtrlTowxWindow},
+    { "_wxWindow","_class_wxCheckListBox",SwigwxCheckListBoxTowxWindow},
+    { "_wxWindow","_wxCheckListBox",SwigwxCheckListBoxTowxWindow},
+    { "_wxWindow","_class_wxListBox",SwigwxListBoxTowxWindow},
+    { "_wxWindow","_wxListBox",SwigwxListBoxTowxWindow},
+    { "_wxWindow","_class_wxStaticText",SwigwxStaticTextTowxWindow},
+    { "_wxWindow","_wxStaticText",SwigwxStaticTextTowxWindow},
+    { "_wxWindow","_class_wxStaticLine",SwigwxStaticLineTowxWindow},
+    { "_wxWindow","_wxStaticLine",SwigwxStaticLineTowxWindow},
+    { "_wxWindow","_class_wxStaticBox",SwigwxStaticBoxTowxWindow},
+    { "_wxWindow","_wxStaticBox",SwigwxStaticBoxTowxWindow},
+    { "_wxWindow","_class_wxGauge",SwigwxGaugeTowxWindow},
+    { "_wxWindow","_wxGauge",SwigwxGaugeTowxWindow},
+    { "_wxWindow","_class_wxComboBox",SwigwxComboBoxTowxWindow},
+    { "_wxWindow","_wxComboBox",SwigwxComboBoxTowxWindow},
+    { "_wxWindow","_class_wxChoice",SwigwxChoiceTowxWindow},
+    { "_wxWindow","_wxChoice",SwigwxChoiceTowxWindow},
+    { "_wxWindow","_class_wxCheckBox",SwigwxCheckBoxTowxWindow},
+    { "_wxWindow","_wxCheckBox",SwigwxCheckBoxTowxWindow},
+    { "_wxWindow","_class_wxBitmapButton",SwigwxBitmapButtonTowxWindow},
+    { "_wxWindow","_wxBitmapButton",SwigwxBitmapButtonTowxWindow},
+    { "_wxWindow","_class_wxButton",SwigwxButtonTowxWindow},
+    { "_wxWindow","_wxButton",SwigwxButtonTowxWindow},
+    { "_wxWindow","_class_wxControl",SwigwxControlTowxWindow},
+    { "_wxWindow","_wxControl",SwigwxControlTowxWindow},
+    { "_wxWindow","_class_wxWindow",0},
+{0,0,0}};
+
 static PyObject *SWIG_globals;
 #ifdef __cplusplus
 extern "C" 
 #endif
 static PyObject *SWIG_globals;
 #ifdef __cplusplus
 extern "C" 
 #endif
-SWIGEXPORT(void,initcontrolsc)() {
+SWIGEXPORT(void) initcontrolsc() {
         PyObject *m, *d;
         SWIG_globals = SWIG_newvarlink();
         m = Py_InitModule("controlsc", controlscMethods);
         d = PyModule_GetDict(m);
         PyObject *m, *d;
         SWIG_globals = SWIG_newvarlink();
         m = Py_InitModule("controlsc", controlscMethods);
         d = PyModule_GetDict(m);
-/*
- * These are the pointer type-equivalency mappings. 
- * (Used by the SWIG pointer type-checker).
- */
-        SWIG_RegisterMapping("_wxAcceleratorTable","_class_wxAcceleratorTable",0);
-        SWIG_RegisterMapping("_wxEvent","_class_wxEvent",0);
-        SWIG_RegisterMapping("_class_wxActivateEvent","_wxActivateEvent",0);
-        SWIG_RegisterMapping("_signed_long","_long",0);
-        SWIG_RegisterMapping("_wxMenuEvent","_class_wxMenuEvent",0);
-        SWIG_RegisterMapping("_class_wxMenuBar","_wxMenuBar",0);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxSlider",SwigwxSliderTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxSlider",SwigwxSliderTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxRadioButton",SwigwxRadioButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxRadioButton",SwigwxRadioButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxRadioBox",SwigwxRadioBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxRadioBox",SwigwxRadioBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxStaticBitmap",SwigwxStaticBitmapTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxStaticBitmap",SwigwxStaticBitmapTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxSpinButton",SwigwxSpinButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxSpinButton",SwigwxSpinButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxScrollBar",SwigwxScrollBarTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxScrollBar",SwigwxScrollBarTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxTextCtrl",SwigwxTextCtrlTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxTextCtrl",SwigwxTextCtrlTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxListBox",SwigwxListBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxListBox",SwigwxListBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxStaticText",SwigwxStaticTextTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxStaticText",SwigwxStaticTextTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxStaticBox",SwigwxStaticBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxStaticBox",SwigwxStaticBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxGauge",SwigwxGaugeTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxGauge",SwigwxGaugeTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxComboBox",SwigwxComboBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxComboBox",SwigwxComboBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxChoice",SwigwxChoiceTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxChoice",SwigwxChoiceTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxCheckBox",SwigwxCheckBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxCheckBox",SwigwxCheckBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxBitmapButton",SwigwxBitmapButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxBitmapButton",SwigwxBitmapButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxButton",SwigwxButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxButton",SwigwxButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_class_wxControl",SwigwxControlTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxControl",SwigwxControlTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxEvtHandler",0);
-        SWIG_RegisterMapping("_wxPaintEvent","_class_wxPaintEvent",0);
-        SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0);
-        SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0);
-        SWIG_RegisterMapping("_wxMask","_class_wxMask",0);
-        SWIG_RegisterMapping("_wxPyMenu","_class_wxPyMenu",0);
-        SWIG_RegisterMapping("_wxPen","_class_wxPen",0);
-        SWIG_RegisterMapping("_wxUpdateUIEvent","_class_wxUpdateUIEvent",0);
-        SWIG_RegisterMapping("_byte","_unsigned_char",0);
-        SWIG_RegisterMapping("_wxStaticBox","_class_wxStaticBox",0);
-        SWIG_RegisterMapping("_wxChoice","_class_wxChoice",0);
-        SWIG_RegisterMapping("_wxSlider","_class_wxSlider",0);
-        SWIG_RegisterMapping("_long","_wxDash",0);
-        SWIG_RegisterMapping("_long","_unsigned_long",0);
-        SWIG_RegisterMapping("_long","_signed_long",0);
-        SWIG_RegisterMapping("_wxDropFilesEvent","_class_wxDropFilesEvent",0);
-        SWIG_RegisterMapping("_wxBitmapButton","_class_wxBitmapButton",0);
-        SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0);
-        SWIG_RegisterMapping("_class_wxGauge","_wxGauge",0);
-        SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
-        SWIG_RegisterMapping("_wxSpinEvent","_class_wxSpinEvent",0);
-        SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
-        SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
-        SWIG_RegisterMapping("_class_wxPaintEvent","_wxPaintEvent",0);
-        SWIG_RegisterMapping("_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0);
-        SWIG_RegisterMapping("_class_wxPostScriptDC","_wxPostScriptDC",0);
-        SWIG_RegisterMapping("_wxPanel","_class_wxPanel",0);
-        SWIG_RegisterMapping("_wxInitDialogEvent","_class_wxInitDialogEvent",0);
-        SWIG_RegisterMapping("_wxCheckBox","_class_wxCheckBox",0);
-        SWIG_RegisterMapping("_wxTextCtrl","_class_wxTextCtrl",0);
-        SWIG_RegisterMapping("_class_wxMask","_wxMask",0);
-        SWIG_RegisterMapping("_class_wxKeyEvent","_wxKeyEvent",0);
-        SWIG_RegisterMapping("_wxColour","_class_wxColour",0);
-        SWIG_RegisterMapping("_class_wxDialog","_wxDialog",0);
-        SWIG_RegisterMapping("_wxIdleEvent","_class_wxIdleEvent",0);
-        SWIG_RegisterMapping("_class_wxUpdateUIEvent","_wxUpdateUIEvent",0);
-        SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0);
-        SWIG_RegisterMapping("_wxShowEvent","_class_wxShowEvent",0);
-        SWIG_RegisterMapping("_uint","_unsigned_int",0);
-        SWIG_RegisterMapping("_uint","_int",0);
-        SWIG_RegisterMapping("_uint","_wxWindowID",0);
-        SWIG_RegisterMapping("_class_wxEvent","_wxEvent",0);
-        SWIG_RegisterMapping("_wxRect","_class_wxRect",0);
-        SWIG_RegisterMapping("_wxCommandEvent","_class_wxCommandEvent",0);
-        SWIG_RegisterMapping("_wxSizeEvent","_class_wxSizeEvent",0);
-        SWIG_RegisterMapping("_wxPoint","_class_wxPoint",0);
-        SWIG_RegisterMapping("_class_wxButton","_class_wxBitmapButton",SwigwxBitmapButtonTowxButton);
-        SWIG_RegisterMapping("_class_wxButton","_wxBitmapButton",SwigwxBitmapButtonTowxButton);
-        SWIG_RegisterMapping("_class_wxButton","_wxButton",0);
-        SWIG_RegisterMapping("_wxRadioBox","_class_wxRadioBox",0);
-        SWIG_RegisterMapping("_wxBitmap","_class_wxBitmap",0);
-        SWIG_RegisterMapping("_wxPyTimer","_class_wxPyTimer",0);
-        SWIG_RegisterMapping("_wxScrollBar","_class_wxScrollBar",0);
-        SWIG_RegisterMapping("_wxSpinButton","_class_wxSpinButton",0);
-        SWIG_RegisterMapping("_class_wxIndividualLayoutConstraint","_wxIndividualLayoutConstraint",0);
-        SWIG_RegisterMapping("_class_wxIconizeEvent","_wxIconizeEvent",0);
-        SWIG_RegisterMapping("_class_wxStaticBitmap","_wxStaticBitmap",0);
-        SWIG_RegisterMapping("_wxScrollEvent","_class_wxScrollEvent",0);
-        SWIG_RegisterMapping("_EBool","_signed_int",0);
-        SWIG_RegisterMapping("_EBool","_int",0);
-        SWIG_RegisterMapping("_EBool","_wxWindowID",0);
-        SWIG_RegisterMapping("_class_wxDropFilesEvent","_wxDropFilesEvent",0);
-        SWIG_RegisterMapping("_wxStaticText","_class_wxStaticText",0);
-        SWIG_RegisterMapping("_wxFont","_class_wxFont",0);
-        SWIG_RegisterMapping("_wxCloseEvent","_class_wxCloseEvent",0);
-        SWIG_RegisterMapping("_unsigned_long","_wxDash",0);
-        SWIG_RegisterMapping("_unsigned_long","_long",0);
-        SWIG_RegisterMapping("_class_wxRect","_wxRect",0);
-        SWIG_RegisterMapping("_class_wxDC","_wxDC",0);
-        SWIG_RegisterMapping("_class_wxPyTimer","_wxPyTimer",0);
-        SWIG_RegisterMapping("_wxFocusEvent","_class_wxFocusEvent",0);
-        SWIG_RegisterMapping("_wxMaximizeEvent","_class_wxMaximizeEvent",0);
-        SWIG_RegisterMapping("_class_wxSpinButton","_wxSpinButton",0);
-        SWIG_RegisterMapping("_wxAcceleratorEntry","_class_wxAcceleratorEntry",0);
-        SWIG_RegisterMapping("_class_wxPanel","_wxPanel",0);
-        SWIG_RegisterMapping("_class_wxCheckBox","_wxCheckBox",0);
-        SWIG_RegisterMapping("_wxComboBox","_class_wxComboBox",0);
-        SWIG_RegisterMapping("_wxRadioButton","_class_wxRadioButton",0);
-        SWIG_RegisterMapping("_signed_int","_EBool",0);
-        SWIG_RegisterMapping("_signed_int","_wxWindowID",0);
-        SWIG_RegisterMapping("_signed_int","_int",0);
-        SWIG_RegisterMapping("_class_wxTextCtrl","_wxTextCtrl",0);
-        SWIG_RegisterMapping("_wxLayoutConstraints","_class_wxLayoutConstraints",0);
-        SWIG_RegisterMapping("_wxMenu","_class_wxMenu",0);
-        SWIG_RegisterMapping("_class_wxMoveEvent","_wxMoveEvent",0);
-        SWIG_RegisterMapping("_wxListBox","_class_wxListBox",0);
-        SWIG_RegisterMapping("_wxScreenDC","_class_wxScreenDC",0);
-        SWIG_RegisterMapping("_WXTYPE","_short",0);
-        SWIG_RegisterMapping("_WXTYPE","_signed_short",0);
-        SWIG_RegisterMapping("_WXTYPE","_unsigned_short",0);
-        SWIG_RegisterMapping("_class_wxBrush","_wxBrush",0);
-        SWIG_RegisterMapping("_unsigned_short","_WXTYPE",0);
-        SWIG_RegisterMapping("_unsigned_short","_short",0);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxSlider",SwigwxSliderTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxSlider",SwigwxSliderTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxRadioButton",SwigwxRadioButtonTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxRadioButton",SwigwxRadioButtonTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxRadioBox",SwigwxRadioBoxTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxRadioBox",SwigwxRadioBoxTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxStaticBitmap",SwigwxStaticBitmapTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxStaticBitmap",SwigwxStaticBitmapTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxSpinButton",SwigwxSpinButtonTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxSpinButton",SwigwxSpinButtonTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxScrollBar",SwigwxScrollBarTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxScrollBar",SwigwxScrollBarTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxTextCtrl",SwigwxTextCtrlTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxTextCtrl",SwigwxTextCtrlTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxListBox",SwigwxListBoxTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxListBox",SwigwxListBoxTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxStaticText",SwigwxStaticTextTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxStaticText",SwigwxStaticTextTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxStaticBox",SwigwxStaticBoxTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxStaticBox",SwigwxStaticBoxTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxGauge",SwigwxGaugeTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxGauge",SwigwxGaugeTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxComboBox",SwigwxComboBoxTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxComboBox",SwigwxComboBoxTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxChoice",SwigwxChoiceTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxChoice",SwigwxChoiceTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxCheckBox",SwigwxCheckBoxTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxCheckBox",SwigwxCheckBoxTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxBitmapButton",SwigwxBitmapButtonTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxBitmapButton",SwigwxBitmapButtonTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxButton",SwigwxButtonTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxButton",SwigwxButtonTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_class_wxControl",SwigwxControlTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxControl",SwigwxControlTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxWindow",0);
-        SWIG_RegisterMapping("_class_wxStaticText","_wxStaticText",0);
-        SWIG_RegisterMapping("_class_wxFont","_wxFont",0);
-        SWIG_RegisterMapping("_class_wxCloseEvent","_wxCloseEvent",0);
-        SWIG_RegisterMapping("_class_wxMenuEvent","_wxMenuEvent",0);
-        SWIG_RegisterMapping("_wxClientDC","_class_wxClientDC",0);
-        SWIG_RegisterMapping("_wxMouseEvent","_class_wxMouseEvent",0);
-        SWIG_RegisterMapping("_class_wxPoint","_wxPoint",0);
-        SWIG_RegisterMapping("_wxRealPoint","_class_wxRealPoint",0);
-        SWIG_RegisterMapping("_class_wxRadioBox","_wxRadioBox",0);
-        SWIG_RegisterMapping("_signed_short","_WXTYPE",0);
-        SWIG_RegisterMapping("_signed_short","_short",0);
-        SWIG_RegisterMapping("_wxMemoryDC","_class_wxMemoryDC",0);
-        SWIG_RegisterMapping("_wxPaintDC","_class_wxPaintDC",0);
-        SWIG_RegisterMapping("_class_wxFocusEvent","_wxFocusEvent",0);
-        SWIG_RegisterMapping("_class_wxMaximizeEvent","_wxMaximizeEvent",0);
-        SWIG_RegisterMapping("_class_wxAcceleratorEntry","_wxAcceleratorEntry",0);
-        SWIG_RegisterMapping("_class_wxCursor","_wxCursor",0);
-        SWIG_RegisterMapping("_wxPostScriptDC","_class_wxPostScriptDC",0);
-        SWIG_RegisterMapping("_wxScrolledWindow","_class_wxScrolledWindow",0);
-        SWIG_RegisterMapping("_unsigned_char","_byte",0);
-        SWIG_RegisterMapping("_class_wxMenu","_wxMenu",0);
-        SWIG_RegisterMapping("_wxControl","_class_wxSlider",SwigwxSliderTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxSlider",SwigwxSliderTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxRadioButton",SwigwxRadioButtonTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxRadioButton",SwigwxRadioButtonTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxRadioBox",SwigwxRadioBoxTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxRadioBox",SwigwxRadioBoxTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxStaticBitmap",SwigwxStaticBitmapTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxStaticBitmap",SwigwxStaticBitmapTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxSpinButton",SwigwxSpinButtonTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxSpinButton",SwigwxSpinButtonTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxScrollBar",SwigwxScrollBarTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxScrollBar",SwigwxScrollBarTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxTextCtrl",SwigwxTextCtrlTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxTextCtrl",SwigwxTextCtrlTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxListBox",SwigwxListBoxTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxListBox",SwigwxListBoxTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxStaticText",SwigwxStaticTextTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxStaticText",SwigwxStaticTextTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxStaticBox",SwigwxStaticBoxTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxStaticBox",SwigwxStaticBoxTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxGauge",SwigwxGaugeTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxGauge",SwigwxGaugeTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxComboBox",SwigwxComboBoxTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxComboBox",SwigwxComboBoxTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxChoice",SwigwxChoiceTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxChoice",SwigwxChoiceTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxCheckBox",SwigwxCheckBoxTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxCheckBox",SwigwxCheckBoxTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxBitmapButton",SwigwxBitmapButtonTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxBitmapButton",SwigwxBitmapButtonTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxButton",SwigwxButtonTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxButton",SwigwxButtonTowxControl);
-        SWIG_RegisterMapping("_wxControl","_class_wxControl",0);
-        SWIG_RegisterMapping("_class_wxListBox","_wxListBox",0);
-        SWIG_RegisterMapping("_unsigned_int","_uint",0);
-        SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
-        SWIG_RegisterMapping("_unsigned_int","_int",0);
-        SWIG_RegisterMapping("_wxIcon","_class_wxIcon",0);
-        SWIG_RegisterMapping("_wxDialog","_class_wxDialog",0);
-        SWIG_RegisterMapping("_class_wxPyMenu","_wxPyMenu",0);
-        SWIG_RegisterMapping("_class_wxPen","_wxPen",0);
-        SWIG_RegisterMapping("_short","_WXTYPE",0);
-        SWIG_RegisterMapping("_short","_unsigned_short",0);
-        SWIG_RegisterMapping("_short","_signed_short",0);
-        SWIG_RegisterMapping("_class_wxStaticBox","_wxStaticBox",0);
-        SWIG_RegisterMapping("_class_wxScrollEvent","_wxScrollEvent",0);
-        SWIG_RegisterMapping("_wxJoystickEvent","_class_wxJoystickEvent",0);
-        SWIG_RegisterMapping("_class_wxChoice","_wxChoice",0);
-        SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0);
-        SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0);
-        SWIG_RegisterMapping("_wxWindowID","_EBool",0);
-        SWIG_RegisterMapping("_wxWindowID","_uint",0);
-        SWIG_RegisterMapping("_wxWindowID","_int",0);
-        SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
-        SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
-        SWIG_RegisterMapping("_int","_EBool",0);
-        SWIG_RegisterMapping("_int","_uint",0);
-        SWIG_RegisterMapping("_int","_wxWindowID",0);
-        SWIG_RegisterMapping("_int","_unsigned_int",0);
-        SWIG_RegisterMapping("_int","_signed_int",0);
-        SWIG_RegisterMapping("_class_wxMouseEvent","_wxMouseEvent",0);
-        SWIG_RegisterMapping("_class_wxSpinEvent","_wxSpinEvent",0);
-        SWIG_RegisterMapping("_wxButton","_class_wxBitmapButton",SwigwxBitmapButtonTowxButton);
-        SWIG_RegisterMapping("_wxButton","_wxBitmapButton",SwigwxBitmapButtonTowxButton);
-        SWIG_RegisterMapping("_wxButton","_class_wxButton",0);
-        SWIG_RegisterMapping("_wxSize","_class_wxSize",0);
-        SWIG_RegisterMapping("_class_wxPaintDC","_wxPaintDC",0);
-        SWIG_RegisterMapping("_class_wxSysColourChangedEvent","_wxSysColourChangedEvent",0);
-        SWIG_RegisterMapping("_class_wxInitDialogEvent","_wxInitDialogEvent",0);
-        SWIG_RegisterMapping("_class_wxComboBox","_wxComboBox",0);
-        SWIG_RegisterMapping("_class_wxRadioButton","_wxRadioButton",0);
-        SWIG_RegisterMapping("_class_wxLayoutConstraints","_wxLayoutConstraints",0);
-        SWIG_RegisterMapping("_wxIconizeEvent","_class_wxIconizeEvent",0);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxSlider",SwigwxSliderTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxSlider",SwigwxSliderTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxRadioButton",SwigwxRadioButtonTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxRadioButton",SwigwxRadioButtonTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxRadioBox",SwigwxRadioBoxTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxRadioBox",SwigwxRadioBoxTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxStaticBitmap",SwigwxStaticBitmapTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxStaticBitmap",SwigwxStaticBitmapTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxSpinButton",SwigwxSpinButtonTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxSpinButton",SwigwxSpinButtonTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxScrollBar",SwigwxScrollBarTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxScrollBar",SwigwxScrollBarTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxTextCtrl",SwigwxTextCtrlTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxTextCtrl",SwigwxTextCtrlTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxListBox",SwigwxListBoxTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxListBox",SwigwxListBoxTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxStaticText",SwigwxStaticTextTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxStaticText",SwigwxStaticTextTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxStaticBox",SwigwxStaticBoxTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxStaticBox",SwigwxStaticBoxTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxGauge",SwigwxGaugeTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxGauge",SwigwxGaugeTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxComboBox",SwigwxComboBoxTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxComboBox",SwigwxComboBoxTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxChoice",SwigwxChoiceTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxChoice",SwigwxChoiceTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxCheckBox",SwigwxCheckBoxTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxCheckBox",SwigwxCheckBoxTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxBitmapButton",SwigwxBitmapButtonTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxBitmapButton",SwigwxBitmapButtonTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_class_wxButton",SwigwxButtonTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxButton",SwigwxButtonTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxControl",0);
-        SWIG_RegisterMapping("_wxStaticBitmap","_class_wxStaticBitmap",0);
-        SWIG_RegisterMapping("_class_wxIcon","_wxIcon",0);
-        SWIG_RegisterMapping("_class_wxColour","_wxColour",0);
-        SWIG_RegisterMapping("_class_wxScreenDC","_wxScreenDC",0);
-        SWIG_RegisterMapping("_class_wxIdleEvent","_wxIdleEvent",0);
-        SWIG_RegisterMapping("_wxEraseEvent","_class_wxEraseEvent",0);
-        SWIG_RegisterMapping("_class_wxJoystickEvent","_wxJoystickEvent",0);
-        SWIG_RegisterMapping("_class_wxShowEvent","_wxShowEvent",0);
-        SWIG_RegisterMapping("_wxActivateEvent","_class_wxActivateEvent",0);
-        SWIG_RegisterMapping("_wxGauge","_class_wxGauge",0);
-        SWIG_RegisterMapping("_class_wxCommandEvent","_wxCommandEvent",0);
-        SWIG_RegisterMapping("_class_wxClientDC","_wxClientDC",0);
-        SWIG_RegisterMapping("_class_wxSizeEvent","_wxSizeEvent",0);
-        SWIG_RegisterMapping("_class_wxSize","_wxSize",0);
-        SWIG_RegisterMapping("_class_wxBitmap","_wxBitmap",0);
-        SWIG_RegisterMapping("_class_wxMemoryDC","_wxMemoryDC",0);
-        SWIG_RegisterMapping("_wxMenuBar","_class_wxMenuBar",0);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxSlider",SwigwxSliderTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxSlider",SwigwxSliderTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxRadioButton",SwigwxRadioButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxRadioButton",SwigwxRadioButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxRadioBox",SwigwxRadioBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxRadioBox",SwigwxRadioBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxStaticBitmap",SwigwxStaticBitmapTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxStaticBitmap",SwigwxStaticBitmapTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxSpinButton",SwigwxSpinButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxSpinButton",SwigwxSpinButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxScrollBar",SwigwxScrollBarTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxScrollBar",SwigwxScrollBarTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxTextCtrl",SwigwxTextCtrlTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxTextCtrl",SwigwxTextCtrlTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxListBox",SwigwxListBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxListBox",SwigwxListBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxStaticText",SwigwxStaticTextTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxStaticText",SwigwxStaticTextTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxStaticBox",SwigwxStaticBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxStaticBox",SwigwxStaticBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxGauge",SwigwxGaugeTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxGauge",SwigwxGaugeTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxComboBox",SwigwxComboBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxComboBox",SwigwxComboBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxChoice",SwigwxChoiceTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxChoice",SwigwxChoiceTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxCheckBox",SwigwxCheckBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxCheckBox",SwigwxCheckBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxBitmapButton",SwigwxBitmapButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxBitmapButton",SwigwxBitmapButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxButton",SwigwxButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxButton",SwigwxButtonTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxControl",SwigwxControlTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxControl",SwigwxControlTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_class_wxEvtHandler",0);
-        SWIG_RegisterMapping("_wxMenuItem","_class_wxMenuItem",0);
-        SWIG_RegisterMapping("_class_wxScrollBar","_wxScrollBar",0);
-        SWIG_RegisterMapping("_wxDash","_unsigned_long",0);
-        SWIG_RegisterMapping("_wxDash","_long",0);
-        SWIG_RegisterMapping("_class_wxScrolledWindow","_wxScrolledWindow",0);
-        SWIG_RegisterMapping("_wxKeyEvent","_class_wxKeyEvent",0);
-        SWIG_RegisterMapping("_wxMoveEvent","_class_wxMoveEvent",0);
-        SWIG_RegisterMapping("_class_wxEraseEvent","_wxEraseEvent",0);
-        SWIG_RegisterMapping("_wxWindow","_class_wxSlider",SwigwxSliderTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxSlider",SwigwxSliderTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxRadioButton",SwigwxRadioButtonTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxRadioButton",SwigwxRadioButtonTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxRadioBox",SwigwxRadioBoxTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxRadioBox",SwigwxRadioBoxTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxStaticBitmap",SwigwxStaticBitmapTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxStaticBitmap",SwigwxStaticBitmapTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxSpinButton",SwigwxSpinButtonTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxSpinButton",SwigwxSpinButtonTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxScrollBar",SwigwxScrollBarTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxScrollBar",SwigwxScrollBarTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxTextCtrl",SwigwxTextCtrlTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxTextCtrl",SwigwxTextCtrlTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxListBox",SwigwxListBoxTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxListBox",SwigwxListBoxTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxStaticText",SwigwxStaticTextTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxStaticText",SwigwxStaticTextTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxStaticBox",SwigwxStaticBoxTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxStaticBox",SwigwxStaticBoxTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxGauge",SwigwxGaugeTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxGauge",SwigwxGaugeTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxComboBox",SwigwxComboBoxTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxComboBox",SwigwxComboBoxTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxChoice",SwigwxChoiceTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxChoice",SwigwxChoiceTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxCheckBox",SwigwxCheckBoxTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxCheckBox",SwigwxCheckBoxTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxBitmapButton",SwigwxBitmapButtonTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxBitmapButton",SwigwxBitmapButtonTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxButton",SwigwxButtonTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxButton",SwigwxButtonTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxControl",SwigwxControlTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxControl",SwigwxControlTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_class_wxWindow",0);
+{
+   int i;
+   for (i = 0; _swig_mapping[i].n1; i++)
+        SWIG_RegisterMapping(_swig_mapping[i].n1,_swig_mapping[i].n2,_swig_mapping[i].pcnv);
+}
 }
 }