]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/msw/misc.cpp
wxPython 2.0b9, second phase (gtk)
[wxWidgets.git] / utils / wxPython / src / msw / misc.cpp
index 47344d4033d163789fb7f95be66412a2b5f49ca5..7e35be3d420fea0fed97d8dd8344a84eac1f645d 100644 (file)
@@ -55,6 +55,7 @@ extern PyObject *SWIG_newvarlink(void);
 
 #include "helpers.h"
 #include <wx/resource.h>
+#include <wx/tooltip.h>
 
 static PyObject* l_output_helper(PyObject* target, PyObject* o) {
     PyObject*   o2;
@@ -120,9 +121,17 @@ static char* wxStringErrorMsg = "string type is required for parameter";
         wxGetResource(section, entry, &retval, file);
         return retval;
     }
+
+    void wxToolTip_Enable(bool flag) {
+        wxToolTip::Enable(flag);
+    }
+
+    void wxToolTip_SetDelay(long milliseconds) {
+        wxToolTip::SetDelay(milliseconds);
+    }
 static PyObject *_wrap_wxFileSelector(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
-    char * _result;
+    wxString * _result;
     char * _arg0;
     char * _arg1 = NULL;
     char * _arg2 = NULL;
@@ -143,8 +152,17 @@ static PyObject *_wrap_wxFileSelector(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (char *)wxFileSelector(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8);
-    _resultobj = Py_BuildValue("s", _result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxFileSelector(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8));
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
+}
+{
+    delete _result;
+}
     return _resultobj;
 }
 
@@ -172,7 +190,7 @@ static PyObject *_wrap_wxGetTextFromUser(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg0 = new wxString(PyString_AsString(_obj0));
+    _arg0 = new wxString(PyString_AsString(_obj0), PyString_Size(_obj0));
 }
     if (_obj1)
 {
@@ -180,7 +198,7 @@ static PyObject *_wrap_wxGetTextFromUser(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));
 }
     if (_obj2)
 {
@@ -188,7 +206,7 @@ static PyObject *_wrap_wxGetTextFromUser(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,"_wxWindow_p")) {
@@ -197,8 +215,12 @@ static PyObject *_wrap_wxGetTextFromUser(PyObject *self, PyObject *args) {
         }
     }
     _arg6 = (bool ) tempbool6;
