]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/msw/controls.cpp
wxPython 2.0b9, second phase (gtk)
[wxWidgets.git] / utils / wxPython / src / msw / controls.cpp
index f530d32a0fabdaa5ea86ae98cddc1c66b935d533..9f81dceccd3090dc7a79d8b91b360ff4a0941968 100644 (file)
@@ -55,14 +55,19 @@ extern PyObject *SWIG_newvarlink(void);
 
 #include "helpers.h"
 #include <wx/slider.h>
+#include <wx/spinbutt.h>
+#include <wx/dynarray.h>
 
 #ifdef __WXMSW__
-#include <wx/spinbutt.h>
 #if wxUSE_OWNER_DRAWN
 #include <wx/checklst.h>
 #endif
 #endif
 
+#ifdef __WXGTK__
+#include <wx/checklst.h>
+#endif
+
 static PyObject* l_output_helper(PyObject* target, PyObject* o) {
     PyObject*   o2;
     if (!target) {
@@ -110,15 +115,14 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) {
 }
 
 
+extern byte* byte_LIST_helper(PyObject* source);
 extern int* int_LIST_helper(PyObject* source);
 extern long* long_LIST_helper(PyObject* source);
 extern char** string_LIST_helper(PyObject* source);
 extern wxPoint* wxPoint_LIST_helper(PyObject* source);
 extern wxBitmap** wxBitmap_LIST_helper(PyObject* source);
 extern wxString* wxString_LIST_helper(PyObject* source);
-#ifdef __WXMSW__
 extern wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
-#endif
 
 
 static char* wxStringErrorMsg = "string type is required for parameter";
@@ -163,8 +167,12 @@ static PyObject *_wrap_wxControl_Command(PyObject *self, PyObject *args) {
         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;
 }
@@ -185,8 +193,12 @@ static PyObject *_wrap_wxControl_GetLabel(PyObject *self, PyObject *args) {
         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));
 }
 {
@@ -217,10 +229,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)
@@ -286,7 +302,7 @@ 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")) {
@@ -306,8 +322,12 @@ static PyObject *_wrap_new_wxButton(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxButton *)new_wxButton(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxButton_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxButton *)new_wxButton(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxButton_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     if (_obj2)
@@ -331,8 +351,12 @@ static PyObject *_wrap_wxButton_SetDefault(PyObject *self, PyObject *args) {
         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;
 }
@@ -421,8 +445,12 @@ static PyObject *_wrap_new_wxBitmapButton(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxBitmapButton *)new_wxBitmapButton(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmapButton_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxBitmapButton *)new_wxBitmapButton(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmapButton_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -444,9 +472,13 @@ static PyObject *_wrap_wxBitmapButton_GetBitmapLabel(PyObject *self, PyObject *a
         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");
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -468,9 +500,13 @@ static PyObject *_wrap_wxBitmapButton_GetBitmapDisabled(PyObject *self, PyObject
         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");
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -492,9 +528,13 @@ static PyObject *_wrap_wxBitmapButton_GetBitmapFocus(PyObject *self, PyObject *a
         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");
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -516,9 +556,13 @@ static PyObject *_wrap_wxBitmapButton_GetBitmapSelected(PyObject *self, PyObject
         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");
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -546,8 +590,12 @@ static PyObject *_wrap_wxBitmapButton_SetBitmapDisabled(PyObject *self, PyObject
         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;
 }
@@ -575,8 +623,12 @@ static PyObject *_wrap_wxBitmapButton_SetBitmapFocus(PyObject *self, PyObject *a
         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;
 }
@@ -604,8 +656,12 @@ static PyObject *_wrap_wxBitmapButton_SetBitmapSelected(PyObject *self, PyObject
         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;
 }
@@ -633,8 +689,12 @@ static PyObject *_wrap_wxBitmapButton_SetBitmapLabel(PyObject *self, PyObject *a
         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;
 }
@@ -696,7 +756,7 @@ 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")) {
@@ -716,8 +776,12 @@ static PyObject *_wrap_new_wxCheckBox(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxCheckBox *)new_wxCheckBox(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxCheckBox_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxCheckBox *)new_wxCheckBox(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxCheckBox_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     if (_obj2)
@@ -742,8 +806,12 @@ static PyObject *_wrap_wxCheckBox_GetValue(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -765,8 +833,12 @@ static PyObject *_wrap_wxCheckBox_SetValue(PyObject *self, PyObject *args) {
         }
     }
     _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;
 }
@@ -850,10 +922,19 @@ static PyObject *_wrap_new_wxChoice(PyObject *self, PyObject *args) {
         }
     }
 {
-    _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");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxChoice *)new_wxChoice(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5,_arg6,*_arg7,_arg8);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxChoice_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     delete [] _arg5;
@@ -883,10 +964,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)
@@ -910,8 +995,12 @@ static PyObject *_wrap_wxChoice_Clear(PyObject *self, PyObject *args) {
         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;
 }
@@ -939,10 +1028,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;
@@ -966,8 +1059,12 @@ static PyObject *_wrap_wxChoice_GetColumns(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -987,8 +1084,12 @@ static PyObject *_wrap_wxChoice_GetSelection(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -1009,8 +1110,12 @@ static PyObject *_wrap_wxChoice_GetString(PyObject *self, PyObject *args) {
         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));
 }
 {
@@ -1035,8 +1140,12 @@ static PyObject *_wrap_wxChoice_GetStringSelection(PyObject *self, PyObject *arg
         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));
 }
 {
@@ -1061,8 +1170,12 @@ static PyObject *_wrap_wxChoice_Number(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -1082,8 +1195,12 @@ static PyObject *_wrap_wxChoice_SetColumns(PyObject *self, PyObject *args) {
         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;
 }
@@ -1104,8 +1221,12 @@ static PyObject *_wrap_wxChoice_SetSelection(PyObject *self, PyObject *args) {
         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;
 }
@@ -1132,10 +1253,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)
@@ -1224,10 +1349,19 @@ static PyObject *_wrap_new_wxComboBox(PyObject *self, PyObject *args) {
         }
     }
 {
-    _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");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxComboBox *)new_wxComboBox(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,_arg6,_arg7,*_arg8,_arg9);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxComboBox_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     delete [] _arg6;
@@ -1257,10 +1391,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)
@@ -1284,8 +1422,12 @@ static PyObject *_wrap_wxComboBox_Clear(PyObject *self, PyObject *args) {
         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;
 }
@@ -1305,8 +1447,12 @@ static PyObject *_wrap_wxComboBox_Copy(PyObject *self, PyObject *args) {
         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;
 }
@@ -1326,8 +1472,12 @@ static PyObject *_wrap_wxComboBox_Cut(PyObject *self, PyObject *args) {
         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;
 }
@@ -1348,8 +1498,12 @@ static PyObject *_wrap_wxComboBox_Delete(PyObject *self, PyObject *args) {
         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;
 }
@@ -1377,10 +1531,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;
@@ -1404,8 +1562,12 @@ static PyObject *_wrap_wxComboBox_GetInsertionPoint(PyObject *self, PyObject *ar
         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;
 }
 
@@ -1425,8 +1587,12 @@ static PyObject *_wrap_wxComboBox_GetLastPosition(PyObject *self, PyObject *args
         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;
 }
 
@@ -1446,8 +1612,12 @@ static PyObject *_wrap_wxComboBox_GetSelection(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -1468,8 +1638,12 @@ static PyObject *_wrap_wxComboBox_GetString(PyObject *self, PyObject *args) {
         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));
 }
 {
@@ -1494,8 +1668,12 @@ static PyObject *_wrap_wxComboBox_GetStringSelection(PyObject *self, PyObject *a
         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));
 }
 {
@@ -1520,8 +1698,12 @@ static PyObject *_wrap_wxComboBox_GetValue(PyObject *self, PyObject *args) {
         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));
 }
 {
@@ -1546,8 +1728,12 @@ static PyObject *_wrap_wxComboBox_Number(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -1566,8 +1752,12 @@ static PyObject *_wrap_wxComboBox_Paste(PyObject *self, PyObject *args) {
         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;
 }
@@ -1596,10 +1786,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)
@@ -1625,8 +1819,12 @@ static PyObject *_wrap_wxComboBox_Remove(PyObject *self, PyObject *args) {
         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;
 }
@@ -1647,8 +1845,12 @@ static PyObject *_wrap_wxComboBox_SetInsertionPoint(PyObject *self, PyObject *ar
         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;
 }
@@ -1668,8 +1870,12 @@ static PyObject *_wrap_wxComboBox_SetInsertionPointEnd(PyObject *self, PyObject
         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;
 }
@@ -1693,8 +1899,12 @@ static PyObject *_wrap_wxComboBox_SetSelection(PyObject *self, PyObject *args) {
         }
     }
     _arg2 = (bool ) tempbool2;
-    wxComboBox_SetSelection(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxComboBox_SetSelection(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1716,8 +1926,12 @@ static PyObject *_wrap_wxComboBox_SetMark(PyObject *self, PyObject *args) {
         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;
 }
@@ -1744,10 +1958,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)
@@ -1825,8 +2043,12 @@ static PyObject *_wrap_new_wxGauge(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxGauge *)new_wxGauge(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxGauge_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxGauge *)new_wxGauge(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxGauge_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -1847,8 +2069,12 @@ static PyObject *_wrap_wxGauge_GetBezelFace(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -1868,8 +2094,12 @@ static PyObject *_wrap_wxGauge_GetRange(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -1889,8 +2119,12 @@ static PyObject *_wrap_wxGauge_GetShadowWidth(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -1910,8 +2144,12 @@ static PyObject *_wrap_wxGauge_GetValue(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -1931,8 +2169,12 @@ static PyObject *_wrap_wxGauge_SetBezelFace(PyObject *self, PyObject *args) {
         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;
 }
@@ -1953,8 +2195,12 @@ static PyObject *_wrap_wxGauge_SetRange(PyObject *self, PyObject *args) {
         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;
 }
@@ -1975,8 +2221,12 @@ static PyObject *_wrap_wxGauge_SetShadowWidth(PyObject *self, PyObject *args) {
         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;
 }
@@ -1997,8 +2247,12 @@ static PyObject *_wrap_wxGauge_SetValue(PyObject *self, PyObject *args) {
         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;
 }
@@ -2058,7 +2312,7 @@ 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")) {
@@ -2072,8 +2326,12 @@ static PyObject *_wrap_new_wxStaticBox(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxStaticBox *)new_wxStaticBox(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticBox_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxStaticBox *)new_wxStaticBox(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticBox_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     if (_obj2)
@@ -2137,7 +2395,7 @@ 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")) {
@@ -2151,8 +2409,12 @@ static PyObject *_wrap_new_wxStaticText(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxStaticText *)new_wxStaticText(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticText_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxStaticText *)new_wxStaticText(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticText_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     if (_obj2)
@@ -2177,8 +2439,12 @@ static PyObject *_wrap_wxStaticText_GetLabel(PyObject *self, PyObject *args) {
         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));
 }
 {
@@ -2209,10 +2475,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)
@@ -2300,10 +2570,19 @@ static PyObject *_wrap_new_wxListBox(PyObject *self, PyObject *args) {
         }
     }
 {
-    _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");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxListBox *)new_wxListBox(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5,_arg6,*_arg7,_arg8);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxListBox_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     delete [] _arg5;
@@ -2333,10 +2612,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)
@@ -2360,8 +2643,12 @@ static PyObject *_wrap_wxListBox_Clear(PyObject *self, PyObject *args) {
         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;
 }
@@ -2382,8 +2669,12 @@ static PyObject *_wrap_wxListBox_Delete(PyObject *self, PyObject *args) {
         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;
 }
@@ -2404,8 +2695,12 @@ static PyObject *_wrap_wxListBox_Deselect(PyObject *self, PyObject *args) {
         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;
 }
@@ -2433,10 +2728,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;
@@ -2460,8 +2759,47 @@ static PyObject *_wrap_wxListBox_GetSelection(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (int )wxListBox_GetSelection(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxListBox_GetSelection(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject * wxListBox_GetSelections(wxListBox *self) {
+          wxArrayInt lst;
+          self->GetSelections(lst);
+          PyObject *tup = PyTuple_New(lst.GetCount());
+          for(int i=0; i<lst.GetCount(); i++) {
+              PyTuple_SetItem(tup, i, PyInt_FromLong(lst[i]));
+          }
+          return tup;
+      }
+static PyObject *_wrap_wxListBox_GetSelections(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxListBox * _arg0;
+    char * _argc0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"s:wxListBox_GetSelections",&_argc0)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(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;
 }
 
@@ -2482,8 +2820,12 @@ static PyObject *_wrap_wxListBox_GetString(PyObject *self, PyObject *args) {
         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));
 }
 {
@@ -2508,8 +2850,12 @@ static PyObject *_wrap_wxListBox_GetStringSelection(PyObject *self, PyObject *ar
         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));
 }
 {
@@ -2534,8 +2880,12 @@ static PyObject *_wrap_wxListBox_Number(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -2556,8 +2906,12 @@ static PyObject *_wrap_wxListBox_Selected(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -2587,10 +2941,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;
@@ -2614,8 +2977,12 @@ static PyObject *_wrap_wxListBox_SetFirstItem(PyObject *self, PyObject *args) {
         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;
 }
@@ -2642,10 +3009,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)
@@ -2673,8 +3044,12 @@ static PyObject *_wrap_wxListBox_SetSelection(PyObject *self, PyObject *args) {
         }
     }
     _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;
 }
@@ -2702,10 +3077,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)
@@ -2738,11 +3117,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)
@@ -2838,10 +3221,19 @@ static PyObject *_wrap_new_wxCheckListBox(PyObject *self, PyObject *args) {
         }
     }
 {
-    _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");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxCheckListBox *)new_wxCheckListBox(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5,_arg6,*_arg7,_arg8);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxCheckListBox_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     delete [] _arg5;
@@ -2866,8 +3258,12 @@ static PyObject *_wrap_wxCheckListBox_IsChecked(PyObject *self, PyObject *args)
         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;
 }
 
@@ -2890,8 +3286,12 @@ static PyObject *_wrap_wxCheckListBox_Check(PyObject *self, PyObject *args) {
         }
     }
     _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;
 }
@@ -2912,8 +3312,12 @@ static PyObject *_wrap_wxCheckListBox_GetItemHeight(PyObject *self, PyObject *ar
         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;
 }
 
@@ -2986,8 +3390,12 @@ static PyObject *_wrap_new_wxTextCtrl(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxTextCtrl *)new_wxTextCtrl(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxTextCtrl_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxTextCtrl *)new_wxTextCtrl(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxTextCtrl_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -3007,8 +3415,12 @@ static PyObject *_wrap_wxTextCtrl_Clear(PyObject *self, PyObject *args) {
         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;
 }
@@ -3028,8 +3440,12 @@ static PyObject *_wrap_wxTextCtrl_Copy(PyObject *self, PyObject *args) {
         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;
 }
@@ -3049,8 +3465,12 @@ static PyObject *_wrap_wxTextCtrl_Cut(PyObject *self, PyObject *args) {
         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;
 }
@@ -3070,8 +3490,12 @@ static PyObject *_wrap_wxTextCtrl_DiscardEdits(PyObject *self, PyObject *args) {
         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;
 }
@@ -3092,8 +3516,12 @@ static PyObject *_wrap_wxTextCtrl_GetInsertionPoint(PyObject *self, PyObject *ar
         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;
 }
 
@@ -3113,8 +3541,12 @@ static PyObject *_wrap_wxTextCtrl_GetLastPosition(PyObject *self, PyObject *args
         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;
 }
 
@@ -3135,8 +3567,12 @@ static PyObject *_wrap_wxTextCtrl_GetLineLength(PyObject *self, PyObject *args)
         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;
 }
 
@@ -3157,8 +3593,12 @@ static PyObject *_wrap_wxTextCtrl_GetLineText(PyObject *self, PyObject *args) {
         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));
 }
 {
@@ -3183,8 +3623,12 @@ static PyObject *_wrap_wxTextCtrl_GetNumberOfLines(PyObject *self, PyObject *arg
         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;
 }
 
@@ -3204,8 +3648,12 @@ static PyObject *_wrap_wxTextCtrl_GetValue(PyObject *self, PyObject *args) {
         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));
 }
 {
@@ -3230,8 +3678,12 @@ static PyObject *_wrap_wxTextCtrl_IsModified(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -3258,10 +3710,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;
@@ -3284,8 +3740,12 @@ static PyObject *_wrap_wxTextCtrl_Paste(PyObject *self, PyObject *args) {
         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;
 }
@@ -3316,8 +3776,12 @@ static PyObject *_wrap_wxTextCtrl_PositionToXY(PyObject *self, PyObject *args) {
         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;
@@ -3349,8 +3813,12 @@ static PyObject *_wrap_wxTextCtrl_Remove(PyObject *self, PyObject *args) {
         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;
 }
@@ -3379,10 +3847,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)
@@ -3414,10 +3886,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;
@@ -3443,8 +3919,12 @@ static PyObject *_wrap_wxTextCtrl_SetEditable(PyObject *self, PyObject *args) {
         }
     }
     _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;
 }
