]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/msw/controls.cpp
Prep for wxPython 2.1b3 release
[wxWidgets.git] / utils / wxPython / src / msw / controls.cpp
index df26cc2d69e3c0b2e525a000ed2297dd6e198923..04d2f2523e21cda48b6af9b39cc9ead962d6bd2e 100644 (file)
@@ -3,7 +3,7 @@
  * 
  * This file was automatically generated by :
  * Simplified Wrapper and Interface Generator (SWIG)
- * Version 1.1 (Patch 5)
+ * Version 1.1 (Build 794)
  * 
  * 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)
-#      define SWIGEXPORT(a,b) __declspec(dllexport) a b
+#      define SWIGEXPORT(a) __declspec(dllexport) a
 #   else
 #      if defined(__BORLANDC__)
-#          define SWIGEXPORT(a,b) a _export b
+#          define SWIGEXPORT(a) a _export 
 #      else
-#          define SWIGEXPORT(a,b) a b
+#          define SWIGEXPORT(a) a 
 #      endif
 #   endif
 #else
-#   define SWIGEXPORT(a,b) a b
+#   define SWIGEXPORT(a) a 
 #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 char *SWIG_GetPtrObj(PyObject *, void **, char *);
 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"
@@ -56,6 +56,8 @@ extern PyObject *SWIG_newvarlink(void);
 #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
@@ -63,14 +65,20 @@ extern PyObject *SWIG_newvarlink(void);
 #endif
 #endif
 
