]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/msw/misc.cpp
wxPython 2.1b1: Very minor changes needed for wxGTK
[wxWidgets.git] / utils / wxPython / src / msw / misc.cpp
index c8acb64549eb39e1d4ab09e6e91f8c4eb8c92f0d..87d46229f40cdbe2f5bc190234815808b5dc2f3a 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;
@@ -143,8 +144,12 @@ static PyObject *_wrap_wxFileSelector(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = new wxString (wxFileSelector(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8));
 {
+    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));
 }
 {
@@ -177,7 +182,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)
 {
@@ -185,7 +190,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)
 {
@@ -193,7 +198,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")) {
@@ -202,8 +207,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));
 }
 {
@@ -251,14 +260,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)
 {
@@ -275,10 +284,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));
 }
 {
@@ -325,14 +343,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)
 {
@@ -349,10 +367,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;
@@ -388,7 +415,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)
 {
@@ -396,7 +423,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")) {
@@ -404,8 +431,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;
@@ -424,8 +455,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;
 }
 
@@ -436,8 +471,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;
 }
 
@@ -455,8 +494,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;
 }
@@ -468,8 +544,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;
 }
 
@@ -480,8 +560,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;
 }
@@ -500,8 +584,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;
 }
@@ -512,8 +600,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;
 }
@@ -534,8 +626,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;
@@ -556,8 +652,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;
 }
@@ -578,81 +678,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);
 {
-    if (_obj0)
-        delete _arg0;
-}
-    return _resultobj;
-}
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxExecute(*_arg0,_arg1);
 
-static PyObject *_wrap_wxFindWindowByLabel(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    wxWindow * _result;
-    wxString * _arg0;
-    wxWindow * _arg1 = NULL;
-    PyObject * _obj0 = 0;
-    char * _argc1 = 0;
-    char _ptemp[128];
-
-    self = self;
-    if(!PyArg_ParseTuple(args,"O|s:wxFindWindowByLabel",&_obj0,&_argc1)) 
-        return NULL;
-{
-    if (!PyString_Check(_obj0)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg0 = new wxString(PyString_AsString(_obj0));
-}
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxFindWindowByLabel. Expected _wxWindow_p.");
-        return NULL;
-        }
-    }
-    _result = (wxWindow *)wxFindWindowByLabel(*_arg0,_arg1);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
-{
-    if (_obj0)
-        delete _arg0;
-}
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxFindWindowByName(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    wxWindow * _result;
-    wxString * _arg0;
-    wxWindow * _arg1 = NULL;
-    PyObject * _obj0 = 0;
-    char * _argc1 = 0;
-    char _ptemp[128];
-
-    self = self;
-    if(!PyArg_ParseTuple(args,"O|s:wxFindWindowByName",&_obj0,&_argc1)) 
-        return NULL;
-{
-    if (!PyString_Check(_obj0)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg0 = new wxString(PyString_AsString(_obj0));
-}
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxFindWindowByName. Expected _wxWindow_p.");
-        return NULL;
-        }
-    }
-    _result = (wxWindow *)wxFindWindowByName(*_arg0,_arg1);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
 {
     if (_obj0)
         delete _arg0;
@@ -668,8 +702,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;
 }
@@ -684,8 +722,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;
 }
 
@@ -696,8 +738,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;
 }
 
@@ -717,8 +763,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;
@@ -740,8 +790,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;
 }
 
@@ -752,8 +806,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));
 }
 {
@@ -777,10 +835,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;
@@ -794,8 +856,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;
 }
@@ -817,8 +883,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));
@@ -832,6 +902,23 @@ static PyObject *_wrap_wxGetOsVersion(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
+static PyObject *_wrap_wxSleep(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    int  _arg0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:wxSleep",&_arg0)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSleep(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
 static PyObject *_wrap_wxYield(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     bool  _result;
@@ -839,8 +926,47 @@ 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;
+}
+
+static PyObject *_wrap_wxEnableTopLevelWindows(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    bool  _arg0;
+    int tempbool0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"i:wxEnableTopLevelWindows",&tempbool0)) 
+        return NULL;
+    _arg0 = (bool ) tempbool0;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxEnableTopLevelWindows(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
@@ -854,8 +980,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;
 }
 
@@ -868,8 +998,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;
 }
 
@@ -879,8 +1013,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;
 }
@@ -894,8 +1032,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;
 }
@@ -909,8 +1051,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;
 }
@@ -924,8 +1070,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;
 }
@@ -938,8 +1088,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;
 }
 
@@ -959,8 +1113,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;
 }
 
