]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/msw/misc.cpp
Made db.h compile (removed this wxODBC_ONLY_FARWRD_XXXXXX),
[wxWidgets.git] / utils / wxPython / src / msw / misc.cpp
index 592dcd9225645d2b49c23707cae83ee1950e47ed..90b698bed7e71d7e41ce398ae114932bd004b329 100644 (file)
@@ -3,7 +3,7 @@
  * 
  * This file was automatically generated by :
  * Simplified Wrapper and Interface Generator (SWIG)
- * Version 1.1 (Patch 5)
+ * Version 1.1 (Build 810)
  * 
  * Portions Copyright (c) 1995-1998
  * The University of Utah and The Regents of the University of California.
 /* Definitions for Windows/Unix exporting */
 #if defined(__WIN32__)
 #   if defined(_MSC_VER)
-#      define SWIGEXPORT(a,b) __declspec(dllexport) a b
+#      define SWIGEXPORT(a) __declspec(dllexport) a
 #   else
 #      if defined(__BORLANDC__)
-#          define SWIGEXPORT(a,b) a _export b
+#          define SWIGEXPORT(a) a _export 
 #      else
-#          define SWIGEXPORT(a,b) a b
+#          define SWIGEXPORT(a) a 
 #      endif
 #   endif
 #else
-#   define SWIGEXPORT(a,b) a b
+#   define SWIGEXPORT(a) a 
 #endif
 
 #ifdef __cplusplus
@@ -43,27 +43,30 @@ extern "C" {
 extern void SWIG_MakePtr(char *, void *, char *);
 extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *));
 extern char *SWIG_GetPtr(char *, void **, char *);
+extern char *SWIG_GetPtrObj(PyObject *, void **, char *);
 extern void SWIG_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
 extern PyObject *SWIG_newvarlink(void);
 #ifdef __cplusplus
 }
 #endif
-
 #define SWIG_init    initmiscc
 
 #define SWIG_name    "miscc"
 
 #include "helpers.h"
 #include <wx/resource.h>