+#ifdef __WXGTK__
+#include <wx/checklst.h>
+#endif
+
+
 static PyObject* l_output_helper(PyObject* target, PyObject* o) {
     PyObject*   o2;
-    if (!target) {
+    PyObject*   o3;
+    if (!target) {                   
         target = o;
-    } else if (target == Py_None) {
+    } else if (target == Py_None) {  
         Py_DECREF(Py_None);
         target = o;
-    } else {
+    } else {                         
         if (!PyList_Check(target)) {
             o2 = target;
             target = PyList_New(0);
@@ -87,23 +95,23 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) {
     PyObject*   o2;
     PyObject*   o3;
 
-    if (!target) {
+    if (!target) {                   
         target = o;
-    } else if (target == Py_None) {
+    } else if (target == Py_None) {  
         Py_DECREF(Py_None);
         target = o;
-    } else {
+    } else {                         
         if (!PyTuple_Check(target)) {
             o2 = target;
             target = PyTuple_New(1);
             PyTuple_SetItem(target, 0, o2);
         }
-        o3 = PyTuple_New(1);
-        PyTuple_SetItem(o3, 0, o);
+        o3 = PyTuple_New(1);            
+        PyTuple_SetItem(o3, 0, o);      
 
         o2 = target;
-        target = PySequence_Concat(o2, o3);
-        Py_DECREF(o2);
+        target = PySequence_Concat(o2, o3); 
+        Py_DECREF(o2);                      
         Py_DECREF(o3);
     }
     return target;
@@ -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
+#ifdef __cplusplus
+extern "C" {
+#endif
 static void *SwigwxControlTowxWindow(void *ptr) {
     wxControl *src;
     wxWindow *dest;
@@ -140,52 +151,65 @@ static void *SwigwxControlTowxEvtHandler(void *ptr) {
 }
 
 #define wxControl_Command(_swigobj,_swigarg0)  (_swigobj->Command(_swigarg0))
-static PyObject *_wrap_wxControl_Command(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxControl_Command(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxControl * _arg0;
     wxCommandEvent * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","event", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxControl_Command",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxControl_Command",_kwnames,&_argo0,&_argo1)) 
         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_Command. Expected _wxControl_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxCommandEvent_p")) {
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(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);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxControl_Command(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
 #define wxControl_GetLabel(_swigobj)  (_swigobj->GetLabel())
-static PyObject *_wrap_wxControl_GetLabel(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxControl_GetLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxControl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxControl_GetLabel",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxControl_GetLabel",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -195,18 +219,20 @@ static PyObject *_wrap_wxControl_GetLabel(PyObject *self, PyObject *args) {
 }
 
 #define wxControl_SetLabel(_swigobj,_swigarg0)  (_swigobj->SetLabel(_swigarg0))
-static PyObject *_wrap_wxControl_SetLabel(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxControl_SetLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxControl * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","label", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxControl_SetLabel",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxControl_SetLabel",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -216,10 +242,14 @@ static PyObject *_wrap_wxControl_SetLabel(PyObject *self, PyObject *args) {
         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)
@@ -253,29 +283,31 @@ static void *SwigwxButtonTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxButton(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7) (new wxButton(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7))
-static PyObject *_wrap_new_wxButton(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxButton(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxButton * _result;
     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;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
-    char * _argc6 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
+    PyObject * _argo6 = 0;
+    char *_kwnames[] = { "parent","id","label","pos","size","style","validator","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO|sslss:new_wxButton",&_argc0,&_arg1,&_obj2,&_argc3,&_argc4,&_arg5,&_argc6,&_arg7)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO|OOlOs:new_wxButton",_kwnames,&_argo0,&_arg1,&_obj2,&_argo3,&_argo4,&_arg5,&_argo6,&_arg7)) 
         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;
         }
@@ -285,29 +317,41 @@ static PyObject *_wrap_new_wxButton(PyObject *self, PyObject *args) {
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    _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;
@@ -316,22 +360,28 @@ static PyObject *_wrap_new_wxButton(PyObject *self, PyObject *args) {
 }
 
 #define wxButton_SetDefault(_swigobj)  (_swigobj->SetDefault())
-static PyObject *_wrap_wxButton_SetDefault(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxButton_SetDefault(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxButton_SetDefault",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxButton_SetDefault",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
@@ -369,271 +419,358 @@ static void *SwigwxBitmapButtonTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxBitmapButton(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7) (new wxBitmapButton(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7))
-static PyObject *_wrap_new_wxBitmapButton(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxBitmapButton(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxBitmapButton * _result;
     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 *_kwnames[] = { "parent","id","bitmap","pos","size","style","validator","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sis|sslss:new_wxBitmapButton",&_argc0,&_arg1,&_argc2,&_argc3,&_argc4,&_arg5,&_argc6,&_arg7)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO|OOlOs:new_wxBitmapButton",_kwnames,&_argo0,&_arg1,&_argo2,&_argo3,&_argo4,&_arg5,&_argo6,&_arg7)) 
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    _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;
 }
 
 #define wxBitmapButton_GetBitmapLabel(_swigobj)  (_swigobj->GetBitmapLabel())
-static PyObject *_wrap_wxBitmapButton_GetBitmapLabel(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxBitmapButton_GetBitmapLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxBitmap * _result;
     wxBitmapButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxBitmapButton_GetBitmapLabel",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmapButton_GetBitmapLabel",_kwnames,&_argo0)) 
         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;
         }
     }
-    wxBitmap & _result_ref = wxBitmapButton_GetBitmapLabel(_arg0);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmap & _result_ref = wxBitmapButton_GetBitmapLabel(_arg0);
     _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_GetBitmapDisabled(_swigobj)  (_swigobj->GetBitmapDisabled())
-static PyObject *_wrap_wxBitmapButton_GetBitmapDisabled(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxBitmapButton_GetBitmapDisabled(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxBitmap * _result;
     wxBitmapButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxBitmapButton_GetBitmapDisabled",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmapButton_GetBitmapDisabled",_kwnames,&_argo0)) 
         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_GetBitmapDisabled. Expected _wxBitmapButton_p.");
         return NULL;
         }
     }
-    wxBitmap & _result_ref = wxBitmapButton_GetBitmapDisabled(_arg0);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmap & _result_ref = wxBitmapButton_GetBitmapDisabled(_arg0);
     _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_GetBitmapFocus(_swigobj)  (_swigobj->GetBitmapFocus())
-static PyObject *_wrap_wxBitmapButton_GetBitmapFocus(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxBitmapButton_GetBitmapFocus(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxBitmap * _result;
     wxBitmapButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxBitmapButton_GetBitmapFocus",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmapButton_GetBitmapFocus",_kwnames,&_argo0)) 
         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_GetBitmapFocus. Expected _wxBitmapButton_p.");
         return NULL;
         }
     }
-    wxBitmap & _result_ref = wxBitmapButton_GetBitmapFocus(_arg0);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmap & _result_ref = wxBitmapButton_GetBitmapFocus(_arg0);
     _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_GetBitmapSelected(_swigobj)  (_swigobj->GetBitmapSelected())
-static PyObject *_wrap_wxBitmapButton_GetBitmapSelected(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxBitmapButton_GetBitmapSelected(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxBitmap * _result;
     wxBitmapButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxBitmapButton_GetBitmapSelected",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmapButton_GetBitmapSelected",_kwnames,&_argo0)) 
         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_GetBitmapSelected. Expected _wxBitmapButton_p.");
         return NULL;
         }
     }
-    wxBitmap & _result_ref = wxBitmapButton_GetBitmapSelected(_arg0);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmap & _result_ref = wxBitmapButton_GetBitmapSelected(_arg0);
     _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) {
+static PyObject *_wrap_wxBitmapButton_SetBitmapDisabled(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxBitmapButton * _arg0;
     wxBitmap * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","bitmap", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxBitmapButton_SetBitmapDisabled",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxBitmapButton_SetBitmapDisabled",_kwnames,&_argo0,&_argo1)) 
         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_SetBitmapDisabled. 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_SetBitmapDisabled. Expected _wxBitmap_p.");
         return NULL;
         }
     }
-    wxBitmapButton_SetBitmapDisabled(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    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) {
+static PyObject *_wrap_wxBitmapButton_SetBitmapFocus(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxBitmapButton * _arg0;
     wxBitmap * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","bitmap", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxBitmapButton_SetBitmapFocus",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxBitmapButton_SetBitmapFocus",_kwnames,&_argo0,&_argo1)) 
         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_SetBitmapFocus. 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_SetBitmapFocus. Expected _wxBitmap_p.");
         return NULL;
         }
     }
-    wxBitmapButton_SetBitmapFocus(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    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) {
+static PyObject *_wrap_wxBitmapButton_SetBitmapSelected(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxBitmapButton * _arg0;
     wxBitmap * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","bitmap", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxBitmapButton_SetBitmapSelected",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxBitmapButton_SetBitmapSelected",_kwnames,&_argo0,&_argo1)) 
         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_SetBitmapSelected. 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_SetBitmapSelected. Expected _wxBitmap_p.");
         return NULL;
         }
     }
-    wxBitmapButton_SetBitmapSelected(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBitmapButton_SetBitmapSelected(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
 #define wxBitmapButton_SetBitmapLabel(_swigobj,_swigarg0)  (_swigobj->SetBitmapLabel(_swigarg0))
-static PyObject *_wrap_wxBitmapButton_SetBitmapLabel(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxBitmapButton_SetBitmapLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxBitmapButton * _arg0;
     wxBitmap * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","bitmap", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxBitmapButton_SetBitmapLabel",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxBitmapButton_SetBitmapLabel",_kwnames,&_argo0,&_argo1)) 
         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;
         }
     }
-    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;
         }
     }
-    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;
 }
@@ -663,29 +800,31 @@ static void *SwigwxCheckBoxTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxCheckBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7) (new wxCheckBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7))
-static PyObject *_wrap_new_wxCheckBox(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxCheckBox(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxCheckBox * _result;
     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;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
-    char * _argc6 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
+    PyObject * _argo6 = 0;
+    char *_kwnames[] = { "parent","id","label","pos","size","style","val","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO|sslss:new_wxCheckBox",&_argc0,&_arg1,&_obj2,&_argc3,&_argc4,&_arg5,&_argc6,&_arg7)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO|OOlOs:new_wxCheckBox",_kwnames,&_argo0,&_arg1,&_obj2,&_argo3,&_argo4,&_arg5,&_argo6,&_arg7)) 
         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;
         }
@@ -695,29 +834,41 @@ static PyObject *_wrap_new_wxCheckBox(PyObject *self, PyObject *args) {
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    _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;
@@ -726,46 +877,58 @@ static PyObject *_wrap_new_wxCheckBox(PyObject *self, PyObject *args) {
 }
 
 #define wxCheckBox_GetValue(_swigobj)  (_swigobj->GetValue())
-static PyObject *_wrap_wxCheckBox_GetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxCheckBox_GetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxCheckBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxCheckBox_GetValue",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCheckBox_GetValue",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxCheckBox_SetValue(_swigobj,_swigarg0)  (_swigobj->SetValue(_swigarg0))
-static PyObject *_wrap_wxCheckBox_SetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxCheckBox_SetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxCheckBox * _arg0;
     bool  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool1;
+    char *_kwnames[] = { "self","state", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxCheckBox_SetValue",&_argc0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxCheckBox_SetValue",_kwnames,&_argo0,&tempbool1)) 
         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;
-    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;
 }
@@ -795,42 +958,46 @@ static void *SwigwxChoiceTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxChoice(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8) (new wxChoice(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8))
-static PyObject *_wrap_new_wxChoice(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxChoice(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     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;
-    char * _argc7 = 0;
+    PyObject * _argo7 = 0;
+    char *_kwnames[] = { "parent","id","pos","size","LIST","style","validator","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|ssOlss:new_wxChoice",&_argc0,&_arg1,&_argc2,&_argc3,&_obj5,&_arg6,&_argc7,&_arg8)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|OOOlOs:new_wxChoice",_kwnames,&_argo0,&_arg1,&_argo2,&_argo3,&_obj5,&_arg6,&_argo7,&_arg8)) 
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
@@ -842,18 +1009,33 @@ static PyObject *_wrap_new_wxChoice(PyObject *self, PyObject *args) {
         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;
         }
     }
 {
-    _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;
 }
@@ -861,18 +1043,20 @@ static PyObject *_wrap_new_wxChoice(PyObject *self, PyObject *args) {
 }
 
 #define wxChoice_Append(_swigobj,_swigarg0)  (_swigobj->Append(_swigarg0))
-static PyObject *_wrap_wxChoice_Append(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxChoice_Append(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxChoice * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","item", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxChoice_Append",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxChoice_Append",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -882,10 +1066,14 @@ static PyObject *_wrap_wxChoice_Append(PyObject *self, PyObject *args) {
         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)
@@ -895,40 +1083,48 @@ static PyObject *_wrap_wxChoice_Append(PyObject *self, PyObject *args) {
 }
 
 #define wxChoice_Clear(_swigobj)  (_swigobj->Clear())
-static PyObject *_wrap_wxChoice_Clear(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxChoice_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxChoice * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxChoice_Clear",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxChoice_Clear",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxChoice_FindString(_swigobj,_swigarg0)  (_swigobj->FindString(_swigarg0))
-static PyObject *_wrap_wxChoice_FindString(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxChoice_FindString(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxChoice * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","string", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxChoice_FindString",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxChoice_FindString",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -938,10 +1134,14 @@ static PyObject *_wrap_wxChoice_FindString(PyObject *self, PyObject *args) {
         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;
@@ -950,66 +1150,84 @@ static PyObject *_wrap_wxChoice_FindString(PyObject *self, PyObject *args) {
 }
 
 #define wxChoice_GetColumns(_swigobj)  (_swigobj->GetColumns())
-static PyObject *_wrap_wxChoice_GetColumns(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxChoice_GetColumns(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxChoice * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxChoice_GetColumns",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxChoice_GetColumns",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxChoice_GetSelection(_swigobj)  (_swigobj->GetSelection())
-static PyObject *_wrap_wxChoice_GetSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxChoice_GetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxChoice * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxChoice_GetSelection",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxChoice_GetSelection",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxChoice_GetString(_swigobj,_swigarg0)  (_swigobj->GetString(_swigarg0))
-static PyObject *_wrap_wxChoice_GetString(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxChoice_GetString(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxChoice * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxChoice_GetString",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxChoice_GetString",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -1019,23 +1237,29 @@ static PyObject *_wrap_wxChoice_GetString(PyObject *self, PyObject *args) {
 }
 
 #define wxChoice_GetStringSelection(_swigobj)  (_swigobj->GetStringSelection())
-static PyObject *_wrap_wxChoice_GetStringSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxChoice_GetStringSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxChoice * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxChoice_GetStringSelection",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxChoice_GetStringSelection",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -1045,83 +1269,103 @@ static PyObject *_wrap_wxChoice_GetStringSelection(PyObject *self, PyObject *arg
 }
 
 #define wxChoice_Number(_swigobj)  (_swigobj->Number())
-static PyObject *_wrap_wxChoice_Number(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxChoice_Number(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxChoice * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxChoice_Number",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxChoice_Number",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxChoice_SetColumns(_swigobj,_swigarg0)  (_swigobj->SetColumns(_swigarg0))
-static PyObject *_wrap_wxChoice_SetColumns(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxChoice_SetColumns(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxChoice * _arg0;
-    int  _arg1 = 1;
-    char * _argc0 = 0;
+    int  _arg1 = (int ) 1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s|i:wxChoice_SetColumns",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxChoice_SetColumns",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxChoice_SetSelection(_swigobj,_swigarg0)  (_swigobj->SetSelection(_swigarg0))
-static PyObject *_wrap_wxChoice_SetSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxChoice_SetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxChoice * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxChoice_SetSelection",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxChoice_SetSelection",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxChoice_SetStringSelection(_swigobj,_swigarg0)  (_swigobj->SetStringSelection(_swigarg0))
-static PyObject *_wrap_wxChoice_SetStringSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxChoice_SetStringSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxChoice * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","string", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxChoice_SetStringSelection",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxChoice_SetStringSelection",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -1131,10 +1375,14 @@ static PyObject *_wrap_wxChoice_SetStringSelection(PyObject *self, PyObject *arg
         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)
@@ -1143,6 +1391,14 @@ static PyObject *_wrap_wxChoice_SetStringSelection(PyObject *self, PyObject *arg
     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;
@@ -1168,43 +1424,47 @@ static void *SwigwxComboBoxTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxComboBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9) (new wxComboBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9))
-static PyObject *_wrap_new_wxComboBox(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxComboBox(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     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;
-    char * _argc8 = 0;
+    PyObject * _argo8 = 0;
+    char *_kwnames[] = { "parent","id","value","pos","size","LIST","style","validator","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|sssOlss:new_wxComboBox",&_argc0,&_arg1,&_arg2,&_argc3,&_argc4,&_obj6,&_arg7,&_argc8,&_arg9)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|sOOOlOs:new_wxComboBox",_kwnames,&_argo0,&_arg1,&_arg2,&_argo3,&_argo4,&_obj6,&_arg7,&_argo8,&_arg9)) 
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
@@ -1216,18 +1476,33 @@ static PyObject *_wrap_new_wxComboBox(PyObject *self, PyObject *args) {
         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;
         }
     }
 {
-    _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;
 }
@@ -1235,18 +1510,20 @@ static PyObject *_wrap_new_wxComboBox(PyObject *self, PyObject *args) {
 }
 
 #define wxComboBox_Append(_swigobj,_swigarg0)  (_swigobj->Append(_swigarg0))
-static PyObject *_wrap_wxComboBox_Append(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_Append(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","item", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxComboBox_Append",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxComboBox_Append",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -1256,10 +1533,14 @@ static PyObject *_wrap_wxComboBox_Append(PyObject *self, PyObject *args) {
         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)
@@ -1269,104 +1550,130 @@ static PyObject *_wrap_wxComboBox_Append(PyObject *self, PyObject *args) {
 }
 
 #define wxComboBox_Clear(_swigobj)  (_swigobj->Clear())
-static PyObject *_wrap_wxComboBox_Clear(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_Clear",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxComboBox_Clear",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxComboBox_Copy(_swigobj)  (_swigobj->Copy())
-static PyObject *_wrap_wxComboBox_Copy(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_Copy(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_Copy",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxComboBox_Copy",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxComboBox_Cut(_swigobj)  (_swigobj->Cut())
-static PyObject *_wrap_wxComboBox_Cut(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_Cut(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_Cut",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxComboBox_Cut",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxComboBox_Delete(_swigobj,_swigarg0)  (_swigobj->Delete(_swigarg0))
-static PyObject *_wrap_wxComboBox_Delete(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_Delete(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxComboBox_Delete",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxComboBox_Delete",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxComboBox_FindString(_swigobj,_swigarg0)  (_swigobj->FindString(_swigarg0))
-static PyObject *_wrap_wxComboBox_FindString(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_FindString(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxComboBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","string", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxComboBox_FindString",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxComboBox_FindString",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -1376,10 +1683,14 @@ static PyObject *_wrap_wxComboBox_FindString(PyObject *self, PyObject *args) {
         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;
@@ -1388,87 +1699,111 @@ static PyObject *_wrap_wxComboBox_FindString(PyObject *self, PyObject *args) {
 }
 
 #define wxComboBox_GetInsertionPoint(_swigobj)  (_swigobj->GetInsertionPoint())
-static PyObject *_wrap_wxComboBox_GetInsertionPoint(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_GetInsertionPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_GetInsertionPoint",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxComboBox_GetInsertionPoint",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxComboBox_GetLastPosition(_swigobj)  (_swigobj->GetLastPosition())
-static PyObject *_wrap_wxComboBox_GetLastPosition(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_GetLastPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_GetLastPosition",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxComboBox_GetLastPosition",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxComboBox_GetSelection(_swigobj)  (_swigobj->GetSelection())
-static PyObject *_wrap_wxComboBox_GetSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_GetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_GetSelection",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxComboBox_GetSelection",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxComboBox_GetString(_swigobj,_swigarg0)  (_swigobj->GetString(_swigarg0))
-static PyObject *_wrap_wxComboBox_GetString(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_GetString(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxComboBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxComboBox_GetString",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxComboBox_GetString",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -1478,23 +1813,29 @@ static PyObject *_wrap_wxComboBox_GetString(PyObject *self, PyObject *args) {
 }
 
 #define wxComboBox_GetStringSelection(_swigobj)  (_swigobj->GetStringSelection())
-static PyObject *_wrap_wxComboBox_GetStringSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_GetStringSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_GetStringSelection",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxComboBox_GetStringSelection",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -1504,23 +1845,29 @@ static PyObject *_wrap_wxComboBox_GetStringSelection(PyObject *self, PyObject *a
 }
 
 #define wxComboBox_GetValue(_swigobj)  (_swigobj->GetValue())
-static PyObject *_wrap_wxComboBox_GetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_GetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_GetValue",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxComboBox_GetValue",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -1530,62 +1877,76 @@ static PyObject *_wrap_wxComboBox_GetValue(PyObject *self, PyObject *args) {
 }
 
 #define wxComboBox_Number(_swigobj)  (_swigobj->Number())
-static PyObject *_wrap_wxComboBox_Number(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_Number(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_Number",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxComboBox_Number",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxComboBox_Paste(_swigobj)  (_swigobj->Paste())
-static PyObject *_wrap_wxComboBox_Paste(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_Paste(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_Paste",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxComboBox_Paste",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxComboBox_Replace(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->Replace(_swigarg0,_swigarg1,_swigarg2))
-static PyObject *_wrap_wxComboBox_Replace(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_Replace(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     long  _arg1;
     long  _arg2;
     wxString * _arg3;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj3 = 0;
+    char *_kwnames[] = { "self","from","to","text", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sllO:wxComboBox_Replace",&_argc0,&_arg1,&_arg2,&_obj3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OllO:wxComboBox_Replace",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3)) 
         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;
         }
@@ -1595,10 +1956,14 @@ static PyObject *_wrap_wxComboBox_Replace(PyObject *self, PyObject *args) {
         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)
@@ -1608,132 +1973,161 @@ static PyObject *_wrap_wxComboBox_Replace(PyObject *self, PyObject *args) {
 }
 
 #define wxComboBox_Remove(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Remove(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxComboBox_Remove(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_Remove(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     long  _arg1;
     long  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","from","to", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxComboBox_Remove",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oll:wxComboBox_Remove",_kwnames,&_argo0,&_arg1,&_arg2)) 
         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;
         }
     }
-    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;
 }
 
 #define wxComboBox_SetInsertionPoint(_swigobj,_swigarg0)  (_swigobj->SetInsertionPoint(_swigarg0))
-static PyObject *_wrap_wxComboBox_SetInsertionPoint(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_SetInsertionPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","pos", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxComboBox_SetInsertionPoint",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxComboBox_SetInsertionPoint",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxComboBox_SetInsertionPointEnd(_swigobj)  (_swigobj->SetInsertionPointEnd())
-static PyObject *_wrap_wxComboBox_SetInsertionPointEnd(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_SetInsertionPointEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxComboBox_SetInsertionPointEnd",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxComboBox_SetInsertionPointEnd",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
-#define wxComboBox_SetSelection(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetSelection(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxComboBox_SetSelection(PyObject *self, PyObject *args) {
+#define wxComboBox_SetSelection(_swigobj,_swigarg0)  (_swigobj->SetSelection(_swigarg0))
+static PyObject *_wrap_wxComboBox_SetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     int  _arg1;
-    bool  _arg2 = (1);
-    char * _argc0 = 0;
-    int tempbool2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|i:wxComboBox_SetSelection",&_argc0,&_arg1,&tempbool2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxComboBox_SetSelection",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxComboBox_SetMark(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetSelection(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxComboBox_SetMark(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_SetMark(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     long  _arg1;
     long  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","from","to", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxComboBox_SetMark",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oll:wxComboBox_SetMark",_kwnames,&_argo0,&_arg1,&_arg2)) 
         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;
         }
     }
-    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;
 }
 
 #define wxComboBox_SetValue(_swigobj,_swigarg0)  (_swigobj->SetValue(_swigarg0))
-static PyObject *_wrap_wxComboBox_SetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxComboBox_SetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxComboBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","text", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxComboBox_SetValue",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxComboBox_SetValue",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -1743,10 +2137,14 @@ static PyObject *_wrap_wxComboBox_SetValue(PyObject *self, PyObject *args) {
         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)
@@ -1780,224 +2178,286 @@ static void *SwigwxGaugeTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxGauge(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7) (new wxGauge(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7))
-static PyObject *_wrap_new_wxGauge(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxGauge(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGauge * _result;
     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 *_kwnames[] = { "parent","id","range","pos","size","style","validator","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii|sslss:new_wxGauge",&_argc0,&_arg1,&_arg2,&_argc3,&_argc4,&_arg5,&_argc6,&_arg7)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii|OOlOs:new_wxGauge",_kwnames,&_argo0,&_arg1,&_arg2,&_argo3,&_argo4,&_arg5,&_argo6,&_arg7)) 
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    _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;
 }
 
 #define wxGauge_GetBezelFace(_swigobj)  (_swigobj->GetBezelFace())
-static PyObject *_wrap_wxGauge_GetBezelFace(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGauge_GetBezelFace(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxGauge * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGauge_GetBezelFace",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGauge_GetBezelFace",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxGauge_GetRange(_swigobj)  (_swigobj->GetRange())
-static PyObject *_wrap_wxGauge_GetRange(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGauge_GetRange(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxGauge * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGauge_GetRange",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGauge_GetRange",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxGauge_GetShadowWidth(_swigobj)  (_swigobj->GetShadowWidth())
-static PyObject *_wrap_wxGauge_GetShadowWidth(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGauge_GetShadowWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxGauge * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGauge_GetShadowWidth",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGauge_GetShadowWidth",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxGauge_GetValue(_swigobj)  (_swigobj->GetValue())
-static PyObject *_wrap_wxGauge_GetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGauge_GetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxGauge * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxGauge_GetValue",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGauge_GetValue",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxGauge_SetBezelFace(_swigobj,_swigarg0)  (_swigobj->SetBezelFace(_swigarg0))
-static PyObject *_wrap_wxGauge_SetBezelFace(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGauge_SetBezelFace(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGauge * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","width", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxGauge_SetBezelFace",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGauge_SetBezelFace",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxGauge_SetRange(_swigobj,_swigarg0)  (_swigobj->SetRange(_swigarg0))
-static PyObject *_wrap_wxGauge_SetRange(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGauge_SetRange(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGauge * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","range", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxGauge_SetRange",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGauge_SetRange",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxGauge_SetShadowWidth(_swigobj,_swigarg0)  (_swigobj->SetShadowWidth(_swigarg0))
-static PyObject *_wrap_wxGauge_SetShadowWidth(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGauge_SetShadowWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGauge * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","width", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxGauge_SetShadowWidth",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGauge_SetShadowWidth",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxGauge_SetValue(_swigobj,_swigarg0)  (_swigobj->SetValue(_swigarg0))
-static PyObject *_wrap_wxGauge_SetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGauge_SetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxGauge * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","pos", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxGauge_SetValue",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGauge_SetValue",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
@@ -2027,27 +2487,29 @@ static void *SwigwxStaticBoxTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxStaticBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (new wxStaticBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6))
-static PyObject *_wrap_new_wxStaticBox(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxStaticBox(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxStaticBox * _result;
     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;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
+    char *_kwnames[] = { "parent","id","label","pos","size","style","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO|ssls:new_wxStaticBox",&_argc0,&_arg1,&_obj2,&_argc3,&_argc4,&_arg5,&_arg6)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO|OOls:new_wxStaticBox",_kwnames,&_argo0,&_arg1,&_obj2,&_argo3,&_argo4,&_arg5,&_arg6)) 
         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;
         }
@@ -2057,23 +2519,34 @@ static PyObject *_wrap_new_wxStaticBox(PyObject *self, PyObject *args) {
         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;
         }
     }
-    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;
         }
     }
-    _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;
@@ -2081,6 +2554,85 @@ static PyObject *_wrap_new_wxStaticBox(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
+static void *SwigwxStaticLineTowxControl(void *ptr) {
+    wxStaticLine *src;
+    wxControl *dest;
+    src = (wxStaticLine *) ptr;
+    dest = (wxControl *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxStaticLineTowxWindow(void *ptr) {
+    wxStaticLine *src;
+    wxWindow *dest;
+    src = (wxStaticLine *) ptr;
+    dest = (wxWindow *) src;
+    return (void *) dest;
+}
+
+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 *kwargs) {
+    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 *_kwnames[] = { "parent","id","pos","size","style","name", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|OOls:new_wxStaticLine",_kwnames,&_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;
@@ -2106,27 +2658,29 @@ static void *SwigwxStaticTextTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxStaticText(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (new wxStaticText(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6))
-static PyObject *_wrap_new_wxStaticText(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxStaticText(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxStaticText * _result;
     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;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
+    char *_kwnames[] = { "parent","id","label","pos","size","style","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO|ssls:new_wxStaticText",&_argc0,&_arg1,&_obj2,&_argc3,&_argc4,&_arg5,&_arg6)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO|OOls:new_wxStaticText",_kwnames,&_argo0,&_arg1,&_obj2,&_argo3,&_argo4,&_arg5,&_arg6)) 
         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;
         }
@@ -2136,23 +2690,34 @@ static PyObject *_wrap_new_wxStaticText(PyObject *self, PyObject *args) {
         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;
         }
     }
-    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;
         }
     }
-    _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;
@@ -2161,23 +2726,29 @@ static PyObject *_wrap_new_wxStaticText(PyObject *self, PyObject *args) {
 }
 
 #define wxStaticText_GetLabel(_swigobj)  (_swigobj->GetLabel())
-static PyObject *_wrap_wxStaticText_GetLabel(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxStaticText_GetLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxStaticText * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxStaticText_GetLabel",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStaticText_GetLabel",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -2187,18 +2758,20 @@ static PyObject *_wrap_wxStaticText_GetLabel(PyObject *self, PyObject *args) {
 }
 
 #define wxStaticText_SetLabel(_swigobj,_swigarg0)  (_swigobj->SetLabel(_swigarg0))
-static PyObject *_wrap_wxStaticText_SetLabel(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxStaticText_SetLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxStaticText * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","label", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxStaticText_SetLabel",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStaticText_SetLabel",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -2208,10 +2781,14 @@ static PyObject *_wrap_wxStaticText_SetLabel(PyObject *self, PyObject *args) {
         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)
@@ -2245,42 +2822,46 @@ static void *SwigwxListBoxTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxListBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8) (new wxListBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8))
-static PyObject *_wrap_new_wxListBox(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxListBox(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxListBox * _result;
     wxWindow * _arg0;
     wxWindowID  _arg1;
-    wxPoint * _arg2 = &wxPyDefaultPosition;
-    wxSize * _arg3 = &wxPyDefaultSize;
+    wxPoint * _arg2 = (wxPoint *) &wxPyDefaultPosition;
+    wxSize * _arg3 = (wxSize *) &wxPyDefaultSize;
     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;
-    char * _argc7 = 0;
+    PyObject * _argo7 = 0;
+    char *_kwnames[] = { "parent","id","pos","size","LIST","style","validator","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|ssOlss:new_wxListBox",&_argc0,&_arg1,&_argc2,&_argc3,&_obj5,&_arg6,&_argc7,&_arg8)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|OOOlOs:new_wxListBox",_kwnames,&_argo0,&_arg1,&_argo2,&_argo3,&_obj5,&_arg6,&_argo7,&_arg8)) 
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
@@ -2292,18 +2873,33 @@ static PyObject *_wrap_new_wxListBox(PyObject *self, PyObject *args) {
         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;
         }
     }
 {
-    _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;
 }
@@ -2311,18 +2907,20 @@ static PyObject *_wrap_new_wxListBox(PyObject *self, PyObject *args) {
 }
 
 #define wxListBox_Append(_swigobj,_swigarg0)  (_swigobj->Append(_swigarg0))
-static PyObject *_wrap_wxListBox_Append(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_Append(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","item", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxListBox_Append",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxListBox_Append",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -2332,10 +2930,14 @@ static PyObject *_wrap_wxListBox_Append(PyObject *self, PyObject *args) {
         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)
@@ -2345,84 +2947,104 @@ static PyObject *_wrap_wxListBox_Append(PyObject *self, PyObject *args) {
 }
 
 #define wxListBox_Clear(_swigobj)  (_swigobj->Clear())
-static PyObject *_wrap_wxListBox_Clear(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxListBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxListBox_Clear",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxListBox_Clear",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxListBox_Delete(_swigobj,_swigarg0)  (_swigobj->Delete(_swigarg0))
-static PyObject *_wrap_wxListBox_Delete(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_Delete(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxListBox_Delete",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxListBox_Delete",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxListBox_Deselect(_swigobj,_swigarg0)  (_swigobj->Deselect(_swigarg0))
-static PyObject *_wrap_wxListBox_Deselect(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_Deselect(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxListBox_Deselect",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxListBox_Deselect",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxListBox_FindString(_swigobj,_swigarg0)  (_swigobj->FindString(_swigarg0))
-static PyObject *_wrap_wxListBox_FindString(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_FindString(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxListBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","string", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxListBox_FindString",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxListBox_FindString",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -2432,10 +3054,14 @@ static PyObject *_wrap_wxListBox_FindString(PyObject *self, PyObject *args) {
         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;
@@ -2444,45 +3070,94 @@ static PyObject *_wrap_wxListBox_FindString(PyObject *self, PyObject *args) {
 }
 
 #define wxListBox_GetSelection(_swigobj)  (_swigobj->GetSelection())
-static PyObject *_wrap_wxListBox_GetSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_GetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxListBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxListBox_GetSelection",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxListBox_GetSelection",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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 *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxListBox * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxListBox_GetSelections",_kwnames,&_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;
 }
 
 #define wxListBox_GetString(_swigobj,_swigarg0)  (_swigobj->GetString(_swigarg0))
-static PyObject *_wrap_wxListBox_GetString(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_GetString(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxListBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxListBox_GetString",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxListBox_GetString",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -2492,23 +3167,29 @@ static PyObject *_wrap_wxListBox_GetString(PyObject *self, PyObject *args) {
 }
 
 #define wxListBox_GetStringSelection(_swigobj)  (_swigobj->GetStringSelection())
-static PyObject *_wrap_wxListBox_GetStringSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_GetStringSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxListBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxListBox_GetStringSelection",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxListBox_GetStringSelection",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -2518,62 +3199,76 @@ static PyObject *_wrap_wxListBox_GetStringSelection(PyObject *self, PyObject *ar
 }
 
 #define wxListBox_Number(_swigobj)  (_swigobj->Number())
-static PyObject *_wrap_wxListBox_Number(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_Number(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxListBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxListBox_Number",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxListBox_Number",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxListBox_Selected(_swigobj,_swigarg0)  (_swigobj->Selected(_swigarg0))
-static PyObject *_wrap_wxListBox_Selected(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_Selected(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxListBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxListBox_Selected",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxListBox_Selected",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxListBox_Set(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Set(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxListBox_Set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
     wxString * _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","LIST", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxListBox_Set",&_argc0,&_obj2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxListBox_Set",_kwnames,&_argo0,&_obj2)) 
         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;
         }
@@ -2586,10 +3281,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;
@@ -2598,40 +3302,48 @@ static PyObject *_wrap_wxListBox_Set(PyObject *self, PyObject *args) {
 }
 
 #define wxListBox_SetFirstItem(_swigobj,_swigarg0)  (_swigobj->SetFirstItem(_swigarg0))
-static PyObject *_wrap_wxListBox_SetFirstItem(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_SetFirstItem(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxListBox_SetFirstItem",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxListBox_SetFirstItem",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxListBox_SetFirstItemStr(_swigobj,_swigarg0)  (_swigobj->SetFirstItem(_swigarg0))
-static PyObject *_wrap_wxListBox_SetFirstItemStr(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_SetFirstItemStr(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","string", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxListBox_SetFirstItemStr",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxListBox_SetFirstItemStr",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -2641,10 +3353,14 @@ static PyObject *_wrap_wxListBox_SetFirstItemStr(PyObject *self, PyObject *args)
         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)
@@ -2654,44 +3370,52 @@ static PyObject *_wrap_wxListBox_SetFirstItemStr(PyObject *self, PyObject *args)
 }
 
 #define wxListBox_SetSelection(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetSelection(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxListBox_SetSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_SetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     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;
+    char *_kwnames[] = { "self","n","select", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|i:wxListBox_SetSelection",&_argc0,&_arg1,&tempbool2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|i:wxListBox_SetSelection",_kwnames,&_argo0,&_arg1,&tempbool2)) 
         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;
-    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;
 }
 
 #define wxListBox_SetString(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetString(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxListBox_SetString(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_SetString(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     int  _arg1;
     wxString * _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","n","string", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO:wxListBox_SetString",&_argc0,&_arg1,&_obj2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxListBox_SetString",_kwnames,&_argo0,&_arg1,&_obj2)) 
         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;
         }
@@ -2701,10 +3425,14 @@ static PyObject *_wrap_wxListBox_SetString(PyObject *self, PyObject *args) {
         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)
@@ -2714,20 +3442,22 @@ static PyObject *_wrap_wxListBox_SetString(PyObject *self, PyObject *args) {
 }
 
 #define wxListBox_SetStringSelection(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetStringSelection(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxListBox_SetStringSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxListBox_SetStringSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxListBox * _arg0;
     wxString * _arg1;
-    bool  _arg2 = (1);
-    char * _argc0 = 0;
+    bool  _arg2 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
-    int tempbool2;
+    int tempbool2 = (int) TRUE;
+    char *_kwnames[] = { "self","string","select", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO|i:wxListBox_SetStringSelection",&_argc0,&_obj1,&tempbool2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxListBox_SetStringSelection",_kwnames,&_argo0,&_obj1,&tempbool2)) 
         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;
         }
@@ -2737,11 +3467,15 @@ static PyObject *_wrap_wxListBox_SetStringSelection(PyObject *self, PyObject *ar
         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;
-    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)
@@ -2783,42 +3517,46 @@ static void *SwigwxCheckListBoxTowxEvtHandler(void *ptr) {
 }
 
 #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) {
+static PyObject *_wrap_new_wxCheckListBox(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxCheckListBox * _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 = "listBox";
-    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 *) "listBox";
+    PyObject * _argo0 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
     PyObject * _obj5 = 0;
-    char * _argc7 = 0;
+    PyObject * _argo7 = 0;
+    char *_kwnames[] = { "parent","id","pos","size","LIST","style","validator","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|ssOlss:new_wxCheckListBox",&_argc0,&_arg1,&_argc2,&_argc3,&_obj5,&_arg6,&_argc7,&_arg8)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|OOOlOs:new_wxCheckListBox",_kwnames,&_argo0,&_arg1,&_argo2,&_argo3,&_obj5,&_arg6,&_argo7,&_arg8)) 
         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_wxCheckListBox. 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_wxCheckListBox. 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_wxCheckListBox. Expected _wxSize_p.");
         return NULL;
         }
@@ -2830,18 +3568,33 @@ static PyObject *_wrap_new_wxCheckListBox(PyObject *self, PyObject *args) {
         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_wxCheckListBox. Expected _wxValidator_p.");
         return NULL;
         }
     }
 {
-    _arg4 = PyList_Size(_obj5);
+    if (_obj5) {
+        _arg4 = PyList_Size(_obj5);
+    }
+    else {
+        _arg4 = 0;
+    }
 }
-    _result = (wxCheckListBox *)new_wxCheckListBox(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5,_arg6,*_arg7,_arg8);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxCheckListBox_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    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;
 }
@@ -2849,70 +3602,88 @@ static PyObject *_wrap_new_wxCheckListBox(PyObject *self, PyObject *args) {
 }
 
 #define wxCheckListBox_IsChecked(_swigobj,_swigarg0)  (_swigobj->IsChecked(_swigarg0))
-static PyObject *_wrap_wxCheckListBox_IsChecked(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxCheckListBox_IsChecked(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxCheckListBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","uiIndex", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxCheckListBox_IsChecked",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxCheckListBox_IsChecked",_kwnames,&_argo0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxCheckListBox_p")) {
+    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;
         }
     }
-    _result = (bool )wxCheckListBox_IsChecked(_arg0,_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    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) {
+static PyObject *_wrap_wxCheckListBox_Check(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxCheckListBox * _arg0;
     int  _arg1;
-    bool  _arg2 = (1);
-    char * _argc0 = 0;
-    int tempbool2;
+    bool  _arg2 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    int tempbool2 = (int) TRUE;
+    char *_kwnames[] = { "self","uiIndex","bCheck", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|i:wxCheckListBox_Check",&_argc0,&_arg1,&tempbool2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|i:wxCheckListBox_Check",_kwnames,&_argo0,&_arg1,&tempbool2)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxCheckListBox_p")) {
+    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;
-    wxCheckListBox_Check(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    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) {
+static PyObject *_wrap_wxCheckListBox_GetItemHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxCheckListBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxCheckListBox_GetItemHeight",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCheckListBox_GetItemHeight",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxCheckListBox_p")) {
+    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;
         }
     }
-    _result = (int )wxCheckListBox_GetItemHeight(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxCheckListBox_GetItemHeight(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -2941,223 +3712,285 @@ static void *SwigwxTextCtrlTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxTextCtrl(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7) (new wxTextCtrl(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7))
-static PyObject *_wrap_new_wxTextCtrl(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxTextCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     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 *_kwnames[] = { "parent","id","value","pos","size","style","validator","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si|ssslss:new_wxTextCtrl",&_argc0,&_arg1,&_arg2,&_argc3,&_argc4,&_arg5,&_argc6,&_arg7)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|sOOlOs:new_wxTextCtrl",_kwnames,&_argo0,&_arg1,&_arg2,&_argo3,&_argo4,&_arg5,&_argo6,&_arg7)) 
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    _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;
 }
 
 #define wxTextCtrl_Clear(_swigobj)  (_swigobj->Clear())
-static PyObject *_wrap_wxTextCtrl_Clear(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_Clear",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_Clear",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxTextCtrl_Copy(_swigobj)  (_swigobj->Copy())
-static PyObject *_wrap_wxTextCtrl_Copy(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_Copy(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_Copy",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_Copy",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxTextCtrl_Cut(_swigobj)  (_swigobj->Cut())
-static PyObject *_wrap_wxTextCtrl_Cut(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_Cut(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_Cut",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_Cut",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxTextCtrl_DiscardEdits(_swigobj)  (_swigobj->DiscardEdits())
-static PyObject *_wrap_wxTextCtrl_DiscardEdits(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_DiscardEdits(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_DiscardEdits",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_DiscardEdits",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxTextCtrl_GetInsertionPoint(_swigobj)  (_swigobj->GetInsertionPoint())
-static PyObject *_wrap_wxTextCtrl_GetInsertionPoint(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_GetInsertionPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_GetInsertionPoint",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_GetInsertionPoint",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxTextCtrl_GetLastPosition(_swigobj)  (_swigobj->GetLastPosition())
-static PyObject *_wrap_wxTextCtrl_GetLastPosition(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_GetLastPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_GetLastPosition",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_GetLastPosition",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxTextCtrl_GetLineLength(_swigobj,_swigarg0)  (_swigobj->GetLineLength(_swigarg0))
-static PyObject *_wrap_wxTextCtrl_GetLineLength(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_GetLineLength(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxTextCtrl * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","lineNo", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxTextCtrl_GetLineLength",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxTextCtrl_GetLineLength",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxTextCtrl_GetLineText(_swigobj,_swigarg0)  (_swigobj->GetLineText(_swigarg0))
-static PyObject *_wrap_wxTextCtrl_GetLineText(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_GetLineText(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxTextCtrl * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","lineNo", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxTextCtrl_GetLineText",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxTextCtrl_GetLineText",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -3167,44 +4000,56 @@ static PyObject *_wrap_wxTextCtrl_GetLineText(PyObject *self, PyObject *args) {
 }
 
 #define wxTextCtrl_GetNumberOfLines(_swigobj)  (_swigobj->GetNumberOfLines())
-static PyObject *_wrap_wxTextCtrl_GetNumberOfLines(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_GetNumberOfLines(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_GetNumberOfLines",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_GetNumberOfLines",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxTextCtrl_GetValue(_swigobj)  (_swigobj->GetValue())
-static PyObject *_wrap_wxTextCtrl_GetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_GetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_GetValue",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_GetValue",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -3214,40 +4059,48 @@ static PyObject *_wrap_wxTextCtrl_GetValue(PyObject *self, PyObject *args) {
 }
 
 #define wxTextCtrl_IsModified(_swigobj)  (_swigobj->IsModified())
-static PyObject *_wrap_wxTextCtrl_IsModified(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_IsModified(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_IsModified",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_IsModified",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxTextCtrl_LoadFile(_swigobj,_swigarg0)  (_swigobj->LoadFile(_swigarg0))
-static PyObject *_wrap_wxTextCtrl_LoadFile(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_LoadFile(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxTextCtrl * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","filename", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxTextCtrl_LoadFile",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTextCtrl_LoadFile",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -3257,10 +4110,14 @@ static PyObject *_wrap_wxTextCtrl_LoadFile(PyObject *self, PyObject *args) {
         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;
@@ -3269,28 +4126,34 @@ static PyObject *_wrap_wxTextCtrl_LoadFile(PyObject *self, PyObject *args) {
 }
 
 #define wxTextCtrl_Paste(_swigobj)  (_swigobj->Paste())
-static PyObject *_wrap_wxTextCtrl_Paste(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_Paste(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_Paste",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_Paste",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxTextCtrl_PositionToXY(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->PositionToXY(_swigarg0,_swigarg1,_swigarg2))
-static PyObject *_wrap_wxTextCtrl_PositionToXY(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_PositionToXY(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
     long  _arg1;
@@ -3298,7 +4161,8 @@ static PyObject *_wrap_wxTextCtrl_PositionToXY(PyObject *self, PyObject *args) {
     long  temp;
     long * _arg3;
     long  temp0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","pos", NULL };
 
     self = self;
 {
@@ -3307,16 +4171,21 @@ static PyObject *_wrap_wxTextCtrl_PositionToXY(PyObject *self, PyObject *args) {
 {
   _arg3 = &temp0;
 }
-    if(!PyArg_ParseTuple(args,"sl:wxTextCtrl_PositionToXY",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxTextCtrl_PositionToXY",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
@@ -3332,43 +4201,51 @@ static PyObject *_wrap_wxTextCtrl_PositionToXY(PyObject *self, PyObject *args) {
 }
 
 #define wxTextCtrl_Remove(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Remove(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxTextCtrl_Remove(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_Remove(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
     long  _arg1;
     long  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","from","to", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxTextCtrl_Remove",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oll:wxTextCtrl_Remove",_kwnames,&_argo0,&_arg1,&_arg2)) 
         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;
         }
     }
-    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;
 }
 
 #define wxTextCtrl_Replace(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->Replace(_swigarg0,_swigarg1,_swigarg2))
-static PyObject *_wrap_wxTextCtrl_Replace(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_Replace(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
     long  _arg1;
     long  _arg2;
     wxString * _arg3;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj3 = 0;
+    char *_kwnames[] = { "self","from","to","value", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sllO:wxTextCtrl_Replace",&_argc0,&_arg1,&_arg2,&_obj3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OllO:wxTextCtrl_Replace",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3)) 
         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;
         }
@@ -3378,10 +4255,14 @@ static PyObject *_wrap_wxTextCtrl_Replace(PyObject *self, PyObject *args) {
         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)
@@ -3391,19 +4272,21 @@ static PyObject *_wrap_wxTextCtrl_Replace(PyObject *self, PyObject *args) {
 }
 
 #define wxTextCtrl_SaveFile(_swigobj,_swigarg0)  (_swigobj->SaveFile(_swigarg0))
-static PyObject *_wrap_wxTextCtrl_SaveFile(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_SaveFile(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxTextCtrl * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","filename", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxTextCtrl_SaveFile",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTextCtrl_SaveFile",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -3413,10 +4296,14 @@ static PyObject *_wrap_wxTextCtrl_SaveFile(PyObject *self, PyObject *args) {
         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;
@@ -3425,108 +4312,134 @@ static PyObject *_wrap_wxTextCtrl_SaveFile(PyObject *self, PyObject *args) {
 }
 
 #define wxTextCtrl_SetEditable(_swigobj,_swigarg0)  (_swigobj->SetEditable(_swigarg0))
-static PyObject *_wrap_wxTextCtrl_SetEditable(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_SetEditable(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
     bool  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool1;
+    char *_kwnames[] = { "self","editable", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxTextCtrl_SetEditable",&_argc0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTextCtrl_SetEditable",_kwnames,&_argo0,&tempbool1)) 
         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_SetEditable. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
     _arg1 = (bool ) tempbool1;
-    wxTextCtrl_SetEditable(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    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) {
+static PyObject *_wrap_wxTextCtrl_SetInsertionPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","pos", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxTextCtrl_SetInsertionPoint",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxTextCtrl_SetInsertionPoint",_kwnames,&_argo0,&_arg1)) 
         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_SetInsertionPoint. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    wxTextCtrl_SetInsertionPoint(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    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) {
+static PyObject *_wrap_wxTextCtrl_SetInsertionPointEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_SetInsertionPointEnd",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_SetInsertionPointEnd",_kwnames,&_argo0)) 
         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_SetInsertionPointEnd. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    wxTextCtrl_SetInsertionPointEnd(_arg0);
-    Py_INCREF(Py_None);
+{
+    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) {
+static PyObject *_wrap_wxTextCtrl_SetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
     long  _arg1;
     long  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","from","to", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxTextCtrl_SetSelection",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oll:wxTextCtrl_SetSelection",_kwnames,&_argo0,&_arg1,&_arg2)) 
         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_SetSelection. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    wxTextCtrl_SetSelection(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    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) {
+static PyObject *_wrap_wxTextCtrl_SetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","value", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxTextCtrl_SetValue",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTextCtrl_SetValue",_kwnames,&_argo0,&_obj1)) 
         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_SetValue. Expected _wxTextCtrl_p.");
         return NULL;
         }
@@ -3536,10 +4449,14 @@ static PyObject *_wrap_wxTextCtrl_SetValue(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
-    wxTextCtrl_SetValue(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_SetValue(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj1)
@@ -3549,40 +4466,48 @@ static PyObject *_wrap_wxTextCtrl_SetValue(PyObject *self, PyObject *args) {
 }
 
 #define wxTextCtrl_ShowPosition(_swigobj,_swigarg0)  (_swigobj->ShowPosition(_swigarg0))
-static PyObject *_wrap_wxTextCtrl_ShowPosition(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_ShowPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","pos", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxTextCtrl_ShowPosition",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxTextCtrl_ShowPosition",_kwnames,&_argo0,&_arg1)) 
         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_ShowPosition. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    wxTextCtrl_ShowPosition(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    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) {
+static PyObject *_wrap_wxTextCtrl_WriteText(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxTextCtrl * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","text", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxTextCtrl_WriteText",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTextCtrl_WriteText",_kwnames,&_argo0,&_obj1)) 
         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_WriteText. Expected _wxTextCtrl_p.");
         return NULL;
         }
@@ -3592,10 +4517,54 @@ static PyObject *_wrap_wxTextCtrl_WriteText(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
-    wxTextCtrl_WriteText(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    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 *kwargs) {
+    PyObject * _resultobj;
+    wxTextCtrl * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","text", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTextCtrl_AppendText",_kwnames,&_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)
@@ -3605,25 +4574,240 @@ static PyObject *_wrap_wxTextCtrl_WriteText(PyObject *self, PyObject *args) {
 }
 
 #define wxTextCtrl_XYToPosition(_swigobj,_swigarg0,_swigarg1)  (_swigobj->XYToPosition(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxTextCtrl_XYToPosition(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxTextCtrl_XYToPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxTextCtrl * _arg0;
     long  _arg1;
     long  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxTextCtrl_XYToPosition",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oll:wxTextCtrl_XYToPosition",_kwnames,&_argo0,&_arg1,&_arg2)) 
         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_XYToPosition. Expected _wxTextCtrl_p.");
         return NULL;
         }
     }
-    _result = (long )wxTextCtrl_XYToPosition(_arg0,_arg1,_arg2);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxTextCtrl_XYToPosition(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+#define wxTextCtrl_CanCopy(_swigobj)  (_swigobj->CanCopy())
+static PyObject *_wrap_wxTextCtrl_CanCopy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxTextCtrl * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_CanCopy",_kwnames,&_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_CanCopy. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanCopy(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextCtrl_CanCut(_swigobj)  (_swigobj->CanCut())
+static PyObject *_wrap_wxTextCtrl_CanCut(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxTextCtrl * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_CanCut",_kwnames,&_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_CanCut. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanCut(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextCtrl_CanPaste(_swigobj)  (_swigobj->CanPaste())
+static PyObject *_wrap_wxTextCtrl_CanPaste(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxTextCtrl * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_CanPaste",_kwnames,&_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_CanPaste. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanPaste(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextCtrl_CanRedo(_swigobj)  (_swigobj->CanRedo())
+static PyObject *_wrap_wxTextCtrl_CanRedo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxTextCtrl * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_CanRedo",_kwnames,&_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_CanRedo. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanRedo(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextCtrl_CanUndo(_swigobj)  (_swigobj->CanUndo())
+static PyObject *_wrap_wxTextCtrl_CanUndo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxTextCtrl * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_CanUndo",_kwnames,&_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_CanUndo. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanUndo(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextCtrl_GetSelection(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetSelection(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxTextCtrl_GetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxTextCtrl * _arg0;
+    long * _arg1;
+    long  temp;
+    long * _arg2;
+    long  temp0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+{
+  _arg1 = &temp;
+}
+{
+  _arg2 = &temp0;
+}
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_GetSelection",_kwnames,&_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_GetSelection. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_GetSelection(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    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;
+}
+
+#define wxTextCtrl_IsEditable(_swigobj)  (_swigobj->IsEditable())
+static PyObject *_wrap_wxTextCtrl_IsEditable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxTextCtrl * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextCtrl_IsEditable",_kwnames,&_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_IsEditable. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_IsEditable(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -3652,185 +4836,235 @@ static void *SwigwxScrollBarTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxScrollBar(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (new wxScrollBar(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6))
-static PyObject *_wrap_new_wxScrollBar(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) {
     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 *_kwnames[] = { "parent","id","pos","size","style","validator","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s|isslss:new_wxScrollBar",&_argc0,&_arg1,&_argc2,&_argc3,&_arg4,&_argc5,&_arg6)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iOOlOs:new_wxScrollBar",_kwnames,&_argo0,&_arg1,&_argo2,&_argo3,&_arg4,&_argo5,&_arg6)) 
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    _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;
 }
 
 #define wxScrollBar_GetRange(_swigobj)  (_swigobj->GetRange())
-static PyObject *_wrap_wxScrollBar_GetRange(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxScrollBar_GetRange(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxScrollBar_GetRange",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScrollBar_GetRange",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxScrollBar_GetPageSize(_swigobj)  (_swigobj->GetPageSize())
-static PyObject *_wrap_wxScrollBar_GetPageSize(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxScrollBar_GetPageSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxScrollBar_GetPageSize",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScrollBar_GetPageSize",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxScrollBar_GetThumbPosition(_swigobj)  (_swigobj->GetThumbPosition())
-static PyObject *_wrap_wxScrollBar_GetThumbPosition(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxScrollBar_GetThumbPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxScrollBar_GetThumbPosition",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScrollBar_GetThumbPosition",_kwnames,&_argo0)) 
         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_GetThumbPosition. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
-    _result = (int )wxScrollBar_GetThumbPosition(_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;
 }
 
 #define wxScrollBar_GetThumbSize(_swigobj)  (_swigobj->GetThumbSize())
-static PyObject *_wrap_wxScrollBar_GetThumbSize(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxScrollBar_GetThumbSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxScrollBar_GetThumbSize",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScrollBar_GetThumbSize",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxScrollBar_SetThumbPosition(_swigobj,_swigarg0)  (_swigobj->SetThumbPosition(_swigarg0))
-static PyObject *_wrap_wxScrollBar_SetThumbPosition(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxScrollBar_SetThumbPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxScrollBar * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","viewStart", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxScrollBar_SetThumbPosition",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxScrollBar_SetThumbPosition",_kwnames,&_argo0,&_arg1)) 
         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_SetThumbPosition. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
-    wxScrollBar_SetThumbPosition(_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;
 }
 
 #define wxScrollBar_SetScrollbar(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->SetScrollbar(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
-static PyObject *_wrap_wxScrollBar_SetScrollbar(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxScrollBar_SetScrollbar(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxScrollBar * _arg0;
     int  _arg1;
     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;
+    char *_kwnames[] = { "self","position","thumbSize","range","pageSize","refresh", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siiii|i:wxScrollBar_SetScrollbar",&_argc0,&_arg1,&_arg2,&_arg3,&_arg4,&tempbool5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii|i:wxScrollBar_SetScrollbar",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&tempbool5)) 
         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;
-    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;
 }
@@ -3860,151 +5094,194 @@ static void *SwigwxSpinButtonTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxSpinButton(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (new wxSpinButton(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
-static PyObject *_wrap_new_wxSpinButton(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxSpinButton(PyObject *self, PyObject *args, PyObject *kwargs) {
     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 *_kwnames[] = { "parent","id","pos","size","style","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s|issls:new_wxSpinButton",&_argc0,&_arg1,&_argc2,&_argc3,&_arg4,&_arg5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iOOls:new_wxSpinButton",_kwnames,&_argo0,&_arg1,&_argo2,&_argo3,&_arg4,&_arg5)) 
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    _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;
 }
 
 #define wxSpinButton_GetMax(_swigobj)  (_swigobj->GetMax())
-static PyObject *_wrap_wxSpinButton_GetMax(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSpinButton_GetMax(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxSpinButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSpinButton_GetMax",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSpinButton_GetMax",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxSpinButton_GetMin(_swigobj)  (_swigobj->GetMin())
-static PyObject *_wrap_wxSpinButton_GetMin(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSpinButton_GetMin(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxSpinButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSpinButton_GetMin",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSpinButton_GetMin",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxSpinButton_GetValue(_swigobj)  (_swigobj->GetValue())
-static PyObject *_wrap_wxSpinButton_GetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSpinButton_GetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxSpinButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSpinButton_GetValue",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSpinButton_GetValue",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxSpinButton_SetRange(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetRange(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxSpinButton_SetRange(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSpinButton_SetRange(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSpinButton * _arg0;
     int  _arg1;
     int  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","min","max", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxSpinButton_SetRange",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxSpinButton_SetRange",_kwnames,&_argo0,&_arg1,&_arg2)) 
         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;
         }
     }
-    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;
 }
 
 #define wxSpinButton_SetValue(_swigobj,_swigarg0)  (_swigobj->SetValue(_swigarg0))
-static PyObject *_wrap_wxSpinButton_SetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSpinButton_SetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSpinButton * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","value", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxSpinButton_SetValue",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxSpinButton_SetValue",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
@@ -4034,104 +5311,172 @@ static void *SwigwxStaticBitmapTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxStaticBitmap(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (new wxStaticBitmap(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6))
-static PyObject *_wrap_new_wxStaticBitmap(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxStaticBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxStaticBitmap * _result;
     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 *_kwnames[] = { "parent","id","bitmap","pos","size","style","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sis|ssls:new_wxStaticBitmap",&_argc0,&_arg1,&_argc2,&_argc3,&_argc4,&_arg5,&_arg6)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO|OOls:new_wxStaticBitmap",_kwnames,&_argo0,&_arg1,&_argo2,&_argo3,&_argo4,&_arg5,&_arg6)) 
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    _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;
 }
 
 #define wxStaticBitmap_GetBitmap(_swigobj)  (_swigobj->GetBitmap())
-static PyObject *_wrap_wxStaticBitmap_GetBitmap(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxStaticBitmap_GetBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxBitmap * _result;
     wxStaticBitmap * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxStaticBitmap_GetBitmap",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStaticBitmap_GetBitmap",_kwnames,&_argo0)) 
         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;
         }
     }
-    wxBitmap & _result_ref = wxStaticBitmap_GetBitmap(_arg0);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxBitmap & _result_ref = wxStaticBitmap_GetBitmap(_arg0);
     _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 wxStaticBitmap_SetBitmap(_swigobj,_swigarg0)  (_swigobj->SetBitmap(_swigarg0))
-static PyObject *_wrap_wxStaticBitmap_SetBitmap(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxStaticBitmap_SetBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxStaticBitmap * _arg0;
     wxBitmap * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","bitmap", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxStaticBitmap_SetBitmap",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStaticBitmap_SetBitmap",_kwnames,&_argo0,&_argo1)) 
         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;
         }
     }
-    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;
         }
     }
-    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 *kwargs) {
+    PyObject * _resultobj;
+    wxStaticBitmap * _arg0;
+    wxIcon * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","icon", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStaticBitmap_SetIcon",_kwnames,&_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;
 }
@@ -4161,33 +5506,35 @@ static void *SwigwxRadioBoxTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxRadioBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9,_swigarg10) (new wxRadioBox(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9,_swigarg10))
-static PyObject *_wrap_new_wxRadioBox(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxRadioBox(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRadioBox * _result;
     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;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
     PyObject * _obj6 = 0;
-    char * _argc9 = 0;
+    PyObject * _argo9 = 0;
+    char *_kwnames[] = { "parent","id","label","point","size","LIST","majorDimension","style","validator","name", NULL };
     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_ParseTupleAndKeywords(args,kwargs,"OiO|OOOilOs:new_wxRadioBox",_kwnames,&_argo0,&_arg1,&_obj2,&_argo3,&_argo4,&_obj6,&_arg7,&_arg8,&_argo9,&_arg10)) 
         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;
         }
@@ -4197,16 +5544,18 @@ static PyObject *_wrap_new_wxRadioBox(PyObject *self, PyObject *args) {
         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;
         }
     }
-    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;
         }
@@ -4218,18 +5567,33 @@ static PyObject *_wrap_new_wxRadioBox(PyObject *self, PyObject *args) {
         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;
         }
     }
 {
-    _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;
@@ -4240,69 +5604,83 @@ static PyObject *_wrap_new_wxRadioBox(PyObject *self, PyObject *args) {
     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 *kwargs) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     bool  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool1;
+    char *_kwnames[] = { "self","enable", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioBox_EnableBox",&_argc0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxRadioBox_Enable",_kwnames,&_argo0,&tempbool1)) 
         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;
-    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;
 }
 
-#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 *kwargs) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     int  _arg1;
     bool  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool2;
+    char *_kwnames[] = { "self","n","enable", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxRadioBox_Enable",&_argc0,&_arg1,&tempbool2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxRadioBox_EnableItem",_kwnames,&_argo0,&_arg1,&tempbool2)) 
         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;
-    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;
 }
 
 #define wxRadioBox_FindString(_swigobj,_swigarg0)  (_swigobj->FindString(_swigarg0))
-static PyObject *_wrap_wxRadioBox_FindString(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRadioBox_FindString(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxRadioBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","string", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxRadioBox_FindString",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRadioBox_FindString",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -4312,62 +5690,46 @@ static PyObject *_wrap_wxRadioBox_FindString(PyObject *self, PyObject *args) {
         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);
 {
-    if (_obj1)
-        delete _arg1;
-}
-    return _resultobj;
-}
-
-#define wxRadioBox_GetBoxLabel(_swigobj)  (_swigobj->GetLabel())
-static PyObject *_wrap_wxRadioBox_GetBoxLabel(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    wxString * _result;
-    wxRadioBox * _arg0;
-    char * _argc0 = 0;
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxRadioBox_FindString(_arg0,*_arg1);
 
-    self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRadioBox_GetBoxLabel",&_argc0)) 
-        return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRadioBox_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_GetBoxLabel. Expected _wxRadioBox_p.");
-        return NULL;
-        }
-    }
-    _result = new wxString (wxRadioBox_GetBoxLabel(_arg0));
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
 {
-    _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
-}
-{
-    delete _result;
+    if (_obj1)
+        delete _arg1;
 }
     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 *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxRadioBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioBox_GetLabel",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxRadioBox_GetItemLabel",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -4377,45 +5739,57 @@ static PyObject *_wrap_wxRadioBox_GetLabel(PyObject *self, PyObject *args) {
 }
 
 #define wxRadioBox_GetSelection(_swigobj)  (_swigobj->GetSelection())
-static PyObject *_wrap_wxRadioBox_GetSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRadioBox_GetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxRadioBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRadioBox_GetSelection",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRadioBox_GetSelection",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxRadioBox_GetString(_swigobj,_swigarg0)  (_swigobj->GetString(_swigarg0))
-static PyObject *_wrap_wxRadioBox_GetString(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRadioBox_GetString(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxRadioBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioBox_GetString",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxRadioBox_GetString",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -4425,23 +5799,29 @@ static PyObject *_wrap_wxRadioBox_GetString(PyObject *self, PyObject *args) {
 }
 
 #define wxRadioBox_GetStringSelection(_swigobj)  (_swigobj->GetStringSelection())
-static PyObject *_wrap_wxRadioBox_GetStringSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRadioBox_GetStringSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     wxRadioBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRadioBox_GetStringSelection",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRadioBox_GetStringSelection",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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));
 }
 {
@@ -4451,75 +5831,49 @@ static PyObject *_wrap_wxRadioBox_GetStringSelection(PyObject *self, PyObject *a
 }
 
 #define wxRadioBox_Number(_swigobj)  (_swigobj->Number())
-static PyObject *_wrap_wxRadioBox_Number(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRadioBox_Number(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxRadioBox * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRadioBox_Number",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRadioBox_Number",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
-#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 *kwargs) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     int  _arg1;
     wxString * _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","n","label", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO:wxRadioBox_SetLabel",&_argc0,&_arg1,&_obj2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxRadioBox_SetItemLabel",_kwnames,&_argo0,&_arg1,&_obj2)) 
         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;
         }
     }
@@ -4528,10 +5882,14 @@ static PyObject *_wrap_wxRadioBox_SetLabel(PyObject *self, PyObject *args) {
         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)
@@ -4541,40 +5899,48 @@ static PyObject *_wrap_wxRadioBox_SetLabel(PyObject *self, PyObject *args) {
 }
 
 #define wxRadioBox_SetSelection(_swigobj,_swigarg0)  (_swigobj->SetSelection(_swigarg0))
-static PyObject *_wrap_wxRadioBox_SetSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRadioBox_SetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioBox_SetSelection",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxRadioBox_SetSelection",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxRadioBox_SetStringSelection(_swigobj,_swigarg0)  (_swigobj->SetStringSelection(_swigarg0))
-static PyObject *_wrap_wxRadioBox_SetStringSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRadioBox_SetStringSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     wxString * _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","string", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxRadioBox_SetStringSelection",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRadioBox_SetStringSelection",_kwnames,&_argo0,&_obj1)) 
         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;
         }
@@ -4584,10 +5950,14 @@ static PyObject *_wrap_wxRadioBox_SetStringSelection(PyObject *self, PyObject *a
         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)
@@ -4597,50 +5967,62 @@ static PyObject *_wrap_wxRadioBox_SetStringSelection(PyObject *self, PyObject *a
 }
 
 #define wxRadioBox_Show(_swigobj,_swigarg0)  (_swigobj->Show(_swigarg0))
-static PyObject *_wrap_wxRadioBox_Show(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRadioBox_Show(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     bool  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool1;
+    char *_kwnames[] = { "self","show", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioBox_Show",&_argc0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxRadioBox_Show",_kwnames,&_argo0,&tempbool1)) 
         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;
-    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;
 }
 
 #define wxRadioBox_ShowItem(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Show(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxRadioBox_ShowItem(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRadioBox_ShowItem(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     int  _arg1;
     bool  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool2;
+    char *_kwnames[] = { "self","item","show", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxRadioBox_ShowItem",&_argc0,&_arg1,&tempbool2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxRadioBox_ShowItem",_kwnames,&_argo0,&_arg1,&tempbool2)) 
         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;
-    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;
 }
@@ -4670,29 +6052,31 @@ static void *SwigwxRadioButtonTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxRadioButton(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7) (new wxRadioButton(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7))
-static PyObject *_wrap_new_wxRadioButton(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxRadioButton(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRadioButton * _result;
     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;
-    char * _argc3 = 0;
-    char * _argc4 = 0;
-    char * _argc6 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
+    PyObject * _argo6 = 0;
+    char *_kwnames[] = { "parent","id","label","pos","size","style","validator","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO|sslss:new_wxRadioButton",&_argc0,&_arg1,&_obj2,&_argc3,&_argc4,&_arg5,&_argc6,&_arg7)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO|OOlOs:new_wxRadioButton",_kwnames,&_argo0,&_arg1,&_obj2,&_argo3,&_argo4,&_arg5,&_argo6,&_arg7)) 
         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;
         }
@@ -4702,29 +6086,41 @@ static PyObject *_wrap_new_wxRadioButton(PyObject *self, PyObject *args) {
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    _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;
@@ -4733,46 +6129,58 @@ static PyObject *_wrap_new_wxRadioButton(PyObject *self, PyObject *args) {
 }
 
 #define wxRadioButton_GetValue(_swigobj)  (_swigobj->GetValue())
-static PyObject *_wrap_wxRadioButton_GetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRadioButton_GetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxRadioButton * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRadioButton_GetValue",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRadioButton_GetValue",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxRadioButton_SetValue(_swigobj,_swigarg0)  (_swigobj->SetValue(_swigarg0))
-static PyObject *_wrap_wxRadioButton_SetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRadioButton_SetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRadioButton * _arg0;
     bool  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
     int tempbool1;
+    char *_kwnames[] = { "self","value", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioButton_SetValue",&_argc0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxRadioButton_SetValue",_kwnames,&_argo0,&tempbool1)) 
         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;
-    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;
 }
@@ -4802,7 +6210,7 @@ static void *SwigwxSliderTowxEvtHandler(void *ptr) {
 }
 
 #define new_wxSlider(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9) (new wxSlider(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9))
-static PyObject *_wrap_new_wxSlider(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxSlider(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSlider * _result;
     wxWindow * _arg0;
@@ -4810,1058 +6218,1249 @@ static PyObject *_wrap_new_wxSlider(PyObject *self, PyObject *args) {
     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 *_kwnames[] = { "parent","id","value","minValue","maxValue","point","size","style","validator","name", NULL };
     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_ParseTupleAndKeywords(args,kwargs,"Oiiii|OOlOs:new_wxSlider",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&_argo5,&_argo6,&_arg7,&_argo8,&_arg9)) 
         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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    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;
         }
     }
-    _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;
 }
 
 #define wxSlider_ClearSel(_swigobj)  (_swigobj->ClearSel())
-static PyObject *_wrap_wxSlider_ClearSel(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_ClearSel(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_ClearSel",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSlider_ClearSel",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxSlider_ClearTicks(_swigobj)  (_swigobj->ClearTicks())
-static PyObject *_wrap_wxSlider_ClearTicks(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_ClearTicks(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_ClearTicks",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSlider_ClearTicks",_kwnames,&_argo0)) 
         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;
         }
     }
-    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;
 }
 
 #define wxSlider_GetLineSize(_swigobj)  (_swigobj->GetLineSize())
-static PyObject *_wrap_wxSlider_GetLineSize(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_GetLineSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetLineSize",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSlider_GetLineSize",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxSlider_GetMax(_swigobj)  (_swigobj->GetMax())
-static PyObject *_wrap_wxSlider_GetMax(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_GetMax(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetMax",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSlider_GetMax",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxSlider_GetMin(_swigobj)  (_swigobj->GetMin())
-static PyObject *_wrap_wxSlider_GetMin(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_GetMin(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetMin",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSlider_GetMin",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxSlider_GetPageSize(_swigobj)  (_swigobj->GetPageSize())
-static PyObject *_wrap_wxSlider_GetPageSize(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_GetPageSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetPageSize",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSlider_GetPageSize",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxSlider_GetSelEnd(_swigobj)  (_swigobj->GetSelEnd())
-static PyObject *_wrap_wxSlider_GetSelEnd(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_GetSelEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetSelEnd",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSlider_GetSelEnd",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxSlider_GetSelStart(_swigobj)  (_swigobj->GetSelStart())
-static PyObject *_wrap_wxSlider_GetSelStart(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_GetSelStart(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetSelStart",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSlider_GetSelStart",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxSlider_GetThumbLength(_swigobj)  (_swigobj->GetThumbLength())
-static PyObject *_wrap_wxSlider_GetThumbLength(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_GetThumbLength(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetThumbLength",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSlider_GetThumbLength",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxSlider_GetTickFreq(_swigobj)  (_swigobj->GetTickFreq())
-static PyObject *_wrap_wxSlider_GetTickFreq(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_GetTickFreq(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetTickFreq",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSlider_GetTickFreq",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxSlider_GetValue(_swigobj)  (_swigobj->GetValue())
-static PyObject *_wrap_wxSlider_GetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_GetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxSlider * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSlider_GetValue",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSlider_GetValue",_kwnames,&_argo0)) 
         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;
         }
     }
-    _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;
 }
 
 #define wxSlider_SetRange(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetRange(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxSlider_SetRange(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_SetRange(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
     int  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","minValue","maxValue", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxSlider_SetRange",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxSlider_SetRange",_kwnames,&_argo0,&_arg1,&_arg2)) 
         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;
         }
     }
-    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;
 }
 
 #define wxSlider_SetTickFreq(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetTickFreq(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxSlider_SetTickFreq(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_SetTickFreq(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
     int  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","n","pos", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxSlider_SetTickFreq",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxSlider_SetTickFreq",_kwnames,&_argo0,&_arg1,&_arg2)) 
         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;
         }
     }
-    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;
 }
 
 #define wxSlider_SetLineSize(_swigobj,_swigarg0)  (_swigobj->SetLineSize(_swigarg0))
-static PyObject *_wrap_wxSlider_SetLineSize(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_SetLineSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","lineSize", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxSlider_SetLineSize",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxSlider_SetLineSize",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxSlider_SetPageSize(_swigobj,_swigarg0)  (_swigobj->SetPageSize(_swigarg0))
-static PyObject *_wrap_wxSlider_SetPageSize(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_SetPageSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","pageSize", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxSlider_SetPageSize",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxSlider_SetPageSize",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxSlider_SetSelection(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetSelection(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxSlider_SetSelection(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_SetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
     int  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","startPos","endPos", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxSlider_SetSelection",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxSlider_SetSelection",_kwnames,&_argo0,&_arg1,&_arg2)) 
         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;
         }
     }
-    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;
 }
 
 #define wxSlider_SetThumbLength(_swigobj,_swigarg0)  (_swigobj->SetThumbLength(_swigarg0))
-static PyObject *_wrap_wxSlider_SetThumbLength(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_SetThumbLength(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","len", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxSlider_SetThumbLength",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxSlider_SetThumbLength",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxSlider_SetTick(_swigobj,_swigarg0)  (_swigobj->SetTick(_swigarg0))
-static PyObject *_wrap_wxSlider_SetTick(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_SetTick(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","tickPos", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxSlider_SetTick",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxSlider_SetTick",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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;
 }
 
 #define wxSlider_SetValue(_swigobj,_swigarg0)  (_swigobj->SetValue(_swigarg0))
-static PyObject *_wrap_wxSlider_SetValue(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSlider_SetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSlider * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","value", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxSlider_SetValue",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxSlider_SetValue",_kwnames,&_argo0,&_arg1)) 
         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;
         }
     }
-    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[] = {
-        { "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_GetBoxLabel", _wrap_wxRadioBox_GetBoxLabel, 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_SetThumbPosition", _wrap_wxScrollBar_SetThumbPosition, 1 },
-        { "wxScrollBar_GetThumbSize", _wrap_wxScrollBar_GetThumbSize, 1 },
-        { "wxScrollBar_GetThumbPosition", _wrap_wxScrollBar_GetThumbPosition, 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 },
-        { "wxCheckListBox_GetItemHeight", _wrap_wxCheckListBox_GetItemHeight, 1 },
-        { "wxCheckListBox_Check", _wrap_wxCheckListBox_Check, 1 },
-        { "wxCheckListBox_IsChecked", _wrap_wxCheckListBox_IsChecked, 1 },
-        { "new_wxCheckListBox", _wrap_new_wxCheckListBox, 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_SetBitmapSelected", _wrap_wxBitmapButton_SetBitmapSelected, 1 },
-        { "wxBitmapButton_SetBitmapFocus", _wrap_wxBitmapButton_SetBitmapFocus, 1 },
-        { "wxBitmapButton_SetBitmapDisabled", _wrap_wxBitmapButton_SetBitmapDisabled, 1 },
-        { "wxBitmapButton_GetBitmapSelected", _wrap_wxBitmapButton_GetBitmapSelected, 1 },
-        { "wxBitmapButton_GetBitmapFocus", _wrap_wxBitmapButton_GetBitmapFocus, 1 },
-        { "wxBitmapButton_GetBitmapDisabled", _wrap_wxBitmapButton_GetBitmapDisabled, 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", (PyCFunction) _wrap_wxSlider_SetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_SetTick", (PyCFunction) _wrap_wxSlider_SetTick, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_SetThumbLength", (PyCFunction) _wrap_wxSlider_SetThumbLength, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_SetSelection", (PyCFunction) _wrap_wxSlider_SetSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_SetPageSize", (PyCFunction) _wrap_wxSlider_SetPageSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_SetLineSize", (PyCFunction) _wrap_wxSlider_SetLineSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_SetTickFreq", (PyCFunction) _wrap_wxSlider_SetTickFreq, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_SetRange", (PyCFunction) _wrap_wxSlider_SetRange, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_GetValue", (PyCFunction) _wrap_wxSlider_GetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_GetTickFreq", (PyCFunction) _wrap_wxSlider_GetTickFreq, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_GetThumbLength", (PyCFunction) _wrap_wxSlider_GetThumbLength, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_GetSelStart", (PyCFunction) _wrap_wxSlider_GetSelStart, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_GetSelEnd", (PyCFunction) _wrap_wxSlider_GetSelEnd, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_GetPageSize", (PyCFunction) _wrap_wxSlider_GetPageSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_GetMin", (PyCFunction) _wrap_wxSlider_GetMin, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_GetMax", (PyCFunction) _wrap_wxSlider_GetMax, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_GetLineSize", (PyCFunction) _wrap_wxSlider_GetLineSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_ClearTicks", (PyCFunction) _wrap_wxSlider_ClearTicks, METH_VARARGS | METH_KEYWORDS },
+        { "wxSlider_ClearSel", (PyCFunction) _wrap_wxSlider_ClearSel, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxSlider", (PyCFunction) _wrap_new_wxSlider, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioButton_SetValue", (PyCFunction) _wrap_wxRadioButton_SetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioButton_GetValue", (PyCFunction) _wrap_wxRadioButton_GetValue, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxRadioButton", (PyCFunction) _wrap_new_wxRadioButton, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_ShowItem", (PyCFunction) _wrap_wxRadioBox_ShowItem, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_Show", (PyCFunction) _wrap_wxRadioBox_Show, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_SetStringSelection", (PyCFunction) _wrap_wxRadioBox_SetStringSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_SetSelection", (PyCFunction) _wrap_wxRadioBox_SetSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_SetItemLabel", (PyCFunction) _wrap_wxRadioBox_SetItemLabel, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_Number", (PyCFunction) _wrap_wxRadioBox_Number, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_GetStringSelection", (PyCFunction) _wrap_wxRadioBox_GetStringSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_GetString", (PyCFunction) _wrap_wxRadioBox_GetString, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_GetSelection", (PyCFunction) _wrap_wxRadioBox_GetSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_GetItemLabel", (PyCFunction) _wrap_wxRadioBox_GetItemLabel, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_FindString", (PyCFunction) _wrap_wxRadioBox_FindString, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_EnableItem", (PyCFunction) _wrap_wxRadioBox_EnableItem, METH_VARARGS | METH_KEYWORDS },
+        { "wxRadioBox_Enable", (PyCFunction) _wrap_wxRadioBox_Enable, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxRadioBox", (PyCFunction) _wrap_new_wxRadioBox, METH_VARARGS | METH_KEYWORDS },
+        { "wxStaticBitmap_SetIcon", (PyCFunction) _wrap_wxStaticBitmap_SetIcon, METH_VARARGS | METH_KEYWORDS },
+        { "wxStaticBitmap_SetBitmap", (PyCFunction) _wrap_wxStaticBitmap_SetBitmap, METH_VARARGS | METH_KEYWORDS },
+        { "wxStaticBitmap_GetBitmap", (PyCFunction) _wrap_wxStaticBitmap_GetBitmap, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxStaticBitmap", (PyCFunction) _wrap_new_wxStaticBitmap, METH_VARARGS | METH_KEYWORDS },
+        { "wxSpinButton_SetValue", (PyCFunction) _wrap_wxSpinButton_SetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxSpinButton_SetRange", (PyCFunction) _wrap_wxSpinButton_SetRange, METH_VARARGS | METH_KEYWORDS },
+        { "wxSpinButton_GetValue", (PyCFunction) _wrap_wxSpinButton_GetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxSpinButton_GetMin", (PyCFunction) _wrap_wxSpinButton_GetMin, METH_VARARGS | METH_KEYWORDS },
+        { "wxSpinButton_GetMax", (PyCFunction) _wrap_wxSpinButton_GetMax, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxSpinButton", (PyCFunction) _wrap_new_wxSpinButton, METH_VARARGS | METH_KEYWORDS },
+        { "wxScrollBar_SetScrollbar", (PyCFunction) _wrap_wxScrollBar_SetScrollbar, METH_VARARGS | METH_KEYWORDS },
+        { "wxScrollBar_SetThumbPosition", (PyCFunction) _wrap_wxScrollBar_SetThumbPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxScrollBar_GetThumbSize", (PyCFunction) _wrap_wxScrollBar_GetThumbSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxScrollBar_GetThumbPosition", (PyCFunction) _wrap_wxScrollBar_GetThumbPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxScrollBar_GetPageSize", (PyCFunction) _wrap_wxScrollBar_GetPageSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxScrollBar_GetRange", (PyCFunction) _wrap_wxScrollBar_GetRange, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxScrollBar", (PyCFunction) _wrap_new_wxScrollBar, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_IsEditable", (PyCFunction) _wrap_wxTextCtrl_IsEditable, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_GetSelection", (PyCFunction) _wrap_wxTextCtrl_GetSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_CanUndo", (PyCFunction) _wrap_wxTextCtrl_CanUndo, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_CanRedo", (PyCFunction) _wrap_wxTextCtrl_CanRedo, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_CanPaste", (PyCFunction) _wrap_wxTextCtrl_CanPaste, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_CanCut", (PyCFunction) _wrap_wxTextCtrl_CanCut, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_CanCopy", (PyCFunction) _wrap_wxTextCtrl_CanCopy, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_XYToPosition", (PyCFunction) _wrap_wxTextCtrl_XYToPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_AppendText", (PyCFunction) _wrap_wxTextCtrl_AppendText, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_WriteText", (PyCFunction) _wrap_wxTextCtrl_WriteText, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_ShowPosition", (PyCFunction) _wrap_wxTextCtrl_ShowPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_SetValue", (PyCFunction) _wrap_wxTextCtrl_SetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_SetSelection", (PyCFunction) _wrap_wxTextCtrl_SetSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_SetInsertionPointEnd", (PyCFunction) _wrap_wxTextCtrl_SetInsertionPointEnd, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_SetInsertionPoint", (PyCFunction) _wrap_wxTextCtrl_SetInsertionPoint, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_SetEditable", (PyCFunction) _wrap_wxTextCtrl_SetEditable, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_SaveFile", (PyCFunction) _wrap_wxTextCtrl_SaveFile, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_Replace", (PyCFunction) _wrap_wxTextCtrl_Replace, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_Remove", (PyCFunction) _wrap_wxTextCtrl_Remove, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_PositionToXY", (PyCFunction) _wrap_wxTextCtrl_PositionToXY, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_Paste", (PyCFunction) _wrap_wxTextCtrl_Paste, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_LoadFile", (PyCFunction) _wrap_wxTextCtrl_LoadFile, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_IsModified", (PyCFunction) _wrap_wxTextCtrl_IsModified, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_GetValue", (PyCFunction) _wrap_wxTextCtrl_GetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_GetNumberOfLines", (PyCFunction) _wrap_wxTextCtrl_GetNumberOfLines, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_GetLineText", (PyCFunction) _wrap_wxTextCtrl_GetLineText, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_GetLineLength", (PyCFunction) _wrap_wxTextCtrl_GetLineLength, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_GetLastPosition", (PyCFunction) _wrap_wxTextCtrl_GetLastPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_GetInsertionPoint", (PyCFunction) _wrap_wxTextCtrl_GetInsertionPoint, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_DiscardEdits", (PyCFunction) _wrap_wxTextCtrl_DiscardEdits, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_Cut", (PyCFunction) _wrap_wxTextCtrl_Cut, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_Copy", (PyCFunction) _wrap_wxTextCtrl_Copy, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextCtrl_Clear", (PyCFunction) _wrap_wxTextCtrl_Clear, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxTextCtrl", (PyCFunction) _wrap_new_wxTextCtrl, METH_VARARGS | METH_KEYWORDS },
+        { "wxCheckListBox_GetItemHeight", (PyCFunction) _wrap_wxCheckListBox_GetItemHeight, METH_VARARGS | METH_KEYWORDS },
+        { "wxCheckListBox_Check", (PyCFunction) _wrap_wxCheckListBox_Check, METH_VARARGS | METH_KEYWORDS },
+        { "wxCheckListBox_IsChecked", (PyCFunction) _wrap_wxCheckListBox_IsChecked, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxCheckListBox", (PyCFunction) _wrap_new_wxCheckListBox, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_SetStringSelection", (PyCFunction) _wrap_wxListBox_SetStringSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_SetString", (PyCFunction) _wrap_wxListBox_SetString, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_SetSelection", (PyCFunction) _wrap_wxListBox_SetSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_SetFirstItemStr", (PyCFunction) _wrap_wxListBox_SetFirstItemStr, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_SetFirstItem", (PyCFunction) _wrap_wxListBox_SetFirstItem, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_Set", (PyCFunction) _wrap_wxListBox_Set, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_Selected", (PyCFunction) _wrap_wxListBox_Selected, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_Number", (PyCFunction) _wrap_wxListBox_Number, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_GetStringSelection", (PyCFunction) _wrap_wxListBox_GetStringSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_GetString", (PyCFunction) _wrap_wxListBox_GetString, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_GetSelections", (PyCFunction) _wrap_wxListBox_GetSelections, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_GetSelection", (PyCFunction) _wrap_wxListBox_GetSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_FindString", (PyCFunction) _wrap_wxListBox_FindString, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_Deselect", (PyCFunction) _wrap_wxListBox_Deselect, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_Delete", (PyCFunction) _wrap_wxListBox_Delete, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_Clear", (PyCFunction) _wrap_wxListBox_Clear, METH_VARARGS | METH_KEYWORDS },
+        { "wxListBox_Append", (PyCFunction) _wrap_wxListBox_Append, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxListBox", (PyCFunction) _wrap_new_wxListBox, METH_VARARGS | METH_KEYWORDS },
+        { "wxStaticText_SetLabel", (PyCFunction) _wrap_wxStaticText_SetLabel, METH_VARARGS | METH_KEYWORDS },
+        { "wxStaticText_GetLabel", (PyCFunction) _wrap_wxStaticText_GetLabel, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxStaticText", (PyCFunction) _wrap_new_wxStaticText, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxStaticLine", (PyCFunction) _wrap_new_wxStaticLine, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxStaticBox", (PyCFunction) _wrap_new_wxStaticBox, METH_VARARGS | METH_KEYWORDS },
+        { "wxGauge_SetValue", (PyCFunction) _wrap_wxGauge_SetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxGauge_SetShadowWidth", (PyCFunction) _wrap_wxGauge_SetShadowWidth, METH_VARARGS | METH_KEYWORDS },
+        { "wxGauge_SetRange", (PyCFunction) _wrap_wxGauge_SetRange, METH_VARARGS | METH_KEYWORDS },
+        { "wxGauge_SetBezelFace", (PyCFunction) _wrap_wxGauge_SetBezelFace, METH_VARARGS | METH_KEYWORDS },
+        { "wxGauge_GetValue", (PyCFunction) _wrap_wxGauge_GetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxGauge_GetShadowWidth", (PyCFunction) _wrap_wxGauge_GetShadowWidth, METH_VARARGS | METH_KEYWORDS },
+        { "wxGauge_GetRange", (PyCFunction) _wrap_wxGauge_GetRange, METH_VARARGS | METH_KEYWORDS },
+        { "wxGauge_GetBezelFace", (PyCFunction) _wrap_wxGauge_GetBezelFace, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxGauge", (PyCFunction) _wrap_new_wxGauge, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_SetValue", (PyCFunction) _wrap_wxComboBox_SetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_SetMark", (PyCFunction) _wrap_wxComboBox_SetMark, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_SetSelection", (PyCFunction) _wrap_wxComboBox_SetSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_SetInsertionPointEnd", (PyCFunction) _wrap_wxComboBox_SetInsertionPointEnd, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_SetInsertionPoint", (PyCFunction) _wrap_wxComboBox_SetInsertionPoint, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_Remove", (PyCFunction) _wrap_wxComboBox_Remove, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_Replace", (PyCFunction) _wrap_wxComboBox_Replace, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_Paste", (PyCFunction) _wrap_wxComboBox_Paste, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_Number", (PyCFunction) _wrap_wxComboBox_Number, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_GetValue", (PyCFunction) _wrap_wxComboBox_GetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_GetStringSelection", (PyCFunction) _wrap_wxComboBox_GetStringSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_GetString", (PyCFunction) _wrap_wxComboBox_GetString, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_GetSelection", (PyCFunction) _wrap_wxComboBox_GetSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_GetLastPosition", (PyCFunction) _wrap_wxComboBox_GetLastPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_GetInsertionPoint", (PyCFunction) _wrap_wxComboBox_GetInsertionPoint, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_FindString", (PyCFunction) _wrap_wxComboBox_FindString, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_Delete", (PyCFunction) _wrap_wxComboBox_Delete, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_Cut", (PyCFunction) _wrap_wxComboBox_Cut, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_Copy", (PyCFunction) _wrap_wxComboBox_Copy, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_Clear", (PyCFunction) _wrap_wxComboBox_Clear, METH_VARARGS | METH_KEYWORDS },
+        { "wxComboBox_Append", (PyCFunction) _wrap_wxComboBox_Append, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxComboBox", (PyCFunction) _wrap_new_wxComboBox, METH_VARARGS | METH_KEYWORDS },
+        { "wxChoice_SetStringSelection", (PyCFunction) _wrap_wxChoice_SetStringSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxChoice_SetSelection", (PyCFunction) _wrap_wxChoice_SetSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxChoice_SetColumns", (PyCFunction) _wrap_wxChoice_SetColumns, METH_VARARGS | METH_KEYWORDS },
+        { "wxChoice_Number", (PyCFunction) _wrap_wxChoice_Number, METH_VARARGS | METH_KEYWORDS },
+        { "wxChoice_GetStringSelection", (PyCFunction) _wrap_wxChoice_GetStringSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxChoice_GetString", (PyCFunction) _wrap_wxChoice_GetString, METH_VARARGS | METH_KEYWORDS },
+        { "wxChoice_GetSelection", (PyCFunction) _wrap_wxChoice_GetSelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxChoice_GetColumns", (PyCFunction) _wrap_wxChoice_GetColumns, METH_VARARGS | METH_KEYWORDS },
+        { "wxChoice_FindString", (PyCFunction) _wrap_wxChoice_FindString, METH_VARARGS | METH_KEYWORDS },
+        { "wxChoice_Clear", (PyCFunction) _wrap_wxChoice_Clear, METH_VARARGS | METH_KEYWORDS },
+        { "wxChoice_Append", (PyCFunction) _wrap_wxChoice_Append, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxChoice", (PyCFunction) _wrap_new_wxChoice, METH_VARARGS | METH_KEYWORDS },
+        { "wxCheckBox_SetValue", (PyCFunction) _wrap_wxCheckBox_SetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxCheckBox_GetValue", (PyCFunction) _wrap_wxCheckBox_GetValue, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxCheckBox", (PyCFunction) _wrap_new_wxCheckBox, METH_VARARGS | METH_KEYWORDS },
+        { "wxBitmapButton_SetBitmapLabel", (PyCFunction) _wrap_wxBitmapButton_SetBitmapLabel, METH_VARARGS | METH_KEYWORDS },
+        { "wxBitmapButton_SetBitmapSelected", (PyCFunction) _wrap_wxBitmapButton_SetBitmapSelected, METH_VARARGS | METH_KEYWORDS },
+        { "wxBitmapButton_SetBitmapFocus", (PyCFunction) _wrap_wxBitmapButton_SetBitmapFocus, METH_VARARGS | METH_KEYWORDS },
+        { "wxBitmapButton_SetBitmapDisabled", (PyCFunction) _wrap_wxBitmapButton_SetBitmapDisabled, METH_VARARGS | METH_KEYWORDS },
+        { "wxBitmapButton_GetBitmapSelected", (PyCFunction) _wrap_wxBitmapButton_GetBitmapSelected, METH_VARARGS | METH_KEYWORDS },
+        { "wxBitmapButton_GetBitmapFocus", (PyCFunction) _wrap_wxBitmapButton_GetBitmapFocus, METH_VARARGS | METH_KEYWORDS },
+        { "wxBitmapButton_GetBitmapDisabled", (PyCFunction) _wrap_wxBitmapButton_GetBitmapDisabled, METH_VARARGS | METH_KEYWORDS },
+        { "wxBitmapButton_GetBitmapLabel", (PyCFunction) _wrap_wxBitmapButton_GetBitmapLabel, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxBitmapButton", (PyCFunction) _wrap_new_wxBitmapButton, METH_VARARGS | METH_KEYWORDS },
+        { "wxButton_SetDefault", (PyCFunction) _wrap_wxButton_SetDefault, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxButton", (PyCFunction) _wrap_new_wxButton, METH_VARARGS | METH_KEYWORDS },
+        { "wxControl_SetLabel", (PyCFunction) _wrap_wxControl_SetLabel, METH_VARARGS | METH_KEYWORDS },
+        { "wxControl_GetLabel", (PyCFunction) _wrap_wxControl_GetLabel, METH_VARARGS | METH_KEYWORDS },
+        { "wxControl_Command", (PyCFunction) _wrap_wxControl_Command, METH_VARARGS | METH_KEYWORDS },
         { 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},
+    { "_wxPrinterDC","_class_wxPrinterDC",0},
+    { "_class_wxMenuItem","_wxMenuItem",0},
+    { "_class_wxPaintEvent","_wxPaintEvent",0},
+    { "_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",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},
+    { "_wxMetaFileDC","_class_wxMetaFileDC",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},
+    { "_wxScrolledWindow","_class_wxScrolledWindow",0},
+    { "_unsigned_char","_byte",0},
+    { "_class_wxMetaFileDC","_wxMetaFileDC",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_wxPrinterDC","_wxPrinterDC",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
-SWIGEXPORT(void,initcontrolsc)() {
+SWIGEXPORT(void) initcontrolsc() {
         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_wxRegionIterator","_wxRegionIterator",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_wxCheckListBox",SwigwxCheckListBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_class_wxEvtHandler","_wxCheckListBox",SwigwxCheckListBoxTowxEvtHandler);
-        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("_wxPrinterDC","_class_wxPrinterDC",0);
-        SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
-        SWIG_RegisterMapping("_class_wxPaintEvent","_wxPaintEvent",0);
-        SWIG_RegisterMapping("_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",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("_wxCheckListBox","_class_wxCheckListBox",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("_wxWindowDC","_class_wxWindowDC",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_wxRegion","_wxRegion",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("_wxMetaFileDC","_class_wxMetaFileDC",0);
-        SWIG_RegisterMapping("_wxMenu","_class_wxMenu",0);
-        SWIG_RegisterMapping("_class_wxMoveEvent","_wxMoveEvent",0);
-        SWIG_RegisterMapping("_wxListBox","_class_wxCheckListBox",SwigwxCheckListBoxTowxListBox);
-        SWIG_RegisterMapping("_wxListBox","_wxCheckListBox",SwigwxCheckListBoxTowxListBox);
-        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_wxCheckListBox",SwigwxCheckListBoxTowxWindow);
-        SWIG_RegisterMapping("_class_wxWindow","_wxCheckListBox",SwigwxCheckListBoxTowxWindow);
-        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_wxWindowDC","_wxWindowDC",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("_wxScrolledWindow","_class_wxScrolledWindow",0);
-        SWIG_RegisterMapping("_unsigned_char","_byte",0);
-        SWIG_RegisterMapping("_class_wxMetaFileDC","_wxMetaFileDC",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_wxCheckListBox",SwigwxCheckListBoxTowxControl);
-        SWIG_RegisterMapping("_wxControl","_wxCheckListBox",SwigwxCheckListBoxTowxControl);
-        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","_class_wxCheckListBox",SwigwxCheckListBoxTowxListBox);
-        SWIG_RegisterMapping("_class_wxListBox","_wxCheckListBox",SwigwxCheckListBoxTowxListBox);
-        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("_wxRegionIterator","_class_wxRegionIterator",0);
-        SWIG_RegisterMapping("_class_wxPrinterDC","_wxPrinterDC",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_wxCheckListBox",SwigwxCheckListBoxTowxControl);
-        SWIG_RegisterMapping("_class_wxControl","_wxCheckListBox",SwigwxCheckListBoxTowxControl);
-        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("_wxPalette","_class_wxPalette",0);
-        SWIG_RegisterMapping("_class_wxIdleEvent","_wxIdleEvent",0);
-        SWIG_RegisterMapping("_wxEraseEvent","_class_wxEraseEvent",0);
-        SWIG_RegisterMapping("_class_wxJoystickEvent","_wxJoystickEvent",0);
-        SWIG_RegisterMapping("_wxRegion","_class_wxRegion",0);
-        SWIG_RegisterMapping("_class_wxShowEvent","_wxShowEvent",0);
-        SWIG_RegisterMapping("_wxActivateEvent","_class_wxActivateEvent",0);
-        SWIG_RegisterMapping("_wxGauge","_class_wxGauge",0);
-        SWIG_RegisterMapping("_class_wxCheckListBox","_wxCheckListBox",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_wxCheckListBox",SwigwxCheckListBoxTowxEvtHandler);
-        SWIG_RegisterMapping("_wxEvtHandler","_wxCheckListBox",SwigwxCheckListBoxTowxEvtHandler);
-        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_wxPalette","_wxPalette",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_wxCheckListBox",SwigwxCheckListBoxTowxWindow);
-        SWIG_RegisterMapping("_wxWindow","_wxCheckListBox",SwigwxCheckListBoxTowxWindow);
-        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);
+}
 }