@@ -980,8 +1138,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;
 }
 
@@ -1001,13 +1163,17 @@ 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;
 }
 
 #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;
@@ -1015,42 +1181,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;
@@ -1058,37 +1232,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;
 }
 
@@ -1103,8 +1285,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;
 }
@@ -1124,8 +1310,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;
 }
@@ -1147,13 +1337,67 @@ 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())
+#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_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_GetX. Expected _wxSize_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxSize_GetX(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+#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_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_GetY. Expected _wxSize_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxSize_GetY(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+#define wxSize_GetWidth(_swigobj)  (_swigobj->GetWidth())
 static PyObject *_wrap_wxSize_GetWidth(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     long  _result;
@@ -1169,12 +1413,16 @@ static PyObject *_wrap_wxSize_GetWidth(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxSize_GetWidth(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxSize_GetWidth(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-#define wxSize_GetHeight(_swigobj)  (_swigobj->GetY())
+#define wxSize_GetHeight(_swigobj)  (_swigobj->GetHeight())
 static PyObject *_wrap_wxSize_GetHeight(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
     long  _result;
@@ -1190,34 +1438,94 @@ static PyObject *_wrap_wxSize_GetHeight(PyObject *self, PyObject *args) {
         return NULL;
         }
     }
-    _result = (long )wxSize_GetHeight(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxSize_GetHeight(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-static PyObject * wxSize___str__(wxSize *self) {
+#define wxSize_SetWidth(_swigobj,_swigarg0)  (_swigobj->SetWidth(_swigarg0))
+static PyObject *_wrap_wxSize_SetWidth(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxSize * _arg0;
+    long  _arg1;
+    char * _argc0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"sl:wxSize_SetWidth",&_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_SetWidth. Expected _wxSize_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSize_SetWidth(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxSize_SetHeight(_swigobj,_swigarg0)  (_swigobj->SetHeight(_swigarg0))
+static PyObject *_wrap_wxSize_SetHeight(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxSize * _arg0;
+    long  _arg1;
+    char * _argc0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"sl:wxSize_SetHeight",&_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_SetHeight. Expected _wxSize_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSize_SetHeight(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+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;
@@ -1240,8 +1548,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;
 }
 
@@ -1261,8 +1573,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;
 }
 
@@ -1283,8 +1599,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;
 }
 
@@ -1304,8 +1624,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;
 }
 
@@ -1320,8 +1644,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;
 }
@@ -1341,8 +1669,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;
 }
@@ -1364,8 +1696,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;
 }
 
@@ -1385,8 +1721,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;
 }
 
@@ -1407,8 +1747,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;
 }
 
@@ -1428,8 +1772,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;
 }
 
@@ -1444,8 +1792,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;
 }
@@ -1465,8 +1817,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;
 }
@@ -1491,35 +1847,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;
@@ -1538,8 +1902,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;
 }
@@ -1559,8 +1927,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;
 }
@@ -1581,8 +1953,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;
 }
 
@@ -1602,8 +1978,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;
 }
@@ -1624,8 +2004,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;
 }
 
@@ -1645,8 +2029,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;
 }
@@ -1667,8 +2055,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;
 }
 
@@ -1688,8 +2080,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;
 }
@@ -1710,8 +2106,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;
 }
 
@@ -1731,8 +2131,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;
 }
@@ -1754,8 +2158,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;
 }
@@ -1777,8 +2185,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;
 }
@@ -1799,8 +2211,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;
 }
 
@@ -1820,8 +2236,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;
 }
 
@@ -1841,8 +2261,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;
 }
 
@@ -1862,8 +2286,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;
 }
 
@@ -1884,8 +2312,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;
 }
 
@@ -1905,8 +2337,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;
 }
 
@@ -1927,8 +2363,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;
 }
 
@@ -1948,8 +2388,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;
 }
 
@@ -1970,8 +2414,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;
 }
 
@@ -1991,8 +2439,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;
 }
 
@@ -2013,8 +2465,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;
 }
 
@@ -2034,8 +2490,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;
 }
 
@@ -2053,8 +2547,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;
 }
@@ -2074,8 +2572,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;
 }
@@ -2096,8 +2598,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;
 }
 
@@ -2118,8 +2624,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;
 }
@@ -2139,8 +2649,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;
 }
@@ -2169,8 +2683,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;
 }
@@ -2191,8 +2709,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;
 }
@@ -2212,8 +2734,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;
 }
@@ -2242,8 +2768,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;
 }
@@ -2263,8 +2793,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;
 }