-    _result = new wxString (wxGetTextFromUser(*_arg0,*_arg1,*_arg2,_arg3,_arg4,_arg5,_arg6));
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxGetTextFromUser(*_arg0,*_arg1,*_arg2,_arg3,_arg4,_arg5,_arg6));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -246,14 +268,14 @@ static PyObject *_wrap_wxGetSingleChoice(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg0 = new wxString(PyString_AsString(_obj0));
+    _arg0 = new wxString(PyString_AsString(_obj0), PyString_Size(_obj0));
 }
 {
     if (!PyString_Check(_obj1)) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
     if (_obj3)
 {
@@ -270,10 +292,19 @@ static PyObject *_wrap_wxGetSingleChoice(PyObject *self, PyObject *args) {
     }
     _arg7 = (bool ) tempbool7;
 {
-    _arg2 = PyList_Size(_obj3);
+    if (_obj3) {
+        _arg2 = PyList_Size(_obj3);
+    }
+    else {
+        _arg2 = 0;
+    }
 }
-    _result = new wxString (wxGetSingleChoice(*_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8,_arg9));
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxGetSingleChoice(*_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8,_arg9));
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -320,14 +351,14 @@ static PyObject *_wrap_wxGetSingleChoiceIndex(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg0 = new wxString(PyString_AsString(_obj0));
+    _arg0 = new wxString(PyString_AsString(_obj0), PyString_Size(_obj0));
 }
 {
     if (!PyString_Check(_obj1)) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg1 = new wxString(PyString_AsString(_obj1));
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
     if (_obj3)
 {
@@ -344,10 +375,19 @@ static PyObject *_wrap_wxGetSingleChoiceIndex(PyObject *self, PyObject *args) {
     }
     _arg7 = (bool ) tempbool7;
 {
-    _arg2 = PyList_Size(_obj3);
+    if (_obj3) {
+        _arg2 = PyList_Size(_obj3);
+    }
+    else {
+        _arg2 = 0;
+    }
 }
-    _result = (int )wxGetSingleChoiceIndex(*_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8,_arg9);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxGetSingleChoiceIndex(*_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8,_arg9);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj0)
         delete _arg0;
@@ -383,7 +423,7 @@ static PyObject *_wrap_wxMessageBox(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg0 = new wxString(PyString_AsString(_obj0));
+    _arg0 = new wxString(PyString_AsString(_obj0), PyString_Size(_obj0));
 }
     if (_obj1)
 {
@@ -391,7 +431,7 @@ static PyObject *_wrap_wxMessageBox(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));
 }
     if (_argc3) {
         if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxWindow_p")) {
@@ -399,8 +439,12 @@ static PyObject *_wrap_wxMessageBox(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (int )wxMessageBox(*_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxMessageBox(*_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj0)
         delete _arg0;
@@ -419,8 +463,12 @@ static PyObject *_wrap_wxColourDisplay(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":wxColourDisplay")) 
         return NULL;
-    _result = (bool )wxColourDisplay();
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxColourDisplay();
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -431,8 +479,12 @@ static PyObject *_wrap_wxDisplayDepth(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":wxDisplayDepth")) 
         return NULL;
-    _result = (int )wxDisplayDepth();
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxDisplayDepth();
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -450,8 +502,45 @@ static PyObject *_wrap_wxSetCursor(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxSetCursor(*_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSetCursor(*_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxNewId(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    long  _result;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":wxNewId")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxNewId();
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxRegisterId(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    long  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"l:wxRegisterId",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRegisterId(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -463,8 +552,12 @@ static PyObject *_wrap_NewId(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":NewId")) 
         return NULL;
-    _result = (long )NewId();
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxNewId();
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -475,8 +568,12 @@ static PyObject *_wrap_RegisterId(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,"l:RegisterId",&_arg0)) 
         return NULL;
-    RegisterId(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRegisterId(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -495,8 +592,12 @@ static PyObject *_wrap_wxBeginBusyCursor(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxBeginBusyCursor(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBeginBusyCursor(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -507,8 +608,12 @@ static PyObject *_wrap_wxBell(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":wxBell")) 
         return NULL;
-    wxBell();
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxBell();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -529,8 +634,12 @@ static PyObject *_wrap_wxDisplaySize(PyObject *self, PyObject *args) {
 }
     if(!PyArg_ParseTuple(args,":wxDisplaySize")) 
         return NULL;
-    wxDisplaySize(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxDisplaySize(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     PyObject *o;
@@ -551,8 +660,12 @@ static PyObject *_wrap_wxEndBusyCursor(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":wxEndBusyCursor")) 
         return NULL;
-    wxEndBusyCursor();
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxEndBusyCursor();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -573,11 +686,15 @@ static PyObject *_wrap_wxExecute(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg0 = new wxString(PyString_AsString(_obj0));
+    _arg0 = new wxString(PyString_AsString(_obj0), PyString_Size(_obj0));
 }
     _arg1 = (bool ) tempbool1;
-    _result = (long )wxExecute(*_arg0,_arg1);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxExecute(*_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
 {
     if (_obj0)
         delete _arg0;
@@ -602,7 +719,7 @@ static PyObject *_wrap_wxFindWindowByLabel(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg0 = new wxString(PyString_AsString(_obj0));
+    _arg0 = new wxString(PyString_AsString(_obj0), PyString_Size(_obj0));
 }
     if (_argc1) {
         if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxWindow_p")) {
@@ -610,8 +727,12 @@ static PyObject *_wrap_wxFindWindowByLabel(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxWindow *)wxFindWindowByLabel(*_arg0,_arg1);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxWindow *)wxFindWindowByLabel(*_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     if (_obj0)
@@ -637,7 +758,7 @@ static PyObject *_wrap_wxFindWindowByName(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg0 = new wxString(PyString_AsString(_obj0));
+    _arg0 = new wxString(PyString_AsString(_obj0), PyString_Size(_obj0));
 }
     if (_argc1) {
         if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxWindow_p")) {
@@ -645,8 +766,12 @@ static PyObject *_wrap_wxFindWindowByName(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxWindow *)wxFindWindowByName(*_arg0,_arg1);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxWindow *)wxFindWindowByName(*_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     if (_obj0)
@@ -663,8 +788,12 @@ static PyObject *_wrap_wxGetActiveWindow(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":wxGetActiveWindow")) 
         return NULL;
-    _result = (wxWindow *)wxGetActiveWindow();
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxWindow *)wxGetActiveWindow();
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -679,8 +808,12 @@ static PyObject *_wrap_wxGetElapsedTime(PyObject *self, PyObject *args) {
     if(!PyArg_ParseTuple(args,"|i:wxGetElapsedTime",&tempbool0)) 
         return NULL;
     _arg0 = (bool ) tempbool0;
-    _result = (long )wxGetElapsedTime(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxGetElapsedTime(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -691,8 +824,12 @@ static PyObject *_wrap_wxGetFreeMemory(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":wxGetFreeMemory")) 
         return NULL;
-    _result = (long )wxGetFreeMemory();
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxGetFreeMemory();
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -712,8 +849,12 @@ static PyObject *_wrap_wxGetMousePosition(PyObject *self, PyObject *args) {
 }
     if(!PyArg_ParseTuple(args,":wxGetMousePosition")) 
         return NULL;
-    wxGetMousePosition(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxGetMousePosition(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
     PyObject *o;
@@ -735,8 +876,12 @@ static PyObject *_wrap_wxIsBusy(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":wxIsBusy")) 
         return NULL;
-    _result = (bool )wxIsBusy();
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxIsBusy();
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -747,8 +892,12 @@ static PyObject *_wrap_wxNow(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":wxNow")) 
         return NULL;
-    _result = new wxString (wxNow());
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxNow());
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -772,10 +921,14 @@ static PyObject *_wrap_wxShell(PyObject *self, PyObject *args) {
         PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
     }
-    _arg0 = new wxString(PyString_AsString(_obj0));
+    _arg0 = new wxString(PyString_AsString(_obj0), PyString_Size(_obj0));
 }
-    _result = (bool )wxShell(*_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxShell(*_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj0)
         delete _arg0;
@@ -789,8 +942,12 @@ static PyObject *_wrap_wxStartTimer(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":wxStartTimer")) 
         return NULL;
-    wxStartTimer();
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxStartTimer();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -812,8 +969,12 @@ static PyObject *_wrap_wxGetOsVersion(PyObject *self, PyObject *args) {
 }
     if(!PyArg_ParseTuple(args,":wxGetOsVersion")) 
         return NULL;
-    _result = (int )wxGetOsVersion(_arg0,_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxGetOsVersion(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
 {
     PyObject *o;
     o = PyInt_FromLong((long) (*_arg0));
@@ -834,8 +995,28 @@ static PyObject *_wrap_wxYield(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":wxYield")) 
         return NULL;
-    _result = (bool )wxYield();
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxYield();
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxSafeYield(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    bool  _result;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,":wxSafeYield")) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxSafeYield();
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -849,8 +1030,12 @@ static PyObject *_wrap_wxGetResource(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,"ss|s:wxGetResource",&_arg0,&_arg1,&_arg2)) 
         return NULL;
-    _result = (char *)wxGetResource(_arg0,_arg1,_arg2);
-    _resultobj = Py_BuildValue("s", _result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (char *)wxGetResource(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("s", _result);
     return _resultobj;
 }
 
@@ -863,8 +1048,12 @@ static PyObject *_wrap_wxResourceAddIdentifier(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,"si:wxResourceAddIdentifier",&_arg0,&_arg1)) 
         return NULL;
-    _result = (bool )wxResourceAddIdentifier(_arg0,_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxResourceAddIdentifier(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -874,8 +1063,12 @@ static PyObject *_wrap_wxResourceClear(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":wxResourceClear")) 
         return NULL;
-    wxResourceClear();
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxResourceClear();
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -889,8 +1082,12 @@ static PyObject *_wrap_wxResourceCreateBitmap(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,"s:wxResourceCreateBitmap",&_arg0)) 
         return NULL;
-    _result = new wxBitmap (wxResourceCreateBitmap(_arg0));
-    SWIG_MakePtr(_ptemp, (void *) _result,"_wxBitmap_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxBitmap (wxResourceCreateBitmap(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxBitmap_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -904,8 +1101,12 @@ static PyObject *_wrap_wxResourceCreateIcon(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,"s:wxResourceCreateIcon",&_arg0)) 
         return NULL;
-    _result = new wxIcon (wxResourceCreateIcon(_arg0));
-    SWIG_MakePtr(_ptemp, (void *) _result,"_wxIcon_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxIcon (wxResourceCreateIcon(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxIcon_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -919,8 +1120,12 @@ static PyObject *_wrap_wxResourceCreateMenuBar(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,"s:wxResourceCreateMenuBar",&_arg0)) 
         return NULL;
-    _result = (wxMenuBar *)wxResourceCreateMenuBar(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxMenuBar_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxMenuBar *)wxResourceCreateMenuBar(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxMenuBar_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -933,8 +1138,12 @@ static PyObject *_wrap_wxResourceGetIdentifier(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,"s:wxResourceGetIdentifier",&_arg0)) 
         return NULL;
-    _result = (int )wxResourceGetIdentifier(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxResourceGetIdentifier(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -954,8 +1163,12 @@ static PyObject *_wrap_wxResourceParseData(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (bool )wxResourceParseData(_arg0,_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxResourceParseData(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -975,8 +1188,12 @@ static PyObject *_wrap_wxResourceParseFile(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (bool )wxResourceParseFile(_arg0,_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxResourceParseFile(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -996,13 +1213,53 @@ static PyObject *_wrap_wxResourceParseString(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (bool )wxResourceParseString(_arg0,_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxResourceParseString(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxToolTip_Enable(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    bool  _arg0;
+    int tempbool0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:wxToolTip_Enable",&tempbool0)) 
+        return NULL;
+    _arg0 = (bool ) tempbool0;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxToolTip_Enable(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxToolTip_SetDelay(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    long  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"l:wxToolTip_SetDelay",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxToolTip_SetDelay(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
 #define wxSize_x_set(_swigobj,_swigval) (_swigobj->x = _swigval,_swigval)
-static PyObject *_wrap_wxSize_width_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSize_x_set(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     long  _result;
     wxSize * _arg0;
@@ -1010,42 +1267,50 @@ static PyObject *_wrap_wxSize_width_set(PyObject *self, PyObject *args) {
     char * _argc0 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxSize_width_set",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"sl:wxSize_x_set",&_argc0,&_arg1)) 
         return NULL;
     if (_argc0) {
         if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_width_set. Expected _wxSize_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_x_set. Expected _wxSize_p.");
         return NULL;
         }
     }
-    _result = (long )wxSize_x_set(_arg0,_arg1);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxSize_x_set(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
 #define wxSize_x_get(_swigobj) ((long ) _swigobj->x)
-static PyObject *_wrap_wxSize_width_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSize_x_get(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     long  _result;
     wxSize * _arg0;
     char * _argc0 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSize_width_get",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"s:wxSize_x_get",&_argc0)) 
         return NULL;
     if (_argc0) {
         if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_width_get. Expected _wxSize_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_x_get. Expected _wxSize_p.");
         return NULL;
         }
     }
-    _result = (long )wxSize_x_get(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxSize_x_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
 #define wxSize_y_set(_swigobj,_swigval) (_swigobj->y = _swigval,_swigval)
-static PyObject *_wrap_wxSize_height_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSize_y_set(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     long  _result;
     wxSize * _arg0;
@@ -1053,37 +1318,45 @@ static PyObject *_wrap_wxSize_height_set(PyObject *self, PyObject *args) {
     char * _argc0 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxSize_height_set",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTuple(args,"sl:wxSize_y_set",&_argc0,&_arg1)) 
         return NULL;
     if (_argc0) {
         if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_height_set. Expected _wxSize_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_y_set. Expected _wxSize_p.");
         return NULL;
         }
     }
-    _result = (long )wxSize_y_set(_arg0,_arg1);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxSize_y_set(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
 #define wxSize_y_get(_swigobj) ((long ) _swigobj->y)
-static PyObject *_wrap_wxSize_height_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSize_y_get(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     long  _result;
     wxSize * _arg0;
     char * _argc0 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSize_height_get",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"s:wxSize_y_get",&_argc0)) 
         return NULL;
     if (_argc0) {
         if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_height_get. Expected _wxSize_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_y_get. Expected _wxSize_p.");
         return NULL;
         }
     }
-    _result = (long )wxSize_y_get(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxSize_y_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1098,8 +1371,12 @@ static PyObject *_wrap_new_wxSize(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,"|ll:new_wxSize",&_arg0,&_arg1)) 
         return NULL;
-    _result = (wxSize *)new_wxSize(_arg0,_arg1);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxSize_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxSize *)new_wxSize(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxSize_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -1119,8 +1396,12 @@ static PyObject *_wrap_delete_wxSize(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    delete_wxSize(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxSize(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1142,77 +1423,93 @@ static PyObject *_wrap_wxSize_Set(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxSize_Set(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSize_Set(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
-#define wxSize_GetWidth(_swigobj)  (_swigobj->GetX())
-static PyObject *_wrap_wxSize_GetWidth(PyObject *self, PyObject *args) {
+#define wxSize_GetX(_swigobj)  (_swigobj->GetX())
+static PyObject *_wrap_wxSize_GetX(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     long  _result;
     wxSize * _arg0;
     char * _argc0 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSize_GetWidth",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"s:wxSize_GetX",&_argc0)) 
         return NULL;
     if (_argc0) {
         if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_GetWidth. Expected _wxSize_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_GetX. Expected _wxSize_p.");
         return NULL;
         }
     }
-    _result = (long )wxSize_GetWidth(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxSize_GetX(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-#define wxSize_GetHeight(_swigobj)  (_swigobj->GetY())
-static PyObject *_wrap_wxSize_GetHeight(PyObject *self, PyObject *args) {
+#define wxSize_GetY(_swigobj)  (_swigobj->GetY())
+static PyObject *_wrap_wxSize_GetY(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     long  _result;
     wxSize * _arg0;
     char * _argc0 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSize_GetHeight",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"s:wxSize_GetY",&_argc0)) 
         return NULL;
     if (_argc0) {
         if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_GetHeight. Expected _wxSize_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_GetY. Expected _wxSize_p.");
         return NULL;
         }
     }
-    _result = (long )wxSize_GetHeight(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxSize_GetY(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-static PyObject * wxSize___str__(wxSize *self) {
+static PyObject * wxSize_asTuple(wxSize *self) {
             PyObject* tup = PyTuple_New(2);
             PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x));
             PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y));
             return tup;
         }
-static PyObject *_wrap_wxSize___str__(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSize_asTuple(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     PyObject * _result;
     wxSize * _arg0;
     char * _argc0 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSize___str__",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"s:wxSize_asTuple",&_argc0)) 
         return NULL;
     if (_argc0) {
         if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize___str__. Expected _wxSize_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_asTuple. Expected _wxSize_p.");
         return NULL;
         }
     }
-    _result = (PyObject *)wxSize___str__(_arg0);
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxSize_asTuple(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
   _resultobj = _result;
 }
     return _resultobj;
@@ -1235,8 +1532,12 @@ static PyObject *_wrap_wxRealPoint_x_set(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (double )wxRealPoint_x_set(_arg0,_arg1);
-    _resultobj = Py_BuildValue("d",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (double )wxRealPoint_x_set(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("d",_result);
     return _resultobj;
 }
 
@@ -1256,8 +1557,12 @@ static PyObject *_wrap_wxRealPoint_x_get(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (double )wxRealPoint_x_get(_arg0);
-    _resultobj = Py_BuildValue("d",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (double )wxRealPoint_x_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("d",_result);
     return _resultobj;
 }
 
@@ -1278,8 +1583,12 @@ static PyObject *_wrap_wxRealPoint_y_set(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (double )wxRealPoint_y_set(_arg0,_arg1);
-    _resultobj = Py_BuildValue("d",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (double )wxRealPoint_y_set(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("d",_result);
     return _resultobj;
 }
 
@@ -1299,8 +1608,12 @@ static PyObject *_wrap_wxRealPoint_y_get(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (double )wxRealPoint_y_get(_arg0);
-    _resultobj = Py_BuildValue("d",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (double )wxRealPoint_y_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("d",_result);
     return _resultobj;
 }
 
@@ -1315,8 +1628,12 @@ static PyObject *_wrap_new_wxRealPoint(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,"|dd:new_wxRealPoint",&_arg0,&_arg1)) 
         return NULL;
-    _result = (wxRealPoint *)new_wxRealPoint(_arg0,_arg1);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRealPoint_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRealPoint *)new_wxRealPoint(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRealPoint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -1336,8 +1653,12 @@ static PyObject *_wrap_delete_wxRealPoint(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    delete_wxRealPoint(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxRealPoint(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1359,8 +1680,12 @@ static PyObject *_wrap_wxPoint_x_set(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxPoint_x_set(_arg0,_arg1);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxPoint_x_set(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1380,8 +1705,12 @@ static PyObject *_wrap_wxPoint_x_get(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxPoint_x_get(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxPoint_x_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1402,8 +1731,12 @@ static PyObject *_wrap_wxPoint_y_set(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxPoint_y_set(_arg0,_arg1);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxPoint_y_set(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1423,8 +1756,12 @@ static PyObject *_wrap_wxPoint_y_get(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxPoint_y_get(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxPoint_y_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1439,8 +1776,12 @@ static PyObject *_wrap_new_wxPoint(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,"|ll:new_wxPoint",&_arg0,&_arg1)) 
         return NULL;
-    _result = (wxPoint *)new_wxPoint(_arg0,_arg1);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxPoint_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPoint *)new_wxPoint(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxPoint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -1460,8 +1801,12 @@ static PyObject *_wrap_delete_wxPoint(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    delete_wxPoint(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxPoint(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1486,35 +1831,43 @@ static PyObject *_wrap_wxPoint_Set(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxPoint_Set(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPoint_Set(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
-static PyObject * wxPoint___str__(wxPoint *self) {
+static PyObject * wxPoint_asTuple(wxPoint *self) {
             PyObject* tup = PyTuple_New(2);
             PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x));
             PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y));
             return tup;
         }
-static PyObject *_wrap_wxPoint___str__(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxPoint_asTuple(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     PyObject * _result;
     wxPoint * _arg0;
     char * _argc0 = 0;
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxPoint___str__",&_argc0)) 
+    if(!PyArg_ParseTuple(args,"s:wxPoint_asTuple",&_argc0)) 
         return NULL;
     if (_argc0) {
         if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPoint___str__. Expected _wxPoint_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPoint_asTuple. Expected _wxPoint_p.");
         return NULL;
         }
     }
-    _result = (PyObject *)wxPoint___str__(_arg0);
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxPoint_asTuple(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
   _resultobj = _result;
 }
     return _resultobj;
@@ -1533,8 +1886,12 @@ static PyObject *_wrap_new_wxRect(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,"|llll:new_wxRect",&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
-    _result = (wxRect *)new_wxRect(_arg0,_arg1,_arg2,_arg3);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRect_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRect *)new_wxRect(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRect_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -1554,8 +1911,12 @@ static PyObject *_wrap_delete_wxRect(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    delete_wxRect(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxRect(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1576,8 +1937,12 @@ static PyObject *_wrap_wxRect_GetX(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_GetX(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_GetX(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1597,8 +1962,12 @@ static PyObject *_wrap_wxRect_SetX(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxRect_SetX(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRect_SetX(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1619,8 +1988,12 @@ static PyObject *_wrap_wxRect_GetY(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_GetY(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_GetY(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1640,8 +2013,12 @@ static PyObject *_wrap_wxRect_SetY(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxRect_SetY(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRect_SetY(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1662,8 +2039,12 @@ static PyObject *_wrap_wxRect_GetWidth(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_GetWidth(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_GetWidth(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1683,8 +2064,12 @@ static PyObject *_wrap_wxRect_SetWidth(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxRect_SetWidth(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRect_SetWidth(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1705,8 +2090,12 @@ static PyObject *_wrap_wxRect_GetHeight(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_GetHeight(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_GetHeight(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1726,8 +2115,12 @@ static PyObject *_wrap_wxRect_SetHeight(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxRect_SetHeight(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRect_SetHeight(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -1749,8 +2142,12 @@ static PyObject *_wrap_wxRect_GetPosition(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = new wxPoint (wxRect_GetPosition(_arg0));
-    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxPoint (wxRect_GetPosition(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -1772,8 +2169,12 @@ static PyObject *_wrap_wxRect_GetSize(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = new wxSize (wxRect_GetSize(_arg0));
-    SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxSize (wxRect_GetSize(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -1794,8 +2195,12 @@ static PyObject *_wrap_wxRect_GetLeft(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_GetLeft(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_GetLeft(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1815,8 +2220,12 @@ static PyObject *_wrap_wxRect_GetTop(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_GetTop(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_GetTop(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1836,8 +2245,12 @@ static PyObject *_wrap_wxRect_GetBottom(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_GetBottom(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_GetBottom(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1857,8 +2270,12 @@ static PyObject *_wrap_wxRect_GetRight(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_GetRight(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_GetRight(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1879,8 +2296,12 @@ static PyObject *_wrap_wxRect_x_set(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_x_set(_arg0,_arg1);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_x_set(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1900,8 +2321,12 @@ static PyObject *_wrap_wxRect_x_get(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_x_get(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_x_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1922,8 +2347,12 @@ static PyObject *_wrap_wxRect_y_set(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_y_set(_arg0,_arg1);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_y_set(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1943,8 +2372,12 @@ static PyObject *_wrap_wxRect_y_get(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_y_get(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_y_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1965,8 +2398,12 @@ static PyObject *_wrap_wxRect_width_set(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_width_set(_arg0,_arg1);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_width_set(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -1986,8 +2423,12 @@ static PyObject *_wrap_wxRect_width_get(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_width_get(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_width_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -2008,8 +2449,12 @@ static PyObject *_wrap_wxRect_height_set(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_height_set(_arg0,_arg1);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_height_set(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -2029,8 +2474,46 @@ static PyObject *_wrap_wxRect_height_get(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRect_height_get(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRect_height_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+static PyObject * wxRect_asTuple(wxRect *self) {
+            PyObject* tup = PyTuple_New(4);
+            PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x));
+            PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y));
+            PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->width));
+            PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->height));
+            return tup;
+        }
+static PyObject *_wrap_wxRect_asTuple(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxRect * _arg0;
+    char * _argc0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"s:wxRect_asTuple",&_argc0)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_asTuple. Expected _wxRect_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxRect_asTuple(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
     return _resultobj;
 }
 
@@ -2048,8 +2531,12 @@ static PyObject *_wrap_new_wxPyTimer(PyObject *self, PyObject *args) {
 {
   _arg0 = _obj0;
 }
-    _result = (wxPyTimer *)new_wxPyTimer(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyTimer_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPyTimer *)new_wxPyTimer(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyTimer_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2069,8 +2556,12 @@ static PyObject *_wrap_delete_wxPyTimer(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    delete_wxPyTimer(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxPyTimer(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2091,8 +2582,12 @@ static PyObject *_wrap_wxPyTimer_Interval(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (int )wxPyTimer_Interval(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxPyTimer_Interval(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -2113,8 +2608,12 @@ static PyObject *_wrap_wxPyTimer_Start(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxPyTimer_Start(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTimer_Start(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2134,8 +2633,12 @@ static PyObject *_wrap_wxPyTimer_Stop(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxPyTimer_Stop(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxPyTimer_Stop(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2164,8 +2667,12 @@ static PyObject *_wrap_wxIndividualLayoutConstraint_Above(PyObject *self, PyObje
         return NULL;
         }
     }
-    wxIndividualLayoutConstraint_Above(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxIndividualLayoutConstraint_Above(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2186,8 +2693,12 @@ static PyObject *_wrap_wxIndividualLayoutConstraint_Absolute(PyObject *self, PyO
         return NULL;
         }
     }
-    wxIndividualLayoutConstraint_Absolute(_arg0,_arg1);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxIndividualLayoutConstraint_Absolute(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2207,8 +2718,12 @@ static PyObject *_wrap_wxIndividualLayoutConstraint_AsIs(PyObject *self, PyObjec
         return NULL;
         }
     }
-    wxIndividualLayoutConstraint_AsIs(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxIndividualLayoutConstraint_AsIs(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2237,8 +2752,12 @@ static PyObject *_wrap_wxIndividualLayoutConstraint_Below(PyObject *self, PyObje
         return NULL;
         }
     }
-    wxIndividualLayoutConstraint_Below(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxIndividualLayoutConstraint_Below(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2258,8 +2777,12 @@ static PyObject *_wrap_wxIndividualLayoutConstraint_Unconstrained(PyObject *self
         return NULL;
         }
     }
-    wxIndividualLayoutConstraint_Unconstrained(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxIndividualLayoutConstraint_Unconstrained(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2288,8 +2811,12 @@ static PyObject *_wrap_wxIndividualLayoutConstraint_LeftOf(PyObject *self, PyObj
         return NULL;
         }
     }
-    wxIndividualLayoutConstraint_LeftOf(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxIndividualLayoutConstraint_LeftOf(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2319,8 +2846,12 @@ static PyObject *_wrap_wxIndividualLayoutConstraint_PercentOf(PyObject *self, Py
         return NULL;
         }
     }
-    wxIndividualLayoutConstraint_PercentOf(_arg0,_arg1,_arg2,_arg3);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxIndividualLayoutConstraint_PercentOf(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2349,8 +2880,12 @@ static PyObject *_wrap_wxIndividualLayoutConstraint_RightOf(PyObject *self, PyOb
         return NULL;
         }
     }
-    wxIndividualLayoutConstraint_RightOf(_arg0,_arg1,_arg2);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxIndividualLayoutConstraint_RightOf(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2380,8 +2915,12 @@ static PyObject *_wrap_wxIndividualLayoutConstraint_SameAs(PyObject *self, PyObj
         return NULL;
         }
     }
-    wxIndividualLayoutConstraint_SameAs(_arg0,_arg1,_arg2,_arg3);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxIndividualLayoutConstraint_SameAs(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2413,8 +2952,12 @@ static PyObject *_wrap_wxIndividualLayoutConstraint_Set(PyObject *self, PyObject
         return NULL;
         }
     }
-    wxIndividualLayoutConstraint_Set(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxIndividualLayoutConstraint_Set(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2428,8 +2971,12 @@ static PyObject *_wrap_new_wxLayoutConstraints(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":new_wxLayoutConstraints")) 
         return NULL;
-    _result = (wxLayoutConstraints *)new_wxLayoutConstraints();
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxLayoutConstraints_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxLayoutConstraints *)new_wxLayoutConstraints();
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxLayoutConstraints_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2451,8 +2998,12 @@ static PyObject *_wrap_wxLayoutConstraints_bottom_get(PyObject *self, PyObject *
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_bottom_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_bottom_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2474,8 +3025,12 @@ static PyObject *_wrap_wxLayoutConstraints_centreX_get(PyObject *self, PyObject
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_centreX_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_centreX_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2497,8 +3052,12 @@ static PyObject *_wrap_wxLayoutConstraints_centreY_get(PyObject *self, PyObject
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_centreY_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_centreY_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2520,8 +3079,12 @@ static PyObject *_wrap_wxLayoutConstraints_height_get(PyObject *self, PyObject *
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_height_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_height_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2543,8 +3106,12 @@ static PyObject *_wrap_wxLayoutConstraints_left_get(PyObject *self, PyObject *ar
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_left_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_left_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2566,8 +3133,12 @@ static PyObject *_wrap_wxLayoutConstraints_right_get(PyObject *self, PyObject *a
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_right_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_right_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2589,8 +3160,12 @@ static PyObject *_wrap_wxLayoutConstraints_top_get(PyObject *self, PyObject *arg
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_top_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_top_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2612,8 +3187,12 @@ static PyObject *_wrap_wxLayoutConstraints_width_get(PyObject *self, PyObject *a
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_width_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_width_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2627,8 +3206,12 @@ static PyObject *_wrap_new_wxRegion(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,":new_wxRegion")) 
         return NULL;
-    _result = (wxRegion *)new_wxRegion();
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegion_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRegion *)new_wxRegion();
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegion_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2648,8 +3231,12 @@ static PyObject *_wrap_delete_wxRegion(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    delete_wxRegion(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxRegion(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2669,8 +3256,12 @@ static PyObject *_wrap_wxRegion_Clear(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxRegion_Clear(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRegion_Clear(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2693,8 +3284,12 @@ static PyObject *_wrap_wxRegion_Contains(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxRegionContain )wxRegion_Contains(_arg0,_arg1,_arg2);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRegionContain )wxRegion_Contains(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -2722,8 +3317,12 @@ static PyObject *_wrap_wxRegion_ContainsPoint(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxRegionContain )wxRegion_ContainsPoint(_arg0,*_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRegionContain )wxRegion_ContainsPoint(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -2751,8 +3350,12 @@ static PyObject *_wrap_wxRegion_ContainsRect(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxRegionContain )wxRegion_ContainsRect(_arg0,*_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRegionContain )wxRegion_ContainsRect(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -2773,8 +3376,12 @@ static PyObject *_wrap_wxRegion_GetBox(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = new wxRect (wxRegion_GetBox(_arg0));
-    SWIG_MakePtr(_ptemp, (void *) _result,"_wxRect_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxRect (wxRegion_GetBox(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxRect_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2803,8 +3410,12 @@ static PyObject *_wrap_wxRegion_Intersect(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (bool )wxRegion_Intersect(_arg0,*_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxRegion_Intersect(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -2824,8 +3435,12 @@ static PyObject *_wrap_wxRegion_IsEmpty(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (bool )wxRegion_IsEmpty(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxRegion_IsEmpty(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -2853,8 +3468,12 @@ static PyObject *_wrap_wxRegion_Subtract(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (bool )wxRegion_Subtract(_arg0,*_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxRegion_Subtract(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -2882,8 +3501,12 @@ static PyObject *_wrap_wxRegion_Union(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (bool )wxRegion_Union(_arg0,*_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxRegion_Union(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -2911,8 +3534,12 @@ static PyObject *_wrap_wxRegion_Xor(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (bool )wxRegion_Xor(_arg0,*_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxRegion_Xor(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -2933,8 +3560,12 @@ static PyObject *_wrap_new_wxRegionIterator(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (wxRegionIterator *)new_wxRegionIterator(*_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegionIterator_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRegionIterator *)new_wxRegionIterator(*_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegionIterator_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -2954,8 +3585,12 @@ static PyObject *_wrap_delete_wxRegionIterator(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    delete_wxRegionIterator(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxRegionIterator(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -2976,8 +3611,12 @@ static PyObject *_wrap_wxRegionIterator_GetX(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRegionIterator_GetX(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRegionIterator_GetX(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -2997,8 +3636,12 @@ static PyObject *_wrap_wxRegionIterator_GetY(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRegionIterator_GetY(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRegionIterator_GetY(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -3018,8 +3661,12 @@ static PyObject *_wrap_wxRegionIterator_GetW(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRegionIterator_GetW(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRegionIterator_GetW(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -3039,8 +3686,12 @@ static PyObject *_wrap_wxRegionIterator_GetWidth(PyObject *self, PyObject *args)
         return NULL;
         }
     }
-    _result = (long )wxRegionIterator_GetWidth(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRegionIterator_GetWidth(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -3060,8 +3711,12 @@ static PyObject *_wrap_wxRegionIterator_GetH(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxRegionIterator_GetH(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRegionIterator_GetH(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -3081,8 +3736,12 @@ static PyObject *_wrap_wxRegionIterator_GetHeight(PyObject *self, PyObject *args
         return NULL;
         }
     }
-    _result = (long )wxRegionIterator_GetHeight(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxRegionIterator_GetHeight(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -3103,8 +3762,12 @@ static PyObject *_wrap_wxRegionIterator_GetRect(PyObject *self, PyObject *args)
         return NULL;
         }
     }
-    _result = new wxRect (wxRegionIterator_GetRect(_arg0));
-    SWIG_MakePtr(_ptemp, (void *) _result,"_wxRect_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxRect (wxRegionIterator_GetRect(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxRect_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -3125,8 +3788,12 @@ static PyObject *_wrap_wxRegionIterator_HaveRects(PyObject *self, PyObject *args
         return NULL;
         }
     }
-    _result = (bool )wxRegionIterator_HaveRects(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxRegionIterator_HaveRects(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -3145,8 +3812,12 @@ static PyObject *_wrap_wxRegionIterator_Reset(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxRegionIterator_Reset(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRegionIterator_Reset(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -3168,8 +3839,12 @@ static PyObject *_wrap_wxRegionIterator_Next(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxRegionIterator_Next(_arg0);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRegionIterator_Next(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -3186,8 +3861,12 @@ static PyObject *_wrap_new_wxAcceleratorEntry(PyObject *self, PyObject *args) {
     self = self;
     if(!PyArg_ParseTuple(args,"|iii:new_wxAcceleratorEntry",&_arg0,&_arg1,&_arg2)) 
         return NULL;
-    _result = (wxAcceleratorEntry *)new_wxAcceleratorEntry(_arg0,_arg1,_arg2);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxAcceleratorEntry_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxAcceleratorEntry *)new_wxAcceleratorEntry(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxAcceleratorEntry_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
@@ -3210,8 +3889,12 @@ static PyObject *_wrap_wxAcceleratorEntry_Set(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    wxAcceleratorEntry_Set(_arg0,_arg1,_arg2,_arg3);
-    Py_INCREF(Py_None);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxAcceleratorEntry_Set(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
@@ -3232,8 +3915,12 @@ static PyObject *_wrap_wxAcceleratorEntry_GetFlags(PyObject *self, PyObject *arg
         return NULL;
         }
     }
-    _result = (int )wxAcceleratorEntry_GetFlags(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxAcceleratorEntry_GetFlags(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -3253,8 +3940,12 @@ static PyObject *_wrap_wxAcceleratorEntry_GetKeyCode(PyObject *self, PyObject *a
         return NULL;
         }
     }
-    _result = (int )wxAcceleratorEntry_GetKeyCode(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxAcceleratorEntry_GetKeyCode(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -3274,8 +3965,12 @@ static PyObject *_wrap_wxAcceleratorEntry_GetCommand(PyObject *self, PyObject *a
         return NULL;
         }
     }
-    _result = (int )wxAcceleratorEntry_GetCommand(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxAcceleratorEntry_GetCommand(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -3299,10 +3994,19 @@ static PyObject *_wrap_new_wxAcceleratorTable(PyObject *self, PyObject *args) {
     }
 }
 {
-    _arg0 = PyList_Size(_obj1);
+    if (_obj1) {
+        _arg0 = PyList_Size(_obj1);
+    }
+    else {
+        _arg0 = 0;
+    }
 }
-    _result = (wxAcceleratorTable *)new_wxAcceleratorTable(_arg0,_arg1);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxAcceleratorTable_p");
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxAcceleratorTable *)new_wxAcceleratorTable(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxAcceleratorTable_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     delete [] _arg1;
@@ -3310,7 +4014,138 @@ static PyObject *_wrap_new_wxAcceleratorTable(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
+#define new_wxToolTip(_swigarg0) (new wxToolTip(_swigarg0))
+static PyObject *_wrap_new_wxToolTip(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxToolTip * _result;
+    wxString * _arg0;
+    PyObject * _obj0 = 0;
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"O:new_wxToolTip",&_obj0)) 
+        return NULL;
+{
+    if (!PyString_Check(_obj0)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg0 = new wxString(PyString_AsString(_obj0), PyString_Size(_obj0));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxToolTip *)new_wxToolTip(*_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxToolTip_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    if (_obj0)
+        delete _arg0;
+}
+    return _resultobj;
+}
+
+#define wxToolTip_SetTip(_swigobj,_swigarg0)  (_swigobj->SetTip(_swigarg0))
+static PyObject *_wrap_wxToolTip_SetTip(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxToolTip * _arg0;
+    wxString * _arg1;
+    char * _argc0 = 0;
+    PyObject * _obj1 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"sO:wxToolTip_SetTip",&_argc0,&_obj1)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolTip_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolTip_SetTip. Expected _wxToolTip_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;
+        wxToolTip_SetTip(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxToolTip_GetTip(_swigobj)  (_swigobj->GetTip())
+static PyObject *_wrap_wxToolTip_GetTip(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxToolTip * _arg0;
+    char * _argc0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"s:wxToolTip_GetTip",&_argc0)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolTip_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolTip_GetTip. Expected _wxToolTip_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxToolTip_GetTip(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxToolTip_GetWindow(_swigobj)  (_swigobj->GetWindow())
+static PyObject *_wrap_wxToolTip_GetWindow(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxWindow * _result;
+    wxToolTip * _arg0;
+    char * _argc0 = 0;
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"s:wxToolTip_GetWindow",&_argc0)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolTip_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolTip_GetWindow. Expected _wxToolTip_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxWindow *)wxToolTip_GetWindow(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+    return _resultobj;
+}
+
 static PyMethodDef misccMethods[] = {
+        { "wxToolTip_GetWindow", _wrap_wxToolTip_GetWindow, 1 },
+        { "wxToolTip_GetTip", _wrap_wxToolTip_GetTip, 1 },
+        { "wxToolTip_SetTip", _wrap_wxToolTip_SetTip, 1 },
+        { "new_wxToolTip", _wrap_new_wxToolTip, 1 },
         { "new_wxAcceleratorTable", _wrap_new_wxAcceleratorTable, 1 },
         { "wxAcceleratorEntry_GetCommand", _wrap_wxAcceleratorEntry_GetCommand, 1 },
         { "wxAcceleratorEntry_GetKeyCode", _wrap_wxAcceleratorEntry_GetKeyCode, 1 },
@@ -3365,6 +4200,7 @@ static PyMethodDef misccMethods[] = {
         { "wxPyTimer_Interval", _wrap_wxPyTimer_Interval, 1 },
         { "delete_wxPyTimer", _wrap_delete_wxPyTimer, 1 },
         { "new_wxPyTimer", _wrap_new_wxPyTimer, 1 },
+        { "wxRect_asTuple", _wrap_wxRect_asTuple, 1 },
         { "wxRect_height_get", _wrap_wxRect_height_get, 1 },
         { "wxRect_height_set", _wrap_wxRect_height_set, 1 },
         { "wxRect_width_get", _wrap_wxRect_width_get, 1 },
@@ -3389,7 +4225,7 @@ static PyMethodDef misccMethods[] = {
         { "wxRect_GetX", _wrap_wxRect_GetX, 1 },
         { "delete_wxRect", _wrap_delete_wxRect, 1 },
         { "new_wxRect", _wrap_new_wxRect, 1 },
-        { "wxPoint___str__", _wrap_wxPoint___str__, 1 },
+        { "wxPoint_asTuple", _wrap_wxPoint_asTuple, 1 },
         { "wxPoint_Set", _wrap_wxPoint_Set, 1 },
         { "delete_wxPoint", _wrap_delete_wxPoint, 1 },
         { "new_wxPoint", _wrap_new_wxPoint, 1 },
@@ -3403,16 +4239,24 @@ static PyMethodDef misccMethods[] = {
         { "wxRealPoint_y_set", _wrap_wxRealPoint_y_set, 1 },
         { "wxRealPoint_x_get", _wrap_wxRealPoint_x_get, 1 },
         { "wxRealPoint_x_set", _wrap_wxRealPoint_x_set, 1 },
-        { "wxSize___str__", _wrap_wxSize___str__, 1 },
-        { "wxSize_GetHeight", _wrap_wxSize_GetHeight, 1 },
-        { "wxSize_GetWidth", _wrap_wxSize_GetWidth, 1 },
+        { "wxSize_asTuple", _wrap_wxSize_asTuple, 1 },
+        { "wxSize_GetHeight", _wrap_wxSize_GetY, 1 },
+        { "wxSize_GetWidth", _wrap_wxSize_GetX, 1 },
+        { "wxSize_GetY", _wrap_wxSize_GetY, 1 },
+        { "wxSize_GetX", _wrap_wxSize_GetX, 1 },
         { "wxSize_Set", _wrap_wxSize_Set, 1 },
         { "delete_wxSize", _wrap_delete_wxSize, 1 },
         { "new_wxSize", _wrap_new_wxSize, 1 },
-        { "wxSize_height_get", _wrap_wxSize_height_get, 1 },
-        { "wxSize_height_set", _wrap_wxSize_height_set, 1 },
-        { "wxSize_width_get", _wrap_wxSize_width_get, 1 },
-        { "wxSize_width_set", _wrap_wxSize_width_set, 1 },
+        { "wxSize_height_get", _wrap_wxSize_y_get, 1 },
+        { "wxSize_height_set", _wrap_wxSize_y_set, 1 },
+        { "wxSize_width_get", _wrap_wxSize_x_get, 1 },
+        { "wxSize_width_set", _wrap_wxSize_x_set, 1 },
+        { "wxSize_y_get", _wrap_wxSize_y_get, 1 },
+        { "wxSize_y_set", _wrap_wxSize_y_set, 1 },
+        { "wxSize_x_get", _wrap_wxSize_x_get, 1 },
+        { "wxSize_x_set", _wrap_wxSize_x_set, 1 },
+        { "wxToolTip_SetDelay", _wrap_wxToolTip_SetDelay, 1 },
+        { "wxToolTip_Enable", _wrap_wxToolTip_Enable, 1 },
         { "wxResourceParseString", _wrap_wxResourceParseString, 1 },
         { "wxResourceParseFile", _wrap_wxResourceParseFile, 1 },
         { "wxResourceParseData", _wrap_wxResourceParseData, 1 },
@@ -3423,6 +4267,7 @@ static PyMethodDef misccMethods[] = {
         { "wxResourceClear", _wrap_wxResourceClear, 1 },
         { "wxResourceAddIdentifier", _wrap_wxResourceAddIdentifier, 1 },
         { "wxGetResource", _wrap_wxGetResource, 1 },
+        { "wxSafeYield", _wrap_wxSafeYield, 1 },
         { "wxYield", _wrap_wxYield, 1 },
         { "wxGetOsVersion", _wrap_wxGetOsVersion, 1 },
         { "wxStartTimer", _wrap_wxStartTimer, 1 },
@@ -3442,6 +4287,8 @@ static PyMethodDef misccMethods[] = {
         { "wxBeginBusyCursor", _wrap_wxBeginBusyCursor, 1 },
         { "RegisterId", _wrap_RegisterId, 1 },
         { "NewId", _wrap_NewId, 1 },
+        { "wxRegisterId", _wrap_wxRegisterId, 1 },
+        { "wxNewId", _wrap_wxNewId, 1 },
         { "wxSetCursor", _wrap_wxSetCursor, 1 },
         { "wxDisplayDepth", _wrap_wxDisplayDepth, 1 },
         { "wxColourDisplay", _wrap_wxColourDisplay, 1 },
@@ -3491,11 +4338,13 @@ SWIGEXPORT(void,initmiscc)() {
         SWIG_RegisterMapping("_signed_long","_long",0);
         SWIG_RegisterMapping("_class_wxRegionIterator","_wxRegionIterator",0);
         SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0);
+        SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0);
         SWIG_RegisterMapping("_byte","_unsigned_char",0);
         SWIG_RegisterMapping("_long","_unsigned_long",0);
         SWIG_RegisterMapping("_long","_signed_long",0);
         SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0);
         SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
+        SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0);
         SWIG_RegisterMapping("_uint","_unsigned_int",0);
         SWIG_RegisterMapping("_uint","_int",0);
         SWIG_RegisterMapping("_uint","_wxWindowID",0);