+#include <wx/tooltip.h>
+#include <wx/busyinfo.h>
 
 static PyObject* l_output_helper(PyObject* target, PyObject* o) {
     PyObject*   o2;
-    if (!target) {
+    PyObject*   o3;
+    if (!target) {                   
         target = o;
-    } else if (target == Py_None) {
+    } else if (target == Py_None) {  
         Py_DECREF(Py_None);
         target = o;
-    } else {
+    } else {                         
         if (!PyList_Check(target)) {
             o2 = target;
             target = PyList_New(0);
@@ -80,39 +83,28 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) {
     PyObject*   o2;
     PyObject*   o3;
 
-    if (!target) {
+    if (!target) {                   
         target = o;
-    } else if (target == Py_None) {
+    } else if (target == Py_None) {  
         Py_DECREF(Py_None);
         target = o;
-    } else {
+    } else {                         
         if (!PyTuple_Check(target)) {
             o2 = target;
             target = PyTuple_New(1);
             PyTuple_SetItem(target, 0, o2);
         }
-        o3 = PyTuple_New(1);
-        PyTuple_SetItem(o3, 0, o);
+        o3 = PyTuple_New(1);            
+        PyTuple_SetItem(o3, 0, o);      
 
         o2 = target;
-        target = PySequence_Concat(o2, o3);
-        Py_DECREF(o2);
+        target = PySequence_Concat(o2, o3); 
+        Py_DECREF(o2);                      
         Py_DECREF(o3);
     }
     return target;
 }
 
-
-extern byte* byte_LIST_helper(PyObject* source);
-extern int* int_LIST_helper(PyObject* source);
-extern long* long_LIST_helper(PyObject* source);
-extern char** string_LIST_helper(PyObject* source);
-extern wxPoint* wxPoint_LIST_helper(PyObject* source);
-extern wxBitmap** wxBitmap_LIST_helper(PyObject* source);
-extern wxString* wxString_LIST_helper(PyObject* source);
-extern wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
-
-
 static char* wxStringErrorMsg = "string type is required for parameter";
 
     char* wxGetResource(char *section, char *entry, char *file = NULL) {
@@ -120,405 +112,103 @@ static char* wxStringErrorMsg = "string type is required for parameter";
         wxGetResource(section, entry, &retval, file);
         return retval;
     }
-static PyObject *_wrap_wxFileSelector(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    char * _result;
-    char * _arg0;
-    char * _arg1 = NULL;
-    char * _arg2 = NULL;
-    char * _arg3 = NULL;
-    char * _arg4 = "*.*";
-    int  _arg5 = 0;
-    wxWindow * _arg6 = NULL;
-    int  _arg7 = -1;
-    int  _arg8 = -1;
-    char * _argc6 = 0;
-
-    self = self;
-    if(!PyArg_ParseTuple(args,"s|ssssisii:wxFileSelector",&_arg0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_argc6,&_arg7,&_arg8)) 
-        return NULL;
-    if (_argc6) {
-        if (SWIG_GetPtr(_argc6,(void **) &_arg6,"_wxWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of wxFileSelector. Expected _wxWindow_p.");
-        return NULL;
-        }
-    }
-    _result = (char *)wxFileSelector(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8);
-    _resultobj = Py_BuildValue("s", _result);
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxGetTextFromUser(PyObject *self, PyObject *args) {
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_wxNewId(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxString * _result;
-    wxString * _arg0;
-    wxString * _arg1 = &wxPyEmptyStr;
-    wxString * _arg2 = &wxPyEmptyStr;
-    wxWindow * _arg3 = NULL;
-    int  _arg4 = -1;
-    int  _arg5 = -1;
-    bool  _arg6 = (1);
-    PyObject * _obj0 = 0;
-    PyObject * _obj1 = 0;
-    PyObject * _obj2 = 0;
-    char * _argc3 = 0;
-    int tempbool6;
+    long  _result;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O|OOsiii:wxGetTextFromUser",&_obj0,&_obj1,&_obj2,&_argc3,&_arg4,&_arg5,&tempbool6)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxNewId",_kwnames)) 
         return NULL;
 {
-    if (!PyString_Check(_obj0)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg0 = new wxString(PyString_AsString(_obj0));
-}
-    if (_obj1)
-{
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg1 = new wxString(PyString_AsString(_obj1));
-}
-    if (_obj2)
-{
-    if (!PyString_Check(_obj2)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg2 = new wxString(PyString_AsString(_obj2));
-}
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGetTextFromUser. Expected _wxWindow_p.");
-        return NULL;
-        }
-    }
-    _arg6 = (bool ) tempbool6;
-    _result = new wxString (wxGetTextFromUser(*_arg0,*_arg1,*_arg2,_arg3,_arg4,_arg5,_arg6));
-{
-    _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
-}
-{
-    if (_obj0)
-        delete _arg0;
-}
-{
-    if (_obj1)
-        delete _arg1;
-}
-{
-    if (_obj2)
-        delete _arg2;
-}
-{
-    delete _result;
-}
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxGetSingleChoice(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    wxString * _result;
-    wxString * _arg0;
-    wxString * _arg1;
-    int  _arg2;
-    wxString * _arg3;
-    wxWindow * _arg4 = NULL;
-    int  _arg5 = -1;
-    int  _arg6 = -1;
-    bool  _arg7 = (1);
-    int  _arg8 = 150;
-    int  _arg9 = 200;
-    PyObject * _obj0 = 0;
-    PyObject * _obj1 = 0;
-    PyObject * _obj3 = 0;
-    char * _argc4 = 0;
-    int tempbool7;
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxNewId();
 
-    self = self;
-    if(!PyArg_ParseTuple(args,"OOO|siiiii:wxGetSingleChoice",&_obj0,&_obj1,&_obj3,&_argc4,&_arg5,&_arg6,&tempbool7,&_arg8,&_arg9)) 
-        return NULL;
-{
-    if (!PyString_Check(_obj0)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg0 = new wxString(PyString_AsString(_obj0));
-}
-{
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg1 = new wxString(PyString_AsString(_obj1));
-}
-    if (_obj3)
-{
-    _arg3 = wxString_LIST_helper(_obj3);
-    if (_arg3 == NULL) {
-        return NULL;
-    }
-}
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of wxGetSingleChoice. Expected _wxWindow_p.");
-        return NULL;
-        }
-    }
-    _arg7 = (bool ) tempbool7;
-{
-    _arg2 = PyList_Size(_obj3);
-}
-    _result = new wxString (wxGetSingleChoice(*_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8,_arg9));
-{
-    _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
-}
-{
-    if (_obj0)
-        delete _arg0;
-}
-{
-    if (_obj1)
-        delete _arg1;
-}
-{
-    delete [] _arg3;
-}
-{
-    delete _result;
-}
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxGetSingleChoiceIndex(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    int  _result;
-    wxString * _arg0;
-    wxString * _arg1;
-    int  _arg2;
-    wxString * _arg3;
-    wxWindow * _arg4 = NULL;
-    int  _arg5 = -1;
-    int  _arg6 = -1;
-    bool  _arg7 = (1);
-    int  _arg8 = 150;
-    int  _arg9 = 200;
-    PyObject * _obj0 = 0;
-    PyObject * _obj1 = 0;
-    PyObject * _obj3 = 0;
-    char * _argc4 = 0;
-    int tempbool7;
-
-    self = self;
-    if(!PyArg_ParseTuple(args,"OOO|siiiii:wxGetSingleChoiceIndex",&_obj0,&_obj1,&_obj3,&_argc4,&_arg5,&_arg6,&tempbool7,&_arg8,&_arg9)) 
-        return NULL;
-{
-    if (!PyString_Check(_obj0)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg0 = new wxString(PyString_AsString(_obj0));
-}
-{
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg1 = new wxString(PyString_AsString(_obj1));
-}
-    if (_obj3)
-{
-    _arg3 = wxString_LIST_helper(_obj3);
-    if (_arg3 == NULL) {
-        return NULL;
-    }
-}
-    if (_argc4) {
-        if (SWIG_GetPtr(_argc4,(void **) &_arg4,"_wxWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of wxGetSingleChoiceIndex. Expected _wxWindow_p.");
-        return NULL;
-        }
-    }
-    _arg7 = (bool ) tempbool7;
-{
-    _arg2 = PyList_Size(_obj3);
-}
-    _result = (int )wxGetSingleChoiceIndex(*_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8,_arg9);
-    _resultobj = Py_BuildValue("i",_result);
-{
-    if (_obj0)
-        delete _arg0;
-}
-{
-    if (_obj1)
-        delete _arg1;
-}
-{
-    delete [] _arg3;
-}
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-static PyObject *_wrap_wxMessageBox(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegisterId(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    int  _result;
-    wxString * _arg0;
-    wxString * _arg1 = &wxPyEmptyStr;
-    int  _arg2 = (wxOK)|(wxCENTRE);
-    wxWindow * _arg3 = NULL;
-    int  _arg4 = -1;
-    int  _arg5 = -1;
-    PyObject * _obj0 = 0;
-    PyObject * _obj1 = 0;
-    char * _argc3 = 0;
+    long  _arg0;
+    char *_kwnames[] = { "id", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O|Oisii:wxMessageBox",&_obj0,&_obj1,&_arg2,&_argc3,&_arg4,&_arg5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"l:wxRegisterId",_kwnames,&_arg0)) 
         return NULL;
 {
-    if (!PyString_Check(_obj0)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg0 = new wxString(PyString_AsString(_obj0));
-}
-    if (_obj1)
-{
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg1 = new wxString(PyString_AsString(_obj1));
-}
-    if (_argc3) {
-        if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxMessageBox. Expected _wxWindow_p.");
-        return NULL;
-        }
-    }
-    _result = (int )wxMessageBox(*_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5);
-    _resultobj = Py_BuildValue("i",_result);
-{
-    if (_obj0)
-        delete _arg0;
-}
-{
-    if (_obj1)
-        delete _arg1;
-}
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxColourDisplay(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    bool  _result;
-
-    self = self;
-    if(!PyArg_ParseTuple(args,":wxColourDisplay")) 
-        return NULL;
-    _result = (bool )wxColourDisplay();
-    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRegisterId(_arg0);
 
-static PyObject *_wrap_wxDisplayDepth(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    int  _result;
-
-    self = self;
-    if(!PyArg_ParseTuple(args,":wxDisplayDepth")) 
-        return NULL;
-    _result = (int )wxDisplayDepth();
-    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxSetCursor(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    wxCursor * _arg0;
-    char * _argc0 = 0;
-
-    self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSetCursor",&_argc0)) 
-        return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxCursor_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSetCursor. Expected _wxCursor_p.");
-        return NULL;
-        }
-    }
-    wxSetCursor(_arg0);
-    Py_INCREF(Py_None);
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
-static PyObject *_wrap_NewId(PyObject *self, PyObject *args) {
+static PyObject *_wrap_NewId(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":NewId")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":NewId",_kwnames)) 
         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;
 }
 
-static PyObject *_wrap_RegisterId(PyObject *self, PyObject *args) {
+static PyObject *_wrap_RegisterId(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _arg0;
+    char *_kwnames[] = { "id", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"l:RegisterId",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"l:RegisterId",_kwnames,&_arg0)) 
         return NULL;
-    RegisterId(_arg0);
-    Py_INCREF(Py_None);
-    _resultobj = Py_None;
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxBeginBusyCursor(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    wxCursor * _arg0 = wxHOURGLASS_CURSOR;
-    char * _argc0 = 0;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRegisterId(_arg0);
 
-    self = self;
-    if(!PyArg_ParseTuple(args,"|s:wxBeginBusyCursor",&_argc0)) 
-        return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxCursor_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBeginBusyCursor. Expected _wxCursor_p.");
-        return NULL;
-        }
-    }
-    wxBeginBusyCursor(_arg0);
-    Py_INCREF(Py_None);
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
-static PyObject *_wrap_wxBell(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxBell(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":wxBell")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxBell",_kwnames)) 
         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;
 }
 
-static PyObject *_wrap_wxDisplaySize(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxDisplaySize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int * _arg0;
     int  temp;
     int * _arg1;
     int  temp0;
+    char *_kwnames[] = {  NULL };
 
     self = self;
 {
@@ -527,10 +217,14 @@ static PyObject *_wrap_wxDisplaySize(PyObject *self, PyObject *args) {
 {
   _arg1 = &temp0;
 }
-    if(!PyArg_ParseTuple(args,":wxDisplaySize")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxDisplaySize",_kwnames)) 
         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;
@@ -545,74 +239,49 @@ static PyObject *_wrap_wxDisplaySize(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_wxEndBusyCursor(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxEndBusyCursor(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":wxEndBusyCursor")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxEndBusyCursor",_kwnames)) 
         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;
 }
 
-static PyObject *_wrap_wxExecute(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxExecute(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxString * _arg0;
-    bool  _arg1 = (0);
+    bool  _arg1 = (bool ) FALSE;
     PyObject * _obj0 = 0;
-    int tempbool1;
+    int tempbool1 = (int) FALSE;
+    char *_kwnames[] = { "command","sync", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O|i:wxExecute",&_obj0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxExecute",_kwnames,&_obj0,&tempbool1)) 
         return NULL;
 {
     if (!PyString_Check(_obj0)) {
         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);
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
 {
     if (_obj0)
         delete _arg0;
@@ -620,88 +289,50 @@ static PyObject *_wrap_wxFindWindowByLabel(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_wxFindWindowByName(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGetElapsedTime(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxWindow * _result;
-    wxString * _arg0;
-    wxWindow * _arg1 = NULL;
-    PyObject * _obj0 = 0;
-    char * _argc1 = 0;
-    char _ptemp[128];
+    long  _result;
+    bool  _arg0 = (bool ) TRUE;
+    int tempbool0 = (int) TRUE;
+    char *_kwnames[] = { "resetTimer", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O|s:wxFindWindowByName",&_obj0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:wxGetElapsedTime",_kwnames,&tempbool0)) 
         return NULL;
+    _arg0 = (bool ) tempbool0;
 {
-    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);
-{
-    if (_obj0)
-        delete _arg0;
-}
-    return _resultobj;
-}
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxGetElapsedTime(_arg0);
 
-static PyObject *_wrap_wxGetActiveWindow(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    wxWindow * _result;
-    char _ptemp[128];
-
-    self = self;
-    if(!PyArg_ParseTuple(args,":wxGetActiveWindow")) 
-        return NULL;
-    _result = (wxWindow *)wxGetActiveWindow();
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-static PyObject *_wrap_wxGetElapsedTime(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGetFreeMemory(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
-    bool  _arg0 = (1);
-    int tempbool0;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"|i:wxGetElapsedTime",&tempbool0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxGetFreeMemory",_kwnames)) 
         return NULL;
-    _arg0 = (bool ) tempbool0;
-    _result = (long )wxGetElapsedTime(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxGetFreeMemory(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    long  _result;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxGetFreeMemory();
 
-    self = self;
-    if(!PyArg_ParseTuple(args,":wxGetFreeMemory")) 
-        return NULL;
-    _result = (long )wxGetFreeMemory();
-    _resultobj = Py_BuildValue("l",_result);
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-static PyObject *_wrap_wxGetMousePosition(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGetMousePosition(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int * _arg0;
     int  temp;
     int * _arg1;
     int  temp0;
+    char *_kwnames[] = {  NULL };
 
     self = self;
 {
@@ -710,10 +341,14 @@ static PyObject *_wrap_wxGetMousePosition(PyObject *self, PyObject *args) {
 {
   _arg1 = &temp0;
 }
-    if(!PyArg_ParseTuple(args,":wxGetMousePosition")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxGetMousePosition",_kwnames)) 
         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;
@@ -728,27 +363,37 @@ static PyObject *_wrap_wxGetMousePosition(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_wxIsBusy(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxIsBusy(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":wxIsBusy")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxIsBusy",_kwnames)) 
         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;
 }
 
-static PyObject *_wrap_wxNow(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxNow(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":wxNow")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxNow",_kwnames)) 
         return NULL;
-    _result = new wxString (wxNow());
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxNow());
+
+    wxPy_END_ALLOW_THREADS;
+}{
     _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
 }
 {
@@ -757,14 +402,15 @@ static PyObject *_wrap_wxNow(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_wxShell(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxShell(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
-    wxString * _arg0 = &wxPyEmptyStr;
+    wxString * _arg0 = (wxString *) &wxPyEmptyStr;
     PyObject * _obj0 = 0;
+    char *_kwnames[] = { "command", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"|O:wxShell",&_obj0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:wxShell",_kwnames,&_obj0)) 
         return NULL;
     if (_obj0)
 {
@@ -772,10 +418,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;
@@ -783,25 +433,31 @@ static PyObject *_wrap_wxShell(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_wxStartTimer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxStartTimer(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,":wxStartTimer")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxStartTimer",_kwnames)) 
         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;
 }
 
-static PyObject *_wrap_wxGetOsVersion(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGetOsVersion(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     int * _arg0;
     int  temp;
     int * _arg1;
     int  temp0;
+    char *_kwnames[] = {  NULL };
 
     self = self;
 {
@@ -810,10 +466,14 @@ static PyObject *_wrap_wxGetOsVersion(PyObject *self, PyObject *args) {
 {
   _arg1 = &temp0;
 }
-    if(!PyArg_ParseTuple(args,":wxGetOsVersion")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxGetOsVersion",_kwnames)) 
         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));
@@ -827,641 +487,889 @@ static PyObject *_wrap_wxGetOsVersion(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
-static PyObject *_wrap_wxYield(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    bool  _result;
-
-    self = self;
-    if(!PyArg_ParseTuple(args,":wxYield")) 
-        return NULL;
-    _result = (bool )wxYield();
-    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxGetResource(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    char * _result;
-    char * _arg0;
-    char * _arg1;
-    char * _arg2 = NULL;
-
-    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);
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxResourceAddIdentifier(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSleep(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
-    char * _arg0;
-    int  _arg1;
+    int  _arg0;
+    char *_kwnames[] = { "secs", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxResourceAddIdentifier",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:wxSleep",_kwnames,&_arg0)) 
         return NULL;
-    _result = (bool )wxResourceAddIdentifier(_arg0,_arg1);
-    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxResourceClear(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxSleep(_arg0);
 
-    self = self;
-    if(!PyArg_ParseTuple(args,":wxResourceClear")) 
-        return NULL;
-    wxResourceClear();
-    Py_INCREF(Py_None);
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
-static PyObject *_wrap_wxResourceCreateBitmap(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    wxBitmap * _result;
-    char * _arg0;
-    char _ptemp[128];
-
-    self = self;
-    if(!PyArg_ParseTuple(args,"s:wxResourceCreateBitmap",&_arg0)) 
-        return NULL;
-    _result = new wxBitmap (wxResourceCreateBitmap(_arg0));
-    SWIG_MakePtr(_ptemp, (void *) _result,"_wxBitmap_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxResourceCreateIcon(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxYield(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxIcon * _result;
-    char * _arg0;
-    char _ptemp[128];
-
-    self = self;
-    if(!PyArg_ParseTuple(args,"s:wxResourceCreateIcon",&_arg0)) 
-        return NULL;
-    _result = new wxIcon (wxResourceCreateIcon(_arg0));
-    SWIG_MakePtr(_ptemp, (void *) _result,"_wxIcon_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
-    return _resultobj;
-}
-
-static PyObject *_wrap_wxResourceCreateMenuBar(PyObject *self, PyObject *args) {
-    PyObject * _resultobj;
-    wxMenuBar * _result;
-    char * _arg0;
-    char _ptemp[128];
+    bool  _result;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxResourceCreateMenuBar",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxYield",_kwnames)) 
         return NULL;
-    _result = (wxMenuBar *)wxResourceCreateMenuBar(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxMenuBar_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxYield();
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-static PyObject *_wrap_wxResourceGetIdentifier(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSafeYield(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    int  _result;
-    char * _arg0;
+    bool  _result;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxResourceGetIdentifier",&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxSafeYield",_kwnames)) 
         return NULL;
-    _result = (int )wxResourceGetIdentifier(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxSafeYield();
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-static PyObject *_wrap_wxResourceParseData(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxEnableTopLevelWindows(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
-    char * _arg0;
-    wxResourceTable * _arg1 = NULL;
-    char * _argc1 = 0;
+    bool  _arg0;
+    int tempbool0;
+    char *_kwnames[] = { "enable", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s|s:wxResourceParseData",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:wxEnableTopLevelWindows",_kwnames,&tempbool0)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxResourceTable_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxResourceParseData. Expected _wxResourceTable_p.");
-        return NULL;
-        }
-    }
-    _result = (bool )wxResourceParseData(_arg0,_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+    _arg0 = (bool ) tempbool0;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxEnableTopLevelWindows(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
-static PyObject *_wrap_wxResourceParseFile(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxGetResource(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    char * _result;
     char * _arg0;
-    wxResourceTable * _arg1 = NULL;
-    char * _argc1 = 0;
+    char * _arg1;
+    char * _arg2 = (char *) NULL;
+    char *_kwnames[] = { "section","entry","file", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s|s:wxResourceParseFile",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ss|s:wxGetResource",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxResourceTable_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxResourceParseFile. Expected _wxResourceTable_p.");
-        return NULL;
-        }
-    }
-    _result = (bool )wxResourceParseFile(_arg0,_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (char *)wxGetResource(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("s", _result);
     return _resultobj;
 }
 
-static PyObject *_wrap_wxResourceParseString(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxStripMenuCodes(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
-    char * _arg0;
-    wxResourceTable * _arg1 = NULL;
-    char * _argc1 = 0;
+    wxString * _result;
+    wxString * _arg0;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "in", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s|s:wxResourceParseString",&_arg0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStripMenuCodes",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxResourceTable_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxResourceParseString. Expected _wxResourceTable_p.");
+{
+    if (!PyString_Check(_obj0)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
         return NULL;
-        }
     }
-    _result = (bool )wxResourceParseString(_arg0,_arg1);
-    _resultobj = Py_BuildValue("i",_result);
+    _arg0 = new wxString(PyString_AsString(_obj0), PyString_Size(_obj0));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxStripMenuCodes(*_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
+}
+{
+    if (_obj0)
+        delete _arg0;
+}
+{
+    delete _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 *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxSize * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","x", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxSize_width_set",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxSize_x_set",_kwnames,&_obj0,&_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.");
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
         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 *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxSize * _arg0;
-    char * _argc0 = 0;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSize_width_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSize_x_get",_kwnames,&_obj0)) 
         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.");
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
         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 *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxSize * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxSize_height_set",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxSize_y_set",_kwnames,&_obj0,&_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.");
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
         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 *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxSize * _arg0;
-    char * _argc0 = 0;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSize_height_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSize_y_get",_kwnames,&_obj0)) 
         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.");
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
         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;
 }
 
 #define new_wxSize(_swigarg0,_swigarg1) (new wxSize(_swigarg0,_swigarg1))
-static PyObject *_wrap_new_wxSize(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSize * _result;
-    long  _arg0 = 0;
-    long  _arg1 = 0;
+    long  _arg0 = (long ) 0;
+    long  _arg1 = (long ) 0;
+    char *_kwnames[] = { "w","h", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"|ll:new_wxSize",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ll:new_wxSize",_kwnames,&_arg0,&_arg1)) 
         return NULL;
-    _result = (wxSize *)new_wxSize(_arg0,_arg1);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxSize_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxSize *)new_wxSize(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxSize_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define delete_wxSize(_swigobj) (delete _swigobj)
-static PyObject *_wrap_delete_wxSize(PyObject *self, PyObject *args) {
+static PyObject *_wrap_delete_wxSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSize * _arg0;
-    char * _argc0 = 0;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:delete_wxSize",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxSize",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxSize. Expected _wxSize_p.");
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxSize_Set(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Set(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxSize_Set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxSize_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSize * _arg0;
     long  _arg1;
     long  _arg2;
-    char * _argc0 = 0;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","w","h", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxSize_Set",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oll:wxSize_Set",_kwnames,&_obj0,&_arg1,&_arg2)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_Set. Expected _wxSize_p.");
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
         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 *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxSize * _arg0;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSize_GetX",_kwnames,&_obj0)) 
+        return NULL;
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
+        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 *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxSize * _arg0;
-    char * _argc0 = 0;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSize_GetWidth",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSize_GetY",_kwnames,&_obj0)) 
         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.");
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
         return NULL;
-        }
-    }
-    _result = (long )wxSize_GetWidth(_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;
 }
 
-#define wxSize_GetHeight(_swigobj)  (_swigobj->GetY())
-static PyObject *_wrap_wxSize_GetHeight(PyObject *self, PyObject *args) {
+#define wxSize_GetWidth(_swigobj)  (_swigobj->GetWidth())
+static PyObject *_wrap_wxSize_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxSize * _arg0;
-    char * _argc0 = 0;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSize_GetHeight",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSize_GetWidth",_kwnames,&_obj0)) 
         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.");
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
         return NULL;
-        }
-    }
-    _result = (long )wxSize_GetHeight(_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->GetHeight())
+static PyObject *_wrap_wxSize_GetHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxSize * _arg0;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSize_GetHeight",_kwnames,&_obj0)) 
+        return NULL;
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
+        return NULL;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxSize_GetHeight(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+#define wxSize_SetWidth(_swigobj,_swigarg0)  (_swigobj->SetWidth(_swigarg0))
+static PyObject *_wrap_wxSize_SetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxSize * _arg0;
+    long  _arg1;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","w", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxSize_SetWidth",_kwnames,&_obj0,&_arg1)) 
+        return NULL;
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
+        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 *kwargs) {
+    PyObject * _resultobj;
+    wxSize * _arg0;
+    long  _arg1;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","h", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxSize_SetHeight",_kwnames,&_obj0,&_arg1)) 
+        return NULL;
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
+        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___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 *kwargs) {
     PyObject * _resultobj;
     PyObject * _result;
     wxSize * _arg0;
-    char * _argc0 = 0;
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxSize___str__",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSize_asTuple",_kwnames,&_obj0)) 
         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.");
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
         return NULL;
-        }
-    }
-    _result = (PyObject *)wxSize___str__(_arg0);
+}
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxSize_asTuple(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
   _resultobj = _result;
 }
     return _resultobj;
 }
 
 #define wxRealPoint_x_set(_swigobj,_swigval) (_swigobj->x = _swigval,_swigval)
-static PyObject *_wrap_wxRealPoint_x_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRealPoint_x_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     double  _result;
     wxRealPoint * _arg0;
     double  _arg1;
-    char * _argc0 = 0;
+    wxRealPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","x", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sd:wxRealPoint_x_set",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Od:wxRealPoint_x_set",_kwnames,&_obj0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRealPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRealPoint_x_set. Expected _wxRealPoint_p.");
+{
+    _arg0 = &temp;
+    if (! wxRealPoint_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRealPoint_x_get(_swigobj) ((double ) _swigobj->x)
-static PyObject *_wrap_wxRealPoint_x_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRealPoint_x_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     double  _result;
     wxRealPoint * _arg0;
-    char * _argc0 = 0;
+    wxRealPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRealPoint_x_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRealPoint_x_get",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRealPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRealPoint_x_get. Expected _wxRealPoint_p.");
+{
+    _arg0 = &temp;
+    if (! wxRealPoint_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRealPoint_y_set(_swigobj,_swigval) (_swigobj->y = _swigval,_swigval)
-static PyObject *_wrap_wxRealPoint_y_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRealPoint_y_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     double  _result;
     wxRealPoint * _arg0;
     double  _arg1;
-    char * _argc0 = 0;
+    wxRealPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sd:wxRealPoint_y_set",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Od:wxRealPoint_y_set",_kwnames,&_obj0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRealPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRealPoint_y_set. Expected _wxRealPoint_p.");
+{
+    _arg0 = &temp;
+    if (! wxRealPoint_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRealPoint_y_get(_swigobj) ((double ) _swigobj->y)
-static PyObject *_wrap_wxRealPoint_y_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRealPoint_y_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     double  _result;
     wxRealPoint * _arg0;
-    char * _argc0 = 0;
+    wxRealPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRealPoint_y_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRealPoint_y_get",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRealPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRealPoint_y_get. Expected _wxRealPoint_p.");
+{
+    _arg0 = &temp;
+    if (! wxRealPoint_helper(_obj0, &_arg0))
         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;
 }
 
 #define new_wxRealPoint(_swigarg0,_swigarg1) (new wxRealPoint(_swigarg0,_swigarg1))
-static PyObject *_wrap_new_wxRealPoint(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxRealPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRealPoint * _result;
-    double  _arg0 = 0.0;
-    double  _arg1 = 0.0;
+    double  _arg0 = (double ) 0.0;
+    double  _arg1 = (double ) 0.0;
+    char *_kwnames[] = { "x","y", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"|dd:new_wxRealPoint",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|dd:new_wxRealPoint",_kwnames,&_arg0,&_arg1)) 
         return NULL;
-    _result = (wxRealPoint *)new_wxRealPoint(_arg0,_arg1);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRealPoint_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRealPoint *)new_wxRealPoint(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxRealPoint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define delete_wxRealPoint(_swigobj) (delete _swigobj)
-static PyObject *_wrap_delete_wxRealPoint(PyObject *self, PyObject *args) {
+static PyObject *_wrap_delete_wxRealPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRealPoint * _arg0;
-    char * _argc0 = 0;
+    wxRealPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:delete_wxRealPoint",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxRealPoint",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRealPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxRealPoint. Expected _wxRealPoint_p.");
+{
+    _arg0 = &temp;
+    if (! wxRealPoint_helper(_obj0, &_arg0))
         return NULL;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxRealPoint(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void  wxRealPoint_Set(wxRealPoint *self,double  x,double  y) {
+            self->x = x;
+            self->y = y;
         }
-    }
-    delete_wxRealPoint(_arg0);
-    Py_INCREF(Py_None);
+static PyObject *_wrap_wxRealPoint_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxRealPoint * _arg0;
+    double  _arg1;
+    double  _arg2;
+    wxRealPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Odd:wxRealPoint_Set",_kwnames,&_obj0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    _arg0 = &temp;
+    if (! wxRealPoint_helper(_obj0, &_arg0))
+        return NULL;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxRealPoint_Set(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
+static PyObject * wxRealPoint_asTuple(wxRealPoint *self) {
+            PyObject* tup = PyTuple_New(2);
+            PyTuple_SET_ITEM(tup, 0, PyFloat_FromDouble(self->x));
+            PyTuple_SET_ITEM(tup, 1, PyFloat_FromDouble(self->y));
+            return tup;
+        }
+static PyObject *_wrap_wxRealPoint_asTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxRealPoint * _arg0;
+    wxRealPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRealPoint_asTuple",_kwnames,&_obj0)) 
+        return NULL;
+{
+    _arg0 = &temp;
+    if (! wxRealPoint_helper(_obj0, &_arg0))
+        return NULL;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxRealPoint_asTuple(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
 #define wxPoint_x_set(_swigobj,_swigval) (_swigobj->x = _swigval,_swigval)
-static PyObject *_wrap_wxPoint_x_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxPoint_x_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxPoint * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    wxPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","x", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxPoint_x_set",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxPoint_x_set",_kwnames,&_obj0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPoint_x_set. Expected _wxPoint_p.");
+{
+    _arg0 = &temp;
+    if (! wxPoint_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxPoint_x_get(_swigobj) ((long ) _swigobj->x)
-static PyObject *_wrap_wxPoint_x_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxPoint_x_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxPoint * _arg0;
-    char * _argc0 = 0;
+    wxPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxPoint_x_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPoint_x_get",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPoint_x_get. Expected _wxPoint_p.");
+{
+    _arg0 = &temp;
+    if (! wxPoint_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxPoint_y_set(_swigobj,_swigval) (_swigobj->y = _swigval,_swigval)
-static PyObject *_wrap_wxPoint_y_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxPoint_y_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxPoint * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    wxPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxPoint_y_set",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxPoint_y_set",_kwnames,&_obj0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPoint_y_set. Expected _wxPoint_p.");
+{
+    _arg0 = &temp;
+    if (! wxPoint_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxPoint_y_get(_swigobj) ((long ) _swigobj->y)
-static PyObject *_wrap_wxPoint_y_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxPoint_y_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxPoint * _arg0;
-    char * _argc0 = 0;
+    wxPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxPoint_y_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPoint_y_get",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPoint_y_get. Expected _wxPoint_p.");
+{
+    _arg0 = &temp;
+    if (! wxPoint_helper(_obj0, &_arg0))
         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;
 }
 
 #define new_wxPoint(_swigarg0,_swigarg1) (new wxPoint(_swigarg0,_swigarg1))
-static PyObject *_wrap_new_wxPoint(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxPoint * _result;
-    long  _arg0 = 0;
-    long  _arg1 = 0;
+    long  _arg0 = (long ) 0;
+    long  _arg1 = (long ) 0;
+    char *_kwnames[] = { "x","y", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"|ll:new_wxPoint",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ll:new_wxPoint",_kwnames,&_arg0,&_arg1)) 
         return NULL;
-    _result = (wxPoint *)new_wxPoint(_arg0,_arg1);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxPoint_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPoint *)new_wxPoint(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPoint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define delete_wxPoint(_swigobj) (delete _swigobj)
-static PyObject *_wrap_delete_wxPoint(PyObject *self, PyObject *args) {
+static PyObject *_wrap_delete_wxPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxPoint * _arg0;
-    char * _argc0 = 0;
+    wxPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:delete_wxPoint",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxPoint",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxPoint. Expected _wxPoint_p.");
+{
+    _arg0 = &temp;
+    if (! wxPoint_helper(_obj0, &_arg0))
         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;
 }
@@ -1470,1683 +1378,2226 @@ static void  wxPoint_Set(wxPoint *self,long  x,long  y) {
             self->x = x;
             self->y = y;
         }
-static PyObject *_wrap_wxPoint_Set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxPoint_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxPoint * _arg0;
     long  _arg1;
     long  _arg2;
-    char * _argc0 = 0;
+    wxPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxPoint_Set",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oll:wxPoint_Set",_kwnames,&_obj0,&_arg1,&_arg2)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPoint_Set. Expected _wxPoint_p.");
+{
+    _arg0 = &temp;
+    if (! wxPoint_helper(_obj0, &_arg0))
         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 *kwargs) {
     PyObject * _resultobj;
     PyObject * _result;
     wxPoint * _arg0;
-    char * _argc0 = 0;
+    wxPoint  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxPoint___str__",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPoint_asTuple",_kwnames,&_obj0)) 
         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.");
+{
+    _arg0 = &temp;
+    if (! wxPoint_helper(_obj0, &_arg0))
         return NULL;
-        }
-    }
-    _result = (PyObject *)wxPoint___str__(_arg0);
+}
 {
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxPoint_asTuple(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
   _resultobj = _result;
 }
     return _resultobj;
 }
 
 #define new_wxRect(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxRect(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
-static PyObject *_wrap_new_wxRect(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxRect(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRect * _result;
-    long  _arg0 = 0;
-    long  _arg1 = 0;
-    long  _arg2 = 0;
-    long  _arg3 = 0;
+    long  _arg0 = (long ) 0;
+    long  _arg1 = (long ) 0;
+    long  _arg2 = (long ) 0;
+    long  _arg3 = (long ) 0;
+    char *_kwnames[] = { "x","y","w","h", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"|llll:new_wxRect",&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|llll:new_wxRect",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
-    _result = (wxRect *)new_wxRect(_arg0,_arg1,_arg2,_arg3);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRect_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRect *)new_wxRect(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxRect_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define delete_wxRect(_swigobj) (delete _swigobj)
-static PyObject *_wrap_delete_wxRect(PyObject *self, PyObject *args) {
+static PyObject *_wrap_delete_wxRect(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:delete_wxRect",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxRect",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxRect. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_GetX(_swigobj)  (_swigobj->GetX())
-static PyObject *_wrap_wxRect_GetX(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_GetX(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_GetX",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_GetX",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_GetX. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_SetX(_swigobj,_swigarg0)  (_swigobj->SetX(_swigarg0))
-static PyObject *_wrap_wxRect_SetX(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_SetX(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRect * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","X", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxRect_SetX",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxRect_SetX",_kwnames,&_obj0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_SetX. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_GetY(_swigobj)  (_swigobj->GetY())
-static PyObject *_wrap_wxRect_GetY(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_GetY(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_GetY",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_GetY",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_GetY. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_SetY(_swigobj,_swigarg0)  (_swigobj->SetY(_swigarg0))
-static PyObject *_wrap_wxRect_SetY(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_SetY(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRect * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","Y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxRect_SetY",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxRect_SetY",_kwnames,&_obj0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_SetY. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_GetWidth(_swigobj)  (_swigobj->GetWidth())
-static PyObject *_wrap_wxRect_GetWidth(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_GetWidth",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_GetWidth",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_GetWidth. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_SetWidth(_swigobj,_swigarg0)  (_swigobj->SetWidth(_swigarg0))
-static PyObject *_wrap_wxRect_SetWidth(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_SetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRect * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","w", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxRect_SetWidth",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxRect_SetWidth",_kwnames,&_obj0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_SetWidth. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_GetHeight(_swigobj)  (_swigobj->GetHeight())
-static PyObject *_wrap_wxRect_GetHeight(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_GetHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_GetHeight",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_GetHeight",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_GetHeight. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_SetHeight(_swigobj,_swigarg0)  (_swigobj->SetHeight(_swigarg0))
-static PyObject *_wrap_wxRect_SetHeight(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_SetHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRect * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","h", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxRect_SetHeight",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxRect_SetHeight",_kwnames,&_obj0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_SetHeight. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_GetPosition(_swigobj)  (_swigobj->GetPosition())
-static PyObject *_wrap_wxRect_GetPosition(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxPoint * _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_GetPosition",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_GetPosition",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_GetPosition. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_GetSize(_swigobj)  (_swigobj->GetSize())
-static PyObject *_wrap_wxRect_GetSize(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxSize * _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_GetSize",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_GetSize",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_GetSize. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_GetLeft(_swigobj)  (_swigobj->GetLeft())
-static PyObject *_wrap_wxRect_GetLeft(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_GetLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_GetLeft",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_GetLeft",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_GetLeft. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_GetTop(_swigobj)  (_swigobj->GetTop())
-static PyObject *_wrap_wxRect_GetTop(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_GetTop(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_GetTop",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_GetTop",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_GetTop. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_GetBottom(_swigobj)  (_swigobj->GetBottom())
-static PyObject *_wrap_wxRect_GetBottom(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_GetBottom(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_GetBottom",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_GetBottom",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_GetBottom. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_GetRight(_swigobj)  (_swigobj->GetRight())
-static PyObject *_wrap_wxRect_GetRight(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_GetRight(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_GetRight",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_GetRight",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_GetRight. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_x_set(_swigobj,_swigval) (_swigobj->x = _swigval,_swigval)
-static PyObject *_wrap_wxRect_x_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_x_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","x", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxRect_x_set",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxRect_x_set",_kwnames,&_obj0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_x_set. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_x_get(_swigobj) ((long ) _swigobj->x)
-static PyObject *_wrap_wxRect_x_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_x_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_x_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_x_get",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_x_get. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_y_set(_swigobj,_swigval) (_swigobj->y = _swigval,_swigval)
-static PyObject *_wrap_wxRect_y_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_y_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxRect_y_set",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxRect_y_set",_kwnames,&_obj0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_y_set. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_y_get(_swigobj) ((long ) _swigobj->y)
-static PyObject *_wrap_wxRect_y_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_y_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_y_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_y_get",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_y_get. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_width_set(_swigobj,_swigval) (_swigobj->width = _swigval,_swigval)
-static PyObject *_wrap_wxRect_width_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_width_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","width", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxRect_width_set",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxRect_width_set",_kwnames,&_obj0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_width_set. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_width_get(_swigobj) ((long ) _swigobj->width)
-static PyObject *_wrap_wxRect_width_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_width_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_width_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_width_get",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_width_get. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_height_set(_swigobj,_swigval) (_swigobj->height = _swigval,_swigval)
-static PyObject *_wrap_wxRect_height_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_height_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
     long  _arg1;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self","height", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sl:wxRect_height_set",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxRect_height_set",_kwnames,&_obj0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_height_set. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         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;
 }
 
 #define wxRect_height_get(_swigobj) ((long ) _swigobj->height)
-static PyObject *_wrap_wxRect_height_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRect_height_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRect * _arg0;
-    char * _argc0 = 0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRect_height_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_height_get",_kwnames,&_obj0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_height_get. Expected _wxRect_p.");
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
         return NULL;
+}
+{
+    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, 2, PyInt_FromLong(self->width));
+            PyTuple_SET_ITEM(tup, 3, PyInt_FromLong(self->height));
+            return tup;
         }
-    }
-    _result = (long )wxRect_height_get(_arg0);
-    _resultobj = Py_BuildValue("l",_result);
+static PyObject *_wrap_wxRect_asTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxRect * _arg0;
+    wxRect  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRect_asTuple",_kwnames,&_obj0)) 
+        return NULL;
+{
+    _arg0 = &temp;
+    if (! wxRect_helper(_obj0, &_arg0))
+        return NULL;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxRect_asTuple(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
     return _resultobj;
 }
 
 #define new_wxPyTimer(_swigarg0) (new wxPyTimer(_swigarg0))
-static PyObject *_wrap_new_wxPyTimer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxPyTimer(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxPyTimer * _result;
     PyObject * _arg0;
     PyObject * _obj0 = 0;
+    char *_kwnames[] = { "notify", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O:new_wxPyTimer",&_obj0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxPyTimer",_kwnames,&_obj0)) 
         return NULL;
 {
   _arg0 = _obj0;
 }
-    _result = (wxPyTimer *)new_wxPyTimer(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyTimer_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPyTimer *)new_wxPyTimer(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyTimer_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define delete_wxPyTimer(_swigobj) (delete _swigobj)
-static PyObject *_wrap_delete_wxPyTimer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_delete_wxPyTimer(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTimer * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxPyTimer",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTimer_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxPyTimer. Expected _wxPyTimer_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxPyTimer(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyTimer_GetInterval(_swigobj)  (_swigobj->GetInterval())
+static PyObject *_wrap_wxPyTimer_GetInterval(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    int  _result;
     wxPyTimer * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:delete_wxPyTimer",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyTimer_GetInterval",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxPyTimer_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxPyTimer. Expected _wxPyTimer_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTimer_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTimer_GetInterval. Expected _wxPyTimer_p.");
         return NULL;
         }
     }
-    delete_wxPyTimer(_arg0);
-    Py_INCREF(Py_None);
-    _resultobj = Py_None;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxPyTimer_GetInterval(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxPyTimer_Interval(_swigobj)  (_swigobj->Interval())
-static PyObject *_wrap_wxPyTimer_Interval(PyObject *self, PyObject *args) {
+#define wxPyTimer_IsOneShot(_swigobj)  (_swigobj->IsOneShot())
+static PyObject *_wrap_wxPyTimer_IsOneShot(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    int  _result;
+    bool  _result;
     wxPyTimer * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxPyTimer_Interval",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyTimer_IsOneShot",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxPyTimer_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTimer_Interval. Expected _wxPyTimer_p.");
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTimer_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTimer_IsOneShot. Expected _wxPyTimer_p.");
         return NULL;
         }
     }
-    _result = (int )wxPyTimer_Interval(_arg0);
-    _resultobj = Py_BuildValue("i",_result);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxPyTimer_IsOneShot(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
 #define wxPyTimer_Start(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Start(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxPyTimer_Start(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxPyTimer_Start(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxPyTimer * _arg0;
-    int  _arg1 = -1;
-    int  _arg2 = (0);
-    char * _argc0 = 0;
+    int  _arg1 = (int ) -1;
+    int  _arg2 = (int ) FALSE;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","milliseconds","oneShot", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s|ii:wxPyTimer_Start",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:wxPyTimer_Start",_kwnames,&_argo0,&_arg1,&_arg2)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxPyTimer_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTimer_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTimer_Start. Expected _wxPyTimer_p.");
         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;
 }
 
 #define wxPyTimer_Stop(_swigobj)  (_swigobj->Stop())
-static PyObject *_wrap_wxPyTimer_Stop(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxPyTimer_Stop(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxPyTimer * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxPyTimer_Stop",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyTimer_Stop",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxPyTimer_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTimer_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTimer_Stop. Expected _wxPyTimer_p.");
         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;
 }
 
 #define wxIndividualLayoutConstraint_Above(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Above(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxIndividualLayoutConstraint_Above(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxIndividualLayoutConstraint_Above(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _arg0;
     wxWindow * _arg1;
-    int  _arg2 = 0;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    int  _arg2 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","otherWin","margin", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss|i:wxIndividualLayoutConstraint_Above",&_argc0,&_argc1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxIndividualLayoutConstraint_Above",_kwnames,&_argo0,&_argo1,&_arg2)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIndividualLayoutConstraint_Above. Expected _wxIndividualLayoutConstraint_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxWindow_p")) {
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxIndividualLayoutConstraint_Above. Expected _wxWindow_p.");
         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;
 }
 
 #define wxIndividualLayoutConstraint_Absolute(_swigobj,_swigarg0)  (_swigobj->Absolute(_swigarg0))
-static PyObject *_wrap_wxIndividualLayoutConstraint_Absolute(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxIndividualLayoutConstraint_Absolute(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _arg0;
     int  _arg1;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","value", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"si:wxIndividualLayoutConstraint_Absolute",&_argc0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxIndividualLayoutConstraint_Absolute",_kwnames,&_argo0,&_arg1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIndividualLayoutConstraint_Absolute. Expected _wxIndividualLayoutConstraint_p.");
         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;
 }
 
 #define wxIndividualLayoutConstraint_AsIs(_swigobj)  (_swigobj->AsIs())
-static PyObject *_wrap_wxIndividualLayoutConstraint_AsIs(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxIndividualLayoutConstraint_AsIs(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxIndividualLayoutConstraint_AsIs",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxIndividualLayoutConstraint_AsIs",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIndividualLayoutConstraint_AsIs. Expected _wxIndividualLayoutConstraint_p.");
         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;
 }
 
 #define wxIndividualLayoutConstraint_Below(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Below(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxIndividualLayoutConstraint_Below(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxIndividualLayoutConstraint_Below(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _arg0;
     wxWindow * _arg1;
-    int  _arg2 = 0;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    int  _arg2 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","otherWin","margin", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss|i:wxIndividualLayoutConstraint_Below",&_argc0,&_argc1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxIndividualLayoutConstraint_Below",_kwnames,&_argo0,&_argo1,&_arg2)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIndividualLayoutConstraint_Below. Expected _wxIndividualLayoutConstraint_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxWindow_p")) {
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxIndividualLayoutConstraint_Below. Expected _wxWindow_p.");
         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;
 }
 
 #define wxIndividualLayoutConstraint_Unconstrained(_swigobj)  (_swigobj->Unconstrained())
-static PyObject *_wrap_wxIndividualLayoutConstraint_Unconstrained(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxIndividualLayoutConstraint_Unconstrained(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxIndividualLayoutConstraint_Unconstrained",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxIndividualLayoutConstraint_Unconstrained",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIndividualLayoutConstraint_Unconstrained. Expected _wxIndividualLayoutConstraint_p.");
         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;
 }
 
 #define wxIndividualLayoutConstraint_LeftOf(_swigobj,_swigarg0,_swigarg1)  (_swigobj->LeftOf(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxIndividualLayoutConstraint_LeftOf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxIndividualLayoutConstraint_LeftOf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _arg0;
     wxWindow * _arg1;
-    int  _arg2 = 0;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    int  _arg2 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","otherWin","margin", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss|i:wxIndividualLayoutConstraint_LeftOf",&_argc0,&_argc1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxIndividualLayoutConstraint_LeftOf",_kwnames,&_argo0,&_argo1,&_arg2)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIndividualLayoutConstraint_LeftOf. Expected _wxIndividualLayoutConstraint_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxWindow_p")) {
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxIndividualLayoutConstraint_LeftOf. Expected _wxWindow_p.");
         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;
 }
 
 #define wxIndividualLayoutConstraint_PercentOf(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->PercentOf(_swigarg0,_swigarg1,_swigarg2))
-static PyObject *_wrap_wxIndividualLayoutConstraint_PercentOf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxIndividualLayoutConstraint_PercentOf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _arg0;
     wxWindow * _arg1;
     wxEdge  _arg2;
     int  _arg3;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","otherWin","edge","percent", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ssii:wxIndividualLayoutConstraint_PercentOf",&_argc0,&_argc1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii:wxIndividualLayoutConstraint_PercentOf",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIndividualLayoutConstraint_PercentOf. Expected _wxIndividualLayoutConstraint_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxWindow_p")) {
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxIndividualLayoutConstraint_PercentOf. Expected _wxWindow_p.");
         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;
 }
 
 #define wxIndividualLayoutConstraint_RightOf(_swigobj,_swigarg0,_swigarg1)  (_swigobj->RightOf(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxIndividualLayoutConstraint_RightOf(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxIndividualLayoutConstraint_RightOf(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _arg0;
     wxWindow * _arg1;
-    int  _arg2 = 0;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    int  _arg2 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","otherWin","margin", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss|i:wxIndividualLayoutConstraint_RightOf",&_argc0,&_argc1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxIndividualLayoutConstraint_RightOf",_kwnames,&_argo0,&_argo1,&_arg2)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIndividualLayoutConstraint_RightOf. Expected _wxIndividualLayoutConstraint_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxWindow_p")) {
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxIndividualLayoutConstraint_RightOf. Expected _wxWindow_p.");
         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;
 }
 
 #define wxIndividualLayoutConstraint_SameAs(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SameAs(_swigarg0,_swigarg1,_swigarg2))
-static PyObject *_wrap_wxIndividualLayoutConstraint_SameAs(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxIndividualLayoutConstraint_SameAs(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _arg0;
     wxWindow * _arg1;
     wxEdge  _arg2;
-    int  _arg3 = 0;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    int  _arg3 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","otherWin","edge","margin", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ssi|i:wxIndividualLayoutConstraint_SameAs",&_argc0,&_argc1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi|i:wxIndividualLayoutConstraint_SameAs",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIndividualLayoutConstraint_SameAs. Expected _wxIndividualLayoutConstraint_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxWindow_p")) {
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxIndividualLayoutConstraint_SameAs. Expected _wxWindow_p.");
         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;
 }
 
 #define wxIndividualLayoutConstraint_Set(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->Set(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
-static PyObject *_wrap_wxIndividualLayoutConstraint_Set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxIndividualLayoutConstraint_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _arg0;
     wxRelationship  _arg1;
     wxWindow * _arg2;
     wxEdge  _arg3;
-    int  _arg4 = 0;
-    int  _arg5 = 0;
-    char * _argc0 = 0;
-    char * _argc2 = 0;
+    int  _arg4 = (int ) 0;
+    int  _arg5 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "self","rel","otherWin","otherEdge","value","margin", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sisi|ii:wxIndividualLayoutConstraint_Set",&_argc0,&_arg1,&_argc2,&_arg3,&_arg4,&_arg5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiOi|ii:wxIndividualLayoutConstraint_Set",_kwnames,&_argo0,&_arg1,&_argo2,&_arg3,&_arg4,&_arg5)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIndividualLayoutConstraint_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIndividualLayoutConstraint_Set. Expected _wxIndividualLayoutConstraint_p.");
         return NULL;
         }
     }
-    if (_argc2) {
-        if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxWindow_p")) {
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxWindow_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxIndividualLayoutConstraint_Set. Expected _wxWindow_p.");
         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;
 }
 
 #define new_wxLayoutConstraints() (new wxLayoutConstraints())
-static PyObject *_wrap_new_wxLayoutConstraints(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxLayoutConstraints(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxLayoutConstraints * _result;
+    char *_kwnames[] = {  NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,":new_wxLayoutConstraints")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxLayoutConstraints",_kwnames)) 
         return NULL;
-    _result = (wxLayoutConstraints *)new_wxLayoutConstraints();
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxLayoutConstraints_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxLayoutConstraints *)new_wxLayoutConstraints();
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxLayoutConstraints_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define wxLayoutConstraints_bottom_get(_swigobj) (&_swigobj->bottom)
-static PyObject *_wrap_wxLayoutConstraints_bottom_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxLayoutConstraints_bottom_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _result;
     wxLayoutConstraints * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxLayoutConstraints_bottom_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxLayoutConstraints_bottom_get",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxLayoutConstraints_bottom_get. Expected _wxLayoutConstraints_p.");
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_bottom_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_bottom_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define wxLayoutConstraints_centreX_get(_swigobj) (&_swigobj->centreX)
-static PyObject *_wrap_wxLayoutConstraints_centreX_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxLayoutConstraints_centreX_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _result;
     wxLayoutConstraints * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxLayoutConstraints_centreX_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxLayoutConstraints_centreX_get",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxLayoutConstraints_centreX_get. Expected _wxLayoutConstraints_p.");
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_centreX_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_centreX_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define wxLayoutConstraints_centreY_get(_swigobj) (&_swigobj->centreY)
-static PyObject *_wrap_wxLayoutConstraints_centreY_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxLayoutConstraints_centreY_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _result;
     wxLayoutConstraints * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxLayoutConstraints_centreY_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxLayoutConstraints_centreY_get",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxLayoutConstraints_centreY_get. Expected _wxLayoutConstraints_p.");
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_centreY_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_centreY_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define wxLayoutConstraints_height_get(_swigobj) (&_swigobj->height)
-static PyObject *_wrap_wxLayoutConstraints_height_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxLayoutConstraints_height_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _result;
     wxLayoutConstraints * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxLayoutConstraints_height_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxLayoutConstraints_height_get",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxLayoutConstraints_height_get. Expected _wxLayoutConstraints_p.");
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_height_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_height_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define wxLayoutConstraints_left_get(_swigobj) (&_swigobj->left)
-static PyObject *_wrap_wxLayoutConstraints_left_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxLayoutConstraints_left_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _result;
     wxLayoutConstraints * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxLayoutConstraints_left_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxLayoutConstraints_left_get",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxLayoutConstraints_left_get. Expected _wxLayoutConstraints_p.");
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_left_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_left_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define wxLayoutConstraints_right_get(_swigobj) (&_swigobj->right)
-static PyObject *_wrap_wxLayoutConstraints_right_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxLayoutConstraints_right_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _result;
     wxLayoutConstraints * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxLayoutConstraints_right_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxLayoutConstraints_right_get",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxLayoutConstraints_right_get. Expected _wxLayoutConstraints_p.");
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_right_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_right_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define wxLayoutConstraints_top_get(_swigobj) (&_swigobj->top)
-static PyObject *_wrap_wxLayoutConstraints_top_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxLayoutConstraints_top_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _result;
     wxLayoutConstraints * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxLayoutConstraints_top_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxLayoutConstraints_top_get",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxLayoutConstraints_top_get. Expected _wxLayoutConstraints_p.");
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_top_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_top_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define wxLayoutConstraints_width_get(_swigobj) (&_swigobj->width)
-static PyObject *_wrap_wxLayoutConstraints_width_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxLayoutConstraints_width_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIndividualLayoutConstraint * _result;
     wxLayoutConstraints * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxLayoutConstraints_width_get",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxLayoutConstraints_width_get",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxLayoutConstraints_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxLayoutConstraints_width_get. Expected _wxLayoutConstraints_p.");
         return NULL;
         }
     }
-    _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_width_get(_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIndividualLayoutConstraint *)wxLayoutConstraints_width_get(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIndividualLayoutConstraint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define new_wxRegion() (new wxRegion())
-static PyObject *_wrap_new_wxRegion(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRegion * _result;
+    char *_kwnames[] = {  NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,":new_wxRegion")) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxRegion",_kwnames)) 
         return NULL;
-    _result = (wxRegion *)new_wxRegion();
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegion_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRegion *)new_wxRegion();
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegion_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define delete_wxRegion(_swigobj) (delete _swigobj)
-static PyObject *_wrap_delete_wxRegion(PyObject *self, PyObject *args) {
+static PyObject *_wrap_delete_wxRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRegion * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:delete_wxRegion",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxRegion",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegion_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxRegion. Expected _wxRegion_p.");
         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;
 }
 
 #define wxRegion_Clear(_swigobj)  (_swigobj->Clear())
-static PyObject *_wrap_wxRegion_Clear(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegion_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRegion * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegion_Clear",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegion_Clear",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegion_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Clear. Expected _wxRegion_p.");
         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;
 }
 
 #define wxRegion_Contains(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Contains(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxRegion_Contains(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegion_Contains(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRegionContain  _result;
     wxRegion * _arg0;
     long  _arg1;
     long  _arg2;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"sll:wxRegion_Contains",&_argc0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oll:wxRegion_Contains",_kwnames,&_argo0,&_arg1,&_arg2)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegion_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Contains. Expected _wxRegion_p.");
         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;
 }
 
 #define wxRegion_ContainsPoint(_swigobj,_swigarg0)  (_swigobj->Contains(_swigarg0))
-static PyObject *_wrap_wxRegion_ContainsPoint(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegion_ContainsPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRegionContain  _result;
     wxRegion * _arg0;
     wxPoint * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    wxPoint  temp;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","pt", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxRegion_ContainsPoint",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_ContainsPoint",_kwnames,&_argo0,&_obj1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegion_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_ContainsPoint. Expected _wxRegion_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxPoint_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_ContainsPoint. Expected _wxPoint_p.");
+{
+    _arg1 = &temp;
+    if (! wxPoint_helper(_obj1, &_arg1))
         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;
 }
 
 #define wxRegion_ContainsRect(_swigobj,_swigarg0)  (_swigobj->Contains(_swigarg0))
-static PyObject *_wrap_wxRegion_ContainsRect(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegion_ContainsRect(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRegionContain  _result;
     wxRegion * _arg0;
     wxRect * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    wxRect  temp;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","rect", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxRegion_ContainsRect",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_ContainsRect",_kwnames,&_argo0,&_obj1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegion_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_ContainsRect. Expected _wxRegion_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_ContainsRect. Expected _wxRect_p.");
+{
+    _arg1 = &temp;
+    if (! wxRect_helper(_obj1, &_arg1))
         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;
 }
 
 #define wxRegion_GetBox(_swigobj)  (_swigobj->GetBox())
-static PyObject *_wrap_wxRegion_GetBox(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegion_GetBox(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRect * _result;
     wxRegion * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegion_GetBox",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegion_GetBox",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegion_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_GetBox. Expected _wxRegion_p.");
         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;
 }
 
 #define wxRegion_Intersect(_swigobj,_swigarg0)  (_swigobj->Intersect(_swigarg0))
-static PyObject *_wrap_wxRegion_Intersect(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegion_Intersect(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxRegion * _arg0;
     wxRect * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    wxRect  temp;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","rect", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxRegion_Intersect",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_Intersect",_kwnames,&_argo0,&_obj1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegion_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Intersect. Expected _wxRegion_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_Intersect. Expected _wxRect_p.");
+{
+    _arg1 = &temp;
+    if (! wxRect_helper(_obj1, &_arg1))
         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;
 }
 
 #define wxRegion_IsEmpty(_swigobj)  (_swigobj->IsEmpty())
-static PyObject *_wrap_wxRegion_IsEmpty(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegion_IsEmpty(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxRegion * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegion_IsEmpty",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegion_IsEmpty",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegion_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_IsEmpty. Expected _wxRegion_p.");
         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;
 }
 
 #define wxRegion_Subtract(_swigobj,_swigarg0)  (_swigobj->Subtract(_swigarg0))
-static PyObject *_wrap_wxRegion_Subtract(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegion_Subtract(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxRegion * _arg0;
     wxRect * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    wxRect  temp;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","rect", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxRegion_Subtract",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_Subtract",_kwnames,&_argo0,&_obj1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegion_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Subtract. Expected _wxRegion_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_Subtract. Expected _wxRect_p.");
+{
+    _arg1 = &temp;
+    if (! wxRect_helper(_obj1, &_arg1))
         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;
 }
 
 #define wxRegion_Union(_swigobj,_swigarg0)  (_swigobj->Union(_swigarg0))
-static PyObject *_wrap_wxRegion_Union(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegion_Union(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxRegion * _arg0;
     wxRect * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    wxRect  temp;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","rect", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxRegion_Union",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_Union",_kwnames,&_argo0,&_obj1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegion_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Union. Expected _wxRegion_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_Union. Expected _wxRect_p.");
+{
+    _arg1 = &temp;
+    if (! wxRect_helper(_obj1, &_arg1))
         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;
 }
 
 #define wxRegion_Xor(_swigobj,_swigarg0)  (_swigobj->Xor(_swigarg0))
-static PyObject *_wrap_wxRegion_Xor(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegion_Xor(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxRegion * _arg0;
     wxRect * _arg1;
-    char * _argc0 = 0;
-    char * _argc1 = 0;
+    PyObject * _argo0 = 0;
+    wxRect  temp;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","rect", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:wxRegion_Xor",&_argc0,&_argc1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxRegion_Xor",_kwnames,&_argo0,&_obj1)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegion_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_Xor. Expected _wxRegion_p.");
         return NULL;
         }
     }
-    if (_argc1) {
-        if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxRect_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_Xor. Expected _wxRect_p.");
+{
+    _arg1 = &temp;
+    if (! wxRect_helper(_obj1, &_arg1))
         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;
 }
 
 #define new_wxRegionIterator(_swigarg0) (new wxRegionIterator(_swigarg0))
-static PyObject *_wrap_new_wxRegionIterator(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxRegionIterator(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRegionIterator * _result;
     wxRegion * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "region", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:new_wxRegionIterator",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxRegionIterator",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegion_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxRegionIterator. Expected _wxRegion_p.");
         return NULL;
         }
     }
-    _result = (wxRegionIterator *)new_wxRegionIterator(*_arg0);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegionIterator_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxRegionIterator *)new_wxRegionIterator(*_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegionIterator_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
 #define delete_wxRegionIterator(_swigobj) (delete _swigobj)
-static PyObject *_wrap_delete_wxRegionIterator(PyObject *self, PyObject *args) {
+static PyObject *_wrap_delete_wxRegionIterator(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRegionIterator * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:delete_wxRegionIterator",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxRegionIterator",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegionIterator_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxRegionIterator. Expected _wxRegionIterator_p.");
         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;
 }
 
 #define wxRegionIterator_GetX(_swigobj)  (_swigobj->GetX())
-static PyObject *_wrap_wxRegionIterator_GetX(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegionIterator_GetX(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRegionIterator * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegionIterator_GetX",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetX",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegionIterator_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetX. Expected _wxRegionIterator_p.");
         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;
 }
 
 #define wxRegionIterator_GetY(_swigobj)  (_swigobj->GetY())
-static PyObject *_wrap_wxRegionIterator_GetY(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegionIterator_GetY(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRegionIterator * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegionIterator_GetY",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetY",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegionIterator_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetY. Expected _wxRegionIterator_p.");
         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;
 }
 
 #define wxRegionIterator_GetW(_swigobj)  (_swigobj->GetW())
-static PyObject *_wrap_wxRegionIterator_GetW(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegionIterator_GetW(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRegionIterator * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegionIterator_GetW",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetW",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegionIterator_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetW. Expected _wxRegionIterator_p.");
         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;
 }
 
 #define wxRegionIterator_GetWidth(_swigobj)  (_swigobj->GetWidth())
-static PyObject *_wrap_wxRegionIterator_GetWidth(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegionIterator_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRegionIterator * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegionIterator_GetWidth",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetWidth",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegionIterator_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetWidth. Expected _wxRegionIterator_p.");
         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;
 }
 
 #define wxRegionIterator_GetH(_swigobj)  (_swigobj->GetH())
-static PyObject *_wrap_wxRegionIterator_GetH(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegionIterator_GetH(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRegionIterator * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegionIterator_GetH",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetH",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegionIterator_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetH. Expected _wxRegionIterator_p.");
         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;
 }
 
 #define wxRegionIterator_GetHeight(_swigobj)  (_swigobj->GetHeight())
-static PyObject *_wrap_wxRegionIterator_GetHeight(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegionIterator_GetHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxRegionIterator * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegionIterator_GetHeight",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetHeight",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegionIterator_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetHeight. Expected _wxRegionIterator_p.");
         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;
 }
 
 #define wxRegionIterator_GetRect(_swigobj)  (_swigobj->GetRect())
-static PyObject *_wrap_wxRegionIterator_GetRect(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegionIterator_GetRect(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRect * _result;
     wxRegionIterator * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegionIterator_GetRect",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_GetRect",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegionIterator_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_GetRect. Expected _wxRegionIterator_p.");
         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;
 }
 
 #define wxRegionIterator_HaveRects(_swigobj)  (_swigobj->HaveRects())
-static PyObject *_wrap_wxRegionIterator_HaveRects(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegionIterator_HaveRects(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxRegionIterator * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegionIterator_HaveRects",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_HaveRects",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegionIterator_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_HaveRects. Expected _wxRegionIterator_p.");
         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;
 }
 
 #define wxRegionIterator_Reset(_swigobj)  (_swigobj->Reset())
-static PyObject *_wrap_wxRegionIterator_Reset(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegionIterator_Reset(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRegionIterator * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegionIterator_Reset",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_Reset",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegionIterator_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_Reset. Expected _wxRegionIterator_p.");
         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;
 }
@@ -3154,142 +3605,210 @@ static PyObject *_wrap_wxRegionIterator_Reset(PyObject *self, PyObject *args) {
 static void  wxRegionIterator_Next(wxRegionIterator *self) {
             (*self) ++;
         }
-static PyObject *_wrap_wxRegionIterator_Next(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxRegionIterator_Next(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxRegionIterator * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxRegionIterator_Next",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegionIterator_Next",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRegionIterator_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegionIterator_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegionIterator_Next. Expected _wxRegionIterator_p.");
         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;
 }
 
 #define new_wxAcceleratorEntry(_swigarg0,_swigarg1,_swigarg2) (new wxAcceleratorEntry(_swigarg0,_swigarg1,_swigarg2))
-static PyObject *_wrap_new_wxAcceleratorEntry(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxAcceleratorEntry(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxAcceleratorEntry * _result;
-    int  _arg0 = 0;
-    int  _arg1 = 0;
-    int  _arg2 = 0;
+    int  _arg0 = (int ) 0;
+    int  _arg1 = (int ) 0;
+    int  _arg2 = (int ) 0;
+    char *_kwnames[] = { "flags","keyCode","cmd", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"|iii:new_wxAcceleratorEntry",&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iii:new_wxAcceleratorEntry",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
-    _result = (wxAcceleratorEntry *)new_wxAcceleratorEntry(_arg0,_arg1,_arg2);
-    SWIG_MakePtr(_ptemp, (char *) _result,"_wxAcceleratorEntry_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxAcceleratorEntry *)new_wxAcceleratorEntry(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxAcceleratorEntry_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define delete_wxAcceleratorEntry(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxAcceleratorEntry(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxAcceleratorEntry * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxAcceleratorEntry",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxAcceleratorEntry_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxAcceleratorEntry. Expected _wxAcceleratorEntry_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxAcceleratorEntry(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
 #define wxAcceleratorEntry_Set(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->Set(_swigarg0,_swigarg1,_swigarg2))
-static PyObject *_wrap_wxAcceleratorEntry_Set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxAcceleratorEntry_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxAcceleratorEntry * _arg0;
     int  _arg1;
     int  _arg2;
     int  _arg3;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","flags","keyCode","Cmd", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"siii:wxAcceleratorEntry_Set",&_argc0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxAcceleratorEntry_Set",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxAcceleratorEntry_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxAcceleratorEntry_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxAcceleratorEntry_Set. Expected _wxAcceleratorEntry_p.");
         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;
 }
 
 #define wxAcceleratorEntry_GetFlags(_swigobj)  (_swigobj->GetFlags())
-static PyObject *_wrap_wxAcceleratorEntry_GetFlags(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxAcceleratorEntry_GetFlags(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxAcceleratorEntry * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxAcceleratorEntry_GetFlags",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxAcceleratorEntry_GetFlags",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxAcceleratorEntry_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxAcceleratorEntry_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxAcceleratorEntry_GetFlags. Expected _wxAcceleratorEntry_p.");
         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;
 }
 
 #define wxAcceleratorEntry_GetKeyCode(_swigobj)  (_swigobj->GetKeyCode())
-static PyObject *_wrap_wxAcceleratorEntry_GetKeyCode(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxAcceleratorEntry_GetKeyCode(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxAcceleratorEntry * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxAcceleratorEntry_GetKeyCode",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxAcceleratorEntry_GetKeyCode",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxAcceleratorEntry_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxAcceleratorEntry_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxAcceleratorEntry_GetKeyCode. Expected _wxAcceleratorEntry_p.");
         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;
 }
 
 #define wxAcceleratorEntry_GetCommand(_swigobj)  (_swigobj->GetCommand())
-static PyObject *_wrap_wxAcceleratorEntry_GetCommand(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxAcceleratorEntry_GetCommand(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     wxAcceleratorEntry * _arg0;
-    char * _argc0 = 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"s:wxAcceleratorEntry_GetCommand",&_argc0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxAcceleratorEntry_GetCommand",_kwnames,&_argo0)) 
         return NULL;
-    if (_argc0) {
-        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxAcceleratorEntry_p")) {
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxAcceleratorEntry_p")) {
             PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxAcceleratorEntry_GetCommand. Expected _wxAcceleratorEntry_p.");
         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;
 }
 
 #define new_wxAcceleratorTable(_swigarg0,_swigarg1) (new wxAcceleratorTable(_swigarg0,_swigarg1))
-static PyObject *_wrap_new_wxAcceleratorTable(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_wxAcceleratorTable(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxAcceleratorTable * _result;
     int  _arg0;
     wxAcceleratorEntry * _arg1;
     PyObject * _obj1 = 0;
+    char *_kwnames[] = { "LIST", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O:new_wxAcceleratorTable",&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxAcceleratorTable",_kwnames,&_obj1)) 
         return NULL;
     if (_obj1)
 {
@@ -3299,164 +3818,380 @@ 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");
-    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxAcceleratorTable *)new_wxAcceleratorTable(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxAcceleratorTable_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
 {
     delete [] _arg1;
 }
     return _resultobj;
 }
 
+#define delete_wxAcceleratorTable(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxAcceleratorTable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxAcceleratorTable * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxAcceleratorTable",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxAcceleratorTable_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxAcceleratorTable. Expected _wxAcceleratorTable_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxAcceleratorTable(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define new_wxBusyInfo(_swigarg0) (new wxBusyInfo(_swigarg0))
+static PyObject *_wrap_new_wxBusyInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxBusyInfo * _result;
+    wxString * _arg0;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "message", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxBusyInfo",_kwnames,&_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 = (wxBusyInfo *)new_wxBusyInfo(*_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBusyInfo_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj0)
+        delete _arg0;
+}
+    return _resultobj;
+}
+
+#define delete_wxBusyInfo(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxBusyInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxBusyInfo * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxBusyInfo",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBusyInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxBusyInfo. Expected _wxBusyInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxBusyInfo(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
 static PyMethodDef misccMethods[] = {
-        { "new_wxAcceleratorTable", _wrap_new_wxAcceleratorTable, 1 },
-        { "wxAcceleratorEntry_GetCommand", _wrap_wxAcceleratorEntry_GetCommand, 1 },
-        { "wxAcceleratorEntry_GetKeyCode", _wrap_wxAcceleratorEntry_GetKeyCode, 1 },
-        { "wxAcceleratorEntry_GetFlags", _wrap_wxAcceleratorEntry_GetFlags, 1 },
-        { "wxAcceleratorEntry_Set", _wrap_wxAcceleratorEntry_Set, 1 },
-        { "new_wxAcceleratorEntry", _wrap_new_wxAcceleratorEntry, 1 },
-        { "wxRegionIterator_Next", _wrap_wxRegionIterator_Next, 1 },
-        { "wxRegionIterator_Reset", _wrap_wxRegionIterator_Reset, 1 },
-        { "wxRegionIterator_HaveRects", _wrap_wxRegionIterator_HaveRects, 1 },
-        { "wxRegionIterator_GetRect", _wrap_wxRegionIterator_GetRect, 1 },
-        { "wxRegionIterator_GetHeight", _wrap_wxRegionIterator_GetHeight, 1 },
-        { "wxRegionIterator_GetH", _wrap_wxRegionIterator_GetH, 1 },
-        { "wxRegionIterator_GetWidth", _wrap_wxRegionIterator_GetWidth, 1 },
-        { "wxRegionIterator_GetW", _wrap_wxRegionIterator_GetW, 1 },
-        { "wxRegionIterator_GetY", _wrap_wxRegionIterator_GetY, 1 },
-        { "wxRegionIterator_GetX", _wrap_wxRegionIterator_GetX, 1 },
-        { "delete_wxRegionIterator", _wrap_delete_wxRegionIterator, 1 },
-        { "new_wxRegionIterator", _wrap_new_wxRegionIterator, 1 },
-        { "wxRegion_Xor", _wrap_wxRegion_Xor, 1 },
-        { "wxRegion_Union", _wrap_wxRegion_Union, 1 },
-        { "wxRegion_Subtract", _wrap_wxRegion_Subtract, 1 },
-        { "wxRegion_IsEmpty", _wrap_wxRegion_IsEmpty, 1 },
-        { "wxRegion_Intersect", _wrap_wxRegion_Intersect, 1 },
-        { "wxRegion_GetBox", _wrap_wxRegion_GetBox, 1 },
-        { "wxRegion_ContainsRect", _wrap_wxRegion_ContainsRect, 1 },
-        { "wxRegion_ContainsPoint", _wrap_wxRegion_ContainsPoint, 1 },
-        { "wxRegion_Contains", _wrap_wxRegion_Contains, 1 },
-        { "wxRegion_Clear", _wrap_wxRegion_Clear, 1 },
-        { "delete_wxRegion", _wrap_delete_wxRegion, 1 },
-        { "new_wxRegion", _wrap_new_wxRegion, 1 },
-        { "wxLayoutConstraints_width_get", _wrap_wxLayoutConstraints_width_get, 1 },
-        { "wxLayoutConstraints_top_get", _wrap_wxLayoutConstraints_top_get, 1 },
-        { "wxLayoutConstraints_right_get", _wrap_wxLayoutConstraints_right_get, 1 },
-        { "wxLayoutConstraints_left_get", _wrap_wxLayoutConstraints_left_get, 1 },
-        { "wxLayoutConstraints_height_get", _wrap_wxLayoutConstraints_height_get, 1 },
-        { "wxLayoutConstraints_centreY_get", _wrap_wxLayoutConstraints_centreY_get, 1 },
-        { "wxLayoutConstraints_centreX_get", _wrap_wxLayoutConstraints_centreX_get, 1 },
-        { "wxLayoutConstraints_bottom_get", _wrap_wxLayoutConstraints_bottom_get, 1 },
-        { "new_wxLayoutConstraints", _wrap_new_wxLayoutConstraints, 1 },
-        { "wxIndividualLayoutConstraint_Set", _wrap_wxIndividualLayoutConstraint_Set, 1 },
-        { "wxIndividualLayoutConstraint_SameAs", _wrap_wxIndividualLayoutConstraint_SameAs, 1 },
-        { "wxIndividualLayoutConstraint_RightOf", _wrap_wxIndividualLayoutConstraint_RightOf, 1 },
-        { "wxIndividualLayoutConstraint_PercentOf", _wrap_wxIndividualLayoutConstraint_PercentOf, 1 },
-        { "wxIndividualLayoutConstraint_LeftOf", _wrap_wxIndividualLayoutConstraint_LeftOf, 1 },
-        { "wxIndividualLayoutConstraint_Unconstrained", _wrap_wxIndividualLayoutConstraint_Unconstrained, 1 },
-        { "wxIndividualLayoutConstraint_Below", _wrap_wxIndividualLayoutConstraint_Below, 1 },
-        { "wxIndividualLayoutConstraint_AsIs", _wrap_wxIndividualLayoutConstraint_AsIs, 1 },
-        { "wxIndividualLayoutConstraint_Absolute", _wrap_wxIndividualLayoutConstraint_Absolute, 1 },
-        { "wxIndividualLayoutConstraint_Above", _wrap_wxIndividualLayoutConstraint_Above, 1 },
-        { "wxPyTimer_Stop", _wrap_wxPyTimer_Stop, 1 },
-        { "wxPyTimer_Start", _wrap_wxPyTimer_Start, 1 },
-        { "wxPyTimer_Interval", _wrap_wxPyTimer_Interval, 1 },
-        { "delete_wxPyTimer", _wrap_delete_wxPyTimer, 1 },
-        { "new_wxPyTimer", _wrap_new_wxPyTimer, 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 },
-        { "wxRect_width_set", _wrap_wxRect_width_set, 1 },
-        { "wxRect_y_get", _wrap_wxRect_y_get, 1 },
-        { "wxRect_y_set", _wrap_wxRect_y_set, 1 },
-        { "wxRect_x_get", _wrap_wxRect_x_get, 1 },
-        { "wxRect_x_set", _wrap_wxRect_x_set, 1 },
-        { "wxRect_GetRight", _wrap_wxRect_GetRight, 1 },
-        { "wxRect_GetBottom", _wrap_wxRect_GetBottom, 1 },
-        { "wxRect_GetTop", _wrap_wxRect_GetTop, 1 },
-        { "wxRect_GetLeft", _wrap_wxRect_GetLeft, 1 },
-        { "wxRect_GetSize", _wrap_wxRect_GetSize, 1 },
-        { "wxRect_GetPosition", _wrap_wxRect_GetPosition, 1 },
-        { "wxRect_SetHeight", _wrap_wxRect_SetHeight, 1 },
-        { "wxRect_GetHeight", _wrap_wxRect_GetHeight, 1 },
-        { "wxRect_SetWidth", _wrap_wxRect_SetWidth, 1 },
-        { "wxRect_GetWidth", _wrap_wxRect_GetWidth, 1 },
-        { "wxRect_SetY", _wrap_wxRect_SetY, 1 },
-        { "wxRect_GetY", _wrap_wxRect_GetY, 1 },
-        { "wxRect_SetX", _wrap_wxRect_SetX, 1 },
-        { "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_Set", _wrap_wxPoint_Set, 1 },
-        { "delete_wxPoint", _wrap_delete_wxPoint, 1 },
-        { "new_wxPoint", _wrap_new_wxPoint, 1 },
-        { "wxPoint_y_get", _wrap_wxPoint_y_get, 1 },
-        { "wxPoint_y_set", _wrap_wxPoint_y_set, 1 },
-        { "wxPoint_x_get", _wrap_wxPoint_x_get, 1 },
-        { "wxPoint_x_set", _wrap_wxPoint_x_set, 1 },
-        { "delete_wxRealPoint", _wrap_delete_wxRealPoint, 1 },
-        { "new_wxRealPoint", _wrap_new_wxRealPoint, 1 },
-        { "wxRealPoint_y_get", _wrap_wxRealPoint_y_get, 1 },
-        { "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_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 },
-        { "wxResourceParseString", _wrap_wxResourceParseString, 1 },
-        { "wxResourceParseFile", _wrap_wxResourceParseFile, 1 },
-        { "wxResourceParseData", _wrap_wxResourceParseData, 1 },
-        { "wxResourceGetIdentifier", _wrap_wxResourceGetIdentifier, 1 },
-        { "wxResourceCreateMenuBar", _wrap_wxResourceCreateMenuBar, 1 },
-        { "wxResourceCreateIcon", _wrap_wxResourceCreateIcon, 1 },
-        { "wxResourceCreateBitmap", _wrap_wxResourceCreateBitmap, 1 },
-        { "wxResourceClear", _wrap_wxResourceClear, 1 },
-        { "wxResourceAddIdentifier", _wrap_wxResourceAddIdentifier, 1 },
-        { "wxGetResource", _wrap_wxGetResource, 1 },
-        { "wxYield", _wrap_wxYield, 1 },
-        { "wxGetOsVersion", _wrap_wxGetOsVersion, 1 },
-        { "wxStartTimer", _wrap_wxStartTimer, 1 },
-        { "wxShell", _wrap_wxShell, 1 },
-        { "wxNow", _wrap_wxNow, 1 },
-        { "wxIsBusy", _wrap_wxIsBusy, 1 },
-        { "wxGetMousePosition", _wrap_wxGetMousePosition, 1 },
-        { "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 },
-        { "wxBell", _wrap_wxBell, 1 },
-        { "wxBeginBusyCursor", _wrap_wxBeginBusyCursor, 1 },
-        { "RegisterId", _wrap_RegisterId, 1 },
-        { "NewId", _wrap_NewId, 1 },
-        { "wxSetCursor", _wrap_wxSetCursor, 1 },
-        { "wxDisplayDepth", _wrap_wxDisplayDepth, 1 },
-        { "wxColourDisplay", _wrap_wxColourDisplay, 1 },
-        { "wxMessageBox", _wrap_wxMessageBox, 1 },
-        { "wxGetSingleChoiceIndex", _wrap_wxGetSingleChoiceIndex, 1 },
-        { "wxGetSingleChoice", _wrap_wxGetSingleChoice, 1 },
-        { "wxGetTextFromUser", _wrap_wxGetTextFromUser, 1 },
-        { "wxFileSelector", _wrap_wxFileSelector, 1 },
+        { "delete_wxBusyInfo", (PyCFunction) _wrap_delete_wxBusyInfo, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxBusyInfo", (PyCFunction) _wrap_new_wxBusyInfo, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxAcceleratorTable", (PyCFunction) _wrap_delete_wxAcceleratorTable, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxAcceleratorTable", (PyCFunction) _wrap_new_wxAcceleratorTable, METH_VARARGS | METH_KEYWORDS },
+        { "wxAcceleratorEntry_GetCommand", (PyCFunction) _wrap_wxAcceleratorEntry_GetCommand, METH_VARARGS | METH_KEYWORDS },
+        { "wxAcceleratorEntry_GetKeyCode", (PyCFunction) _wrap_wxAcceleratorEntry_GetKeyCode, METH_VARARGS | METH_KEYWORDS },
+        { "wxAcceleratorEntry_GetFlags", (PyCFunction) _wrap_wxAcceleratorEntry_GetFlags, METH_VARARGS | METH_KEYWORDS },
+        { "wxAcceleratorEntry_Set", (PyCFunction) _wrap_wxAcceleratorEntry_Set, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxAcceleratorEntry", (PyCFunction) _wrap_delete_wxAcceleratorEntry, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxAcceleratorEntry", (PyCFunction) _wrap_new_wxAcceleratorEntry, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegionIterator_Next", (PyCFunction) _wrap_wxRegionIterator_Next, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegionIterator_Reset", (PyCFunction) _wrap_wxRegionIterator_Reset, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegionIterator_HaveRects", (PyCFunction) _wrap_wxRegionIterator_HaveRects, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegionIterator_GetRect", (PyCFunction) _wrap_wxRegionIterator_GetRect, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegionIterator_GetHeight", (PyCFunction) _wrap_wxRegionIterator_GetHeight, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegionIterator_GetH", (PyCFunction) _wrap_wxRegionIterator_GetH, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegionIterator_GetWidth", (PyCFunction) _wrap_wxRegionIterator_GetWidth, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegionIterator_GetW", (PyCFunction) _wrap_wxRegionIterator_GetW, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegionIterator_GetY", (PyCFunction) _wrap_wxRegionIterator_GetY, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegionIterator_GetX", (PyCFunction) _wrap_wxRegionIterator_GetX, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxRegionIterator", (PyCFunction) _wrap_delete_wxRegionIterator, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxRegionIterator", (PyCFunction) _wrap_new_wxRegionIterator, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegion_Xor", (PyCFunction) _wrap_wxRegion_Xor, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegion_Union", (PyCFunction) _wrap_wxRegion_Union, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegion_Subtract", (PyCFunction) _wrap_wxRegion_Subtract, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegion_IsEmpty", (PyCFunction) _wrap_wxRegion_IsEmpty, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegion_Intersect", (PyCFunction) _wrap_wxRegion_Intersect, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegion_GetBox", (PyCFunction) _wrap_wxRegion_GetBox, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegion_ContainsRect", (PyCFunction) _wrap_wxRegion_ContainsRect, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegion_ContainsPoint", (PyCFunction) _wrap_wxRegion_ContainsPoint, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegion_Contains", (PyCFunction) _wrap_wxRegion_Contains, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegion_Clear", (PyCFunction) _wrap_wxRegion_Clear, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxRegion", (PyCFunction) _wrap_delete_wxRegion, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxRegion", (PyCFunction) _wrap_new_wxRegion, METH_VARARGS | METH_KEYWORDS },
+        { "wxLayoutConstraints_width_get", (PyCFunction) _wrap_wxLayoutConstraints_width_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxLayoutConstraints_top_get", (PyCFunction) _wrap_wxLayoutConstraints_top_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxLayoutConstraints_right_get", (PyCFunction) _wrap_wxLayoutConstraints_right_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxLayoutConstraints_left_get", (PyCFunction) _wrap_wxLayoutConstraints_left_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxLayoutConstraints_height_get", (PyCFunction) _wrap_wxLayoutConstraints_height_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxLayoutConstraints_centreY_get", (PyCFunction) _wrap_wxLayoutConstraints_centreY_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxLayoutConstraints_centreX_get", (PyCFunction) _wrap_wxLayoutConstraints_centreX_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxLayoutConstraints_bottom_get", (PyCFunction) _wrap_wxLayoutConstraints_bottom_get, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxLayoutConstraints", (PyCFunction) _wrap_new_wxLayoutConstraints, METH_VARARGS | METH_KEYWORDS },
+        { "wxIndividualLayoutConstraint_Set", (PyCFunction) _wrap_wxIndividualLayoutConstraint_Set, METH_VARARGS | METH_KEYWORDS },
+        { "wxIndividualLayoutConstraint_SameAs", (PyCFunction) _wrap_wxIndividualLayoutConstraint_SameAs, METH_VARARGS | METH_KEYWORDS },
+        { "wxIndividualLayoutConstraint_RightOf", (PyCFunction) _wrap_wxIndividualLayoutConstraint_RightOf, METH_VARARGS | METH_KEYWORDS },
+        { "wxIndividualLayoutConstraint_PercentOf", (PyCFunction) _wrap_wxIndividualLayoutConstraint_PercentOf, METH_VARARGS | METH_KEYWORDS },
+        { "wxIndividualLayoutConstraint_LeftOf", (PyCFunction) _wrap_wxIndividualLayoutConstraint_LeftOf, METH_VARARGS | METH_KEYWORDS },
+        { "wxIndividualLayoutConstraint_Unconstrained", (PyCFunction) _wrap_wxIndividualLayoutConstraint_Unconstrained, METH_VARARGS | METH_KEYWORDS },
+        { "wxIndividualLayoutConstraint_Below", (PyCFunction) _wrap_wxIndividualLayoutConstraint_Below, METH_VARARGS | METH_KEYWORDS },
+        { "wxIndividualLayoutConstraint_AsIs", (PyCFunction) _wrap_wxIndividualLayoutConstraint_AsIs, METH_VARARGS | METH_KEYWORDS },
+        { "wxIndividualLayoutConstraint_Absolute", (PyCFunction) _wrap_wxIndividualLayoutConstraint_Absolute, METH_VARARGS | METH_KEYWORDS },
+        { "wxIndividualLayoutConstraint_Above", (PyCFunction) _wrap_wxIndividualLayoutConstraint_Above, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTimer_Stop", (PyCFunction) _wrap_wxPyTimer_Stop, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTimer_Start", (PyCFunction) _wrap_wxPyTimer_Start, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTimer_IsOneShot", (PyCFunction) _wrap_wxPyTimer_IsOneShot, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTimer_GetInterval", (PyCFunction) _wrap_wxPyTimer_GetInterval, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxPyTimer", (PyCFunction) _wrap_delete_wxPyTimer, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPyTimer", (PyCFunction) _wrap_new_wxPyTimer, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_asTuple", (PyCFunction) _wrap_wxRect_asTuple, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_height_get", (PyCFunction) _wrap_wxRect_height_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_height_set", (PyCFunction) _wrap_wxRect_height_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_width_get", (PyCFunction) _wrap_wxRect_width_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_width_set", (PyCFunction) _wrap_wxRect_width_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_y_get", (PyCFunction) _wrap_wxRect_y_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_y_set", (PyCFunction) _wrap_wxRect_y_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_x_get", (PyCFunction) _wrap_wxRect_x_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_x_set", (PyCFunction) _wrap_wxRect_x_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_GetRight", (PyCFunction) _wrap_wxRect_GetRight, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_GetBottom", (PyCFunction) _wrap_wxRect_GetBottom, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_GetTop", (PyCFunction) _wrap_wxRect_GetTop, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_GetLeft", (PyCFunction) _wrap_wxRect_GetLeft, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_GetSize", (PyCFunction) _wrap_wxRect_GetSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_GetPosition", (PyCFunction) _wrap_wxRect_GetPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_SetHeight", (PyCFunction) _wrap_wxRect_SetHeight, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_GetHeight", (PyCFunction) _wrap_wxRect_GetHeight, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_SetWidth", (PyCFunction) _wrap_wxRect_SetWidth, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_GetWidth", (PyCFunction) _wrap_wxRect_GetWidth, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_SetY", (PyCFunction) _wrap_wxRect_SetY, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_GetY", (PyCFunction) _wrap_wxRect_GetY, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_SetX", (PyCFunction) _wrap_wxRect_SetX, METH_VARARGS | METH_KEYWORDS },
+        { "wxRect_GetX", (PyCFunction) _wrap_wxRect_GetX, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxRect", (PyCFunction) _wrap_delete_wxRect, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxRect", (PyCFunction) _wrap_new_wxRect, METH_VARARGS | METH_KEYWORDS },
+        { "wxPoint_asTuple", (PyCFunction) _wrap_wxPoint_asTuple, METH_VARARGS | METH_KEYWORDS },
+        { "wxPoint_Set", (PyCFunction) _wrap_wxPoint_Set, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxPoint", (PyCFunction) _wrap_delete_wxPoint, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPoint", (PyCFunction) _wrap_new_wxPoint, METH_VARARGS | METH_KEYWORDS },
+        { "wxPoint_y_get", (PyCFunction) _wrap_wxPoint_y_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxPoint_y_set", (PyCFunction) _wrap_wxPoint_y_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxPoint_x_get", (PyCFunction) _wrap_wxPoint_x_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxPoint_x_set", (PyCFunction) _wrap_wxPoint_x_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxRealPoint_asTuple", (PyCFunction) _wrap_wxRealPoint_asTuple, METH_VARARGS | METH_KEYWORDS },
+        { "wxRealPoint_Set", (PyCFunction) _wrap_wxRealPoint_Set, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxRealPoint", (PyCFunction) _wrap_delete_wxRealPoint, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxRealPoint", (PyCFunction) _wrap_new_wxRealPoint, METH_VARARGS | METH_KEYWORDS },
+        { "wxRealPoint_y_get", (PyCFunction) _wrap_wxRealPoint_y_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxRealPoint_y_set", (PyCFunction) _wrap_wxRealPoint_y_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxRealPoint_x_get", (PyCFunction) _wrap_wxRealPoint_x_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxRealPoint_x_set", (PyCFunction) _wrap_wxRealPoint_x_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_asTuple", (PyCFunction) _wrap_wxSize_asTuple, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_SetHeight", (PyCFunction) _wrap_wxSize_SetHeight, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_SetWidth", (PyCFunction) _wrap_wxSize_SetWidth, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_GetHeight", (PyCFunction) _wrap_wxSize_GetHeight, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_GetWidth", (PyCFunction) _wrap_wxSize_GetWidth, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_GetY", (PyCFunction) _wrap_wxSize_GetY, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_GetX", (PyCFunction) _wrap_wxSize_GetX, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_Set", (PyCFunction) _wrap_wxSize_Set, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxSize", (PyCFunction) _wrap_delete_wxSize, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxSize", (PyCFunction) _wrap_new_wxSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_height_get", (PyCFunction) _wrap_wxSize_y_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_height_set", (PyCFunction) _wrap_wxSize_y_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_width_get", (PyCFunction) _wrap_wxSize_x_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_width_set", (PyCFunction) _wrap_wxSize_x_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_y_get", (PyCFunction) _wrap_wxSize_y_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_y_set", (PyCFunction) _wrap_wxSize_y_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_x_get", (PyCFunction) _wrap_wxSize_x_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxSize_x_set", (PyCFunction) _wrap_wxSize_x_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxStripMenuCodes", (PyCFunction) _wrap_wxStripMenuCodes, METH_VARARGS | METH_KEYWORDS },
+        { "wxGetResource", (PyCFunction) _wrap_wxGetResource, METH_VARARGS | METH_KEYWORDS },
+        { "wxEnableTopLevelWindows", (PyCFunction) _wrap_wxEnableTopLevelWindows, METH_VARARGS | METH_KEYWORDS },
+        { "wxSafeYield", (PyCFunction) _wrap_wxSafeYield, METH_VARARGS | METH_KEYWORDS },
+        { "wxYield", (PyCFunction) _wrap_wxYield, METH_VARARGS | METH_KEYWORDS },
+        { "wxSleep", (PyCFunction) _wrap_wxSleep, METH_VARARGS | METH_KEYWORDS },
+        { "wxGetOsVersion", (PyCFunction) _wrap_wxGetOsVersion, METH_VARARGS | METH_KEYWORDS },
+        { "wxStartTimer", (PyCFunction) _wrap_wxStartTimer, METH_VARARGS | METH_KEYWORDS },
+        { "wxShell", (PyCFunction) _wrap_wxShell, METH_VARARGS | METH_KEYWORDS },
+        { "wxNow", (PyCFunction) _wrap_wxNow, METH_VARARGS | METH_KEYWORDS },
+        { "wxIsBusy", (PyCFunction) _wrap_wxIsBusy, METH_VARARGS | METH_KEYWORDS },
+        { "wxGetMousePosition", (PyCFunction) _wrap_wxGetMousePosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxGetFreeMemory", (PyCFunction) _wrap_wxGetFreeMemory, METH_VARARGS | METH_KEYWORDS },
+        { "wxGetElapsedTime", (PyCFunction) _wrap_wxGetElapsedTime, METH_VARARGS | METH_KEYWORDS },
+        { "wxExecute", (PyCFunction) _wrap_wxExecute, METH_VARARGS | METH_KEYWORDS },
+        { "wxEndBusyCursor", (PyCFunction) _wrap_wxEndBusyCursor, METH_VARARGS | METH_KEYWORDS },
+        { "wxDisplaySize", (PyCFunction) _wrap_wxDisplaySize, METH_VARARGS | METH_KEYWORDS },
+        { "wxBell", (PyCFunction) _wrap_wxBell, METH_VARARGS | METH_KEYWORDS },
+        { "RegisterId", (PyCFunction) _wrap_RegisterId, METH_VARARGS | METH_KEYWORDS },
+        { "NewId", (PyCFunction) _wrap_NewId, METH_VARARGS | METH_KEYWORDS },
+        { "wxRegisterId", (PyCFunction) _wrap_wxRegisterId, METH_VARARGS | METH_KEYWORDS },
+        { "wxNewId", (PyCFunction) _wrap_wxNewId, METH_VARARGS | METH_KEYWORDS },
         { NULL, NULL }
 };
+#ifdef __cplusplus
+}
+#endif
+/*
+ * This table is used by the pointer type-checker
+ */
+static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
+    { "_wxAcceleratorTable","_class_wxAcceleratorTable",0},
+    { "_signed_long","_long",0},
+    { "_wxPrintQuality","_wxCoord",0},
+    { "_wxPrintQuality","_int",0},
+    { "_wxPrintQuality","_signed_int",0},
+    { "_wxPrintQuality","_unsigned_int",0},
+    { "_wxPrintQuality","_wxWindowID",0},
+    { "_wxPrintQuality","_uint",0},
+    { "_wxPrintQuality","_EBool",0},
+    { "_wxPrintQuality","_size_t",0},
+    { "_class_wxRegionIterator","_wxRegionIterator",0},
+    { "_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0},
+    { "_byte","_unsigned_char",0},
+    { "_long","_unsigned_long",0},
+    { "_long","_signed_long",0},
+    { "_class_wxAcceleratorTable","_wxAcceleratorTable",0},
+    { "_size_t","_wxCoord",0},
+    { "_size_t","_wxPrintQuality",0},
+    { "_size_t","_unsigned_int",0},
+    { "_size_t","_int",0},
+    { "_size_t","_wxWindowID",0},
+    { "_size_t","_uint",0},
+    { "_class_wxRealPoint","_wxRealPoint",0},
+    { "_uint","_wxCoord",0},
+    { "_uint","_wxPrintQuality",0},
+    { "_uint","_size_t",0},
+    { "_uint","_unsigned_int",0},
+    { "_uint","_int",0},
+    { "_uint","_wxWindowID",0},
+    { "_wxRect","_class_wxRect",0},
+    { "_wxPoint","_class_wxPoint",0},
+    { "_wxPyTimer","_class_wxPyTimer",0},
+    { "_class_wxIndividualLayoutConstraint","_wxIndividualLayoutConstraint",0},
+    { "_EBool","_wxCoord",0},
+    { "_EBool","_wxPrintQuality",0},
+    { "_EBool","_signed_int",0},
+    { "_EBool","_int",0},
+    { "_EBool","_wxWindowID",0},
+    { "_class_wxRegion","_wxRegion",0},
+    { "_unsigned_long","_long",0},
+    { "_class_wxRect","_wxRect",0},
+    { "_class_wxPyTimer","_wxPyTimer",0},
+    { "_wxAcceleratorEntry","_class_wxAcceleratorEntry",0},
+    { "_signed_int","_wxCoord",0},
+    { "_signed_int","_wxPrintQuality",0},
+    { "_signed_int","_EBool",0},
+    { "_signed_int","_wxWindowID",0},
+    { "_signed_int","_int",0},
+    { "_wxLayoutConstraints","_class_wxLayoutConstraints",0},
+    { "_WXTYPE","_short",0},
+    { "_WXTYPE","_signed_short",0},
+    { "_WXTYPE","_unsigned_short",0},
+    { "_unsigned_short","_WXTYPE",0},
+    { "_unsigned_short","_short",0},
+    { "_wxBusyInfo","_class_wxBusyInfo",0},
+    { "_class_wxPoint","_wxPoint",0},
+    { "_wxRealPoint","_class_wxRealPoint",0},
+    { "_signed_short","_WXTYPE",0},
+    { "_signed_short","_short",0},
+    { "_class_wxAcceleratorEntry","_wxAcceleratorEntry",0},
+    { "_unsigned_char","_byte",0},
+    { "_unsigned_int","_wxCoord",0},
+    { "_unsigned_int","_wxPrintQuality",0},
+    { "_unsigned_int","_size_t",0},
+    { "_unsigned_int","_uint",0},
+    { "_unsigned_int","_wxWindowID",0},
+    { "_unsigned_int","_int",0},
+    { "_short","_WXTYPE",0},
+    { "_short","_unsigned_short",0},
+    { "_short","_signed_short",0},
+    { "_wxWindowID","_wxCoord",0},
+    { "_wxWindowID","_wxPrintQuality",0},
+    { "_wxWindowID","_size_t",0},
+    { "_wxWindowID","_EBool",0},
+    { "_wxWindowID","_uint",0},
+    { "_wxWindowID","_int",0},
+    { "_wxWindowID","_signed_int",0},
+    { "_wxWindowID","_unsigned_int",0},
+    { "_int","_wxCoord",0},
+    { "_int","_wxPrintQuality",0},
+    { "_int","_size_t",0},
+    { "_int","_EBool",0},
+    { "_int","_uint",0},
+    { "_int","_wxWindowID",0},
+    { "_int","_unsigned_int",0},
+    { "_int","_signed_int",0},
+    { "_wxSize","_class_wxSize",0},
+    { "_wxRegionIterator","_class_wxRegionIterator",0},
+    { "_class_wxLayoutConstraints","_wxLayoutConstraints",0},
+    { "_wxCoord","_int",0},
+    { "_wxCoord","_signed_int",0},
+    { "_wxCoord","_unsigned_int",0},
+    { "_wxCoord","_wxWindowID",0},
+    { "_wxCoord","_uint",0},
+    { "_wxCoord","_EBool",0},
+    { "_wxCoord","_size_t",0},
+    { "_wxCoord","_wxPrintQuality",0},
+    { "_wxRegion","_class_wxRegion",0},
+    { "_class_wxBusyInfo","_wxBusyInfo",0},
+    { "_class_wxSize","_wxSize",0},
+{0,0,0}};
+
 static PyObject *SWIG_globals;
 #ifdef __cplusplus
 extern "C" 
 #endif
-SWIGEXPORT(void,initmiscc)() {
+SWIGEXPORT(void) initmiscc() {
         PyObject *m, *d;
         SWIG_globals = SWIG_newvarlink();
         m = Py_InitModule("miscc", misccMethods);
@@ -3483,68 +4218,9 @@ SWIGEXPORT(void,initmiscc)() {
         PyDict_SetItemString(d,"wxOutRegion", PyInt_FromLong((long) wxOutRegion));
         PyDict_SetItemString(d,"wxPartRegion", PyInt_FromLong((long) wxPartRegion));
         PyDict_SetItemString(d,"wxInRegion", PyInt_FromLong((long) wxInRegion));
-/*
- * These are the pointer type-equivalency mappings. 
- * (Used by the SWIG pointer type-checker).
- */
-        SWIG_RegisterMapping("_wxAcceleratorTable","_class_wxAcceleratorTable",0);
-        SWIG_RegisterMapping("_signed_long","_long",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("_class_wxRealPoint","_wxRealPoint",0);
-        SWIG_RegisterMapping("_uint","_unsigned_int",0);
-        SWIG_RegisterMapping("_uint","_int",0);
-        SWIG_RegisterMapping("_uint","_wxWindowID",0);
-        SWIG_RegisterMapping("_wxRect","_class_wxRect",0);
-        SWIG_RegisterMapping("_wxPoint","_class_wxPoint",0);
-        SWIG_RegisterMapping("_wxPyTimer","_class_wxPyTimer",0);
-        SWIG_RegisterMapping("_class_wxIndividualLayoutConstraint","_wxIndividualLayoutConstraint",0);
-        SWIG_RegisterMapping("_EBool","_signed_int",0);
-        SWIG_RegisterMapping("_EBool","_int",0);
-        SWIG_RegisterMapping("_EBool","_wxWindowID",0);
-        SWIG_RegisterMapping("_class_wxRegion","_wxRegion",0);
-        SWIG_RegisterMapping("_unsigned_long","_long",0);
-        SWIG_RegisterMapping("_class_wxRect","_wxRect",0);
-        SWIG_RegisterMapping("_class_wxPyTimer","_wxPyTimer",0);
-        SWIG_RegisterMapping("_wxAcceleratorEntry","_class_wxAcceleratorEntry",0);
-        SWIG_RegisterMapping("_signed_int","_EBool",0);
-        SWIG_RegisterMapping("_signed_int","_wxWindowID",0);
-        SWIG_RegisterMapping("_signed_int","_int",0);
-        SWIG_RegisterMapping("_wxLayoutConstraints","_class_wxLayoutConstraints",0);
-        SWIG_RegisterMapping("_WXTYPE","_short",0);
-        SWIG_RegisterMapping("_WXTYPE","_signed_short",0);
-        SWIG_RegisterMapping("_WXTYPE","_unsigned_short",0);
-        SWIG_RegisterMapping("_unsigned_short","_WXTYPE",0);
-        SWIG_RegisterMapping("_unsigned_short","_short",0);
-        SWIG_RegisterMapping("_class_wxPoint","_wxPoint",0);
-        SWIG_RegisterMapping("_wxRealPoint","_class_wxRealPoint",0);
-        SWIG_RegisterMapping("_signed_short","_WXTYPE",0);
-        SWIG_RegisterMapping("_signed_short","_short",0);
-        SWIG_RegisterMapping("_class_wxAcceleratorEntry","_wxAcceleratorEntry",0);
-        SWIG_RegisterMapping("_unsigned_char","_byte",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","_EBool",0);
-        SWIG_RegisterMapping("_wxWindowID","_uint",0);
-        SWIG_RegisterMapping("_wxWindowID","_int",0);
-        SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
-        SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
-        SWIG_RegisterMapping("_int","_EBool",0);
-        SWIG_RegisterMapping("_int","_uint",0);
-        SWIG_RegisterMapping("_int","_wxWindowID",0);
-        SWIG_RegisterMapping("_int","_unsigned_int",0);
-        SWIG_RegisterMapping("_int","_signed_int",0);
-        SWIG_RegisterMapping("_wxSize","_class_wxSize",0);
-        SWIG_RegisterMapping("_wxRegionIterator","_class_wxRegionIterator",0);
-        SWIG_RegisterMapping("_class_wxLayoutConstraints","_wxLayoutConstraints",0);
-        SWIG_RegisterMapping("_wxRegion","_class_wxRegion",0);
-        SWIG_RegisterMapping("_class_wxSize","_wxSize",0);
+{
+   int i;
+   for (i = 0; _swig_mapping[i].n1; i++)
+        SWIG_RegisterMapping(_swig_mapping[i].n1,_swig_mapping[i].n2,_swig_mapping[i].pcnv);
+}
 }