@@ -2293,8 +2827,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;
 }
@@ -2324,8 +2862,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;
 }
@@ -2354,8 +2896,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;
 }
@@ -2385,8 +2931,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;
 }
@@ -2418,8 +2968,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;
 }
@@ -2433,8 +2987,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;
 }
@@ -2456,8 +3014,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;
 }
@@ -2479,8 +3041,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;
 }
@@ -2502,8 +3068,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;
 }
@@ -2525,8 +3095,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;
 }
@@ -2548,8 +3122,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;
 }
@@ -2571,8 +3149,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;
 }
@@ -2594,8 +3176,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;
 }
@@ -2617,8 +3203,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;
 }
@@ -2632,8 +3222,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;
 }
@@ -2653,8 +3247,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;
 }
@@ -2674,8 +3272,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;
 }
@@ -2698,8 +3300,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;
 }
 
@@ -2727,8 +3333,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;
 }
 
@@ -2756,8 +3366,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;
 }
 
@@ -2778,8 +3392,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;
 }
@@ -2808,8 +3426,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;
 }
 
@@ -2829,8 +3451,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;
 }
 
@@ -2858,8 +3484,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;
 }
 
@@ -2887,8 +3517,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;
 }
 
@@ -2916,8 +3550,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;
 }
 
@@ -2938,8 +3576,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;
 }
@@ -2959,8 +3601,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;
 }
@@ -2981,8 +3627,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;
 }
 
@@ -3002,8 +3652,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;
 }
 
@@ -3023,8 +3677,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;
 }
 
@@ -3044,8 +3702,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;
 }
 
@@ -3065,8 +3727,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;
 }
 
@@ -3086,8 +3752,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;
 }
 
@@ -3108,8 +3778,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;
 }
@@ -3130,8 +3804,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;
 }
 
@@ -3150,8 +3828,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;
 }
@@ -3173,8 +3855,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;
 }
@@ -3191,8 +3877,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;
 }
@@ -3215,8 +3905,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;
 }
@@ -3237,8 +3931,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;
 }
 
@@ -3258,8 +3956,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;
 }
 
@@ -3279,8 +3981,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;
 }
 
@@ -3304,10 +4010,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;
@@ -3370,6 +4085,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 },
@@ -3394,7 +4110,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 },
@@ -3408,16 +4124,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_asTuple", _wrap_wxSize_asTuple, 1 },
+        { "wxSize_SetHeight", _wrap_wxSize_SetHeight, 1 },
+        { "wxSize_SetWidth", _wrap_wxSize_SetWidth, 1 },
         { "wxSize_GetHeight", _wrap_wxSize_GetHeight, 1 },
         { "wxSize_GetWidth", _wrap_wxSize_GetWidth, 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 },
         { "wxResourceParseString", _wrap_wxResourceParseString, 1 },
         { "wxResourceParseFile", _wrap_wxResourceParseFile, 1 },
         { "wxResourceParseData", _wrap_wxResourceParseData, 1 },