@@ -3465,8 +3945,12 @@ static PyObject *_wrap_wxTextCtrl_SetInsertionPoint(PyObject *self, PyObject *ar
         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;
 }
@@ -3486,8 +3970,12 @@ static PyObject *_wrap_wxTextCtrl_SetInsertionPointEnd(PyObject *self, PyObject
         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;
 }
@@ -3509,8 +3997,12 @@ static PyObject *_wrap_wxTextCtrl_SetSelection(PyObject *self, PyObject *args) {
         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;
 }
@@ -3537,10 +4029,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)
@@ -3565,8 +4061,12 @@ static PyObject *_wrap_wxTextCtrl_ShowPosition(PyObject *self, PyObject *args) {
         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;
 }
@@ -3593,10 +4093,52 @@ 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 * _resultobj;
+    wxTextCtrl * _arg0;
+    wxString * _arg1;
+    char * _argc0 = 0;
+    PyObject * _obj1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"sO:wxTextCtrl_AppendText",&_argc0,&_obj1)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(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)
@@ -3623,8 +4165,12 @@ static PyObject *_wrap_wxTextCtrl_XYToPosition(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -3696,8 +4242,12 @@ static PyObject *_wrap_new_wxScrollBar(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxScrollBar *)new_wxScrollBar(_arg0,_arg1,*_arg2,*_arg3,_arg4,*_arg5,_arg6);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxScrollBar_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxScrollBar *)new_wxScrollBar(_arg0,_arg1,*_arg2,*_arg3,_arg4,*_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxScrollBar_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -3718,8 +4268,12 @@ static PyObject *_wrap_wxScrollBar_GetRange(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -3739,29 +4293,37 @@ static PyObject *_wrap_wxScrollBar_GetPageSize(PyObject *self, PyObject *args) {
         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_GetPosition(_swigobj)  (_swigobj->GetPosition())
-static PyObject *_wrap_wxScrollBar_GetPosition(PyObject *self, PyObject *args) {
+#define wxScrollBar_GetThumbPosition(_swigobj)  (_swigobj->GetThumbPosition())
+static PyObject *_wrap_wxScrollBar_GetThumbPosition(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     int  _result;
     wxScrollBar * _arg0;
     char * _argc0 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxScrollBar_GetPosition",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"s:wxScrollBar_GetThumbPosition",&_argc0)) 
         return NULL;
     if (_argc0) {
         if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxScrollBar_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_GetPosition. Expected _wxScrollBar_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_GetThumbPosition. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
-    _result = (int )wxScrollBar_GetPosition(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxScrollBar_GetThumbPosition(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -3781,29 +4343,37 @@ static PyObject *_wrap_wxScrollBar_GetThumbSize(PyObject *self, PyObject *args)
         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_SetPosition(_swigobj,_swigarg0)  (_swigobj->SetPosition(_swigarg0))
-static PyObject *_wrap_wxScrollBar_SetPosition(PyObject *self, PyObject *args) {
+#define wxScrollBar_SetThumbPosition(_swigobj,_swigarg0)  (_swigobj->SetThumbPosition(_swigarg0))
+static PyObject *_wrap_wxScrollBar_SetThumbPosition(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxScrollBar * _arg0;
     int  _arg1;
     char * _argc0 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxScrollBar_SetPosition",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"si:wxScrollBar_SetThumbPosition",&_argc0,&_arg1)) 
         return NULL;
     if (_argc0) {
         if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxScrollBar_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_SetPosition. Expected _wxScrollBar_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollBar_SetThumbPosition. Expected _wxScrollBar_p.");
         return NULL;
         }
     }
-    wxScrollBar_SetPosition(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxScrollBar_SetThumbPosition(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -3830,8 +4400,12 @@ static PyObject *_wrap_wxScrollBar_SetScrollbar(PyObject *self, PyObject *args)
         }
     }
     _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;
 }
@@ -3896,8 +4470,12 @@ static PyObject *_wrap_new_wxSpinButton(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxSpinButton *)new_wxSpinButton(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxSpinButton_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxSpinButton *)new_wxSpinButton(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxSpinButton_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -3918,8 +4496,12 @@ static PyObject *_wrap_wxSpinButton_GetMax(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -3939,8 +4521,12 @@ static PyObject *_wrap_wxSpinButton_GetMin(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -3960,8 +4546,12 @@ static PyObject *_wrap_wxSpinButton_GetValue(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -3982,8 +4572,12 @@ static PyObject *_wrap_wxSpinButton_SetRange(PyObject *self, PyObject *args) {
         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;
 }
@@ -4004,8 +4598,12 @@ static PyObject *_wrap_wxSpinButton_SetValue(PyObject *self, PyObject *args) {
         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;
 }
@@ -4078,8 +4676,12 @@ static PyObject *_wrap_new_wxStaticBitmap(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxStaticBitmap *)new_wxStaticBitmap(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticBitmap_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxStaticBitmap *)new_wxStaticBitmap(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxStaticBitmap_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -4101,9 +4703,13 @@ static PyObject *_wrap_wxStaticBitmap_GetBitmap(PyObject *self, PyObject *args)
         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");
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -4131,8 +4737,12 @@ static PyObject *_wrap_wxStaticBitmap_SetBitmap(PyObject *self, PyObject *args)
         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;
 }
@@ -4198,7 +4808,7 @@ 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")) {
@@ -4226,10 +4836,19 @@ static PyObject *_wrap_new_wxRadioBox(PyObject *self, PyObject *args) {
         }
     }
 {
-    _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");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRadioBox *)new_wxRadioBox(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6,_arg7,_arg8,*_arg9,_arg10);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRadioBox_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     if (_obj2)
@@ -4241,8 +4860,8 @@ 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 * _resultobj;
     wxRadioBox * _arg0;
     bool  _arg1;
@@ -4250,23 +4869,27 @@ static PyObject *_wrap_wxRadioBox_EnableBox(PyObject *self, PyObject *args) {
     int tempbool1;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioBox_EnableBox",&_argc0,&tempbool1)) 
+    if(!PyArg_ParseTuple(args,"si:wxRadioBox_Enable",&_argc0,&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.");
+            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 * _resultobj;
     wxRadioBox * _arg0;
     int  _arg1;
@@ -4275,17 +4898,21 @@ static PyObject *_wrap_wxRadioBox_Enable(PyObject *self, PyObject *args) {
     int tempbool2;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sii:wxRadioBox_Enable",&_argc0,&_arg1,&tempbool2)) 
+    if(!PyArg_ParseTuple(args,"sii:wxRadioBox_EnableItem",&_argc0,&_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.");
+            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;
 }
@@ -4313,10 +4940,14 @@ 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);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxRadioBox_FindString(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj1)
         delete _arg1;
@@ -4324,24 +4955,28 @@ static PyObject *_wrap_wxRadioBox_FindString(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-#define wxRadioBox_GetBoxLabel(_swigobj)  (_swigobj->GetLabel())
-static PyObject *_wrap_wxRadioBox_GetBoxLabel(PyObject *self, PyObject *args) {
+#define wxRadioBox_GetLabel(_swigobj)  (_swigobj->GetLabel())
+static PyObject *_wrap_wxRadioBox_GetLabel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxString * _result;
     wxRadioBox * _arg0;
     char * _argc0 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRadioBox_GetBoxLabel",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"s:wxRadioBox_GetLabel",&_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.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_GetLabel. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
-    _result = new wxString (wxRadioBox_GetBoxLabel(_arg0));
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxRadioBox_GetLabel(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -4350,8 +4985,8 @@ static PyObject *_wrap_wxRadioBox_GetBoxLabel(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-#define wxRadioBox_GetLabel(_swigobj,_swigarg0)  (_swigobj->GetLabel(_swigarg0))
-static PyObject *_wrap_wxRadioBox_GetLabel(PyObject *self, PyObject *args) {
+#define wxRadioBox_GetItemLabel(_swigobj,_swigarg0)  (_swigobj->GetLabel(_swigarg0))
+static PyObject *_wrap_wxRadioBox_GetItemLabel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxString * _result;
     wxRadioBox * _arg0;
@@ -4359,16 +4994,20 @@ static PyObject *_wrap_wxRadioBox_GetLabel(PyObject *self, PyObject *args) {
     char * _argc0 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxRadioBox_GetLabel",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"si:wxRadioBox_GetItemLabel",&_argc0,&_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.");
+            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));
 }
 {
@@ -4393,8 +5032,12 @@ static PyObject *_wrap_wxRadioBox_GetSelection(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -4415,8 +5058,12 @@ static PyObject *_wrap_wxRadioBox_GetString(PyObject *self, PyObject *args) {
         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));
 }
 {
@@ -4441,8 +5088,12 @@ static PyObject *_wrap_wxRadioBox_GetStringSelection(PyObject *self, PyObject *a
         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));
 }
 {
@@ -4467,13 +5118,17 @@ static PyObject *_wrap_wxRadioBox_Number(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (int )wxRadioBox_Number(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxRadioBox_Number(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxRadioBox_SetBoxLabel(_swigobj,_swigarg0)  (_swigobj->SetLabel(_swigarg0))
-static PyObject *_wrap_wxRadioBox_SetBoxLabel(PyObject *self, PyObject *args) {
+#define wxRadioBox_SetLabel(_swigobj,_swigarg0)  (_swigobj->SetLabel(_swigarg0))
+static PyObject *_wrap_wxRadioBox_SetLabel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     wxString * _arg1;
@@ -4481,11 +5136,11 @@ static PyObject *_wrap_wxRadioBox_SetBoxLabel(PyObject *self, PyObject *args) {
     PyObject * _obj1 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sO:wxRadioBox_SetBoxLabel",&_argc0,&_obj1)) 
+    if(!PyArg_ParseTuple(args,"sO:wxRadioBox_SetLabel",&_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.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_SetLabel. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
@@ -4494,10 +5149,14 @@ static PyObject *_wrap_wxRadioBox_SetBoxLabel(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));
 }
-    wxRadioBox_SetBoxLabel(_arg0,*_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRadioBox_SetLabel(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     if (_obj1)
@@ -4506,8 +5165,8 @@ static PyObject *_wrap_wxRadioBox_SetBoxLabel(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-#define wxRadioBox_SetLabel(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetLabel(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxRadioBox_SetLabel(PyObject *self, PyObject *args) {
+#define wxRadioBox_SetItemLabel(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetLabel(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxRadioBox_SetItemLabel(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     wxRadioBox * _arg0;
     int  _arg1;
@@ -4516,11 +5175,11 @@ static PyObject *_wrap_wxRadioBox_SetLabel(PyObject *self, PyObject *args) {
     PyObject * _obj2 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siO:wxRadioBox_SetLabel",&_argc0,&_arg1,&_obj2)) 
+    if(!PyArg_ParseTuple(args,"siO:wxRadioBox_SetItemLabel",&_argc0,&_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.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRadioBox_SetItemLabel. Expected _wxRadioBox_p.");
         return NULL;
         }
     }
@@ -4529,10 +5188,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)
@@ -4557,8 +5220,12 @@ static PyObject *_wrap_wxRadioBox_SetSelection(PyObject *self, PyObject *args) {
         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;
 }
@@ -4585,10 +5252,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)
@@ -4615,8 +5286,12 @@ static PyObject *_wrap_wxRadioBox_Show(PyObject *self, PyObject *args) {
         }
     }
     _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;
 }
@@ -4640,8 +5315,12 @@ static PyObject *_wrap_wxRadioBox_ShowItem(PyObject *self, PyObject *args) {
         }
     }
     _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;
 }
@@ -4703,7 +5382,7 @@ 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")) {
@@ -4723,8 +5402,12 @@ static PyObject *_wrap_new_wxRadioButton(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxRadioButton *)new_wxRadioButton(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRadioButton_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRadioButton *)new_wxRadioButton(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6,_arg7);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRadioButton_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     if (_obj2)
@@ -4749,8 +5432,12 @@ static PyObject *_wrap_wxRadioButton_GetValue(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -4772,8 +5459,12 @@ static PyObject *_wrap_wxRadioButton_SetValue(PyObject *self, PyObject *args) {
         }
     }
     _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;
 }
@@ -4849,8 +5540,12 @@ static PyObject *_wrap_new_wxSlider(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxSlider *)new_wxSlider(_arg0,_arg1,_arg2,_arg3,_arg4,*_arg5,*_arg6,_arg7,*_arg8,_arg9);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxSlider_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxSlider *)new_wxSlider(_arg0,_arg1,_arg2,_arg3,_arg4,*_arg5,*_arg6,_arg7,*_arg8,_arg9);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxSlider_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -4870,8 +5565,12 @@ static PyObject *_wrap_wxSlider_ClearSel(PyObject *self, PyObject *args) {
         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;
 }
@@ -4891,8 +5590,12 @@ static PyObject *_wrap_wxSlider_ClearTicks(PyObject *self, PyObject *args) {
         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;
 }
@@ -4913,8 +5616,12 @@ static PyObject *_wrap_wxSlider_GetLineSize(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -4934,8 +5641,12 @@ static PyObject *_wrap_wxSlider_GetMax(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -4955,8 +5666,12 @@ static PyObject *_wrap_wxSlider_GetMin(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -4976,8 +5691,12 @@ static PyObject *_wrap_wxSlider_GetPageSize(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -4997,8 +5716,12 @@ static PyObject *_wrap_wxSlider_GetSelEnd(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -5018,8 +5741,12 @@ static PyObject *_wrap_wxSlider_GetSelStart(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -5039,8 +5766,12 @@ static PyObject *_wrap_wxSlider_GetThumbLength(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -5060,8 +5791,12 @@ static PyObject *_wrap_wxSlider_GetTickFreq(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -5081,8 +5816,12 @@ static PyObject *_wrap_wxSlider_GetValue(PyObject *self, PyObject *args) {
         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;
 }
 
@@ -5103,8 +5842,12 @@ static PyObject *_wrap_wxSlider_SetRange(PyObject *self, PyObject *args) {
         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;
 }
@@ -5126,8 +5869,12 @@ static PyObject *_wrap_wxSlider_SetTickFreq(PyObject *self, PyObject *args) {
         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;
 }
@@ -5148,8 +5895,12 @@ static PyObject *_wrap_wxSlider_SetLineSize(PyObject *self, PyObject *args) {
         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;
 }
@@ -5170,8 +5921,12 @@ static PyObject *_wrap_wxSlider_SetPageSize(PyObject *self, PyObject *args) {
         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;
 }
@@ -5193,8 +5948,12 @@ static PyObject *_wrap_wxSlider_SetSelection(PyObject *self, PyObject *args) {
         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;
 }
@@ -5215,8 +5974,12 @@ static PyObject *_wrap_wxSlider_SetThumbLength(PyObject *self, PyObject *args) {
         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;
 }
@@ -5237,8 +6000,12 @@ static PyObject *_wrap_wxSlider_SetTick(PyObject *self, PyObject *args) {
         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;
 }
@@ -5259,8 +6026,12 @@ static PyObject *_wrap_wxSlider_SetValue(PyObject *self, PyObject *args) {
         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;
 }
@@ -5293,17 +6064,17 @@ static PyMethodDef controlscMethods[] = {
         { "wxRadioBox_Show", _wrap_wxRadioBox_Show, 1 },
         { "wxRadioBox_SetStringSelection", _wrap_wxRadioBox_SetStringSelection, 1 },
         { "wxRadioBox_SetSelection", _wrap_wxRadioBox_SetSelection, 1 },
+        { "wxRadioBox_SetItemLabel", _wrap_wxRadioBox_SetItemLabel, 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_GetItemLabel", _wrap_wxRadioBox_GetItemLabel, 1 },
         { "wxRadioBox_GetLabel", _wrap_wxRadioBox_GetLabel, 1 },
-        { "wxRadioBox_GetBoxLabel", _wrap_wxRadioBox_GetBoxLabel, 1 },
         { "wxRadioBox_FindString", _wrap_wxRadioBox_FindString, 1 },
+        { "wxRadioBox_EnableItem", _wrap_wxRadioBox_EnableItem, 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 },
@@ -5315,13 +6086,14 @@ static PyMethodDef controlscMethods[] = {
         { "wxSpinButton_GetMax", _wrap_wxSpinButton_GetMax, 1 },
         { "new_wxSpinButton", _wrap_new_wxSpinButton, 1 },
         { "wxScrollBar_SetScrollbar", _wrap_wxScrollBar_SetScrollbar, 1 },
-        { "wxScrollBar_SetPosition", _wrap_wxScrollBar_SetPosition, 1 },
+        { "wxScrollBar_SetThumbPosition", _wrap_wxScrollBar_SetThumbPosition, 1 },
         { "wxScrollBar_GetThumbSize", _wrap_wxScrollBar_GetThumbSize, 1 },
-        { "wxScrollBar_GetPosition", _wrap_wxScrollBar_GetPosition, 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_AppendText", _wrap_wxTextCtrl_AppendText, 1 },
         { "wxTextCtrl_WriteText", _wrap_wxTextCtrl_WriteText, 1 },
         { "wxTextCtrl_ShowPosition", _wrap_wxTextCtrl_ShowPosition, 1 },
         { "wxTextCtrl_SetValue", _wrap_wxTextCtrl_SetValue, 1 },
@@ -5361,6 +6133,7 @@ static PyMethodDef controlscMethods[] = {
         { "wxListBox_Number", _wrap_wxListBox_Number, 1 },
         { "wxListBox_GetStringSelection", _wrap_wxListBox_GetStringSelection, 1 },
         { "wxListBox_GetString", _wrap_wxListBox_GetString, 1 },
+        { "wxListBox_GetSelections", _wrap_wxListBox_GetSelections, 1 },
         { "wxListBox_GetSelection", _wrap_wxListBox_GetSelection, 1 },
         { "wxListBox_FindString", _wrap_wxListBox_FindString, 1 },
         { "wxListBox_Deselect", _wrap_wxListBox_Deselect, 1 },
@@ -5452,6 +6225,7 @@ SWIGEXPORT(void,initcontrolsc)() {
         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);
@@ -5493,6 +6267,7 @@ SWIGEXPORT(void,initcontrolsc)() {
         SWIG_RegisterMapping("_wxPaintEvent","_class_wxPaintEvent",0);
         SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0);
         SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0);
+        SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0);
         SWIG_RegisterMapping("_wxMask","_class_wxMask",0);
         SWIG_RegisterMapping("_wxPyMenu","_class_wxPyMenu",0);
         SWIG_RegisterMapping("_wxPen","_class_wxPen",0);
@@ -5504,21 +6279,24 @@ SWIGEXPORT(void,initcontrolsc)() {
         SWIG_RegisterMapping("_long","_wxDash",0);
         SWIG_RegisterMapping("_long","_unsigned_long",0);
         SWIG_RegisterMapping("_long","_signed_long",0);
+        SWIG_RegisterMapping("_wxImageList","_class_wxImageList",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("_class_wxPostScriptDC","_wxPostScriptDC",0);
         SWIG_RegisterMapping("_wxPanel","_class_wxPanel",0);
         SWIG_RegisterMapping("_wxInitDialogEvent","_class_wxInitDialogEvent",0);
         SWIG_RegisterMapping("_wxCheckBox","_class_wxCheckBox",0);
+        SWIG_RegisterMapping("_wxPyEvent","_class_wxPyEvent",0);
         SWIG_RegisterMapping("_wxTextCtrl","_class_wxTextCtrl",0);
+        SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0);
         SWIG_RegisterMapping("_class_wxMask","_wxMask",0);
         SWIG_RegisterMapping("_class_wxKeyEvent","_wxKeyEvent",0);
         SWIG_RegisterMapping("_wxColour","_class_wxColour",0);
@@ -5542,15 +6320,18 @@ SWIGEXPORT(void,initcontrolsc)() {
         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_wxPyEvent","_wxPyEvent",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);
@@ -5636,11 +6417,11 @@ SWIGEXPORT(void,initcontrolsc)() {
         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("_wxPostScriptDC","_class_wxPostScriptDC",0);
         SWIG_RegisterMapping("_wxScrolledWindow","_class_wxScrolledWindow",0);
         SWIG_RegisterMapping("_unsigned_char","_byte",0);
         SWIG_RegisterMapping("_class_wxMetaFileDC","_wxMetaFileDC",0);
@@ -5698,6 +6479,7 @@ SWIGEXPORT(void,initcontrolsc)() {
         SWIG_RegisterMapping("_wxJoystickEvent","_class_wxJoystickEvent",0);
         SWIG_RegisterMapping("_class_wxChoice","_wxChoice",0);
         SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0);
+        SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0);
         SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0);
         SWIG_RegisterMapping("_wxWindowID","_EBool",0);
         SWIG_RegisterMapping("_wxWindowID","_uint",0);
@@ -5710,10 +6492,12 @@ SWIGEXPORT(void,initcontrolsc)() {
         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);
@@ -5761,9 +6545,11 @@ SWIGEXPORT(void,initcontrolsc)() {
         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);
@@ -5819,6 +6605,7 @@ SWIGEXPORT(void,initcontrolsc)() {
         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);