@@ -3428,7 +4152,10 @@ static PyMethodDef misccMethods[] = {
         { "wxResourceClear", _wrap_wxResourceClear, 1 },
         { "wxResourceAddIdentifier", _wrap_wxResourceAddIdentifier, 1 },
         { "wxGetResource", _wrap_wxGetResource, 1 },
+        { "wxEnableTopLevelWindows", _wrap_wxEnableTopLevelWindows, 1 },
+        { "wxSafeYield", _wrap_wxSafeYield, 1 },
         { "wxYield", _wrap_wxYield, 1 },
+        { "wxSleep", _wrap_wxSleep, 1 },
         { "wxGetOsVersion", _wrap_wxGetOsVersion, 1 },
         { "wxStartTimer", _wrap_wxStartTimer, 1 },
         { "wxShell", _wrap_wxShell, 1 },
@@ -3438,8 +4165,6 @@ static PyMethodDef misccMethods[] = {
         { "wxGetFreeMemory", _wrap_wxGetFreeMemory, 1 },
         { "wxGetElapsedTime", _wrap_wxGetElapsedTime, 1 },
         { "wxGetActiveWindow", _wrap_wxGetActiveWindow, 1 },
-        { "wxFindWindowByName", _wrap_wxFindWindowByName, 1 },
-        { "wxFindWindowByLabel", _wrap_wxFindWindowByLabel, 1 },
         { "wxExecute", _wrap_wxExecute, 1 },
         { "wxEndBusyCursor", _wrap_wxEndBusyCursor, 1 },
         { "wxDisplaySize", _wrap_wxDisplaySize, 1 },
@@ -3447,6 +4172,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 },
@@ -3494,13 +4221,27 @@ SWIGEXPORT(void,initmiscc)() {
  */
         SWIG_RegisterMapping("_wxAcceleratorTable","_class_wxAcceleratorTable",0);
         SWIG_RegisterMapping("_signed_long","_long",0);
+        SWIG_RegisterMapping("_wxPrintQuality","_int",0);
+        SWIG_RegisterMapping("_wxPrintQuality","_signed_int",0);
+        SWIG_RegisterMapping("_wxPrintQuality","_unsigned_int",0);
+        SWIG_RegisterMapping("_wxPrintQuality","_wxWindowID",0);
+        SWIG_RegisterMapping("_wxPrintQuality","_uint",0);
+        SWIG_RegisterMapping("_wxPrintQuality","_EBool",0);
+        SWIG_RegisterMapping("_wxPrintQuality","_size_t",0);
         SWIG_RegisterMapping("_class_wxRegionIterator","_wxRegionIterator",0);
         SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",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("_size_t","_wxPrintQuality",0);
+        SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+        SWIG_RegisterMapping("_size_t","_int",0);
+        SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+        SWIG_RegisterMapping("_size_t","_uint",0);
         SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
+        SWIG_RegisterMapping("_uint","_wxPrintQuality",0);
+        SWIG_RegisterMapping("_uint","_size_t",0);
         SWIG_RegisterMapping("_uint","_unsigned_int",0);
         SWIG_RegisterMapping("_uint","_int",0);
         SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -3508,6 +4249,7 @@ SWIGEXPORT(void,initmiscc)() {
         SWIG_RegisterMapping("_wxPoint","_class_wxPoint",0);
         SWIG_RegisterMapping("_wxPyTimer","_class_wxPyTimer",0);
         SWIG_RegisterMapping("_class_wxIndividualLayoutConstraint","_wxIndividualLayoutConstraint",0);
+        SWIG_RegisterMapping("_EBool","_wxPrintQuality",0);
         SWIG_RegisterMapping("_EBool","_signed_int",0);
         SWIG_RegisterMapping("_EBool","_int",0);
         SWIG_RegisterMapping("_EBool","_wxWindowID",0);
@@ -3516,6 +4258,7 @@ SWIGEXPORT(void,initmiscc)() {
         SWIG_RegisterMapping("_class_wxRect","_wxRect",0);
         SWIG_RegisterMapping("_class_wxPyTimer","_wxPyTimer",0);
         SWIG_RegisterMapping("_wxAcceleratorEntry","_class_wxAcceleratorEntry",0);
+        SWIG_RegisterMapping("_signed_int","_wxPrintQuality",0);
         SWIG_RegisterMapping("_signed_int","_EBool",0);
         SWIG_RegisterMapping("_signed_int","_wxWindowID",0);
         SWIG_RegisterMapping("_signed_int","_int",0);
@@ -3531,17 +4274,23 @@ SWIGEXPORT(void,initmiscc)() {
         SWIG_RegisterMapping("_signed_short","_short",0);
         SWIG_RegisterMapping("_class_wxAcceleratorEntry","_wxAcceleratorEntry",0);
         SWIG_RegisterMapping("_unsigned_char","_byte",0);
+        SWIG_RegisterMapping("_unsigned_int","_wxPrintQuality",0);
+        SWIG_RegisterMapping("_unsigned_int","_size_t",0);
         SWIG_RegisterMapping("_unsigned_int","_uint",0);
         SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
         SWIG_RegisterMapping("_unsigned_int","_int",0);
         SWIG_RegisterMapping("_short","_WXTYPE",0);
         SWIG_RegisterMapping("_short","_unsigned_short",0);
         SWIG_RegisterMapping("_short","_signed_short",0);
+        SWIG_RegisterMapping("_wxWindowID","_wxPrintQuality",0);
+        SWIG_RegisterMapping("_wxWindowID","_size_t",0);
         SWIG_RegisterMapping("_wxWindowID","_EBool",0);
         SWIG_RegisterMapping("_wxWindowID","_uint",0);
         SWIG_RegisterMapping("_wxWindowID","_int",0);
         SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
         SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+        SWIG_RegisterMapping("_int","_wxPrintQuality",0);
+        SWIG_RegisterMapping("_int","_size_t",0);
         SWIG_RegisterMapping("_int","_EBool",0);
         SWIG_RegisterMapping("_int","_uint",0);
         SWIG_RegisterMapping("_int","_wxWindowID",0);