]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/events.cpp
Added Python wrappers for wxRTTI for the wxVScrolledWindow,
[wxWidgets.git] / wxPython / src / msw / events.cpp
index 47edfaf2deb7929aeaf3ff2c856d5f8e0bb35f0c..d62da54e610248d567645fceaf2793210f1b0d9e 100644 (file)
@@ -3,7 +3,7 @@
  * 
  * This file was automatically generated by :
  * Simplified Wrapper and Interface Generator (SWIG)
- * Version 1.1 (Build 810)
+ * Version 1.1 (Build 883)
  * 
  * Portions Copyright (c) 1995-1998
  * The University of Utah and The Regents of the University of California.
@@ -19,6 +19,8 @@
 /* Implementation : PYTHON */
 
 #define SWIGPYTHON
+#include "Python.h"
+
 #include <string.h>
 #include <stdlib.h>
 /* Definitions for Windows/Unix exporting */
@@ -36,8 +38,6 @@
 #   define SWIGEXPORT(a) a
 #endif
 
-#include "Python.h"
-
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -57,25 +57,6 @@ extern PyObject *SWIG_newvarlink(void);
 #include "helpers.h"
 #include <wx/spinbutt.h>
 
-static PyObject* l_output_helper(PyObject* target, PyObject* o) {
-    PyObject*   o2;
-    if (!target) {
-        target = o;
-    } else if (target == Py_None) {
-        Py_DECREF(Py_None);
-        target = o;
-    } else {
-        if (!PyList_Check(target)) {
-            o2 = target;
-            target = PyList_New(0);
-            PyList_Append(target, o2);
-           Py_XDECREF(o2);
-        }
-        PyList_Append(target,o);
-       Py_XDECREF(o);
-    }
-    return target;
-}
 
 static PyObject* t_output_helper(PyObject* target, PyObject* o) {
     PyObject*   o2;
@@ -102,37 +83,35 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) {
     }
     return target;
 }
-
-static char* wxStringErrorMsg = "string type is required for parameter";
 #ifdef __cplusplus
 extern "C" {
 #endif
-#define new_wxEvent(_swigarg0) (new wxEvent(_swigarg0))
-static PyObject *_wrap_new_wxEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_wxNewEventType(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxEvent * _result;
-    int  _arg0 = (int ) 0;
-    char *_kwnames[] = { "id", NULL };
-    char _ptemp[128];
+    int  _result;
+    char *_kwnames[] = {  NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxEvent",_kwnames,&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxNewEventType",_kwnames)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxEvent *)new_wxEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxNewEventType();
 
-    wxPy_END_ALLOW_THREADS;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxEvent_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
+static void *SwigwxEventTowxObject(void *ptr) {
+    wxEvent *src;
+    wxObject *dest;
+    src = (wxEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define delete_wxEvent(_swigobj) (delete _swigobj)
 static PyObject *_wrap_delete_wxEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -151,10 +130,11 @@ static PyObject *_wrap_delete_wxEvent(PyObject *self, PyObject *args, PyObject *
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        delete_wxEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    delete_wxEvent(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -167,7 +147,6 @@ static PyObject *_wrap_wxEvent_GetEventObject(PyObject *self, PyObject *args, Py
     wxEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
-    char _ptemp[128];
 
     self = self;
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxEvent_GetEventObject",_kwnames,&_argo0)) 
@@ -180,17 +159,12 @@ static PyObject *_wrap_wxEvent_GetEventObject(PyObject *self, PyObject *args, Py
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxObject *)wxEvent_GetEventObject(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxObject *)wxEvent_GetEventObject(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxObject_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
     return _resultobj;
 }
 
@@ -213,10 +187,11 @@ static PyObject *_wrap_wxEvent_GetEventType(PyObject *self, PyObject *args, PyOb
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxEventType )wxEvent_GetEventType(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxEventType )wxEvent_GetEventType(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -240,37 +215,11 @@ static PyObject *_wrap_wxEvent_GetId(PyObject *self, PyObject *args, PyObject *k
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxEvent_GetId(_arg0);
-
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
-
-#define wxEvent_GetSkipped(_swigobj)  (_swigobj->GetSkipped())
-static PyObject *_wrap_wxEvent_GetSkipped(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    bool  _result;
-    wxEvent * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxEvent_GetSkipped",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxEvent_GetSkipped. Expected _wxEvent_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxEvent_GetSkipped(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxEvent_GetId(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -294,10 +243,11 @@ static PyObject *_wrap_wxEvent_GetTimestamp(PyObject *self, PyObject *args, PyOb
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxEvent_GetTimestamp(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxEvent_GetTimestamp(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
@@ -329,10 +279,11 @@ static PyObject *_wrap_wxEvent_SetEventObject(PyObject *self, PyObject *args, Py
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxEvent_SetEventObject(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxEvent_SetEventObject(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -357,10 +308,11 @@ static PyObject *_wrap_wxEvent_SetEventType(PyObject *self, PyObject *args, PyOb
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxEvent_SetEventType(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxEvent_SetEventType(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -385,10 +337,11 @@ static PyObject *_wrap_wxEvent_SetId(PyObject *self, PyObject *args, PyObject *k
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxEvent_SetId(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxEvent_SetId(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -413,15 +366,44 @@ static PyObject *_wrap_wxEvent_SetTimestamp(PyObject *self, PyObject *args, PyOb
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxEvent_SetTimestamp(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxEvent_SetTimestamp(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
+#define wxEvent_IsCommandEvent(_swigobj)  (_swigobj->IsCommandEvent())
+static PyObject *_wrap_wxEvent_IsCommandEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxEvent_IsCommandEvent",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxEvent_IsCommandEvent. Expected _wxEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxEvent_IsCommandEvent(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
 #define wxEvent_Skip(_swigobj,_swigarg0)  (_swigobj->Skip(_swigarg0))
 static PyObject *_wrap_wxEvent_Skip(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -443,319 +425,331 @@ static PyObject *_wrap_wxEvent_Skip(PyObject *self, PyObject *args, PyObject *kw
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxEvent_Skip(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxEvent_Skip(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
-static void *SwigwxSizeEventTowxEvent(void *ptr) {
-    wxSizeEvent *src;
-    wxEvent *dest;
-    src = (wxSizeEvent *) ptr;
-    dest = (wxEvent *) src;
-    return (void *) dest;
-}
-
-#define new_wxSizeEvent(_swigarg0,_swigarg1) (new wxSizeEvent(_swigarg0,_swigarg1))
-static PyObject *_wrap_new_wxSizeEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxEvent_GetSkipped(_swigobj)  (_swigobj->GetSkipped())
+static PyObject *_wrap_wxEvent_GetSkipped(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxSizeEvent * _result;
-    wxSize * _arg0;
-    int  _arg1 = (int ) 0;
-    wxSize  temp;
-    PyObject * _obj0 = 0;
-    char *_kwnames[] = { "sz","id", NULL };
-    char _ptemp[128];
+    bool  _result;
+    wxEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:new_wxSizeEvent",_kwnames,&_obj0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxEvent_GetSkipped",_kwnames,&_argo0)) 
         return NULL;
-{
-    _arg0 = &temp;
-    if (! wxSize_helper(_obj0, &_arg0))
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxEvent_GetSkipped. Expected _wxEvent_p.");
         return NULL;
-}
+        }
+    }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxSizeEvent *)new_wxSizeEvent(*_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxEvent_GetSkipped(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxSizeEvent_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxSizeEvent_GetSize(_swigobj)  (_swigobj->GetSize())
-static PyObject *_wrap_wxSizeEvent_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxEvent_ShouldPropagate(_swigobj)  (_swigobj->ShouldPropagate())
+static PyObject *_wrap_wxEvent_ShouldPropagate(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxSize * _result;
-    wxSizeEvent * _arg0;
+    bool  _result;
+    wxEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
-    char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSizeEvent_GetSize",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxEvent_ShouldPropagate",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizeEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizeEvent_GetSize. Expected _wxSizeEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxEvent_ShouldPropagate. Expected _wxEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = new wxSize (wxSizeEvent_GetSize(_arg0));
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxEvent_ShouldPropagate(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-static void *SwigwxCloseEventTowxEvent(void *ptr) {
-    wxCloseEvent *src;
-    wxEvent *dest;
-    src = (wxCloseEvent *) ptr;
-    dest = (wxEvent *) src;
-    return (void *) dest;
-}
-
-#define new_wxCloseEvent(_swigarg0,_swigarg1) (new wxCloseEvent(_swigarg0,_swigarg1))
-static PyObject *_wrap_new_wxCloseEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxEvent_StopPropagation(_swigobj)  (_swigobj->StopPropagation())
+static PyObject *_wrap_wxEvent_StopPropagation(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxCloseEvent * _result;
-    int  _arg0 = (int ) 0;
-    int  _arg1 = (int ) 0;
-    char *_kwnames[] = { "commandEventType","id", NULL };
-    char _ptemp[128];
+    int  _result;
+    wxEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxCloseEvent",_kwnames,&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxEvent_StopPropagation",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxEvent_StopPropagation. Expected _wxEvent_p.");
         return NULL;
+        }
+    }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxCloseEvent *)new_wxCloseEvent(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxEvent_StopPropagation(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCloseEvent_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxCloseEvent_SetLoggingOff(_swigobj,_swigarg0)  (_swigobj->SetLoggingOff(_swigarg0))
-static PyObject *_wrap_wxCloseEvent_SetLoggingOff(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxEvent_ResumePropagation(_swigobj,_swigarg0)  (_swigobj->ResumePropagation(_swigarg0))
+static PyObject *_wrap_wxEvent_ResumePropagation(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxCloseEvent * _arg0;
-    bool  _arg1;
+    wxEvent * _arg0;
+    int  _arg1;
     PyObject * _argo0 = 0;
-    int tempbool1;
-    char *_kwnames[] = { "self","loggingOff", NULL };
+    char *_kwnames[] = { "self","propagationLevel", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxCloseEvent_SetLoggingOff",_kwnames,&_argo0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxEvent_ResumePropagation",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCloseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCloseEvent_SetLoggingOff. Expected _wxCloseEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxEvent_ResumePropagation. Expected _wxEvent_p.");
         return NULL;
         }
     }
-    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxCloseEvent_SetLoggingOff(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxEvent_ResumePropagation(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
-#define wxCloseEvent_GetLoggingOff(_swigobj)  (_swigobj->GetLoggingOff())
-static PyObject *_wrap_wxCloseEvent_GetLoggingOff(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxEvent_Clone(_swigobj)  (_swigobj->Clone())
+static PyObject *_wrap_wxEvent_Clone(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
-    wxCloseEvent * _arg0;
+    wxEvent * _result;
+    wxEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCloseEvent_GetLoggingOff",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxEvent_Clone",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCloseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCloseEvent_GetLoggingOff. Expected _wxCloseEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxEvent_Clone. Expected _wxEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxCloseEvent_GetLoggingOff(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxEvent *)wxEvent_Clone(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
-#define wxCloseEvent_Veto(_swigobj,_swigarg0)  (_swigobj->Veto(_swigarg0))
-static PyObject *_wrap_wxCloseEvent_Veto(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define new_wxPropagationDisabler(_swigarg0) (new wxPropagationDisabler(_swigarg0))
+static PyObject *_wrap_new_wxPropagationDisabler(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxCloseEvent * _arg0;
-    bool  _arg1 = (bool ) TRUE;
+    wxPropagationDisabler * _result;
+    wxEvent * _arg0;
     PyObject * _argo0 = 0;
-    int tempbool1 = (int) TRUE;
-    char *_kwnames[] = { "self","veto", NULL };
+    char *_kwnames[] = { "event", NULL };
+    char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxCloseEvent_Veto",_kwnames,&_argo0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxPropagationDisabler",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCloseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCloseEvent_Veto. Expected _wxCloseEvent_p.");
+        if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPropagationDisabler. Expected _wxEvent_p.");
         return NULL;
         }
     }
-    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxCloseEvent_Veto(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPropagationDisabler *)new_wxPropagationDisabler(*_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    Py_INCREF(Py_None);
-    _resultobj = Py_None;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPropagationDisabler_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
-#define wxCloseEvent_CanVeto(_swigobj)  (_swigobj->CanVeto())
-static PyObject *_wrap_wxCloseEvent_CanVeto(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define delete_wxPropagationDisabler(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxPropagationDisabler(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
-    wxCloseEvent * _arg0;
+    wxPropagationDisabler * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCloseEvent_CanVeto",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxPropagationDisabler",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCloseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCloseEvent_CanVeto. Expected _wxCloseEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPropagationDisabler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxPropagationDisabler. Expected _wxPropagationDisabler_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxCloseEvent_CanVeto(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    delete_wxPropagationDisabler(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
-#define wxCloseEvent_GetVeto(_swigobj)  (_swigobj->GetVeto())
-static PyObject *_wrap_wxCloseEvent_GetVeto(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define new_wxPropagateOnce(_swigarg0) (new wxPropagateOnce(_swigarg0))
+static PyObject *_wrap_new_wxPropagateOnce(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
-    wxCloseEvent * _arg0;
+    wxPropagateOnce * _result;
+    wxEvent * _arg0;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
+    char *_kwnames[] = { "event", NULL };
+    char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCloseEvent_GetVeto",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxPropagateOnce",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCloseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCloseEvent_GetVeto. Expected _wxCloseEvent_p.");
+        if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPropagateOnce. Expected _wxEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxCloseEvent_GetVeto(_arg0);
-
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPropagateOnce *)new_wxPropagateOnce(*_arg0);
 
-#define wxCloseEvent_SetCanVeto(_swigobj,_swigarg0)  (_swigobj->SetCanVeto(_swigarg0))
-static PyObject *_wrap_wxCloseEvent_SetCanVeto(PyObject *self, PyObject *args, PyObject *kwargs) {
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPropagateOnce_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define delete_wxPropagateOnce(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxPropagateOnce(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxCloseEvent * _arg0;
-    bool  _arg1;
+    wxPropagateOnce * _arg0;
     PyObject * _argo0 = 0;
-    int tempbool1;
-    char *_kwnames[] = { "self","canVeto", NULL };
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxCloseEvent_SetCanVeto",_kwnames,&_argo0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxPropagateOnce",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCloseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCloseEvent_SetCanVeto. Expected _wxCloseEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPropagateOnce_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxPropagateOnce. Expected _wxPropagateOnce_p.");
         return NULL;
         }
     }
-    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxCloseEvent_SetCanVeto(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    delete_wxPropagateOnce(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
-static void *SwigwxCommandEventTowxEvent(void *ptr) {
-    wxCommandEvent *src;
+static void *SwigwxSizeEventTowxEvent(void *ptr) {
+    wxSizeEvent *src;
     wxEvent *dest;
-    src = (wxCommandEvent *) ptr;
+    src = (wxSizeEvent *) ptr;
     dest = (wxEvent *) src;
     return (void *) dest;
 }
 
-#define new_wxCommandEvent(_swigarg0,_swigarg1) (new wxCommandEvent(_swigarg0,_swigarg1))
-static PyObject *_wrap_new_wxCommandEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+static void *SwigwxSizeEventTowxObject(void *ptr) {
+    wxSizeEvent *src;
+    wxObject *dest;
+    src = (wxSizeEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxSizeEvent(_swigarg0,_swigarg1) (new wxSizeEvent(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxSizeEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxCommandEvent * _result;
-    int  _arg0 = (int ) 0;
+    wxSizeEvent * _result;
+    wxSize * _arg0;
     int  _arg1 = (int ) 0;
-    char *_kwnames[] = { "commandEventType","id", NULL };
+    wxSize  temp;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "sz","id", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxCommandEvent",_kwnames,&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:new_wxSizeEvent",_kwnames,&_obj0,&_arg1)) 
+        return NULL;
+{
+    _arg0 = &temp;
+    if (! wxSize_helper(_obj0, &_arg0))
         return NULL;
+}
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxCommandEvent *)new_wxCommandEvent(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxSizeEvent *)new_wxSizeEvent(*_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCommandEvent_p");
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxSizeEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
     } else {
         Py_INCREF(Py_None);
@@ -764,306 +758,359 @@ static PyObject *_wrap_new_wxCommandEvent(PyObject *self, PyObject *args, PyObje
     return _resultobj;
 }
 
-#define wxCommandEvent_IsChecked(_swigobj)  (_swigobj->IsChecked())
-static PyObject *_wrap_wxCommandEvent_IsChecked(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxSizeEvent_GetSize(_swigobj)  (_swigobj->GetSize())
+static PyObject *_wrap_wxSizeEvent_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
-    wxCommandEvent * _arg0;
+    wxSize * _result;
+    wxSizeEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_IsChecked",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSizeEvent_GetSize",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_IsChecked. Expected _wxCommandEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizeEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizeEvent_GetSize. Expected _wxSizeEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxCommandEvent_IsChecked(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxSize (wxSizeEvent_GetSize(_arg0));
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
 
-#define wxCommandEvent_GetExtraLong(_swigobj)  (_swigobj->GetExtraLong())
-static PyObject *_wrap_wxCommandEvent_GetExtraLong(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxSizeEvent_GetRect(_swigobj)  (_swigobj->GetRect())
+static PyObject *_wrap_wxSizeEvent_GetRect(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    long  _result;
-    wxCommandEvent * _arg0;
+    wxRect * _result;
+    wxSizeEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_GetExtraLong",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSizeEvent_GetRect",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_GetExtraLong. Expected _wxCommandEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizeEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizeEvent_GetRect. Expected _wxSizeEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxCommandEvent_GetExtraLong(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxRect (wxSizeEvent_GetRect(_arg0));
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("l",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxRect_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
 
-#define wxCommandEvent_GetInt(_swigobj)  (_swigobj->GetInt())
-static PyObject *_wrap_wxCommandEvent_GetInt(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxSizeEvent_SetRect(_swigobj,_swigarg0)  (_swigobj->SetRect(_swigarg0))
+static PyObject *_wrap_wxSizeEvent_SetRect(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    int  _result;
-    wxCommandEvent * _arg0;
+    wxSizeEvent * _arg0;
+    wxRect * _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
+    wxRect  temp;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","rect", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_GetInt",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizeEvent_SetRect",_kwnames,&_argo0,&_obj1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_GetInt. Expected _wxCommandEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizeEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizeEvent_SetRect. Expected _wxSizeEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxCommandEvent_GetInt(_arg0);
+    _arg1 = &temp;
+    if (! wxRect_helper(_obj1, &_arg1))
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxSizeEvent_SetRect(_arg0,*_arg1);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
-#define wxCommandEvent_GetSelection(_swigobj)  (_swigobj->GetSelection())
-static PyObject *_wrap_wxCommandEvent_GetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
+static void *SwigwxCloseEventTowxEvent(void *ptr) {
+    wxCloseEvent *src;
+    wxEvent *dest;
+    src = (wxCloseEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxCloseEventTowxObject(void *ptr) {
+    wxCloseEvent *src;
+    wxObject *dest;
+    src = (wxCloseEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxCloseEvent(_swigarg0,_swigarg1) (new wxCloseEvent(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxCloseEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    int  _result;
-    wxCommandEvent * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
+    wxCloseEvent * _result;
+    int  _arg0 = (int ) 0;
+    int  _arg1 = (int ) 0;
+    char *_kwnames[] = { "commandEventType","id", NULL };
+    char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_GetSelection",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_GetSelection. Expected _wxCommandEvent_p.");
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxCloseEvent",_kwnames,&_arg0,&_arg1)) 
         return NULL;
-        }
-    }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxCommandEvent_GetSelection(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxCloseEvent *)new_wxCloseEvent(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCloseEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
-#define wxCommandEvent_GetString(_swigobj)  (_swigobj->GetString())
-static PyObject *_wrap_wxCommandEvent_GetString(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxCloseEvent_SetLoggingOff(_swigobj,_swigarg0)  (_swigobj->SetLoggingOff(_swigarg0))
+static PyObject *_wrap_wxCloseEvent_SetLoggingOff(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxString * _result;
-    wxCommandEvent * _arg0;
+    wxCloseEvent * _arg0;
+    bool  _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
+    int tempbool1;
+    char *_kwnames[] = { "self","loggingOff", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_GetString",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxCloseEvent_SetLoggingOff",_kwnames,&_argo0,&tempbool1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_GetString. Expected _wxCommandEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCloseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCloseEvent_SetLoggingOff. Expected _wxCloseEvent_p.");
         return NULL;
         }
     }
+    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = new wxString (wxCommandEvent_GetString(_arg0));
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxCloseEvent_SetLoggingOff(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
-}{
-    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
-}
-{
-    delete _result;
-}
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
-#define wxCommandEvent_IsSelection(_swigobj)  (_swigobj->IsSelection())
-static PyObject *_wrap_wxCommandEvent_IsSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxCloseEvent_GetLoggingOff(_swigobj)  (_swigobj->GetLoggingOff())
+static PyObject *_wrap_wxCloseEvent_GetLoggingOff(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
-    wxCommandEvent * _arg0;
+    wxCloseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_IsSelection",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCloseEvent_GetLoggingOff",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_IsSelection. Expected _wxCommandEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCloseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCloseEvent_GetLoggingOff. Expected _wxCloseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxCommandEvent_IsSelection(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxCloseEvent_GetLoggingOff(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxCommandEvent_SetString(_swigobj,_swigarg0)  (_swigobj->SetString(_swigarg0))
-static PyObject *_wrap_wxCommandEvent_SetString(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxCloseEvent_Veto(_swigobj,_swigarg0)  (_swigobj->Veto(_swigarg0))
+static PyObject *_wrap_wxCloseEvent_Veto(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxCommandEvent * _arg0;
-    wxString * _arg1;
+    wxCloseEvent * _arg0;
+    bool  _arg1 = (bool ) TRUE;
     PyObject * _argo0 = 0;
-    PyObject * _obj1 = 0;
-    char *_kwnames[] = { "self","s", NULL };
+    int tempbool1 = (int) TRUE;
+    char *_kwnames[] = { "self","veto", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxCommandEvent_SetString",_kwnames,&_argo0,&_obj1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxCloseEvent_Veto",_kwnames,&_argo0,&tempbool1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_SetString. Expected _wxCommandEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCloseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCloseEvent_Veto. Expected _wxCloseEvent_p.");
         return NULL;
         }
     }
+    _arg1 = (bool ) tempbool1;
 {
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
-}
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxCommandEvent_SetString(_arg0,*_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxCloseEvent_Veto(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
-{
-    if (_obj1)
-        delete _arg1;
-}
     return _resultobj;
 }
 
-#define wxCommandEvent_SetExtraLong(_swigobj,_swigarg0)  (_swigobj->SetExtraLong(_swigarg0))
-static PyObject *_wrap_wxCommandEvent_SetExtraLong(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxCloseEvent_CanVeto(_swigobj)  (_swigobj->CanVeto())
+static PyObject *_wrap_wxCloseEvent_CanVeto(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxCommandEvent * _arg0;
-    long  _arg1;
+    bool  _result;
+    wxCloseEvent * _arg0;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self","extraLong", NULL };
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxCommandEvent_SetExtraLong",_kwnames,&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCloseEvent_CanVeto",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_SetExtraLong. Expected _wxCommandEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCloseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCloseEvent_CanVeto. Expected _wxCloseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxCommandEvent_SetExtraLong(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxCloseEvent_CanVeto(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    Py_INCREF(Py_None);
-    _resultobj = Py_None;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxCommandEvent_SetInt(_swigobj,_swigarg0)  (_swigobj->SetInt(_swigarg0))
-static PyObject *_wrap_wxCommandEvent_SetInt(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxCloseEvent_GetVeto(_swigobj)  (_swigobj->GetVeto())
+static PyObject *_wrap_wxCloseEvent_GetVeto(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxCommandEvent * _arg0;
-    int  _arg1;
+    bool  _result;
+    wxCloseEvent * _arg0;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self","i", NULL };
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxCommandEvent_SetInt",_kwnames,&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCloseEvent_GetVeto",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_SetInt. Expected _wxCommandEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCloseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCloseEvent_GetVeto. Expected _wxCloseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxCommandEvent_SetInt(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxCloseEvent_GetVeto(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    Py_INCREF(Py_None);
-    _resultobj = Py_None;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-static void *SwigwxScrollEventTowxCommandEvent(void *ptr) {
-    wxScrollEvent *src;
-    wxCommandEvent *dest;
-    src = (wxScrollEvent *) ptr;
-    dest = (wxCommandEvent *) src;
-    return (void *) dest;
-}
-
-static void *SwigwxScrollEventTowxEvent(void *ptr) {
-    wxScrollEvent *src;
-    wxEvent *dest;
-    src = (wxScrollEvent *) ptr;
+#define wxCloseEvent_SetCanVeto(_swigobj,_swigarg0)  (_swigobj->SetCanVeto(_swigarg0))
+static PyObject *_wrap_wxCloseEvent_SetCanVeto(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxCloseEvent * _arg0;
+    bool  _arg1;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","canVeto", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxCloseEvent_SetCanVeto",_kwnames,&_argo0,&tempbool1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCloseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCloseEvent_SetCanVeto. Expected _wxCloseEvent_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxCloseEvent_SetCanVeto(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxCommandEventTowxEvent(void *ptr) {
+    wxCommandEvent *src;
+    wxEvent *dest;
+    src = (wxCommandEvent *) ptr;
     dest = (wxEvent *) src;
     return (void *) dest;
 }
 
-#define new_wxScrollEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxScrollEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
-static PyObject *_wrap_new_wxScrollEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+static void *SwigwxCommandEventTowxObject(void *ptr) {
+    wxCommandEvent *src;
+    wxObject *dest;
+    src = (wxCommandEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxCommandEvent(_swigarg0,_swigarg1) (new wxCommandEvent(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxCommandEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxScrollEvent * _result;
+    wxCommandEvent * _result;
     int  _arg0 = (int ) 0;
     int  _arg1 = (int ) 0;
-    int  _arg2 = (int ) 0;
-    int  _arg3 = (int ) 0;
-    char *_kwnames[] = { "commandType","id","pos","orientation", NULL };
+    char *_kwnames[] = { "commandEventType","id", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iiii:new_wxScrollEvent",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxCommandEvent",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxScrollEvent *)new_wxScrollEvent(_arg0,_arg1,_arg2,_arg3);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxCommandEvent *)new_wxCommandEvent(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxScrollEvent_p");
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCommandEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
     } else {
         Py_INCREF(Py_None);
@@ -1072,237 +1119,1032 @@ static PyObject *_wrap_new_wxScrollEvent(PyObject *self, PyObject *args, PyObjec
     return _resultobj;
 }
 
-#define wxScrollEvent_GetOrientation(_swigobj)  (_swigobj->GetOrientation())
-static PyObject *_wrap_wxScrollEvent_GetOrientation(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxCommandEvent_IsChecked(_swigobj)  (_swigobj->IsChecked())
+static PyObject *_wrap_wxCommandEvent_IsChecked(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    int  _result;
-    wxScrollEvent * _arg0;
+    bool  _result;
+    wxCommandEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScrollEvent_GetOrientation",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_IsChecked",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollEvent_GetOrientation. Expected _wxScrollEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_IsChecked. Expected _wxCommandEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxScrollEvent_GetOrientation(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxCommandEvent_IsChecked(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxScrollEvent_GetPosition(_swigobj)  (_swigobj->GetPosition())
-static PyObject *_wrap_wxScrollEvent_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxCommandEvent_GetExtraLong(_swigobj)  (_swigobj->GetExtraLong())
+static PyObject *_wrap_wxCommandEvent_GetExtraLong(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    int  _result;
-    wxScrollEvent * _arg0;
+    long  _result;
+    wxCommandEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScrollEvent_GetPosition",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_GetExtraLong",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollEvent_GetPosition. Expected _wxScrollEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_GetExtraLong. Expected _wxCommandEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxScrollEvent_GetPosition(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxCommandEvent_GetExtraLong(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-static void *SwigwxScrollWinEventTowxEvent(void *ptr) {
-    wxScrollWinEvent *src;
-    wxEvent *dest;
-    src = (wxScrollWinEvent *) ptr;
-    dest = (wxEvent *) src;
-    return (void *) dest;
-}
-
-#define new_wxScrollWinEvent(_swigarg0,_swigarg1,_swigarg2) (new wxScrollWinEvent(_swigarg0,_swigarg1,_swigarg2))
-static PyObject *_wrap_new_wxScrollWinEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxCommandEvent_GetInt(_swigobj)  (_swigobj->GetInt())
+static PyObject *_wrap_wxCommandEvent_GetInt(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxScrollWinEvent * _result;
-    int  _arg0 = (int ) 0;
-    int  _arg1 = (int ) 0;
-    int  _arg2 = (int ) 0;
-    char *_kwnames[] = { "commandType","pos","orientation", NULL };
-    char _ptemp[128];
+    int  _result;
+    wxCommandEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iii:new_wxScrollWinEvent",_kwnames,&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_GetInt",_kwnames,&_argo0)) 
         return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_GetInt. Expected _wxCommandEvent_p.");
+        return NULL;
+        }
+    }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxScrollWinEvent *)new_wxScrollWinEvent(_arg0,_arg1,_arg2);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxCommandEvent_GetInt(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxScrollWinEvent_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxScrollWinEvent_GetOrientation(_swigobj)  (_swigobj->GetOrientation())
-static PyObject *_wrap_wxScrollWinEvent_GetOrientation(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxCommandEvent_GetSelection(_swigobj)  (_swigobj->GetSelection())
+static PyObject *_wrap_wxCommandEvent_GetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
-    wxScrollWinEvent * _arg0;
+    wxCommandEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScrollWinEvent_GetOrientation",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_GetSelection",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollWinEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollWinEvent_GetOrientation. Expected _wxScrollWinEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_GetSelection. Expected _wxCommandEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxScrollWinEvent_GetOrientation(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxCommandEvent_GetSelection(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxScrollWinEvent_GetPosition(_swigobj)  (_swigobj->GetPosition())
-static PyObject *_wrap_wxScrollWinEvent_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxCommandEvent_GetString(_swigobj)  (_swigobj->GetString())
+static PyObject *_wrap_wxCommandEvent_GetString(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    int  _result;
-    wxScrollWinEvent * _arg0;
+    wxString * _result;
+    wxCommandEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScrollWinEvent_GetPosition",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_GetString",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollWinEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollWinEvent_GetPosition. Expected _wxScrollWinEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_GetString. Expected _wxCommandEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxCommandEvent_GetString(_arg0));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{
+#if wxUSE_UNICODE
+    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
+#else
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+#endif
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxCommandEvent_IsSelection(_swigobj)  (_swigobj->IsSelection())
+static PyObject *_wrap_wxCommandEvent_IsSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxCommandEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_IsSelection",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_IsSelection. Expected _wxCommandEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxScrollWinEvent_GetPosition(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxCommandEvent_IsSelection(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-static void *SwigwxSpinEventTowxScrollEvent(void *ptr) {
-    wxSpinEvent *src;
-    wxScrollEvent *dest;
-    src = (wxSpinEvent *) ptr;
-    dest = (wxScrollEvent *) src;
-    return (void *) dest;
+#define wxCommandEvent_SetString(_swigobj,_swigarg0)  (_swigobj->SetString(_swigarg0))
+static PyObject *_wrap_wxCommandEvent_SetString(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxCommandEvent * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","s", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxCommandEvent_SetString",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_SetString. Expected _wxCommandEvent_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
 }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxCommandEvent_SetString(_arg0,*_arg1);
 
-static void *SwigwxSpinEventTowxCommandEvent(void *ptr) {
-    wxSpinEvent *src;
-    wxCommandEvent *dest;
-    src = (wxSpinEvent *) ptr;
-    dest = (wxCommandEvent *) src;
-    return (void *) dest;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
 }
 
-static void *SwigwxSpinEventTowxEvent(void *ptr) {
-    wxSpinEvent *src;
-    wxEvent *dest;
-    src = (wxSpinEvent *) ptr;
-    dest = (wxEvent *) src;
-    return (void *) dest;
+#define wxCommandEvent_SetExtraLong(_swigobj,_swigarg0)  (_swigobj->SetExtraLong(_swigarg0))
+static PyObject *_wrap_wxCommandEvent_SetExtraLong(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxCommandEvent * _arg0;
+    long  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","extraLong", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxCommandEvent_SetExtraLong",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_SetExtraLong. Expected _wxCommandEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxCommandEvent_SetExtraLong(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
 }
 
-#define new_wxSpinEvent(_swigarg0,_swigarg1) (new wxSpinEvent(_swigarg0,_swigarg1))
-static PyObject *_wrap_new_wxSpinEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxCommandEvent_SetInt(_swigobj,_swigarg0)  (_swigobj->SetInt(_swigarg0))
+static PyObject *_wrap_wxCommandEvent_SetInt(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxSpinEvent * _result;
-    int  _arg0 = (int ) 0;
-    int  _arg1 = (int ) 0;
-    char *_kwnames[] = { "commandType","id", NULL };
-    char _ptemp[128];
+    wxCommandEvent * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","i", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxCommandEvent_SetInt",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_SetInt. Expected _wxCommandEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxCommandEvent_SetInt(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject * wxCommandEvent_GetClientData(wxCommandEvent *self) {
+            wxPyClientData* data = (wxPyClientData*)self->GetClientObject();
+            if (data) {
+                Py_INCREF(data->m_obj);
+                return data->m_obj;
+            } else {
+                Py_INCREF(Py_None);
+                return Py_None;
+            }
+        }
+static PyObject *_wrap_wxCommandEvent_GetClientData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxCommandEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCommandEvent_GetClientData",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCommandEvent_GetClientData. Expected _wxCommandEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (PyObject *)wxCommandEvent_GetClientData(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
+static void *SwigwxScrollEventTowxCommandEvent(void *ptr) {
+    wxScrollEvent *src;
+    wxCommandEvent *dest;
+    src = (wxScrollEvent *) ptr;
+    dest = (wxCommandEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxScrollEventTowxEvent(void *ptr) {
+    wxScrollEvent *src;
+    wxEvent *dest;
+    src = (wxScrollEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxScrollEventTowxObject(void *ptr) {
+    wxScrollEvent *src;
+    wxObject *dest;
+    src = (wxScrollEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxScrollEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxScrollEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_new_wxScrollEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxScrollEvent * _result;
+    int  _arg0 = (int ) 0;
+    int  _arg1 = (int ) 0;
+    int  _arg2 = (int ) 0;
+    int  _arg3 = (int ) 0;
+    char *_kwnames[] = { "commandType","id","pos","orientation", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iiii:new_wxScrollEvent",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxScrollEvent *)new_wxScrollEvent(_arg0,_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxScrollEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxScrollEvent_GetOrientation(_swigobj)  (_swigobj->GetOrientation())
+static PyObject *_wrap_wxScrollEvent_GetOrientation(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxScrollEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScrollEvent_GetOrientation",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollEvent_GetOrientation. Expected _wxScrollEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxScrollEvent_GetOrientation(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxScrollEvent_GetPosition(_swigobj)  (_swigobj->GetPosition())
+static PyObject *_wrap_wxScrollEvent_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxScrollEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScrollEvent_GetPosition",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollEvent_GetPosition. Expected _wxScrollEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxScrollEvent_GetPosition(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static void *SwigwxScrollWinEventTowxEvent(void *ptr) {
+    wxScrollWinEvent *src;
+    wxEvent *dest;
+    src = (wxScrollWinEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxScrollWinEventTowxObject(void *ptr) {
+    wxScrollWinEvent *src;
+    wxObject *dest;
+    src = (wxScrollWinEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxScrollWinEvent(_swigarg0,_swigarg1,_swigarg2) (new wxScrollWinEvent(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_new_wxScrollWinEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxScrollWinEvent * _result;
+    int  _arg0 = (int ) 0;
+    int  _arg1 = (int ) 0;
+    int  _arg2 = (int ) 0;
+    char *_kwnames[] = { "commandType","pos","orientation", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iii:new_wxScrollWinEvent",_kwnames,&_arg0,&_arg1,&_arg2)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxScrollWinEvent *)new_wxScrollWinEvent(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxScrollWinEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxScrollWinEvent_GetOrientation(_swigobj)  (_swigobj->GetOrientation())
+static PyObject *_wrap_wxScrollWinEvent_GetOrientation(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxScrollWinEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScrollWinEvent_GetOrientation",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollWinEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollWinEvent_GetOrientation. Expected _wxScrollWinEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxScrollWinEvent_GetOrientation(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxScrollWinEvent_GetPosition(_swigobj)  (_swigobj->GetPosition())
+static PyObject *_wrap_wxScrollWinEvent_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxScrollWinEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxScrollWinEvent_GetPosition",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxScrollWinEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxScrollWinEvent_GetPosition. Expected _wxScrollWinEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxScrollWinEvent_GetPosition(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static void *SwigwxSpinEventTowxScrollEvent(void *ptr) {
+    wxSpinEvent *src;
+    wxScrollEvent *dest;
+    src = (wxSpinEvent *) ptr;
+    dest = (wxScrollEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxSpinEventTowxCommandEvent(void *ptr) {
+    wxSpinEvent *src;
+    wxCommandEvent *dest;
+    src = (wxSpinEvent *) ptr;
+    dest = (wxCommandEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxSpinEventTowxEvent(void *ptr) {
+    wxSpinEvent *src;
+    wxEvent *dest;
+    src = (wxSpinEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxSpinEventTowxObject(void *ptr) {
+    wxSpinEvent *src;
+    wxObject *dest;
+    src = (wxSpinEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxSpinEvent(_swigarg0,_swigarg1) (new wxSpinEvent(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxSpinEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxSpinEvent * _result;
+    int  _arg0 = (int ) 0;
+    int  _arg1 = (int ) 0;
+    char *_kwnames[] = { "commandType","id", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxSpinEvent",_kwnames,&_arg0,&_arg1)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxSpinEvent *)new_wxSpinEvent(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxSpinEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static void *SwigwxMouseEventTowxEvent(void *ptr) {
+    wxMouseEvent *src;
+    wxEvent *dest;
+    src = (wxMouseEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxMouseEventTowxObject(void *ptr) {
+    wxMouseEvent *src;
+    wxObject *dest;
+    src = (wxMouseEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxMouseEvent(_swigarg0) (new wxMouseEvent(_swigarg0))
+static PyObject *_wrap_new_wxMouseEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMouseEvent * _result;
+    int  _arg0 = (int ) 0;
+    char *_kwnames[] = { "mouseEventType", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxMouseEvent",_kwnames,&_arg0)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxMouseEvent *)new_wxMouseEvent(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxMouseEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxMouseEvent_IsButton(_swigobj)  (_swigobj->IsButton())
+static PyObject *_wrap_wxMouseEvent_IsButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_IsButton",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_IsButton. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_IsButton(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMouseEvent_ButtonDown(_swigobj,_swigarg0)  (_swigobj->ButtonDown(_swigarg0))
+static PyObject *_wrap_wxMouseEvent_ButtonDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    int  _arg1 = (int ) -1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","but", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxMouseEvent_ButtonDown",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_ButtonDown. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_ButtonDown(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMouseEvent_ButtonDClick(_swigobj,_swigarg0)  (_swigobj->ButtonDClick(_swigarg0))
+static PyObject *_wrap_wxMouseEvent_ButtonDClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    int  _arg1 = (int ) -1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","but", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxMouseEvent_ButtonDClick",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_ButtonDClick. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_ButtonDClick(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMouseEvent_ButtonUp(_swigobj,_swigarg0)  (_swigobj->ButtonUp(_swigarg0))
+static PyObject *_wrap_wxMouseEvent_ButtonUp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    int  _arg1 = (int ) -1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","but", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxMouseEvent_ButtonUp",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_ButtonUp. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_ButtonUp(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMouseEvent_Button(_swigobj,_swigarg0)  (_swigobj->Button(_swigarg0))
+static PyObject *_wrap_wxMouseEvent_Button(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","but", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_Button",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_Button. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_Button(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMouseEvent_ButtonIsDown(_swigobj,_swigarg0)  (_swigobj->ButtonIsDown(_swigarg0))
+static PyObject *_wrap_wxMouseEvent_ButtonIsDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","but", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_ButtonIsDown",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_ButtonIsDown. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_ButtonIsDown(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMouseEvent_ControlDown(_swigobj)  (_swigobj->ControlDown())
+static PyObject *_wrap_wxMouseEvent_ControlDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_ControlDown",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_ControlDown. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_ControlDown(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMouseEvent_MetaDown(_swigobj)  (_swigobj->MetaDown())
+static PyObject *_wrap_wxMouseEvent_MetaDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_MetaDown",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_MetaDown. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_MetaDown(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMouseEvent_AltDown(_swigobj)  (_swigobj->AltDown())
+static PyObject *_wrap_wxMouseEvent_AltDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_AltDown",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_AltDown. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_AltDown(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMouseEvent_ShiftDown(_swigobj)  (_swigobj->ShiftDown())
+static PyObject *_wrap_wxMouseEvent_ShiftDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_ShiftDown",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_ShiftDown. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_ShiftDown(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMouseEvent_LeftDown(_swigobj)  (_swigobj->LeftDown())
+static PyObject *_wrap_wxMouseEvent_LeftDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_LeftDown",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_LeftDown. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_LeftDown(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMouseEvent_MiddleDown(_swigobj)  (_swigobj->MiddleDown())
+static PyObject *_wrap_wxMouseEvent_MiddleDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_MiddleDown",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_MiddleDown. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_MiddleDown(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMouseEvent_RightDown(_swigobj)  (_swigobj->RightDown())
+static PyObject *_wrap_wxMouseEvent_RightDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMouseEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxSpinEvent",_kwnames,&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_RightDown",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_RightDown. Expected _wxMouseEvent_p.");
         return NULL;
+        }
+    }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxSpinEvent *)new_wxSpinEvent(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_RightDown(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxSpinEvent_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-static void *SwigwxMouseEventTowxEvent(void *ptr) {
-    wxMouseEvent *src;
-    wxEvent *dest;
-    src = (wxMouseEvent *) ptr;
-    dest = (wxEvent *) src;
-    return (void *) dest;
-}
-
-#define new_wxMouseEvent(_swigarg0) (new wxMouseEvent(_swigarg0))
-static PyObject *_wrap_new_wxMouseEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_LeftUp(_swigobj)  (_swigobj->LeftUp())
+static PyObject *_wrap_wxMouseEvent_LeftUp(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxMouseEvent * _result;
-    int  _arg0 = (int ) 0;
-    char *_kwnames[] = { "mouseEventType", NULL };
-    char _ptemp[128];
+    bool  _result;
+    wxMouseEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxMouseEvent",_kwnames,&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_LeftUp",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_LeftUp. Expected _wxMouseEvent_p.");
         return NULL;
+        }
+    }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxMouseEvent *)new_wxMouseEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_LeftUp(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxMouseEvent_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_IsButton(_swigobj)  (_swigobj->IsButton())
-static PyObject *_wrap_wxMouseEvent_IsButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_MiddleUp(_swigobj)  (_swigobj->MiddleUp())
+static PyObject *_wrap_wxMouseEvent_MiddleUp(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
@@ -1310,166 +2152,167 @@ static PyObject *_wrap_wxMouseEvent_IsButton(PyObject *self, PyObject *args, PyO
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_IsButton",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_MiddleUp",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_IsButton. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_MiddleUp. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_IsButton(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_MiddleUp(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_ButtonDown(_swigobj,_swigarg0)  (_swigobj->ButtonDown(_swigarg0))
-static PyObject *_wrap_wxMouseEvent_ButtonDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_RightUp(_swigobj)  (_swigobj->RightUp())
+static PyObject *_wrap_wxMouseEvent_RightUp(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
-    int  _arg1 = (int ) -1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self","but", NULL };
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxMouseEvent_ButtonDown",_kwnames,&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_RightUp",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_ButtonDown. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_RightUp. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_ButtonDown(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_RightUp(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_ButtonDClick(_swigobj,_swigarg0)  (_swigobj->ButtonDClick(_swigarg0))
-static PyObject *_wrap_wxMouseEvent_ButtonDClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_LeftDClick(_swigobj)  (_swigobj->LeftDClick())
+static PyObject *_wrap_wxMouseEvent_LeftDClick(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
-    int  _arg1 = (int ) -1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self","but", NULL };
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxMouseEvent_ButtonDClick",_kwnames,&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_LeftDClick",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_ButtonDClick. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_LeftDClick. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_ButtonDClick(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_LeftDClick(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_ButtonUp(_swigobj,_swigarg0)  (_swigobj->ButtonUp(_swigarg0))
-static PyObject *_wrap_wxMouseEvent_ButtonUp(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_MiddleDClick(_swigobj)  (_swigobj->MiddleDClick())
+static PyObject *_wrap_wxMouseEvent_MiddleDClick(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
-    int  _arg1 = (int ) -1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self","but", NULL };
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxMouseEvent_ButtonUp",_kwnames,&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_MiddleDClick",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_ButtonUp. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_MiddleDClick. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_ButtonUp(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_MiddleDClick(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_Button(_swigobj,_swigarg0)  (_swigobj->Button(_swigarg0))
-static PyObject *_wrap_wxMouseEvent_Button(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_RightDClick(_swigobj)  (_swigobj->RightDClick())
+static PyObject *_wrap_wxMouseEvent_RightDClick(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
-    int  _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self","but", NULL };
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_Button",_kwnames,&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_RightDClick",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_Button. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_RightDClick. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_Button(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_RightDClick(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_ButtonIsDown(_swigobj,_swigarg0)  (_swigobj->ButtonIsDown(_swigarg0))
-static PyObject *_wrap_wxMouseEvent_ButtonIsDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_LeftIsDown(_swigobj)  (_swigobj->LeftIsDown())
+static PyObject *_wrap_wxMouseEvent_LeftIsDown(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
-    int  _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self","but", NULL };
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_ButtonIsDown",_kwnames,&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_LeftIsDown",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_ButtonIsDown. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_LeftIsDown. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_ButtonIsDown(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_LeftIsDown(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_ControlDown(_swigobj)  (_swigobj->ControlDown())
-static PyObject *_wrap_wxMouseEvent_ControlDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_MiddleIsDown(_swigobj)  (_swigobj->MiddleIsDown())
+static PyObject *_wrap_wxMouseEvent_MiddleIsDown(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
@@ -1477,26 +2320,27 @@ static PyObject *_wrap_wxMouseEvent_ControlDown(PyObject *self, PyObject *args,
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_ControlDown",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_MiddleIsDown",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_ControlDown. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_MiddleIsDown. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_ControlDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_MiddleIsDown(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_MetaDown(_swigobj)  (_swigobj->MetaDown())
-static PyObject *_wrap_wxMouseEvent_MetaDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_RightIsDown(_swigobj)  (_swigobj->RightIsDown())
+static PyObject *_wrap_wxMouseEvent_RightIsDown(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
@@ -1504,26 +2348,27 @@ static PyObject *_wrap_wxMouseEvent_MetaDown(PyObject *self, PyObject *args, PyO
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_MetaDown",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_RightIsDown",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_MetaDown. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_RightIsDown. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_MetaDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_RightIsDown(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_AltDown(_swigobj)  (_swigobj->AltDown())
-static PyObject *_wrap_wxMouseEvent_AltDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_Dragging(_swigobj)  (_swigobj->Dragging())
+static PyObject *_wrap_wxMouseEvent_Dragging(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
@@ -1531,26 +2376,27 @@ static PyObject *_wrap_wxMouseEvent_AltDown(PyObject *self, PyObject *args, PyOb
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_AltDown",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_Dragging",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_AltDown. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_Dragging. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_AltDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_Dragging(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_ShiftDown(_swigobj)  (_swigobj->ShiftDown())
-static PyObject *_wrap_wxMouseEvent_ShiftDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_Moving(_swigobj)  (_swigobj->Moving())
+static PyObject *_wrap_wxMouseEvent_Moving(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
@@ -1558,26 +2404,27 @@ static PyObject *_wrap_wxMouseEvent_ShiftDown(PyObject *self, PyObject *args, Py
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_ShiftDown",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_Moving",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_ShiftDown. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_Moving. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_ShiftDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_Moving(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_LeftDown(_swigobj)  (_swigobj->LeftDown())
-static PyObject *_wrap_wxMouseEvent_LeftDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_Entering(_swigobj)  (_swigobj->Entering())
+static PyObject *_wrap_wxMouseEvent_Entering(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
@@ -1585,26 +2432,27 @@ static PyObject *_wrap_wxMouseEvent_LeftDown(PyObject *self, PyObject *args, PyO
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_LeftDown",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_Entering",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_LeftDown. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_Entering. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_LeftDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_Entering(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_MiddleDown(_swigobj)  (_swigobj->MiddleDown())
-static PyObject *_wrap_wxMouseEvent_MiddleDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_Leaving(_swigobj)  (_swigobj->Leaving())
+static PyObject *_wrap_wxMouseEvent_Leaving(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
@@ -1612,350 +2460,428 @@ static PyObject *_wrap_wxMouseEvent_MiddleDown(PyObject *self, PyObject *args, P
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_MiddleDown",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_Leaving",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_MiddleDown. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_Leaving. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_MiddleDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_Leaving(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_RightDown(_swigobj)  (_swigobj->RightDown())
-static PyObject *_wrap_wxMouseEvent_RightDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_GetPosition(_swigobj)  (_swigobj->GetPosition())
+static PyObject *_wrap_wxMouseEvent_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    wxPoint * _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_RightDown",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_GetPosition",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_RightDown. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetPosition. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_RightDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxPoint (wxMouseEvent_GetPosition(_arg0));
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
 
-#define wxMouseEvent_LeftUp(_swigobj)  (_swigobj->LeftUp())
-static PyObject *_wrap_wxMouseEvent_LeftUp(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_GetPositionTuple(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetPosition(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxMouseEvent_GetPositionTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
     wxMouseEvent * _arg0;
+    long * _arg1;
+    long  temp;
+    long * _arg2;
+    long  temp0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_LeftUp",_kwnames,&_argo0)) 
+{
+  _arg1 = &temp;
+}
+{
+  _arg2 = &temp0;
+}
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_GetPositionTuple",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_LeftUp. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetPositionTuple. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_LeftUp(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxMouseEvent_GetPositionTuple(_arg0,_arg1,_arg2);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    PyObject *o;
+    o = PyInt_FromLong((long) (*_arg1));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+{
+    PyObject *o;
+    o = PyInt_FromLong((long) (*_arg2));
+    _resultobj = t_output_helper(_resultobj, o);
+}
     return _resultobj;
 }
 
-#define wxMouseEvent_MiddleUp(_swigobj)  (_swigobj->MiddleUp())
-static PyObject *_wrap_wxMouseEvent_MiddleUp(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_GetLogicalPosition(_swigobj,_swigarg0)  (_swigobj->GetLogicalPosition(_swigarg0))
+static PyObject *_wrap_wxMouseEvent_GetLogicalPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    wxPoint * _result;
+    wxMouseEvent * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMouseEvent_GetLogicalPosition",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetLogicalPosition. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxMouseEvent_GetLogicalPosition. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxPoint (wxMouseEvent_GetLogicalPosition(_arg0,*_arg1));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+    return _resultobj;
+}
+
+#define wxMouseEvent_GetX(_swigobj)  (_swigobj->GetX())
+static PyObject *_wrap_wxMouseEvent_GetX(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_MiddleUp",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_GetX",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_MiddleUp. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetX. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_MiddleUp(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxMouseEvent_GetX(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_RightUp(_swigobj)  (_swigobj->RightUp())
-static PyObject *_wrap_wxMouseEvent_RightUp(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_GetY(_swigobj)  (_swigobj->GetY())
+static PyObject *_wrap_wxMouseEvent_GetY(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    long  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_RightUp",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_GetY",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_RightUp. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetY. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_RightUp(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxMouseEvent_GetY(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_LeftDClick(_swigobj)  (_swigobj->LeftDClick())
-static PyObject *_wrap_wxMouseEvent_LeftDClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_GetWheelRotation(_swigobj)  (_swigobj->GetWheelRotation())
+static PyObject *_wrap_wxMouseEvent_GetWheelRotation(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    int  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_LeftDClick",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_GetWheelRotation",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_LeftDClick. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetWheelRotation. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_LeftDClick(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxMouseEvent_GetWheelRotation(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_MiddleDClick(_swigobj)  (_swigobj->MiddleDClick())
-static PyObject *_wrap_wxMouseEvent_MiddleDClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_GetWheelDelta(_swigobj)  (_swigobj->GetWheelDelta())
+static PyObject *_wrap_wxMouseEvent_GetWheelDelta(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    int  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_MiddleDClick",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_GetWheelDelta",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_MiddleDClick. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetWheelDelta. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_MiddleDClick(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxMouseEvent_GetWheelDelta(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_RightDClick(_swigobj)  (_swigobj->RightDClick())
-static PyObject *_wrap_wxMouseEvent_RightDClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_GetLinesPerAction(_swigobj)  (_swigobj->GetLinesPerAction())
+static PyObject *_wrap_wxMouseEvent_GetLinesPerAction(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    int  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_RightDClick",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_GetLinesPerAction",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_RightDClick. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetLinesPerAction. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_RightDClick(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxMouseEvent_GetLinesPerAction(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_LeftIsDown(_swigobj)  (_swigobj->LeftIsDown())
-static PyObject *_wrap_wxMouseEvent_LeftIsDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_x_set(_swigobj,_swigval) (_swigobj->m_x = _swigval,_swigval)
+static PyObject *_wrap_wxMouseEvent_m_x_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    long  _result;
     wxMouseEvent * _arg0;
+    long  _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
+    char *_kwnames[] = { "self","m_x", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_LeftIsDown",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxMouseEvent_m_x_set",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_LeftIsDown. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_x_set. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_LeftIsDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxMouseEvent_m_x_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_MiddleIsDown(_swigobj)  (_swigobj->MiddleIsDown())
-static PyObject *_wrap_wxMouseEvent_MiddleIsDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_x_get(_swigobj) ((long ) _swigobj->m_x)
+static PyObject *_wrap_wxMouseEvent_m_x_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    long  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_MiddleIsDown",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_x_get",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_MiddleIsDown. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_x_get. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_MiddleIsDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxMouseEvent_m_x_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_RightIsDown(_swigobj)  (_swigobj->RightIsDown())
-static PyObject *_wrap_wxMouseEvent_RightIsDown(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_y_set(_swigobj,_swigval) (_swigobj->m_y = _swigval,_swigval)
+static PyObject *_wrap_wxMouseEvent_m_y_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    long  _result;
     wxMouseEvent * _arg0;
+    long  _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
+    char *_kwnames[] = { "self","m_y", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_RightIsDown",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxMouseEvent_m_y_set",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_RightIsDown. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_y_set. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_RightIsDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxMouseEvent_m_y_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_Dragging(_swigobj)  (_swigobj->Dragging())
-static PyObject *_wrap_wxMouseEvent_Dragging(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_y_get(_swigobj) ((long ) _swigobj->m_y)
+static PyObject *_wrap_wxMouseEvent_m_y_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    long  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_Dragging",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_y_get",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_Dragging. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_y_get. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_Dragging(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxMouseEvent_m_y_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_Moving(_swigobj)  (_swigobj->Moving())
-static PyObject *_wrap_wxMouseEvent_Moving(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_leftDown_set(_swigobj,_swigval) (_swigobj->m_leftDown = _swigval,_swigval)
+static PyObject *_wrap_wxMouseEvent_m_leftDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
+    bool  _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
+    int tempbool1;
+    char *_kwnames[] = { "self","m_leftDown", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_Moving",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_leftDown_set",_kwnames,&_argo0,&tempbool1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_Moving. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_leftDown_set. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
+    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_Moving(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_leftDown_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_Entering(_swigobj)  (_swigobj->Entering())
-static PyObject *_wrap_wxMouseEvent_Entering(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_leftDown_get(_swigobj) ((bool ) _swigobj->m_leftDown)
+static PyObject *_wrap_wxMouseEvent_m_leftDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
@@ -1963,361 +2889,353 @@ static PyObject *_wrap_wxMouseEvent_Entering(PyObject *self, PyObject *args, PyO
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_Entering",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_leftDown_get",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_Entering. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_leftDown_get. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_Entering(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_leftDown_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_Leaving(_swigobj)  (_swigobj->Leaving())
-static PyObject *_wrap_wxMouseEvent_Leaving(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_middleDown_set(_swigobj,_swigval) (_swigobj->m_middleDown = _swigval,_swigval)
+static PyObject *_wrap_wxMouseEvent_m_middleDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
+    bool  _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
+    int tempbool1;
+    char *_kwnames[] = { "self","m_middleDown", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_Leaving",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_middleDown_set",_kwnames,&_argo0,&tempbool1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_Leaving. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_middleDown_set. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
+    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_Leaving(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_middleDown_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_GetPosition(_swigobj)  (_swigobj->GetPosition())
-static PyObject *_wrap_wxMouseEvent_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_middleDown_get(_swigobj) ((bool ) _swigobj->m_middleDown)
+static PyObject *_wrap_wxMouseEvent_m_middleDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxPoint * _result;
+    bool  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
-    char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_GetPosition",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_middleDown_get",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetPosition. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_middleDown_get. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = new wxPoint (wxMouseEvent_GetPosition(_arg0));
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_middleDown_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_GetPositionTuple(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetPosition(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxMouseEvent_GetPositionTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_rightDown_set(_swigobj,_swigval) (_swigobj->m_rightDown = _swigval,_swigval)
+static PyObject *_wrap_wxMouseEvent_m_rightDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
+    bool  _result;
     wxMouseEvent * _arg0;
-    long * _arg1;
-    long  temp;
-    long * _arg2;
-    long  temp0;
+    bool  _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
+    int tempbool1;
+    char *_kwnames[] = { "self","m_rightDown", NULL };
 
     self = self;
-{
-  _arg1 = &temp;
-}
-{
-  _arg2 = &temp0;
-}
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_GetPositionTuple",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_rightDown_set",_kwnames,&_argo0,&tempbool1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetPositionTuple. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_rightDown_set. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
+    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxMouseEvent_GetPositionTuple(_arg0,_arg1,_arg2);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_rightDown_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
-}    Py_INCREF(Py_None);
-    _resultobj = Py_None;
-{
-    PyObject *o;
-    o = PyInt_FromLong((long) (*_arg1));
-    _resultobj = t_output_helper(_resultobj, o);
-}
-{
-    PyObject *o;
-    o = PyInt_FromLong((long) (*_arg2));
-    _resultobj = t_output_helper(_resultobj, o);
-}
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_GetLogicalPosition(_swigobj,_swigarg0)  (_swigobj->GetLogicalPosition(_swigarg0))
-static PyObject *_wrap_wxMouseEvent_GetLogicalPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_rightDown_get(_swigobj) ((bool ) _swigobj->m_rightDown)
+static PyObject *_wrap_wxMouseEvent_m_rightDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxPoint * _result;
+    bool  _result;
     wxMouseEvent * _arg0;
-    wxDC * _arg1;
     PyObject * _argo0 = 0;
-    PyObject * _argo1 = 0;
-    char *_kwnames[] = { "self","dc", NULL };
-    char _ptemp[128];
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMouseEvent_GetLogicalPosition",_kwnames,&_argo0,&_argo1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_rightDown_get",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetLogicalPosition. Expected _wxMouseEvent_p.");
-        return NULL;
-        }
-    }
-    if (_argo1) {
-        if (_argo1 == Py_None) { _arg1 = NULL; }
-        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxMouseEvent_GetLogicalPosition. Expected _wxDC_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_rightDown_get. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = new wxPoint (wxMouseEvent_GetLogicalPosition(_arg0,*_arg1));
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_rightDown_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_GetX(_swigobj)  (_swigobj->GetX())
-static PyObject *_wrap_wxMouseEvent_GetX(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_controlDown_set(_swigobj,_swigval) (_swigobj->m_controlDown = _swigval,_swigval)
+static PyObject *_wrap_wxMouseEvent_m_controlDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    long  _result;
+    bool  _result;
     wxMouseEvent * _arg0;
+    bool  _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
+    int tempbool1;
+    char *_kwnames[] = { "self","m_controlDown", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_GetX",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_controlDown_set",_kwnames,&_argo0,&tempbool1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetX. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_controlDown_set. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
+    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxMouseEvent_GetX(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_controlDown_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("l",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_GetY(_swigobj)  (_swigobj->GetY())
-static PyObject *_wrap_wxMouseEvent_GetY(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_controlDown_get(_swigobj) ((bool ) _swigobj->m_controlDown)
+static PyObject *_wrap_wxMouseEvent_m_controlDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    long  _result;
+    bool  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_GetY",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_controlDown_get",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_GetY. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_controlDown_get. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxMouseEvent_GetY(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_controlDown_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("l",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_x_set(_swigobj,_swigval) (_swigobj->m_x = _swigval,_swigval)
-static PyObject *_wrap_wxMouseEvent_m_x_set(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_shiftDown_set(_swigobj,_swigval) (_swigobj->m_shiftDown = _swigval,_swigval)
+static PyObject *_wrap_wxMouseEvent_m_shiftDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    long  _result;
+    bool  _result;
     wxMouseEvent * _arg0;
-    long  _arg1;
+    bool  _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self","m_x", NULL };
+    int tempbool1;
+    char *_kwnames[] = { "self","m_shiftDown", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxMouseEvent_m_x_set",_kwnames,&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_shiftDown_set",_kwnames,&_argo0,&tempbool1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_x_set. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_shiftDown_set. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
+    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxMouseEvent_m_x_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_shiftDown_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("l",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_x_get(_swigobj) ((long ) _swigobj->m_x)
-static PyObject *_wrap_wxMouseEvent_m_x_get(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_shiftDown_get(_swigobj) ((bool ) _swigobj->m_shiftDown)
+static PyObject *_wrap_wxMouseEvent_m_shiftDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    long  _result;
+    bool  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_x_get",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_shiftDown_get",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_x_get. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_shiftDown_get. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxMouseEvent_m_x_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_shiftDown_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("l",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_y_set(_swigobj,_swigval) (_swigobj->m_y = _swigval,_swigval)
-static PyObject *_wrap_wxMouseEvent_m_y_set(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_altDown_set(_swigobj,_swigval) (_swigobj->m_altDown = _swigval,_swigval)
+static PyObject *_wrap_wxMouseEvent_m_altDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    long  _result;
+    bool  _result;
     wxMouseEvent * _arg0;
-    long  _arg1;
+    bool  _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self","m_y", NULL };
+    int tempbool1;
+    char *_kwnames[] = { "self","m_altDown", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxMouseEvent_m_y_set",_kwnames,&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_altDown_set",_kwnames,&_argo0,&tempbool1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_y_set. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_altDown_set. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
+    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxMouseEvent_m_y_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_altDown_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("l",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_y_get(_swigobj) ((long ) _swigobj->m_y)
-static PyObject *_wrap_wxMouseEvent_m_y_get(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_altDown_get(_swigobj) ((bool ) _swigobj->m_altDown)
+static PyObject *_wrap_wxMouseEvent_m_altDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    long  _result;
+    bool  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_y_get",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_altDown_get",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_y_get. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_altDown_get. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxMouseEvent_m_y_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_altDown_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("l",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_leftDown_set(_swigobj,_swigval) (_swigobj->m_leftDown = _swigval,_swigval)
-static PyObject *_wrap_wxMouseEvent_m_leftDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_metaDown_set(_swigobj,_swigval) (_swigobj->m_metaDown = _swigval,_swigval)
+static PyObject *_wrap_wxMouseEvent_m_metaDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
     bool  _arg1;
     PyObject * _argo0 = 0;
     int tempbool1;
-    char *_kwnames[] = { "self","m_leftDown", NULL };
+    char *_kwnames[] = { "self","m_metaDown", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_leftDown_set",_kwnames,&_argo0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_metaDown_set",_kwnames,&_argo0,&tempbool1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_leftDown_set. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_metaDown_set. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_leftDown_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_metaDown_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_leftDown_get(_swigobj) ((bool ) _swigobj->m_leftDown)
-static PyObject *_wrap_wxMouseEvent_m_leftDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_metaDown_get(_swigobj) ((bool ) _swigobj->m_metaDown)
+static PyObject *_wrap_wxMouseEvent_m_metaDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
     wxMouseEvent * _arg0;
@@ -2325,362 +3243,472 @@ static PyObject *_wrap_wxMouseEvent_m_leftDown_get(PyObject *self, PyObject *arg
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_leftDown_get",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_metaDown_get",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_leftDown_get. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_metaDown_get. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_leftDown_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMouseEvent_m_metaDown_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_middleDown_set(_swigobj,_swigval) (_swigobj->m_middleDown = _swigval,_swigval)
-static PyObject *_wrap_wxMouseEvent_m_middleDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_wheelRotation_set(_swigobj,_swigval) (_swigobj->m_wheelRotation = _swigval,_swigval)
+static PyObject *_wrap_wxMouseEvent_m_wheelRotation_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    int  _result;
     wxMouseEvent * _arg0;
-    bool  _arg1;
+    int  _arg1;
     PyObject * _argo0 = 0;
-    int tempbool1;
-    char *_kwnames[] = { "self","m_middleDown", NULL };
+    char *_kwnames[] = { "self","m_wheelRotation", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_middleDown_set",_kwnames,&_argo0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_wheelRotation_set",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_middleDown_set. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_wheelRotation_set. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
-    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_middleDown_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxMouseEvent_m_wheelRotation_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_middleDown_get(_swigobj) ((bool ) _swigobj->m_middleDown)
-static PyObject *_wrap_wxMouseEvent_m_middleDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_wheelRotation_get(_swigobj) ((int ) _swigobj->m_wheelRotation)
+static PyObject *_wrap_wxMouseEvent_m_wheelRotation_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    int  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_middleDown_get",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_wheelRotation_get",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_middleDown_get. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_wheelRotation_get. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_middleDown_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxMouseEvent_m_wheelRotation_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_rightDown_set(_swigobj,_swigval) (_swigobj->m_rightDown = _swigval,_swigval)
-static PyObject *_wrap_wxMouseEvent_m_rightDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_wheelDelta_set(_swigobj,_swigval) (_swigobj->m_wheelDelta = _swigval,_swigval)
+static PyObject *_wrap_wxMouseEvent_m_wheelDelta_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    int  _result;
     wxMouseEvent * _arg0;
-    bool  _arg1;
+    int  _arg1;
     PyObject * _argo0 = 0;
-    int tempbool1;
-    char *_kwnames[] = { "self","m_rightDown", NULL };
+    char *_kwnames[] = { "self","m_wheelDelta", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_rightDown_set",_kwnames,&_argo0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_wheelDelta_set",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_rightDown_set. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_wheelDelta_set. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
-    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_rightDown_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxMouseEvent_m_wheelDelta_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_rightDown_get(_swigobj) ((bool ) _swigobj->m_rightDown)
-static PyObject *_wrap_wxMouseEvent_m_rightDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_wheelDelta_get(_swigobj) ((int ) _swigobj->m_wheelDelta)
+static PyObject *_wrap_wxMouseEvent_m_wheelDelta_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    int  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_rightDown_get",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_wheelDelta_get",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_rightDown_get. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_wheelDelta_get. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_rightDown_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxMouseEvent_m_wheelDelta_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_controlDown_set(_swigobj,_swigval) (_swigobj->m_controlDown = _swigval,_swigval)
-static PyObject *_wrap_wxMouseEvent_m_controlDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_linesPerAction_set(_swigobj,_swigval) (_swigobj->m_linesPerAction = _swigval,_swigval)
+static PyObject *_wrap_wxMouseEvent_m_linesPerAction_set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    int  _result;
     wxMouseEvent * _arg0;
-    bool  _arg1;
+    int  _arg1;
     PyObject * _argo0 = 0;
-    int tempbool1;
-    char *_kwnames[] = { "self","m_controlDown", NULL };
+    char *_kwnames[] = { "self","m_linesPerAction", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_controlDown_set",_kwnames,&_argo0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_linesPerAction_set",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_controlDown_set. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_linesPerAction_set. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
-    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_controlDown_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxMouseEvent_m_linesPerAction_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_controlDown_get(_swigobj) ((bool ) _swigobj->m_controlDown)
-static PyObject *_wrap_wxMouseEvent_m_controlDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxMouseEvent_m_linesPerAction_get(_swigobj) ((int ) _swigobj->m_linesPerAction)
+static PyObject *_wrap_wxMouseEvent_m_linesPerAction_get(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    int  _result;
     wxMouseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_controlDown_get",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_linesPerAction_get",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_controlDown_get. Expected _wxMouseEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_linesPerAction_get. Expected _wxMouseEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_controlDown_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxMouseEvent_m_linesPerAction_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_shiftDown_set(_swigobj,_swigval) (_swigobj->m_shiftDown = _swigval,_swigval)
-static PyObject *_wrap_wxMouseEvent_m_shiftDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
+static void *SwigwxMouseCaptureChangedEventTowxEvent(void *ptr) {
+    wxMouseCaptureChangedEvent *src;
+    wxEvent *dest;
+    src = (wxMouseCaptureChangedEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxMouseCaptureChangedEventTowxObject(void *ptr) {
+    wxMouseCaptureChangedEvent *src;
+    wxObject *dest;
+    src = (wxMouseCaptureChangedEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxMouseCaptureChangedEvent(_swigarg0,_swigarg1) (new wxMouseCaptureChangedEvent(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxMouseCaptureChangedEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
-    wxMouseEvent * _arg0;
-    bool  _arg1;
+    wxMouseCaptureChangedEvent * _result;
+    wxWindowID  _arg0 = (wxWindowID ) 0;
+    wxWindow * _arg1 = (wxWindow *) NULL;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "id","gainedCapture", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iO:new_wxMouseCaptureChangedEvent",_kwnames,&_arg0,&_argo1)) 
+        return NULL;
+    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 new_wxMouseCaptureChangedEvent. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxMouseCaptureChangedEvent *)new_wxMouseCaptureChangedEvent(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxMouseCaptureChangedEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxMouseCaptureChangedEvent_GetCapturedWindow(_swigobj)  (_swigobj->GetCapturedWindow())
+static PyObject *_wrap_wxMouseCaptureChangedEvent_GetCapturedWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxWindow * _result;
+    wxMouseCaptureChangedEvent * _arg0;
     PyObject * _argo0 = 0;
-    int tempbool1;
-    char *_kwnames[] = { "self","m_shiftDown", NULL };
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_shiftDown_set",_kwnames,&_argo0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseCaptureChangedEvent_GetCapturedWindow",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_shiftDown_set. Expected _wxMouseEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseCaptureChangedEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseCaptureChangedEvent_GetCapturedWindow. Expected _wxMouseCaptureChangedEvent_p.");
         return NULL;
         }
     }
-    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_shiftDown_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxWindow *)wxMouseCaptureChangedEvent_GetCapturedWindow(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
     return _resultobj;
 }
 
-#define wxMouseEvent_m_shiftDown_get(_swigobj) ((bool ) _swigobj->m_shiftDown)
-static PyObject *_wrap_wxMouseEvent_m_shiftDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
+static void *SwigwxSetCursorEventTowxEvent(void *ptr) {
+    wxSetCursorEvent *src;
+    wxEvent *dest;
+    src = (wxSetCursorEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxSetCursorEventTowxObject(void *ptr) {
+    wxSetCursorEvent *src;
+    wxObject *dest;
+    src = (wxSetCursorEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxSetCursorEvent(_swigarg0,_swigarg1) (new wxSetCursorEvent(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxSetCursorEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
-    wxMouseEvent * _arg0;
+    wxSetCursorEvent * _result;
+    wxCoord  _arg0 = (wxCoord ) 0;
+    wxCoord  _arg1 = (wxCoord ) 0;
+    char *_kwnames[] = { "x","y", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxSetCursorEvent",_kwnames,&_arg0,&_arg1)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxSetCursorEvent *)new_wxSetCursorEvent(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxSetCursorEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxSetCursorEvent_GetX(_swigobj)  (_swigobj->GetX())
+static PyObject *_wrap_wxSetCursorEvent_GetX(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxCoord  _result;
+    wxSetCursorEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_shiftDown_get",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSetCursorEvent_GetX",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_shiftDown_get. Expected _wxMouseEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSetCursorEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSetCursorEvent_GetX. Expected _wxSetCursorEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_shiftDown_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxCoord )wxSetCursorEvent_GetX(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_altDown_set(_swigobj,_swigval) (_swigobj->m_altDown = _swigval,_swigval)
-static PyObject *_wrap_wxMouseEvent_m_altDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxSetCursorEvent_GetY(_swigobj)  (_swigobj->GetY())
+static PyObject *_wrap_wxSetCursorEvent_GetY(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
-    wxMouseEvent * _arg0;
-    bool  _arg1;
+    wxCoord  _result;
+    wxSetCursorEvent * _arg0;
     PyObject * _argo0 = 0;
-    int tempbool1;
-    char *_kwnames[] = { "self","m_altDown", NULL };
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_altDown_set",_kwnames,&_argo0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSetCursorEvent_GetY",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_altDown_set. Expected _wxMouseEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSetCursorEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSetCursorEvent_GetY. Expected _wxSetCursorEvent_p.");
         return NULL;
         }
     }
-    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_altDown_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxCoord )wxSetCursorEvent_GetY(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxMouseEvent_m_altDown_get(_swigobj) ((bool ) _swigobj->m_altDown)
-static PyObject *_wrap_wxMouseEvent_m_altDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxSetCursorEvent_SetCursor(_swigobj,_swigarg0)  (_swigobj->SetCursor(_swigarg0))
+static PyObject *_wrap_wxSetCursorEvent_SetCursor(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
-    wxMouseEvent * _arg0;
+    wxSetCursorEvent * _arg0;
+    wxCursor * _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","cursor", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_altDown_get",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSetCursorEvent_SetCursor",_kwnames,&_argo0,&_argo1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_altDown_get. Expected _wxMouseEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSetCursorEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSetCursorEvent_SetCursor. Expected _wxSetCursorEvent_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxCursor_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSetCursorEvent_SetCursor. Expected _wxCursor_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_altDown_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxSetCursorEvent_SetCursor(_arg0,*_arg1);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
-#define wxMouseEvent_m_metaDown_set(_swigobj,_swigval) (_swigobj->m_metaDown = _swigval,_swigval)
-static PyObject *_wrap_wxMouseEvent_m_metaDown_set(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxSetCursorEvent_GetCursor(_swigobj)  (_swigobj->GetCursor())
+static PyObject *_wrap_wxSetCursorEvent_GetCursor(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
-    wxMouseEvent * _arg0;
-    bool  _arg1;
+    wxCursor * _result;
+    wxSetCursorEvent * _arg0;
     PyObject * _argo0 = 0;
-    int tempbool1;
-    char *_kwnames[] = { "self","m_metaDown", NULL };
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxMouseEvent_m_metaDown_set",_kwnames,&_argo0,&tempbool1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSetCursorEvent_GetCursor",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_metaDown_set. Expected _wxMouseEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSetCursorEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSetCursorEvent_GetCursor. Expected _wxSetCursorEvent_p.");
         return NULL;
         }
     }
-    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_metaDown_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    const wxCursor & _result_ref = wxSetCursorEvent_GetCursor(_arg0);
+    _result = (wxCursor *) &_result_ref;
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCursor_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
     return _resultobj;
 }
 
-#define wxMouseEvent_m_metaDown_get(_swigobj) ((bool ) _swigobj->m_metaDown)
-static PyObject *_wrap_wxMouseEvent_m_metaDown_get(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxSetCursorEvent_HasCursor(_swigobj)  (_swigobj->HasCursor())
+static PyObject *_wrap_wxSetCursorEvent_HasCursor(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
-    wxMouseEvent * _arg0;
+    wxSetCursorEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMouseEvent_m_metaDown_get",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSetCursorEvent_HasCursor",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMouseEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMouseEvent_m_metaDown_get. Expected _wxMouseEvent_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSetCursorEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSetCursorEvent_HasCursor. Expected _wxSetCursorEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxMouseEvent_m_metaDown_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxSetCursorEvent_HasCursor(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -2693,6 +3721,14 @@ static void *SwigwxKeyEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxKeyEventTowxObject(void *ptr) {
+    wxKeyEvent *src;
+    wxObject *dest;
+    src = (wxKeyEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxKeyEvent(_swigarg0) (new wxKeyEvent(_swigarg0))
 static PyObject *_wrap_new_wxKeyEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -2705,10 +3741,11 @@ static PyObject *_wrap_new_wxKeyEvent(PyObject *self, PyObject *args, PyObject *
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:new_wxKeyEvent",_kwnames,&_arg0)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxKeyEvent *)new_wxKeyEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxKeyEvent *)new_wxKeyEvent(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxKeyEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -2738,10 +3775,11 @@ static PyObject *_wrap_wxKeyEvent_ControlDown(PyObject *self, PyObject *args, Py
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_ControlDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_ControlDown(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -2765,10 +3803,11 @@ static PyObject *_wrap_wxKeyEvent_MetaDown(PyObject *self, PyObject *args, PyObj
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_MetaDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_MetaDown(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -2792,10 +3831,11 @@ static PyObject *_wrap_wxKeyEvent_AltDown(PyObject *self, PyObject *args, PyObje
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_AltDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_AltDown(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -2809,53 +3849,83 @@ static PyObject *_wrap_wxKeyEvent_ShiftDown(PyObject *self, PyObject *args, PyOb
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_ShiftDown",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_ShiftDown",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxKeyEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_ShiftDown. Expected _wxKeyEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_ShiftDown(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxKeyEvent_GetKeyCode(_swigobj)  (_swigobj->GetKeyCode())
+static PyObject *_wrap_wxKeyEvent_GetKeyCode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxKeyEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_GetKeyCode",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxKeyEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_ShiftDown. Expected _wxKeyEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_GetKeyCode. Expected _wxKeyEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_ShiftDown(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_GetKeyCode(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-#define wxKeyEvent_KeyCode(_swigobj)  (_swigobj->KeyCode())
-static PyObject *_wrap_wxKeyEvent_KeyCode(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxKeyEvent_HasModifiers(_swigobj)  (_swigobj->HasModifiers())
+static PyObject *_wrap_wxKeyEvent_HasModifiers(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    long  _result;
+    bool  _result;
     wxKeyEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_KeyCode",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_HasModifiers",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxKeyEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_KeyCode. Expected _wxKeyEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_HasModifiers. Expected _wxKeyEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxKeyEvent_KeyCode(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_HasModifiers(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("l",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
-#define wxKeyEvent_GetKeyCode(_swigobj)  (_swigobj->GetKeyCode())
-static PyObject *_wrap_wxKeyEvent_GetKeyCode(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxKeyEvent_GetRawKeyCode(_swigobj)  (_swigobj->GetRawKeyCode())
+static PyObject *_wrap_wxKeyEvent_GetRawKeyCode(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     long  _result;
     wxKeyEvent * _arg0;
@@ -2863,48 +3933,50 @@ static PyObject *_wrap_wxKeyEvent_GetKeyCode(PyObject *self, PyObject *args, PyO
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_GetKeyCode",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_GetRawKeyCode",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxKeyEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_GetKeyCode. Expected _wxKeyEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_GetRawKeyCode. Expected _wxKeyEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxKeyEvent_GetKeyCode(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_GetRawKeyCode(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
-#define wxKeyEvent_HasModifiers(_swigobj)  (_swigobj->HasModifiers())
-static PyObject *_wrap_wxKeyEvent_HasModifiers(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxKeyEvent_GetRawKeyFlags(_swigobj)  (_swigobj->GetRawKeyFlags())
+static PyObject *_wrap_wxKeyEvent_GetRawKeyFlags(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    long  _result;
     wxKeyEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_HasModifiers",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_GetRawKeyFlags",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxKeyEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_HasModifiers. Expected _wxKeyEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_GetRawKeyFlags. Expected _wxKeyEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_HasModifiers(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_GetRawKeyFlags(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 
@@ -2927,10 +3999,11 @@ static PyObject *_wrap_wxKeyEvent_GetX(PyObject *self, PyObject *args, PyObject
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxKeyEvent_GetX(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_GetX(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
@@ -2954,10 +4027,11 @@ static PyObject *_wrap_wxKeyEvent_GetY(PyObject *self, PyObject *args, PyObject
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxKeyEvent_GetY(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_GetY(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
@@ -2982,10 +4056,11 @@ static PyObject *_wrap_wxKeyEvent_GetPosition(PyObject *self, PyObject *args, Py
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = new wxPoint (wxKeyEvent_GetPosition(_arg0));
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxPoint (wxKeyEvent_GetPosition(_arg0));
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
@@ -3019,10 +4094,11 @@ static PyObject *_wrap_wxKeyEvent_GetPositionTuple(PyObject *self, PyObject *arg
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxKeyEvent_GetPositionTuple(_arg0,_arg1,_arg2);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxKeyEvent_GetPositionTuple(_arg0,_arg1,_arg2);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
@@ -3058,10 +4134,11 @@ static PyObject *_wrap_wxKeyEvent_m_x_set(PyObject *self, PyObject *args, PyObje
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxKeyEvent_m_x_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_m_x_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
@@ -3085,10 +4162,11 @@ static PyObject *_wrap_wxKeyEvent_m_x_get(PyObject *self, PyObject *args, PyObje
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxKeyEvent_m_x_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_m_x_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
@@ -3113,10 +4191,11 @@ static PyObject *_wrap_wxKeyEvent_m_y_set(PyObject *self, PyObject *args, PyObje
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxKeyEvent_m_y_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_m_y_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
@@ -3140,10 +4219,11 @@ static PyObject *_wrap_wxKeyEvent_m_y_get(PyObject *self, PyObject *args, PyObje
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxKeyEvent_m_y_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_m_y_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
@@ -3168,10 +4248,11 @@ static PyObject *_wrap_wxKeyEvent_m_keyCode_set(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxKeyEvent_m_keyCode_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_m_keyCode_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
@@ -3195,10 +4276,11 @@ static PyObject *_wrap_wxKeyEvent_m_keyCode_get(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxKeyEvent_m_keyCode_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_m_keyCode_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
@@ -3225,10 +4307,11 @@ static PyObject *_wrap_wxKeyEvent_m_controlDown_set(PyObject *self, PyObject *ar
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_m_controlDown_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_m_controlDown_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -3252,10 +4335,11 @@ static PyObject *_wrap_wxKeyEvent_m_controlDown_get(PyObject *self, PyObject *ar
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_m_controlDown_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_m_controlDown_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -3282,10 +4366,11 @@ static PyObject *_wrap_wxKeyEvent_m_shiftDown_set(PyObject *self, PyObject *args
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_m_shiftDown_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_m_shiftDown_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -3309,10 +4394,11 @@ static PyObject *_wrap_wxKeyEvent_m_shiftDown_get(PyObject *self, PyObject *args
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_m_shiftDown_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_m_shiftDown_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -3339,10 +4425,11 @@ static PyObject *_wrap_wxKeyEvent_m_altDown_set(PyObject *self, PyObject *args,
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_m_altDown_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_m_altDown_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -3366,10 +4453,11 @@ static PyObject *_wrap_wxKeyEvent_m_altDown_get(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_m_altDown_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_m_altDown_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -3396,10 +4484,11 @@ static PyObject *_wrap_wxKeyEvent_m_metaDown_set(PyObject *self, PyObject *args,
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_m_metaDown_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_m_metaDown_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -3423,10 +4512,11 @@ static PyObject *_wrap_wxKeyEvent_m_metaDown_get(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_m_metaDown_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_m_metaDown_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -3453,10 +4543,11 @@ static PyObject *_wrap_wxKeyEvent_m_scanCode_set(PyObject *self, PyObject *args,
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_m_scanCode_set(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_m_scanCode_set(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -3480,14 +4571,129 @@ static PyObject *_wrap_wxKeyEvent_m_scanCode_get(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxKeyEvent_m_scanCode_get(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxKeyEvent_m_scanCode_get(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
+#define wxKeyEvent_m_rawCode_set(_swigobj,_swigval) (_swigobj->m_rawCode = _swigval,_swigval)
+static PyObject *_wrap_wxKeyEvent_m_rawCode_set(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxKeyEvent * _arg0;
+    long  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","m_rawCode", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxKeyEvent_m_rawCode_set",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxKeyEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_m_rawCode_set. Expected _wxKeyEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_m_rawCode_set(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+#define wxKeyEvent_m_rawCode_get(_swigobj) ((long ) _swigobj->m_rawCode)
+static PyObject *_wrap_wxKeyEvent_m_rawCode_get(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxKeyEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_m_rawCode_get",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxKeyEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_m_rawCode_get. Expected _wxKeyEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_m_rawCode_get(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+#define wxKeyEvent_m_rawFlags_set(_swigobj,_swigval) (_swigobj->m_rawFlags = _swigval,_swigval)
+static PyObject *_wrap_wxKeyEvent_m_rawFlags_set(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxKeyEvent * _arg0;
+    long  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","m_rawFlags", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol:wxKeyEvent_m_rawFlags_set",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxKeyEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_m_rawFlags_set. Expected _wxKeyEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_m_rawFlags_set(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+#define wxKeyEvent_m_rawFlags_get(_swigobj) ((long ) _swigobj->m_rawFlags)
+static PyObject *_wrap_wxKeyEvent_m_rawFlags_get(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxKeyEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_m_rawFlags_get",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxKeyEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_m_rawFlags_get. Expected _wxKeyEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxKeyEvent_m_rawFlags_get(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
 static void *SwigwxNavigationKeyEventTowxEvent(void *ptr) {
     wxNavigationKeyEvent *src;
     wxEvent *dest;
@@ -3496,6 +4702,14 @@ static void *SwigwxNavigationKeyEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxNavigationKeyEventTowxObject(void *ptr) {
+    wxNavigationKeyEvent *src;
+    wxObject *dest;
+    src = (wxNavigationKeyEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxNavigationKeyEvent() (new wxNavigationKeyEvent())
 static PyObject *_wrap_new_wxNavigationKeyEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -3507,10 +4721,11 @@ static PyObject *_wrap_new_wxNavigationKeyEvent(PyObject *self, PyObject *args,
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxNavigationKeyEvent",_kwnames)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxNavigationKeyEvent *)new_wxNavigationKeyEvent();
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxNavigationKeyEvent *)new_wxNavigationKeyEvent();
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxNavigationKeyEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -3540,10 +4755,11 @@ static PyObject *_wrap_wxNavigationKeyEvent_GetDirection(PyObject *self, PyObjec
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxNavigationKeyEvent_GetDirection(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxNavigationKeyEvent_GetDirection(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -3569,10 +4785,11 @@ static PyObject *_wrap_wxNavigationKeyEvent_SetDirection(PyObject *self, PyObjec
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxNavigationKeyEvent_SetDirection(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxNavigationKeyEvent_SetDirection(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -3597,10 +4814,11 @@ static PyObject *_wrap_wxNavigationKeyEvent_IsWindowChange(PyObject *self, PyObj
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxNavigationKeyEvent_IsWindowChange(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxNavigationKeyEvent_IsWindowChange(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -3626,10 +4844,11 @@ static PyObject *_wrap_wxNavigationKeyEvent_SetWindowChange(PyObject *self, PyOb
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxNavigationKeyEvent_SetWindowChange(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxNavigationKeyEvent_SetWindowChange(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -3642,7 +4861,6 @@ static PyObject *_wrap_wxNavigationKeyEvent_GetCurrentFocus(PyObject *self, PyOb
     wxNavigationKeyEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
-    char _ptemp[128];
 
     self = self;
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxNavigationKeyEvent_GetCurrentFocus",_kwnames,&_argo0)) 
@@ -3655,17 +4873,12 @@ static PyObject *_wrap_wxNavigationKeyEvent_GetCurrentFocus(PyObject *self, PyOb
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxWindow *)wxNavigationKeyEvent_GetCurrentFocus(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxWindow *)wxNavigationKeyEvent_GetCurrentFocus(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
     return _resultobj;
 }
 
@@ -3696,10 +4909,11 @@ static PyObject *_wrap_wxNavigationKeyEvent_SetCurrentFocus(PyObject *self, PyOb
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxNavigationKeyEvent_SetCurrentFocus(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxNavigationKeyEvent_SetCurrentFocus(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -3713,6 +4927,14 @@ static void *SwigwxMoveEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxMoveEventTowxObject(void *ptr) {
+    wxMoveEvent *src;
+    wxObject *dest;
+    src = (wxMoveEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxMoveEvent(_swigarg0,_swigarg1) (new wxMoveEvent(_swigarg0,_swigarg1))
 static PyObject *_wrap_new_wxMoveEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -3733,10 +4955,11 @@ static PyObject *_wrap_new_wxMoveEvent(PyObject *self, PyObject *args, PyObject
         return NULL;
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxMoveEvent *)new_wxMoveEvent(*_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxMoveEvent *)new_wxMoveEvent(*_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxMoveEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -3767,15 +4990,82 @@ static PyObject *_wrap_wxMoveEvent_GetPosition(PyObject *self, PyObject *args, P
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = new wxPoint (wxMoveEvent_GetPosition(_arg0));
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxPoint (wxMoveEvent_GetPosition(_arg0));
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
 }
 
+#define wxMoveEvent_GetRect(_swigobj)  (_swigobj->GetRect())
+static PyObject *_wrap_wxMoveEvent_GetRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxRect * _result;
+    wxMoveEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMoveEvent_GetRect",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMoveEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMoveEvent_GetRect. Expected _wxMoveEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxRect (wxMoveEvent_GetRect(_arg0));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxRect_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+    return _resultobj;
+}
+
+#define wxMoveEvent_SetRect(_swigobj,_swigarg0)  (_swigobj->SetRect(_swigarg0))
+static PyObject *_wrap_wxMoveEvent_SetRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMoveEvent * _arg0;
+    wxRect * _arg1;
+    PyObject * _argo0 = 0;
+    wxRect  temp;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","rect", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMoveEvent_SetRect",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMoveEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMoveEvent_SetRect. Expected _wxMoveEvent_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = &temp;
+    if (! wxRect_helper(_obj1, &_arg1))
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxMoveEvent_SetRect(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
 static void *SwigwxPaintEventTowxEvent(void *ptr) {
     wxPaintEvent *src;
     wxEvent *dest;
@@ -3784,6 +5074,14 @@ static void *SwigwxPaintEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxPaintEventTowxObject(void *ptr) {
+    wxPaintEvent *src;
+    wxObject *dest;
+    src = (wxPaintEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxPaintEvent(_swigarg0) (new wxPaintEvent(_swigarg0))
 static PyObject *_wrap_new_wxPaintEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -3796,10 +5094,11 @@ static PyObject *_wrap_new_wxPaintEvent(PyObject *self, PyObject *args, PyObject
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxPaintEvent",_kwnames,&_arg0)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxPaintEvent *)new_wxPaintEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPaintEvent *)new_wxPaintEvent(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxPaintEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -3818,6 +5117,14 @@ static void *SwigwxEraseEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxEraseEventTowxObject(void *ptr) {
+    wxEraseEvent *src;
+    wxObject *dest;
+    src = (wxEraseEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxEraseEvent(_swigarg0,_swigarg1) (new wxEraseEvent(_swigarg0,_swigarg1))
 static PyObject *_wrap_new_wxEraseEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -3839,10 +5146,11 @@ static PyObject *_wrap_new_wxEraseEvent(PyObject *self, PyObject *args, PyObject
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxEraseEvent *)new_wxEraseEvent(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxEraseEvent *)new_wxEraseEvent(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxEraseEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -3860,7 +5168,6 @@ static PyObject *_wrap_wxEraseEvent_GetDC(PyObject *self, PyObject *args, PyObje
     wxEraseEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
-    char _ptemp[128];
 
     self = self;
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxEraseEvent_GetDC",_kwnames,&_argo0)) 
@@ -3873,17 +5180,12 @@ static PyObject *_wrap_wxEraseEvent_GetDC(PyObject *self, PyObject *args, PyObje
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxDC *)wxEraseEvent_GetDC(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDC *)wxEraseEvent_GetDC(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxDC_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
     return _resultobj;
 }
 
@@ -3895,23 +5197,32 @@ static void *SwigwxFocusEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxFocusEventTowxObject(void *ptr) {
+    wxFocusEvent *src;
+    wxObject *dest;
+    src = (wxFocusEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxFocusEvent(_swigarg0,_swigarg1) (new wxFocusEvent(_swigarg0,_swigarg1))
 static PyObject *_wrap_new_wxFocusEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxFocusEvent * _result;
-    WXTYPE  _arg0 = (WXTYPE ) 0;
+    int  _arg0 = (int ) 0;
     int  _arg1 = (int ) 0;
     char *_kwnames[] = { "eventType","id", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|hi:new_wxFocusEvent",_kwnames,&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxFocusEvent",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxFocusEvent *)new_wxFocusEvent(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxFocusEvent *)new_wxFocusEvent(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxFocusEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -3922,6 +5233,93 @@ static PyObject *_wrap_new_wxFocusEvent(PyObject *self, PyObject *args, PyObject
     return _resultobj;
 }
 
+static void *SwigwxChildFocusEventTowxCommandEvent(void *ptr) {
+    wxChildFocusEvent *src;
+    wxCommandEvent *dest;
+    src = (wxChildFocusEvent *) ptr;
+    dest = (wxCommandEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxChildFocusEventTowxEvent(void *ptr) {
+    wxChildFocusEvent *src;
+    wxEvent *dest;
+    src = (wxChildFocusEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxChildFocusEventTowxObject(void *ptr) {
+    wxChildFocusEvent *src;
+    wxObject *dest;
+    src = (wxChildFocusEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxChildFocusEvent(_swigarg0) (new wxChildFocusEvent(_swigarg0))
+static PyObject *_wrap_new_wxChildFocusEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxChildFocusEvent * _result;
+    wxWindow * _arg0 = (wxWindow *) NULL;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "win", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxChildFocusEvent",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxChildFocusEvent. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxChildFocusEvent *)new_wxChildFocusEvent(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxChildFocusEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxChildFocusEvent_GetWindow(_swigobj)  (_swigobj->GetWindow())
+static PyObject *_wrap_wxChildFocusEvent_GetWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxWindow * _result;
+    wxChildFocusEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxChildFocusEvent_GetWindow",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxChildFocusEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxChildFocusEvent_GetWindow. Expected _wxChildFocusEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxWindow *)wxChildFocusEvent_GetWindow(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+    return _resultobj;
+}
+
 static void *SwigwxActivateEventTowxEvent(void *ptr) {
     wxActivateEvent *src;
     wxEvent *dest;
@@ -3930,24 +5328,33 @@ static void *SwigwxActivateEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxActivateEventTowxObject(void *ptr) {
+    wxActivateEvent *src;
+    wxObject *dest;
+    src = (wxActivateEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxActivateEvent(_swigarg0,_swigarg1,_swigarg2) (new wxActivateEvent(_swigarg0,_swigarg1,_swigarg2))
 static PyObject *_wrap_new_wxActivateEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxActivateEvent * _result;
-    WXTYPE  _arg0 = (WXTYPE ) 0;
+    int  _arg0 = (int ) 0;
     int  _arg1 = (int ) TRUE;
     int  _arg2 = (int ) 0;
     char *_kwnames[] = { "eventType","active","id", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|hii:new_wxActivateEvent",_kwnames,&_arg0,&_arg1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iii:new_wxActivateEvent",_kwnames,&_arg0,&_arg1,&_arg2)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxActivateEvent *)new_wxActivateEvent(_arg0,_arg1,_arg2);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxActivateEvent *)new_wxActivateEvent(_arg0,_arg1,_arg2);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxActivateEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -3977,10 +5384,11 @@ static PyObject *_wrap_wxActivateEvent_GetActive(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxActivateEvent_GetActive(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxActivateEvent_GetActive(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -3993,6 +5401,14 @@ static void *SwigwxInitDialogEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxInitDialogEventTowxObject(void *ptr) {
+    wxInitDialogEvent *src;
+    wxObject *dest;
+    src = (wxInitDialogEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxInitDialogEvent(_swigarg0) (new wxInitDialogEvent(_swigarg0))
 static PyObject *_wrap_new_wxInitDialogEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -4005,10 +5421,11 @@ static PyObject *_wrap_new_wxInitDialogEvent(PyObject *self, PyObject *args, PyO
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxInitDialogEvent",_kwnames,&_arg0)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxInitDialogEvent *)new_wxInitDialogEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxInitDialogEvent *)new_wxInitDialogEvent(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxInitDialogEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -4027,23 +5444,41 @@ static void *SwigwxMenuEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
-#define new_wxMenuEvent(_swigarg0,_swigarg1) (new wxMenuEvent(_swigarg0,_swigarg1))
+static void *SwigwxMenuEventTowxObject(void *ptr) {
+    wxMenuEvent *src;
+    wxObject *dest;
+    src = (wxMenuEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxMenuEvent(_swigarg0,_swigarg1,_swigarg2) (new wxMenuEvent(_swigarg0,_swigarg1,_swigarg2))
 static PyObject *_wrap_new_wxMenuEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxMenuEvent * _result;
-    WXTYPE  _arg0 = (WXTYPE ) 0;
+    int  _arg0 = (int ) 0;
     int  _arg1 = (int ) 0;
-    char *_kwnames[] = { "id","id", NULL };
+    wxMenu * _arg2 = (wxMenu *) NULL;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "id","winid","menu", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|hi:new_wxMenuEvent",_kwnames,&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iiO:new_wxMenuEvent",_kwnames,&_arg0,&_arg1,&_argo2)) 
         return NULL;
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxMenu_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxMenuEvent. Expected _wxMenu_p.");
+        return NULL;
+        }
+    }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxMenuEvent *)new_wxMenuEvent(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxMenuEvent *)new_wxMenuEvent(_arg0,_arg1,_arg2);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxMenuEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -4073,14 +5508,71 @@ static PyObject *_wrap_wxMenuEvent_GetMenuId(PyObject *self, PyObject *args, PyO
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxMenuEvent_GetMenuId(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxMenuEvent_GetMenuId(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxMenuEvent_IsPopup(_swigobj)  (_swigobj->IsPopup())
+static PyObject *_wrap_wxMenuEvent_IsPopup(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMenuEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMenuEvent_IsPopup",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMenuEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMenuEvent_IsPopup. Expected _wxMenuEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxMenuEvent_IsPopup(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
+#define wxMenuEvent_GetMenu(_swigobj)  (_swigobj->GetMenu())
+static PyObject *_wrap_wxMenuEvent_GetMenu(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMenu * _result;
+    wxMenuEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMenuEvent_GetMenu",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMenuEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMenuEvent_GetMenu. Expected _wxMenuEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxMenu *)wxMenuEvent_GetMenu(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+    return _resultobj;
+}
+
 static void *SwigwxShowEventTowxEvent(void *ptr) {
     wxShowEvent *src;
     wxEvent *dest;
@@ -4089,6 +5581,14 @@ static void *SwigwxShowEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxShowEventTowxObject(void *ptr) {
+    wxShowEvent *src;
+    wxObject *dest;
+    src = (wxShowEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxShowEvent(_swigarg0,_swigarg1) (new wxShowEvent(_swigarg0,_swigarg1))
 static PyObject *_wrap_new_wxShowEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -4102,10 +5602,11 @@ static PyObject *_wrap_new_wxShowEvent(PyObject *self, PyObject *args, PyObject
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxShowEvent",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxShowEvent *)new_wxShowEvent(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxShowEvent *)new_wxShowEvent(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxShowEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -4137,10 +5638,11 @@ static PyObject *_wrap_wxShowEvent_SetShow(PyObject *self, PyObject *args, PyObj
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxShowEvent_SetShow(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxShowEvent_SetShow(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -4165,10 +5667,11 @@ static PyObject *_wrap_wxShowEvent_GetShow(PyObject *self, PyObject *args, PyObj
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxShowEvent_GetShow(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxShowEvent_GetShow(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4181,22 +5684,34 @@ static void *SwigwxIconizeEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
-#define new_wxIconizeEvent(_swigarg0) (new wxIconizeEvent(_swigarg0))
+static void *SwigwxIconizeEventTowxObject(void *ptr) {
+    wxIconizeEvent *src;
+    wxObject *dest;
+    src = (wxIconizeEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxIconizeEvent(_swigarg0,_swigarg1) (new wxIconizeEvent(_swigarg0,_swigarg1))
 static PyObject *_wrap_new_wxIconizeEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxIconizeEvent * _result;
     int  _arg0 = (int ) 0;
-    char *_kwnames[] = { "id", NULL };
+    bool  _arg1 = (bool ) TRUE;
+    int tempbool1 = (int) TRUE;
+    char *_kwnames[] = { "id","iconized", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxIconizeEvent",_kwnames,&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxIconizeEvent",_kwnames,&_arg0,&tempbool1)) 
         return NULL;
+    _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxIconizeEvent *)new_wxIconizeEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxIconizeEvent *)new_wxIconizeEvent(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxIconizeEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -4207,6 +5722,34 @@ static PyObject *_wrap_new_wxIconizeEvent(PyObject *self, PyObject *args, PyObje
     return _resultobj;
 }
 
+#define wxIconizeEvent_Iconized(_swigobj)  (_swigobj->Iconized())
+static PyObject *_wrap_wxIconizeEvent_Iconized(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxIconizeEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxIconizeEvent_Iconized",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIconizeEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIconizeEvent_Iconized. Expected _wxIconizeEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxIconizeEvent_Iconized(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
 static void *SwigwxMaximizeEventTowxEvent(void *ptr) {
     wxMaximizeEvent *src;
     wxEvent *dest;
@@ -4215,6 +5758,14 @@ static void *SwigwxMaximizeEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxMaximizeEventTowxObject(void *ptr) {
+    wxMaximizeEvent *src;
+    wxObject *dest;
+    src = (wxMaximizeEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxMaximizeEvent(_swigarg0) (new wxMaximizeEvent(_swigarg0))
 static PyObject *_wrap_new_wxMaximizeEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -4227,10 +5778,11 @@ static PyObject *_wrap_new_wxMaximizeEvent(PyObject *self, PyObject *args, PyObj
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxMaximizeEvent",_kwnames,&_arg0)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxMaximizeEvent *)new_wxMaximizeEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxMaximizeEvent *)new_wxMaximizeEvent(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxMaximizeEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -4249,6 +5801,14 @@ static void *SwigwxJoystickEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxJoystickEventTowxObject(void *ptr) {
+    wxJoystickEvent *src;
+    wxObject *dest;
+    src = (wxJoystickEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxJoystickEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxJoystickEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
 static PyObject *_wrap_new_wxJoystickEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -4264,10 +5824,11 @@ static PyObject *_wrap_new_wxJoystickEvent(PyObject *self, PyObject *args, PyObj
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iiii:new_wxJoystickEvent",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxJoystickEvent *)new_wxJoystickEvent(_arg0,_arg1,_arg2,_arg3);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxJoystickEvent *)new_wxJoystickEvent(_arg0,_arg1,_arg2,_arg3);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxJoystickEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -4298,10 +5859,11 @@ static PyObject *_wrap_wxJoystickEvent_GetPosition(PyObject *self, PyObject *arg
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = new wxPoint (wxJoystickEvent_GetPosition(_arg0));
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxPoint (wxJoystickEvent_GetPosition(_arg0));
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
@@ -4326,10 +5888,11 @@ static PyObject *_wrap_wxJoystickEvent_GetZPosition(PyObject *self, PyObject *ar
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxJoystickEvent_GetZPosition(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxJoystickEvent_GetZPosition(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4353,10 +5916,11 @@ static PyObject *_wrap_wxJoystickEvent_GetButtonState(PyObject *self, PyObject *
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxJoystickEvent_GetButtonState(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxJoystickEvent_GetButtonState(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4380,10 +5944,11 @@ static PyObject *_wrap_wxJoystickEvent_GetButtonChange(PyObject *self, PyObject
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxJoystickEvent_GetButtonChange(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxJoystickEvent_GetButtonChange(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4407,10 +5972,11 @@ static PyObject *_wrap_wxJoystickEvent_GetJoystick(PyObject *self, PyObject *arg
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxJoystickEvent_GetJoystick(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxJoystickEvent_GetJoystick(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4434,10 +6000,11 @@ static PyObject *_wrap_wxJoystickEvent_SetJoystick(PyObject *self, PyObject *arg
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxJoystickEvent_SetJoystick(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxJoystickEvent_SetJoystick(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -4462,10 +6029,11 @@ static PyObject *_wrap_wxJoystickEvent_SetButtonState(PyObject *self, PyObject *
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxJoystickEvent_SetButtonState(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxJoystickEvent_SetButtonState(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -4490,10 +6058,11 @@ static PyObject *_wrap_wxJoystickEvent_SetButtonChange(PyObject *self, PyObject
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxJoystickEvent_SetButtonChange(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxJoystickEvent_SetButtonChange(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -4525,10 +6094,11 @@ static PyObject *_wrap_wxJoystickEvent_SetPosition(PyObject *self, PyObject *arg
         return NULL;
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxJoystickEvent_SetPosition(_arg0,*_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxJoystickEvent_SetPosition(_arg0,*_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -4553,10 +6123,11 @@ static PyObject *_wrap_wxJoystickEvent_SetZPosition(PyObject *self, PyObject *ar
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxJoystickEvent_SetZPosition(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxJoystickEvent_SetZPosition(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -4581,10 +6152,11 @@ static PyObject *_wrap_wxJoystickEvent_IsButton(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxJoystickEvent_IsButton(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxJoystickEvent_IsButton(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4608,10 +6180,11 @@ static PyObject *_wrap_wxJoystickEvent_IsMove(PyObject *self, PyObject *args, Py
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxJoystickEvent_IsMove(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxJoystickEvent_IsMove(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4635,10 +6208,11 @@ static PyObject *_wrap_wxJoystickEvent_IsZMove(PyObject *self, PyObject *args, P
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxJoystickEvent_IsZMove(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxJoystickEvent_IsZMove(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4663,10 +6237,11 @@ static PyObject *_wrap_wxJoystickEvent_ButtonDown(PyObject *self, PyObject *args
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxJoystickEvent_ButtonDown(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxJoystickEvent_ButtonDown(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4691,10 +6266,11 @@ static PyObject *_wrap_wxJoystickEvent_ButtonUp(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxJoystickEvent_ButtonUp(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxJoystickEvent_ButtonUp(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4719,10 +6295,11 @@ static PyObject *_wrap_wxJoystickEvent_ButtonIsDown(PyObject *self, PyObject *ar
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxJoystickEvent_ButtonIsDown(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxJoystickEvent_ButtonIsDown(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4735,6 +6312,14 @@ static void *SwigwxDropFilesEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxDropFilesEventTowxObject(void *ptr) {
+    wxDropFilesEvent *src;
+    wxObject *dest;
+    src = (wxDropFilesEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define wxDropFilesEvent_GetPosition(_swigobj)  (_swigobj->GetPosition())
 static PyObject *_wrap_wxDropFilesEvent_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -4755,10 +6340,11 @@ static PyObject *_wrap_wxDropFilesEvent_GetPosition(PyObject *self, PyObject *ar
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = new wxPoint (wxDropFilesEvent_GetPosition(_arg0));
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxPoint (wxDropFilesEvent_GetPosition(_arg0));
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
     return _resultobj;
@@ -4783,10 +6369,11 @@ static PyObject *_wrap_wxDropFilesEvent_GetNumberOfFiles(PyObject *self, PyObjec
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxDropFilesEvent_GetNumberOfFiles(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxDropFilesEvent_GetNumberOfFiles(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4802,7 +6389,11 @@ static PyObject * wxDropFilesEvent_GetFiles(wxDropFilesEvent *self) {
             }
 
             for (int i=0; i<count; i++) {
+#if wxUSE_UNICODE
+                PyList_SetItem(list, i, PyUnicode_FromWideChar(files[i], files[i].Len()));
+#else
                 PyList_SetItem(list, i, PyString_FromString((const char*)files[i]));
+#endif
             }
             return list;
         }
@@ -4824,10 +6415,11 @@ static PyObject *_wrap_wxDropFilesEvent_GetFiles(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (PyObject *)wxDropFilesEvent_GetFiles(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (PyObject *)wxDropFilesEvent_GetFiles(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }{
   _resultobj = _result;
 }
@@ -4842,6 +6434,14 @@ static void *SwigwxIdleEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxIdleEventTowxObject(void *ptr) {
+    wxIdleEvent *src;
+    wxObject *dest;
+    src = (wxIdleEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxIdleEvent() (new wxIdleEvent())
 static PyObject *_wrap_new_wxIdleEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -4853,10 +6453,11 @@ static PyObject *_wrap_new_wxIdleEvent(PyObject *self, PyObject *args, PyObject
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxIdleEvent",_kwnames)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxIdleEvent *)new_wxIdleEvent();
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxIdleEvent *)new_wxIdleEvent();
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxIdleEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -4888,10 +6489,11 @@ static PyObject *_wrap_wxIdleEvent_RequestMore(PyObject *self, PyObject *args, P
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxIdleEvent_RequestMore(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxIdleEvent_RequestMore(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -4916,10 +6518,75 @@ static PyObject *_wrap_wxIdleEvent_MoreRequested(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxIdleEvent_MoreRequested(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxIdleEvent_MoreRequested(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxIdleEvent_SetMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxIdleMode  _arg0;
+    char *_kwnames[] = { "mode", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:wxIdleEvent_SetMode",_kwnames,&_arg0)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxIdleEvent::SetMode(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxIdleEvent_GetMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxIdleMode  _result;
+    char *_kwnames[] = {  NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxIdleEvent_GetMode",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxIdleMode )wxIdleEvent::GetMode();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxIdleEvent_CanSend(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxWindow * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "win", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxIdleEvent_CanSend",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIdleEvent_CanSend. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxIdleEvent::CanSend(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -4932,6 +6599,14 @@ static void *SwigwxUpdateUIEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxUpdateUIEventTowxObject(void *ptr) {
+    wxUpdateUIEvent *src;
+    wxObject *dest;
+    src = (wxUpdateUIEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxUpdateUIEvent(_swigarg0) (new wxUpdateUIEvent(_swigarg0))
 static PyObject *_wrap_new_wxUpdateUIEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -4944,10 +6619,11 @@ static PyObject *_wrap_new_wxUpdateUIEvent(PyObject *self, PyObject *args, PyObj
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxUpdateUIEvent",_kwnames,&_arg0)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxUpdateUIEvent *)new_wxUpdateUIEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxUpdateUIEvent *)new_wxUpdateUIEvent(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxUpdateUIEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -4977,10 +6653,11 @@ static PyObject *_wrap_wxUpdateUIEvent_GetChecked(PyObject *self, PyObject *args
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxUpdateUIEvent_GetChecked(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxUpdateUIEvent_GetChecked(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -5004,10 +6681,11 @@ static PyObject *_wrap_wxUpdateUIEvent_GetEnabled(PyObject *self, PyObject *args
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxUpdateUIEvent_GetEnabled(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxUpdateUIEvent_GetEnabled(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -5031,12 +6709,17 @@ static PyObject *_wrap_wxUpdateUIEvent_GetText(PyObject *self, PyObject *args, P
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = new wxString (wxUpdateUIEvent_GetText(_arg0));
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxUpdateUIEvent_GetText(_arg0));
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }{
+#if wxUSE_UNICODE
+    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
+#else
     _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+#endif
 }
 {
     delete _result;
@@ -5063,10 +6746,11 @@ static PyObject *_wrap_wxUpdateUIEvent_GetSetText(PyObject *self, PyObject *args
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxUpdateUIEvent_GetSetText(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxUpdateUIEvent_GetSetText(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -5090,10 +6774,11 @@ static PyObject *_wrap_wxUpdateUIEvent_GetSetChecked(PyObject *self, PyObject *a
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxUpdateUIEvent_GetSetChecked(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxUpdateUIEvent_GetSetChecked(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -5117,10 +6802,11 @@ static PyObject *_wrap_wxUpdateUIEvent_GetSetEnabled(PyObject *self, PyObject *a
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxUpdateUIEvent_GetSetEnabled(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxUpdateUIEvent_GetSetEnabled(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -5146,10 +6832,11 @@ static PyObject *_wrap_wxUpdateUIEvent_Check(PyObject *self, PyObject *args, PyO
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxUpdateUIEvent_Check(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxUpdateUIEvent_Check(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -5176,10 +6863,11 @@ static PyObject *_wrap_wxUpdateUIEvent_Enable(PyObject *self, PyObject *args, Py
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxUpdateUIEvent_Enable(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxUpdateUIEvent_Enable(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -5205,17 +6893,16 @@ static PyObject *_wrap_wxUpdateUIEvent_SetText(PyObject *self, PyObject *args, P
         }
     }
 {
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
         return NULL;
-    }
-    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxUpdateUIEvent_SetText(_arg0,*_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxUpdateUIEvent_SetText(_arg0,*_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
 {
@@ -5225,6 +6912,125 @@ static PyObject *_wrap_wxUpdateUIEvent_SetText(PyObject *self, PyObject *args, P
     return _resultobj;
 }
 
+static PyObject *_wrap_wxUpdateUIEvent_SetUpdateInterval(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _arg0;
+    char *_kwnames[] = { "updateInterval", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"l:wxUpdateUIEvent_SetUpdateInterval",_kwnames,&_arg0)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxUpdateUIEvent::SetUpdateInterval(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxUpdateUIEvent_GetUpdateInterval(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    char *_kwnames[] = {  NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxUpdateUIEvent_GetUpdateInterval",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxUpdateUIEvent::GetUpdateInterval();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxUpdateUIEvent_CanUpdate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxWindow * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "win", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxUpdateUIEvent_CanUpdate",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxUpdateUIEvent_CanUpdate. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxUpdateUIEvent::CanUpdate(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxUpdateUIEvent_ResetUpdateTime(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    char *_kwnames[] = {  NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxUpdateUIEvent_ResetUpdateTime",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxUpdateUIEvent::ResetUpdateTime();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxUpdateUIEvent_SetMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxUpdateUIMode  _arg0;
+    char *_kwnames[] = { "mode", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:wxUpdateUIEvent_SetMode",_kwnames,&_arg0)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxUpdateUIEvent::SetMode(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxUpdateUIEvent_GetMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxUpdateUIMode  _result;
+    char *_kwnames[] = {  NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxUpdateUIEvent_GetMode",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxUpdateUIMode )wxUpdateUIEvent::GetMode();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
 static void *SwigwxSysColourChangedEventTowxEvent(void *ptr) {
     wxSysColourChangedEvent *src;
     wxEvent *dest;
@@ -5233,6 +7039,14 @@ static void *SwigwxSysColourChangedEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxSysColourChangedEventTowxObject(void *ptr) {
+    wxSysColourChangedEvent *src;
+    wxObject *dest;
+    src = (wxSysColourChangedEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxSysColourChangedEvent() (new wxSysColourChangedEvent())
 static PyObject *_wrap_new_wxSysColourChangedEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -5244,10 +7058,11 @@ static PyObject *_wrap_new_wxSysColourChangedEvent(PyObject *self, PyObject *arg
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxSysColourChangedEvent",_kwnames)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxSysColourChangedEvent *)new_wxSysColourChangedEvent();
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxSysColourChangedEvent *)new_wxSysColourChangedEvent();
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxSysColourChangedEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -5274,6 +7089,14 @@ static void *SwigwxNotifyEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxNotifyEventTowxObject(void *ptr) {
+    wxNotifyEvent *src;
+    wxObject *dest;
+    src = (wxNotifyEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxNotifyEvent(_swigarg0,_swigarg1) (new wxNotifyEvent(_swigarg0,_swigarg1))
 static PyObject *_wrap_new_wxNotifyEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -5287,10 +7110,11 @@ static PyObject *_wrap_new_wxNotifyEvent(PyObject *self, PyObject *args, PyObjec
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxNotifyEvent",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxNotifyEvent *)new_wxNotifyEvent(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxNotifyEvent *)new_wxNotifyEvent(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxNotifyEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -5301,30 +7125,59 @@ static PyObject *_wrap_new_wxNotifyEvent(PyObject *self, PyObject *args, PyObjec
     return _resultobj;
 }
 
-#define wxNotifyEvent_IsAllowed(_swigobj)  (_swigobj->IsAllowed())
-static PyObject *_wrap_wxNotifyEvent_IsAllowed(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxNotifyEvent_IsAllowed(_swigobj)  (_swigobj->IsAllowed())
+static PyObject *_wrap_wxNotifyEvent_IsAllowed(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxNotifyEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxNotifyEvent_IsAllowed",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxNotifyEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxNotifyEvent_IsAllowed. Expected _wxNotifyEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxNotifyEvent_IsAllowed(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxNotifyEvent_Allow(_swigobj)  (_swigobj->Allow())
+static PyObject *_wrap_wxNotifyEvent_Allow(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
     wxNotifyEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxNotifyEvent_IsAllowed",_kwnames,&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxNotifyEvent_Allow",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxNotifyEvent_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxNotifyEvent_IsAllowed. Expected _wxNotifyEvent_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxNotifyEvent_Allow. Expected _wxNotifyEvent_p.");
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxNotifyEvent_IsAllowed(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxNotifyEvent_Allow(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    _resultobj = Py_BuildValue("i",_result);
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
@@ -5346,15 +7199,58 @@ static PyObject *_wrap_wxNotifyEvent_Veto(PyObject *self, PyObject *args, PyObje
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxNotifyEvent_Veto(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxNotifyEvent_Veto(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }
 
+static void *SwigwxDisplayChangedEventTowxEvent(void *ptr) {
+    wxDisplayChangedEvent *src;
+    wxEvent *dest;
+    src = (wxDisplayChangedEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxDisplayChangedEventTowxObject(void *ptr) {
+    wxDisplayChangedEvent *src;
+    wxObject *dest;
+    src = (wxDisplayChangedEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxDisplayChangedEvent() (new wxDisplayChangedEvent())
+static PyObject *_wrap_new_wxDisplayChangedEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDisplayChangedEvent * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxDisplayChangedEvent",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDisplayChangedEvent *)new_wxDisplayChangedEvent();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxDisplayChangedEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
 static void *SwigwxPaletteChangedEventTowxEvent(void *ptr) {
     wxPaletteChangedEvent *src;
     wxEvent *dest;
@@ -5363,6 +7259,14 @@ static void *SwigwxPaletteChangedEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxPaletteChangedEventTowxObject(void *ptr) {
+    wxPaletteChangedEvent *src;
+    wxObject *dest;
+    src = (wxPaletteChangedEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxPaletteChangedEvent(_swigarg0) (new wxPaletteChangedEvent(_swigarg0))
 static PyObject *_wrap_new_wxPaletteChangedEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -5375,10 +7279,11 @@ static PyObject *_wrap_new_wxPaletteChangedEvent(PyObject *self, PyObject *args,
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxPaletteChangedEvent",_kwnames,&_arg0)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxPaletteChangedEvent *)new_wxPaletteChangedEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPaletteChangedEvent *)new_wxPaletteChangedEvent(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxPaletteChangedEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -5416,10 +7321,11 @@ static PyObject *_wrap_wxPaletteChangedEvent_SetChangedWindow(PyObject *self, Py
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxPaletteChangedEvent_SetChangedWindow(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxPaletteChangedEvent_SetChangedWindow(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -5432,7 +7338,6 @@ static PyObject *_wrap_wxPaletteChangedEvent_GetChangedWindow(PyObject *self, Py
     wxPaletteChangedEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
-    char _ptemp[128];
 
     self = self;
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPaletteChangedEvent_GetChangedWindow",_kwnames,&_argo0)) 
@@ -5445,17 +7350,12 @@ static PyObject *_wrap_wxPaletteChangedEvent_GetChangedWindow(PyObject *self, Py
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxWindow *)wxPaletteChangedEvent_GetChangedWindow(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxWindow *)wxPaletteChangedEvent_GetChangedWindow(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
     return _resultobj;
 }
 
@@ -5467,6 +7367,14 @@ static void *SwigwxQueryNewPaletteEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxQueryNewPaletteEventTowxObject(void *ptr) {
+    wxQueryNewPaletteEvent *src;
+    wxObject *dest;
+    src = (wxQueryNewPaletteEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxQueryNewPaletteEvent(_swigarg0) (new wxQueryNewPaletteEvent(_swigarg0))
 static PyObject *_wrap_new_wxQueryNewPaletteEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -5479,10 +7387,11 @@ static PyObject *_wrap_new_wxQueryNewPaletteEvent(PyObject *self, PyObject *args
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxQueryNewPaletteEvent",_kwnames,&_arg0)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxQueryNewPaletteEvent *)new_wxQueryNewPaletteEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxQueryNewPaletteEvent *)new_wxQueryNewPaletteEvent(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxQueryNewPaletteEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -5514,10 +7423,11 @@ static PyObject *_wrap_wxQueryNewPaletteEvent_SetPaletteRealized(PyObject *self,
     }
     _arg1 = (bool ) tempbool1;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxQueryNewPaletteEvent_SetPaletteRealized(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxQueryNewPaletteEvent_SetPaletteRealized(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -5542,10 +7452,11 @@ static PyObject *_wrap_wxQueryNewPaletteEvent_GetPaletteRealized(PyObject *self,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxQueryNewPaletteEvent_GetPaletteRealized(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxQueryNewPaletteEvent_GetPaletteRealized(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
@@ -5566,6 +7477,14 @@ static void *SwigwxWindowCreateEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxWindowCreateEventTowxObject(void *ptr) {
+    wxWindowCreateEvent *src;
+    wxObject *dest;
+    src = (wxWindowCreateEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxWindowCreateEvent(_swigarg0) (new wxWindowCreateEvent(_swigarg0))
 static PyObject *_wrap_new_wxWindowCreateEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -5586,10 +7505,11 @@ static PyObject *_wrap_new_wxWindowCreateEvent(PyObject *self, PyObject *args, P
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxWindowCreateEvent *)new_wxWindowCreateEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxWindowCreateEvent *)new_wxWindowCreateEvent(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindowCreateEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -5607,7 +7527,6 @@ static PyObject *_wrap_wxWindowCreateEvent_GetWindow(PyObject *self, PyObject *a
     wxWindowCreateEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
-    char _ptemp[128];
 
     self = self;
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxWindowCreateEvent_GetWindow",_kwnames,&_argo0)) 
@@ -5620,17 +7539,12 @@ static PyObject *_wrap_wxWindowCreateEvent_GetWindow(PyObject *self, PyObject *a
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxWindow *)wxWindowCreateEvent_GetWindow(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxWindow *)wxWindowCreateEvent_GetWindow(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
     return _resultobj;
 }
 
@@ -5650,6 +7564,14 @@ static void *SwigwxWindowDestroyEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxWindowDestroyEventTowxObject(void *ptr) {
+    wxWindowDestroyEvent *src;
+    wxObject *dest;
+    src = (wxWindowDestroyEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxWindowDestroyEvent(_swigarg0) (new wxWindowDestroyEvent(_swigarg0))
 static PyObject *_wrap_new_wxWindowDestroyEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -5670,10 +7592,11 @@ static PyObject *_wrap_new_wxWindowDestroyEvent(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxWindowDestroyEvent *)new_wxWindowDestroyEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxWindowDestroyEvent *)new_wxWindowDestroyEvent(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindowDestroyEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -5691,7 +7614,6 @@ static PyObject *_wrap_wxWindowDestroyEvent_GetWindow(PyObject *self, PyObject *
     wxWindowDestroyEvent * _arg0;
     PyObject * _argo0 = 0;
     char *_kwnames[] = { "self", NULL };
-    char _ptemp[128];
 
     self = self;
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxWindowDestroyEvent_GetWindow",_kwnames,&_argo0)) 
@@ -5704,12 +7626,104 @@ static PyObject *_wrap_wxWindowDestroyEvent_GetWindow(PyObject *self, PyObject *
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxWindow *)wxWindowDestroyEvent_GetWindow(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxWindow *)wxWindowDestroyEvent_GetWindow(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+    return _resultobj;
+}
+
+static void *SwigwxContextMenuEventTowxCommandEvent(void *ptr) {
+    wxContextMenuEvent *src;
+    wxCommandEvent *dest;
+    src = (wxContextMenuEvent *) ptr;
+    dest = (wxCommandEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxContextMenuEventTowxEvent(void *ptr) {
+    wxContextMenuEvent *src;
+    wxEvent *dest;
+    src = (wxContextMenuEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxContextMenuEventTowxObject(void *ptr) {
+    wxContextMenuEvent *src;
+    wxObject *dest;
+    src = (wxContextMenuEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxContextMenuEvent(_swigarg0,_swigarg1,_swigarg2) (new wxContextMenuEvent(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_new_wxContextMenuEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxContextMenuEvent * _result;
+    wxEventType  _arg0 = (wxEventType ) wxEVT_NULL;
+    wxWindowID  _arg1 = (wxWindowID ) 0;
+    wxPoint * _arg2 = (wxPoint *) &wxDefaultPosition;
+    wxPoint  temp;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "type","id","pt", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iiO:new_wxContextMenuEvent",_kwnames,&_arg0,&_arg1,&_obj2)) 
+        return NULL;
+    if (_obj2)
+{
+    _arg2 = &temp;
+    if (! wxPoint_helper(_obj2, &_arg2))
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxContextMenuEvent *)new_wxContextMenuEvent(_arg0,_arg1,*_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxContextMenuEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxContextMenuEvent_GetPosition(_swigobj)  (_swigobj->GetPosition())
+static PyObject *_wrap_wxContextMenuEvent_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPoint * _result;
+    wxContextMenuEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxContextMenuEvent_GetPosition",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxContextMenuEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxContextMenuEvent_GetPosition. Expected _wxContextMenuEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    const wxPoint & _result_ref = wxContextMenuEvent_GetPosition(_arg0);
+    _result = (wxPoint *) &_result_ref;
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPoint_p");
         _resultobj = Py_BuildValue("s",_ptemp);
     } else {
         Py_INCREF(Py_None);
@@ -5718,6 +7732,42 @@ static PyObject *_wrap_wxWindowDestroyEvent_GetWindow(PyObject *self, PyObject *
     return _resultobj;
 }
 
+#define wxContextMenuEvent_SetPosition(_swigobj,_swigarg0)  (_swigobj->SetPosition(_swigarg0))
+static PyObject *_wrap_wxContextMenuEvent_SetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxContextMenuEvent * _arg0;
+    wxPoint * _arg1;
+    PyObject * _argo0 = 0;
+    wxPoint  temp;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","pos", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxContextMenuEvent_SetPosition",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxContextMenuEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxContextMenuEvent_SetPosition. Expected _wxContextMenuEvent_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = &temp;
+    if (! wxPoint_helper(_obj1, &_arg1))
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxContextMenuEvent_SetPosition(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
 static void *SwigwxTimerEventTowxEvent(void *ptr) {
     wxTimerEvent *src;
     wxEvent *dest;
@@ -5726,6 +7776,14 @@ static void *SwigwxTimerEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxTimerEventTowxObject(void *ptr) {
+    wxTimerEvent *src;
+    wxObject *dest;
+    src = (wxTimerEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxTimerEvent(_swigarg0,_swigarg1) (new wxTimerEvent(_swigarg0,_swigarg1))
 static PyObject *_wrap_new_wxTimerEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -5739,10 +7797,11 @@ static PyObject *_wrap_new_wxTimerEvent(PyObject *self, PyObject *args, PyObject
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxTimerEvent",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxTimerEvent *)new_wxTimerEvent(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxTimerEvent *)new_wxTimerEvent(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxTimerEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -5772,14 +7831,161 @@ static PyObject *_wrap_wxTimerEvent_GetInterval(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxTimerEvent_GetInterval(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxTimerEvent_GetInterval(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
+static void *SwigwxTextUrlEventTowxCommandEvent(void *ptr) {
+    wxTextUrlEvent *src;
+    wxCommandEvent *dest;
+    src = (wxTextUrlEvent *) ptr;
+    dest = (wxCommandEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxTextUrlEventTowxEvent(void *ptr) {
+    wxTextUrlEvent *src;
+    wxEvent *dest;
+    src = (wxTextUrlEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxTextUrlEventTowxObject(void *ptr) {
+    wxTextUrlEvent *src;
+    wxObject *dest;
+    src = (wxTextUrlEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxTextUrlEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxTextUrlEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_new_wxTextUrlEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxTextUrlEvent * _result;
+    int  _arg0;
+    wxMouseEvent * _arg1;
+    long  _arg2;
+    long  _arg3;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "id","evtMouse","start","end", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iOll:new_wxTextUrlEvent",_kwnames,&_arg0,&_argo1,&_arg2,&_arg3)) 
+        return NULL;
+    if (_argo1) {
+        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxMouseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxTextUrlEvent. Expected _wxMouseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxTextUrlEvent *)new_wxTextUrlEvent(_arg0,*_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxTextUrlEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxTextUrlEvent_GetMouseEvent(_swigobj)  (_swigobj->GetMouseEvent())
+static PyObject *_wrap_wxTextUrlEvent_GetMouseEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMouseEvent * _result;
+    wxTextUrlEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextUrlEvent_GetMouseEvent",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextUrlEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextUrlEvent_GetMouseEvent. Expected _wxTextUrlEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    const wxMouseEvent & _result_ref = wxTextUrlEvent_GetMouseEvent(_arg0);
+    _result = (wxMouseEvent *) &_result_ref;
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+    return _resultobj;
+}
+
+#define wxTextUrlEvent_GetURLStart(_swigobj)  (_swigobj->GetURLStart())
+static PyObject *_wrap_wxTextUrlEvent_GetURLStart(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxTextUrlEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextUrlEvent_GetURLStart",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextUrlEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextUrlEvent_GetURLStart. Expected _wxTextUrlEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxTextUrlEvent_GetURLStart(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+#define wxTextUrlEvent_GetURLEnd(_swigobj)  (_swigobj->GetURLEnd())
+static PyObject *_wrap_wxTextUrlEvent_GetURLEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxTextUrlEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextUrlEvent_GetURLEnd",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextUrlEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextUrlEvent_GetURLEnd. Expected _wxTextUrlEvent_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxTextUrlEvent_GetURLEnd(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
 static void *SwigwxPyEventTowxEvent(void *ptr) {
     wxPyEvent *src;
     wxEvent *dest;
@@ -5788,22 +7994,32 @@ static void *SwigwxPyEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
-#define new_wxPyEvent(_swigarg0) (new wxPyEvent(_swigarg0))
+static void *SwigwxPyEventTowxObject(void *ptr) {
+    wxPyEvent *src;
+    wxObject *dest;
+    src = (wxPyEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxPyEvent(_swigarg0,_swigarg1) (new wxPyEvent(_swigarg0,_swigarg1))
 static PyObject *_wrap_new_wxPyEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxPyEvent * _result;
     int  _arg0 = (int ) 0;
-    char *_kwnames[] = { "id", NULL };
+    wxEventType  _arg1 = (wxEventType ) wxEVT_NULL;
+    char *_kwnames[] = { "winid","commandType", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxPyEvent",_kwnames,&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxPyEvent",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxPyEvent *)new_wxPyEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPyEvent *)new_wxPyEvent(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -5832,10 +8048,11 @@ static PyObject *_wrap_delete_wxPyEvent(PyObject *self, PyObject *args, PyObject
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        delete_wxPyEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    delete_wxPyEvent(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -5864,10 +8081,11 @@ static PyObject *_wrap_wxPyEvent_SetSelf(PyObject *self, PyObject *args, PyObjec
   _arg1 = _obj1;
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxPyEvent_SetSelf(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxPyEvent_SetSelf(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -5892,10 +8110,11 @@ static PyObject *_wrap_wxPyEvent_GetSelf(PyObject *self, PyObject *args, PyObjec
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (PyObject *)wxPyEvent_GetSelf(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (PyObject *)wxPyEvent_GetSelf(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }{
   _resultobj = _result;
 }
@@ -5918,6 +8137,14 @@ static void *SwigwxPyCommandEventTowxEvent(void *ptr) {
     return (void *) dest;
 }
 
+static void *SwigwxPyCommandEventTowxObject(void *ptr) {
+    wxPyCommandEvent *src;
+    wxObject *dest;
+    src = (wxPyCommandEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
 #define new_wxPyCommandEvent(_swigarg0,_swigarg1) (new wxPyCommandEvent(_swigarg0,_swigarg1))
 static PyObject *_wrap_new_wxPyCommandEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -5931,10 +8158,11 @@ static PyObject *_wrap_new_wxPyCommandEvent(PyObject *self, PyObject *args, PyOb
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxPyCommandEvent",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxPyCommandEvent *)new_wxPyCommandEvent(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPyCommandEvent *)new_wxPyCommandEvent(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyCommandEvent_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -5963,10 +8191,11 @@ static PyObject *_wrap_delete_wxPyCommandEvent(PyObject *self, PyObject *args, P
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        delete_wxPyCommandEvent(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    delete_wxPyCommandEvent(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -5995,10 +8224,11 @@ static PyObject *_wrap_wxPyCommandEvent_SetSelf(PyObject *self, PyObject *args,
   _arg1 = _obj1;
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxPyCommandEvent_SetSelf(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxPyCommandEvent_SetSelf(_arg0,_arg1);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -6023,10 +8253,11 @@ static PyObject *_wrap_wxPyCommandEvent_GetSelf(PyObject *self, PyObject *args,
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (PyObject *)wxPyCommandEvent_GetSelf(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (PyObject *)wxPyCommandEvent_GetSelf(_arg0);
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }{
   _resultobj = _result;
 }
@@ -6042,8 +8273,15 @@ static PyMethodDef eventscMethods[] = {
         { "wxPyEvent_SetSelf", (PyCFunction) _wrap_wxPyEvent_SetSelf, METH_VARARGS | METH_KEYWORDS },
         { "delete_wxPyEvent", (PyCFunction) _wrap_delete_wxPyEvent, METH_VARARGS | METH_KEYWORDS },
         { "new_wxPyEvent", (PyCFunction) _wrap_new_wxPyEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextUrlEvent_GetURLEnd", (PyCFunction) _wrap_wxTextUrlEvent_GetURLEnd, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextUrlEvent_GetURLStart", (PyCFunction) _wrap_wxTextUrlEvent_GetURLStart, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextUrlEvent_GetMouseEvent", (PyCFunction) _wrap_wxTextUrlEvent_GetMouseEvent, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxTextUrlEvent", (PyCFunction) _wrap_new_wxTextUrlEvent, METH_VARARGS | METH_KEYWORDS },
         { "wxTimerEvent_GetInterval", (PyCFunction) _wrap_wxTimerEvent_GetInterval, METH_VARARGS | METH_KEYWORDS },
         { "new_wxTimerEvent", (PyCFunction) _wrap_new_wxTimerEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxContextMenuEvent_SetPosition", (PyCFunction) _wrap_wxContextMenuEvent_SetPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxContextMenuEvent_GetPosition", (PyCFunction) _wrap_wxContextMenuEvent_GetPosition, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxContextMenuEvent", (PyCFunction) _wrap_new_wxContextMenuEvent, METH_VARARGS | METH_KEYWORDS },
         { "wxWindowDestroyEvent_GetWindow", (PyCFunction) _wrap_wxWindowDestroyEvent_GetWindow, METH_VARARGS | METH_KEYWORDS },
         { "new_wxWindowDestroyEvent", (PyCFunction) _wrap_new_wxWindowDestroyEvent, METH_VARARGS | METH_KEYWORDS },
         { "wxWindowCreateEvent_GetWindow", (PyCFunction) _wrap_wxWindowCreateEvent_GetWindow, METH_VARARGS | METH_KEYWORDS },
@@ -6054,10 +8292,18 @@ static PyMethodDef eventscMethods[] = {
         { "wxPaletteChangedEvent_GetChangedWindow", (PyCFunction) _wrap_wxPaletteChangedEvent_GetChangedWindow, METH_VARARGS | METH_KEYWORDS },
         { "wxPaletteChangedEvent_SetChangedWindow", (PyCFunction) _wrap_wxPaletteChangedEvent_SetChangedWindow, METH_VARARGS | METH_KEYWORDS },
         { "new_wxPaletteChangedEvent", (PyCFunction) _wrap_new_wxPaletteChangedEvent, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxDisplayChangedEvent", (PyCFunction) _wrap_new_wxDisplayChangedEvent, METH_VARARGS | METH_KEYWORDS },
         { "wxNotifyEvent_Veto", (PyCFunction) _wrap_wxNotifyEvent_Veto, METH_VARARGS | METH_KEYWORDS },
+        { "wxNotifyEvent_Allow", (PyCFunction) _wrap_wxNotifyEvent_Allow, METH_VARARGS | METH_KEYWORDS },
         { "wxNotifyEvent_IsAllowed", (PyCFunction) _wrap_wxNotifyEvent_IsAllowed, METH_VARARGS | METH_KEYWORDS },
         { "new_wxNotifyEvent", (PyCFunction) _wrap_new_wxNotifyEvent, METH_VARARGS | METH_KEYWORDS },
         { "new_wxSysColourChangedEvent", (PyCFunction) _wrap_new_wxSysColourChangedEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxUpdateUIEvent_GetMode", (PyCFunction) _wrap_wxUpdateUIEvent_GetMode, METH_VARARGS | METH_KEYWORDS },
+        { "wxUpdateUIEvent_SetMode", (PyCFunction) _wrap_wxUpdateUIEvent_SetMode, METH_VARARGS | METH_KEYWORDS },
+        { "wxUpdateUIEvent_ResetUpdateTime", (PyCFunction) _wrap_wxUpdateUIEvent_ResetUpdateTime, METH_VARARGS | METH_KEYWORDS },
+        { "wxUpdateUIEvent_CanUpdate", (PyCFunction) _wrap_wxUpdateUIEvent_CanUpdate, METH_VARARGS | METH_KEYWORDS },
+        { "wxUpdateUIEvent_GetUpdateInterval", (PyCFunction) _wrap_wxUpdateUIEvent_GetUpdateInterval, METH_VARARGS | METH_KEYWORDS },
+        { "wxUpdateUIEvent_SetUpdateInterval", (PyCFunction) _wrap_wxUpdateUIEvent_SetUpdateInterval, METH_VARARGS | METH_KEYWORDS },
         { "wxUpdateUIEvent_SetText", (PyCFunction) _wrap_wxUpdateUIEvent_SetText, METH_VARARGS | METH_KEYWORDS },
         { "wxUpdateUIEvent_Enable", (PyCFunction) _wrap_wxUpdateUIEvent_Enable, METH_VARARGS | METH_KEYWORDS },
         { "wxUpdateUIEvent_Check", (PyCFunction) _wrap_wxUpdateUIEvent_Check, METH_VARARGS | METH_KEYWORDS },
@@ -6068,6 +8314,9 @@ static PyMethodDef eventscMethods[] = {
         { "wxUpdateUIEvent_GetEnabled", (PyCFunction) _wrap_wxUpdateUIEvent_GetEnabled, METH_VARARGS | METH_KEYWORDS },
         { "wxUpdateUIEvent_GetChecked", (PyCFunction) _wrap_wxUpdateUIEvent_GetChecked, METH_VARARGS | METH_KEYWORDS },
         { "new_wxUpdateUIEvent", (PyCFunction) _wrap_new_wxUpdateUIEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxIdleEvent_CanSend", (PyCFunction) _wrap_wxIdleEvent_CanSend, METH_VARARGS | METH_KEYWORDS },
+        { "wxIdleEvent_GetMode", (PyCFunction) _wrap_wxIdleEvent_GetMode, METH_VARARGS | METH_KEYWORDS },
+        { "wxIdleEvent_SetMode", (PyCFunction) _wrap_wxIdleEvent_SetMode, METH_VARARGS | METH_KEYWORDS },
         { "wxIdleEvent_MoreRequested", (PyCFunction) _wrap_wxIdleEvent_MoreRequested, METH_VARARGS | METH_KEYWORDS },
         { "wxIdleEvent_RequestMore", (PyCFunction) _wrap_wxIdleEvent_RequestMore, METH_VARARGS | METH_KEYWORDS },
         { "new_wxIdleEvent", (PyCFunction) _wrap_new_wxIdleEvent, METH_VARARGS | METH_KEYWORDS },
@@ -6092,19 +8341,26 @@ static PyMethodDef eventscMethods[] = {
         { "wxJoystickEvent_GetPosition", (PyCFunction) _wrap_wxJoystickEvent_GetPosition, METH_VARARGS | METH_KEYWORDS },
         { "new_wxJoystickEvent", (PyCFunction) _wrap_new_wxJoystickEvent, METH_VARARGS | METH_KEYWORDS },
         { "new_wxMaximizeEvent", (PyCFunction) _wrap_new_wxMaximizeEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxIconizeEvent_Iconized", (PyCFunction) _wrap_wxIconizeEvent_Iconized, METH_VARARGS | METH_KEYWORDS },
         { "new_wxIconizeEvent", (PyCFunction) _wrap_new_wxIconizeEvent, METH_VARARGS | METH_KEYWORDS },
         { "wxShowEvent_GetShow", (PyCFunction) _wrap_wxShowEvent_GetShow, METH_VARARGS | METH_KEYWORDS },
         { "wxShowEvent_SetShow", (PyCFunction) _wrap_wxShowEvent_SetShow, METH_VARARGS | METH_KEYWORDS },
         { "new_wxShowEvent", (PyCFunction) _wrap_new_wxShowEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxMenuEvent_GetMenu", (PyCFunction) _wrap_wxMenuEvent_GetMenu, METH_VARARGS | METH_KEYWORDS },
+        { "wxMenuEvent_IsPopup", (PyCFunction) _wrap_wxMenuEvent_IsPopup, METH_VARARGS | METH_KEYWORDS },
         { "wxMenuEvent_GetMenuId", (PyCFunction) _wrap_wxMenuEvent_GetMenuId, METH_VARARGS | METH_KEYWORDS },
         { "new_wxMenuEvent", (PyCFunction) _wrap_new_wxMenuEvent, METH_VARARGS | METH_KEYWORDS },
         { "new_wxInitDialogEvent", (PyCFunction) _wrap_new_wxInitDialogEvent, METH_VARARGS | METH_KEYWORDS },
         { "wxActivateEvent_GetActive", (PyCFunction) _wrap_wxActivateEvent_GetActive, METH_VARARGS | METH_KEYWORDS },
         { "new_wxActivateEvent", (PyCFunction) _wrap_new_wxActivateEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxChildFocusEvent_GetWindow", (PyCFunction) _wrap_wxChildFocusEvent_GetWindow, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxChildFocusEvent", (PyCFunction) _wrap_new_wxChildFocusEvent, METH_VARARGS | METH_KEYWORDS },
         { "new_wxFocusEvent", (PyCFunction) _wrap_new_wxFocusEvent, METH_VARARGS | METH_KEYWORDS },
         { "wxEraseEvent_GetDC", (PyCFunction) _wrap_wxEraseEvent_GetDC, METH_VARARGS | METH_KEYWORDS },
         { "new_wxEraseEvent", (PyCFunction) _wrap_new_wxEraseEvent, METH_VARARGS | METH_KEYWORDS },
         { "new_wxPaintEvent", (PyCFunction) _wrap_new_wxPaintEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxMoveEvent_SetRect", (PyCFunction) _wrap_wxMoveEvent_SetRect, METH_VARARGS | METH_KEYWORDS },
+        { "wxMoveEvent_GetRect", (PyCFunction) _wrap_wxMoveEvent_GetRect, METH_VARARGS | METH_KEYWORDS },
         { "wxMoveEvent_GetPosition", (PyCFunction) _wrap_wxMoveEvent_GetPosition, METH_VARARGS | METH_KEYWORDS },
         { "new_wxMoveEvent", (PyCFunction) _wrap_new_wxMoveEvent, METH_VARARGS | METH_KEYWORDS },
         { "wxNavigationKeyEvent_SetCurrentFocus", (PyCFunction) _wrap_wxNavigationKeyEvent_SetCurrentFocus, METH_VARARGS | METH_KEYWORDS },
@@ -6114,6 +8370,10 @@ static PyMethodDef eventscMethods[] = {
         { "wxNavigationKeyEvent_SetDirection", (PyCFunction) _wrap_wxNavigationKeyEvent_SetDirection, METH_VARARGS | METH_KEYWORDS },
         { "wxNavigationKeyEvent_GetDirection", (PyCFunction) _wrap_wxNavigationKeyEvent_GetDirection, METH_VARARGS | METH_KEYWORDS },
         { "new_wxNavigationKeyEvent", (PyCFunction) _wrap_new_wxNavigationKeyEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxKeyEvent_m_rawFlags_get", (PyCFunction) _wrap_wxKeyEvent_m_rawFlags_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxKeyEvent_m_rawFlags_set", (PyCFunction) _wrap_wxKeyEvent_m_rawFlags_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxKeyEvent_m_rawCode_get", (PyCFunction) _wrap_wxKeyEvent_m_rawCode_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxKeyEvent_m_rawCode_set", (PyCFunction) _wrap_wxKeyEvent_m_rawCode_set, METH_VARARGS | METH_KEYWORDS },
         { "wxKeyEvent_m_scanCode_get", (PyCFunction) _wrap_wxKeyEvent_m_scanCode_get, METH_VARARGS | METH_KEYWORDS },
         { "wxKeyEvent_m_scanCode_set", (PyCFunction) _wrap_wxKeyEvent_m_scanCode_set, METH_VARARGS | METH_KEYWORDS },
         { "wxKeyEvent_m_metaDown_get", (PyCFunction) _wrap_wxKeyEvent_m_metaDown_get, METH_VARARGS | METH_KEYWORDS },
@@ -6134,14 +8394,29 @@ static PyMethodDef eventscMethods[] = {
         { "wxKeyEvent_GetPosition", (PyCFunction) _wrap_wxKeyEvent_GetPosition, METH_VARARGS | METH_KEYWORDS },
         { "wxKeyEvent_GetY", (PyCFunction) _wrap_wxKeyEvent_GetY, METH_VARARGS | METH_KEYWORDS },
         { "wxKeyEvent_GetX", (PyCFunction) _wrap_wxKeyEvent_GetX, METH_VARARGS | METH_KEYWORDS },
+        { "wxKeyEvent_GetRawKeyFlags", (PyCFunction) _wrap_wxKeyEvent_GetRawKeyFlags, METH_VARARGS | METH_KEYWORDS },
+        { "wxKeyEvent_GetRawKeyCode", (PyCFunction) _wrap_wxKeyEvent_GetRawKeyCode, METH_VARARGS | METH_KEYWORDS },
         { "wxKeyEvent_HasModifiers", (PyCFunction) _wrap_wxKeyEvent_HasModifiers, METH_VARARGS | METH_KEYWORDS },
         { "wxKeyEvent_GetKeyCode", (PyCFunction) _wrap_wxKeyEvent_GetKeyCode, METH_VARARGS | METH_KEYWORDS },
-        { "wxKeyEvent_KeyCode", (PyCFunction) _wrap_wxKeyEvent_KeyCode, METH_VARARGS | METH_KEYWORDS },
         { "wxKeyEvent_ShiftDown", (PyCFunction) _wrap_wxKeyEvent_ShiftDown, METH_VARARGS | METH_KEYWORDS },
         { "wxKeyEvent_AltDown", (PyCFunction) _wrap_wxKeyEvent_AltDown, METH_VARARGS | METH_KEYWORDS },
         { "wxKeyEvent_MetaDown", (PyCFunction) _wrap_wxKeyEvent_MetaDown, METH_VARARGS | METH_KEYWORDS },
         { "wxKeyEvent_ControlDown", (PyCFunction) _wrap_wxKeyEvent_ControlDown, METH_VARARGS | METH_KEYWORDS },
         { "new_wxKeyEvent", (PyCFunction) _wrap_new_wxKeyEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxSetCursorEvent_HasCursor", (PyCFunction) _wrap_wxSetCursorEvent_HasCursor, METH_VARARGS | METH_KEYWORDS },
+        { "wxSetCursorEvent_GetCursor", (PyCFunction) _wrap_wxSetCursorEvent_GetCursor, METH_VARARGS | METH_KEYWORDS },
+        { "wxSetCursorEvent_SetCursor", (PyCFunction) _wrap_wxSetCursorEvent_SetCursor, METH_VARARGS | METH_KEYWORDS },
+        { "wxSetCursorEvent_GetY", (PyCFunction) _wrap_wxSetCursorEvent_GetY, METH_VARARGS | METH_KEYWORDS },
+        { "wxSetCursorEvent_GetX", (PyCFunction) _wrap_wxSetCursorEvent_GetX, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxSetCursorEvent", (PyCFunction) _wrap_new_wxSetCursorEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxMouseCaptureChangedEvent_GetCapturedWindow", (PyCFunction) _wrap_wxMouseCaptureChangedEvent_GetCapturedWindow, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxMouseCaptureChangedEvent", (PyCFunction) _wrap_new_wxMouseCaptureChangedEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxMouseEvent_m_linesPerAction_get", (PyCFunction) _wrap_wxMouseEvent_m_linesPerAction_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxMouseEvent_m_linesPerAction_set", (PyCFunction) _wrap_wxMouseEvent_m_linesPerAction_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxMouseEvent_m_wheelDelta_get", (PyCFunction) _wrap_wxMouseEvent_m_wheelDelta_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxMouseEvent_m_wheelDelta_set", (PyCFunction) _wrap_wxMouseEvent_m_wheelDelta_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxMouseEvent_m_wheelRotation_get", (PyCFunction) _wrap_wxMouseEvent_m_wheelRotation_get, METH_VARARGS | METH_KEYWORDS },
+        { "wxMouseEvent_m_wheelRotation_set", (PyCFunction) _wrap_wxMouseEvent_m_wheelRotation_set, METH_VARARGS | METH_KEYWORDS },
         { "wxMouseEvent_m_metaDown_get", (PyCFunction) _wrap_wxMouseEvent_m_metaDown_get, METH_VARARGS | METH_KEYWORDS },
         { "wxMouseEvent_m_metaDown_set", (PyCFunction) _wrap_wxMouseEvent_m_metaDown_set, METH_VARARGS | METH_KEYWORDS },
         { "wxMouseEvent_m_altDown_get", (PyCFunction) _wrap_wxMouseEvent_m_altDown_get, METH_VARARGS | METH_KEYWORDS },
@@ -6160,6 +8435,9 @@ static PyMethodDef eventscMethods[] = {
         { "wxMouseEvent_m_y_set", (PyCFunction) _wrap_wxMouseEvent_m_y_set, METH_VARARGS | METH_KEYWORDS },
         { "wxMouseEvent_m_x_get", (PyCFunction) _wrap_wxMouseEvent_m_x_get, METH_VARARGS | METH_KEYWORDS },
         { "wxMouseEvent_m_x_set", (PyCFunction) _wrap_wxMouseEvent_m_x_set, METH_VARARGS | METH_KEYWORDS },
+        { "wxMouseEvent_GetLinesPerAction", (PyCFunction) _wrap_wxMouseEvent_GetLinesPerAction, METH_VARARGS | METH_KEYWORDS },
+        { "wxMouseEvent_GetWheelDelta", (PyCFunction) _wrap_wxMouseEvent_GetWheelDelta, METH_VARARGS | METH_KEYWORDS },
+        { "wxMouseEvent_GetWheelRotation", (PyCFunction) _wrap_wxMouseEvent_GetWheelRotation, METH_VARARGS | METH_KEYWORDS },
         { "wxMouseEvent_GetY", (PyCFunction) _wrap_wxMouseEvent_GetY, METH_VARARGS | METH_KEYWORDS },
         { "wxMouseEvent_GetX", (PyCFunction) _wrap_wxMouseEvent_GetX, METH_VARARGS | METH_KEYWORDS },
         { "wxMouseEvent_GetLogicalPosition", (PyCFunction) _wrap_wxMouseEvent_GetLogicalPosition, METH_VARARGS | METH_KEYWORDS },
@@ -6199,6 +8477,7 @@ static PyMethodDef eventscMethods[] = {
         { "wxScrollEvent_GetPosition", (PyCFunction) _wrap_wxScrollEvent_GetPosition, METH_VARARGS | METH_KEYWORDS },
         { "wxScrollEvent_GetOrientation", (PyCFunction) _wrap_wxScrollEvent_GetOrientation, METH_VARARGS | METH_KEYWORDS },
         { "new_wxScrollEvent", (PyCFunction) _wrap_new_wxScrollEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxCommandEvent_GetClientData", (PyCFunction) _wrap_wxCommandEvent_GetClientData, METH_VARARGS | METH_KEYWORDS },
         { "wxCommandEvent_SetInt", (PyCFunction) _wrap_wxCommandEvent_SetInt, METH_VARARGS | METH_KEYWORDS },
         { "wxCommandEvent_SetExtraLong", (PyCFunction) _wrap_wxCommandEvent_SetExtraLong, METH_VARARGS | METH_KEYWORDS },
         { "wxCommandEvent_SetString", (PyCFunction) _wrap_wxCommandEvent_SetString, METH_VARARGS | METH_KEYWORDS },
@@ -6217,20 +8496,31 @@ static PyMethodDef eventscMethods[] = {
         { "wxCloseEvent_GetLoggingOff", (PyCFunction) _wrap_wxCloseEvent_GetLoggingOff, METH_VARARGS | METH_KEYWORDS },
         { "wxCloseEvent_SetLoggingOff", (PyCFunction) _wrap_wxCloseEvent_SetLoggingOff, METH_VARARGS | METH_KEYWORDS },
         { "new_wxCloseEvent", (PyCFunction) _wrap_new_wxCloseEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxSizeEvent_SetRect", (PyCFunction) _wrap_wxSizeEvent_SetRect, METH_VARARGS | METH_KEYWORDS },
+        { "wxSizeEvent_GetRect", (PyCFunction) _wrap_wxSizeEvent_GetRect, METH_VARARGS | METH_KEYWORDS },
         { "wxSizeEvent_GetSize", (PyCFunction) _wrap_wxSizeEvent_GetSize, METH_VARARGS | METH_KEYWORDS },
         { "new_wxSizeEvent", (PyCFunction) _wrap_new_wxSizeEvent, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxPropagateOnce", (PyCFunction) _wrap_delete_wxPropagateOnce, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPropagateOnce", (PyCFunction) _wrap_new_wxPropagateOnce, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxPropagationDisabler", (PyCFunction) _wrap_delete_wxPropagationDisabler, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPropagationDisabler", (PyCFunction) _wrap_new_wxPropagationDisabler, METH_VARARGS | METH_KEYWORDS },
+        { "wxEvent_Clone", (PyCFunction) _wrap_wxEvent_Clone, METH_VARARGS | METH_KEYWORDS },
+        { "wxEvent_ResumePropagation", (PyCFunction) _wrap_wxEvent_ResumePropagation, METH_VARARGS | METH_KEYWORDS },
+        { "wxEvent_StopPropagation", (PyCFunction) _wrap_wxEvent_StopPropagation, METH_VARARGS | METH_KEYWORDS },
+        { "wxEvent_ShouldPropagate", (PyCFunction) _wrap_wxEvent_ShouldPropagate, METH_VARARGS | METH_KEYWORDS },
+        { "wxEvent_GetSkipped", (PyCFunction) _wrap_wxEvent_GetSkipped, METH_VARARGS | METH_KEYWORDS },
         { "wxEvent_Skip", (PyCFunction) _wrap_wxEvent_Skip, METH_VARARGS | METH_KEYWORDS },
+        { "wxEvent_IsCommandEvent", (PyCFunction) _wrap_wxEvent_IsCommandEvent, METH_VARARGS | METH_KEYWORDS },
         { "wxEvent_SetTimestamp", (PyCFunction) _wrap_wxEvent_SetTimestamp, METH_VARARGS | METH_KEYWORDS },
         { "wxEvent_SetId", (PyCFunction) _wrap_wxEvent_SetId, METH_VARARGS | METH_KEYWORDS },
         { "wxEvent_SetEventType", (PyCFunction) _wrap_wxEvent_SetEventType, METH_VARARGS | METH_KEYWORDS },
         { "wxEvent_SetEventObject", (PyCFunction) _wrap_wxEvent_SetEventObject, METH_VARARGS | METH_KEYWORDS },
         { "wxEvent_GetTimestamp", (PyCFunction) _wrap_wxEvent_GetTimestamp, METH_VARARGS | METH_KEYWORDS },
-        { "wxEvent_GetSkipped", (PyCFunction) _wrap_wxEvent_GetSkipped, METH_VARARGS | METH_KEYWORDS },
         { "wxEvent_GetId", (PyCFunction) _wrap_wxEvent_GetId, METH_VARARGS | METH_KEYWORDS },
         { "wxEvent_GetEventType", (PyCFunction) _wrap_wxEvent_GetEventType, METH_VARARGS | METH_KEYWORDS },
         { "wxEvent_GetEventObject", (PyCFunction) _wrap_wxEvent_GetEventObject, METH_VARARGS | METH_KEYWORDS },
         { "delete_wxEvent", (PyCFunction) _wrap_delete_wxEvent, METH_VARARGS | METH_KEYWORDS },
-        { "new_wxEvent", (PyCFunction) _wrap_new_wxEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxNewEventType", (PyCFunction) _wrap_wxNewEventType, METH_VARARGS | METH_KEYWORDS },
         { NULL, NULL }
 };
 #ifdef __cplusplus
@@ -6240,76 +8530,45 @@ static PyMethodDef eventscMethods[] = {
  * This table is used by the pointer type-checker
  */
 static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
-    { "_wxAcceleratorTable","_class_wxAcceleratorTable",0},
-    { "_wxEvent","_class_wxPyCommandEvent",SwigwxPyCommandEventTowxEvent},
     { "_wxEvent","_wxPyCommandEvent",SwigwxPyCommandEventTowxEvent},
-    { "_wxEvent","_class_wxPyEvent",SwigwxPyEventTowxEvent},
     { "_wxEvent","_wxPyEvent",SwigwxPyEventTowxEvent},
-    { "_wxEvent","_class_wxTimerEvent",SwigwxTimerEventTowxEvent},
+    { "_wxEvent","_wxTextUrlEvent",SwigwxTextUrlEventTowxEvent},
     { "_wxEvent","_wxTimerEvent",SwigwxTimerEventTowxEvent},
-    { "_wxEvent","_class_wxWindowDestroyEvent",SwigwxWindowDestroyEventTowxEvent},
+    { "_wxEvent","_wxContextMenuEvent",SwigwxContextMenuEventTowxEvent},
     { "_wxEvent","_wxWindowDestroyEvent",SwigwxWindowDestroyEventTowxEvent},
-    { "_wxEvent","_class_wxWindowCreateEvent",SwigwxWindowCreateEventTowxEvent},
     { "_wxEvent","_wxWindowCreateEvent",SwigwxWindowCreateEventTowxEvent},
-    { "_wxEvent","_class_wxQueryNewPaletteEvent",SwigwxQueryNewPaletteEventTowxEvent},
     { "_wxEvent","_wxQueryNewPaletteEvent",SwigwxQueryNewPaletteEventTowxEvent},
-    { "_wxEvent","_class_wxPaletteChangedEvent",SwigwxPaletteChangedEventTowxEvent},
     { "_wxEvent","_wxPaletteChangedEvent",SwigwxPaletteChangedEventTowxEvent},
-    { "_wxEvent","_class_wxNotifyEvent",SwigwxNotifyEventTowxEvent},
+    { "_wxEvent","_wxDisplayChangedEvent",SwigwxDisplayChangedEventTowxEvent},
     { "_wxEvent","_wxNotifyEvent",SwigwxNotifyEventTowxEvent},
-    { "_wxEvent","_class_wxSysColourChangedEvent",SwigwxSysColourChangedEventTowxEvent},
     { "_wxEvent","_wxSysColourChangedEvent",SwigwxSysColourChangedEventTowxEvent},
-    { "_wxEvent","_class_wxUpdateUIEvent",SwigwxUpdateUIEventTowxEvent},
     { "_wxEvent","_wxUpdateUIEvent",SwigwxUpdateUIEventTowxEvent},
-    { "_wxEvent","_class_wxIdleEvent",SwigwxIdleEventTowxEvent},
     { "_wxEvent","_wxIdleEvent",SwigwxIdleEventTowxEvent},
-    { "_wxEvent","_class_wxDropFilesEvent",SwigwxDropFilesEventTowxEvent},
     { "_wxEvent","_wxDropFilesEvent",SwigwxDropFilesEventTowxEvent},
-    { "_wxEvent","_class_wxJoystickEvent",SwigwxJoystickEventTowxEvent},
     { "_wxEvent","_wxJoystickEvent",SwigwxJoystickEventTowxEvent},
-    { "_wxEvent","_class_wxMaximizeEvent",SwigwxMaximizeEventTowxEvent},
     { "_wxEvent","_wxMaximizeEvent",SwigwxMaximizeEventTowxEvent},
-    { "_wxEvent","_class_wxIconizeEvent",SwigwxIconizeEventTowxEvent},
     { "_wxEvent","_wxIconizeEvent",SwigwxIconizeEventTowxEvent},
-    { "_wxEvent","_class_wxShowEvent",SwigwxShowEventTowxEvent},
     { "_wxEvent","_wxShowEvent",SwigwxShowEventTowxEvent},
-    { "_wxEvent","_class_wxMenuEvent",SwigwxMenuEventTowxEvent},
     { "_wxEvent","_wxMenuEvent",SwigwxMenuEventTowxEvent},
-    { "_wxEvent","_class_wxInitDialogEvent",SwigwxInitDialogEventTowxEvent},
     { "_wxEvent","_wxInitDialogEvent",SwigwxInitDialogEventTowxEvent},
-    { "_wxEvent","_class_wxActivateEvent",SwigwxActivateEventTowxEvent},
     { "_wxEvent","_wxActivateEvent",SwigwxActivateEventTowxEvent},
-    { "_wxEvent","_class_wxFocusEvent",SwigwxFocusEventTowxEvent},
+    { "_wxEvent","_wxChildFocusEvent",SwigwxChildFocusEventTowxEvent},
     { "_wxEvent","_wxFocusEvent",SwigwxFocusEventTowxEvent},
-    { "_wxEvent","_class_wxEraseEvent",SwigwxEraseEventTowxEvent},
     { "_wxEvent","_wxEraseEvent",SwigwxEraseEventTowxEvent},
-    { "_wxEvent","_class_wxPaintEvent",SwigwxPaintEventTowxEvent},
     { "_wxEvent","_wxPaintEvent",SwigwxPaintEventTowxEvent},
-    { "_wxEvent","_class_wxMoveEvent",SwigwxMoveEventTowxEvent},
     { "_wxEvent","_wxMoveEvent",SwigwxMoveEventTowxEvent},
-    { "_wxEvent","_class_wxNavigationKeyEvent",SwigwxNavigationKeyEventTowxEvent},
     { "_wxEvent","_wxNavigationKeyEvent",SwigwxNavigationKeyEventTowxEvent},
-    { "_wxEvent","_class_wxKeyEvent",SwigwxKeyEventTowxEvent},
     { "_wxEvent","_wxKeyEvent",SwigwxKeyEventTowxEvent},
-    { "_wxEvent","_class_wxMouseEvent",SwigwxMouseEventTowxEvent},
+    { "_wxEvent","_wxSetCursorEvent",SwigwxSetCursorEventTowxEvent},
+    { "_wxEvent","_wxMouseCaptureChangedEvent",SwigwxMouseCaptureChangedEventTowxEvent},
     { "_wxEvent","_wxMouseEvent",SwigwxMouseEventTowxEvent},
-    { "_wxEvent","_class_wxSpinEvent",SwigwxSpinEventTowxEvent},
     { "_wxEvent","_wxSpinEvent",SwigwxSpinEventTowxEvent},
-    { "_wxEvent","_class_wxScrollWinEvent",SwigwxScrollWinEventTowxEvent},
     { "_wxEvent","_wxScrollWinEvent",SwigwxScrollWinEventTowxEvent},
-    { "_wxEvent","_class_wxScrollEvent",SwigwxScrollEventTowxEvent},
     { "_wxEvent","_wxScrollEvent",SwigwxScrollEventTowxEvent},
-    { "_wxEvent","_class_wxCommandEvent",SwigwxCommandEventTowxEvent},
     { "_wxEvent","_wxCommandEvent",SwigwxCommandEventTowxEvent},
-    { "_wxEvent","_class_wxCloseEvent",SwigwxCloseEventTowxEvent},
     { "_wxEvent","_wxCloseEvent",SwigwxCloseEventTowxEvent},
-    { "_wxEvent","_class_wxSizeEvent",SwigwxSizeEventTowxEvent},
     { "_wxEvent","_wxSizeEvent",SwigwxSizeEventTowxEvent},
-    { "_wxEvent","_class_wxEvent",0},
-    { "_class_wxActivateEvent","_wxActivateEvent",0},
     { "_signed_long","_long",0},
-    { "_wxMenuEvent","_class_wxMenuEvent",0},
-    { "_class_wxPyCommandEvent","_wxPyCommandEvent",0},
     { "_wxPrintQuality","_wxCoord",0},
     { "_wxPrintQuality","_int",0},
     { "_wxPrintQuality","_signed_int",0},
@@ -6319,22 +8578,9 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxPrintQuality","_EBool",0},
     { "_wxPrintQuality","_size_t",0},
     { "_wxPrintQuality","_time_t",0},
-    { "_class_wxRegionIterator","_wxRegionIterator",0},
-    { "_wxPaintEvent","_class_wxPaintEvent",0},
-    { "_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0},
-    { "_wxCursor","_class_wxCursor",0},
-    { "_wxNotifyEvent","_class_wxNotifyEvent",0},
-    { "_wxMask","_class_wxMask",0},
-    { "_wxPen","_class_wxPen",0},
-    { "_wxUpdateUIEvent","_class_wxUpdateUIEvent",0},
     { "_byte","_unsigned_char",0},
     { "_long","_unsigned_long",0},
     { "_long","_signed_long",0},
-    { "_wxImageList","_class_wxImageList",0},
-    { "_wxDropFilesEvent","_class_wxDropFilesEvent",0},
-    { "_class_wxAcceleratorTable","_wxAcceleratorTable",0},
-    { "_wxDC","_class_wxDC",0},
-    { "_wxSpinEvent","_class_wxSpinEvent",0},
     { "_size_t","_wxCoord",0},
     { "_size_t","_wxPrintQuality",0},
     { "_size_t","_time_t",0},
@@ -6342,21 +8588,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_size_t","_int",0},
     { "_size_t","_wxWindowID",0},
     { "_size_t","_uint",0},
-    { "_class_wxRealPoint","_wxRealPoint",0},
-    { "_wxNavigationKeyEvent","_class_wxNavigationKeyEvent",0},
-    { "_wxPrinterDC","_class_wxPrinterDC",0},
-    { "_wxWindowCreateEvent","_class_wxWindowCreateEvent",0},
-    { "_class_wxPaintEvent","_wxPaintEvent",0},
-    { "_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0},
-    { "_wxInitDialogEvent","_class_wxInitDialogEvent",0},
-    { "_wxPyEvent","_class_wxPyEvent",0},
-    { "_class_wxMask","_wxMask",0},
-    { "_class_wxKeyEvent","_wxKeyEvent",0},
-    { "_wxColour","_class_wxColour",0},
-    { "_wxIdleEvent","_class_wxIdleEvent",0},
-    { "_class_wxUpdateUIEvent","_wxUpdateUIEvent",0},
-    { "_wxBrush","_class_wxBrush",0},
-    { "_wxShowEvent","_class_wxShowEvent",0},
     { "_uint","_wxCoord",0},
     { "_uint","_wxPrintQuality",0},
     { "_uint","_time_t",0},
@@ -6365,153 +8596,77 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_uint","_int",0},
     { "_uint","_wxWindowID",0},
     { "_wxChar","_char",0},
-    { "_class_wxEvent","_class_wxPyCommandEvent",SwigwxPyCommandEventTowxEvent},
-    { "_class_wxEvent","_wxPyCommandEvent",SwigwxPyCommandEventTowxEvent},
-    { "_class_wxEvent","_class_wxPyEvent",SwigwxPyEventTowxEvent},
-    { "_class_wxEvent","_wxPyEvent",SwigwxPyEventTowxEvent},
-    { "_class_wxEvent","_class_wxTimerEvent",SwigwxTimerEventTowxEvent},
-    { "_class_wxEvent","_wxTimerEvent",SwigwxTimerEventTowxEvent},
-    { "_class_wxEvent","_class_wxWindowDestroyEvent",SwigwxWindowDestroyEventTowxEvent},
-    { "_class_wxEvent","_wxWindowDestroyEvent",SwigwxWindowDestroyEventTowxEvent},
-    { "_class_wxEvent","_class_wxWindowCreateEvent",SwigwxWindowCreateEventTowxEvent},
-    { "_class_wxEvent","_wxWindowCreateEvent",SwigwxWindowCreateEventTowxEvent},
-    { "_class_wxEvent","_class_wxQueryNewPaletteEvent",SwigwxQueryNewPaletteEventTowxEvent},
-    { "_class_wxEvent","_wxQueryNewPaletteEvent",SwigwxQueryNewPaletteEventTowxEvent},
-    { "_class_wxEvent","_class_wxPaletteChangedEvent",SwigwxPaletteChangedEventTowxEvent},
-    { "_class_wxEvent","_wxPaletteChangedEvent",SwigwxPaletteChangedEventTowxEvent},
-    { "_class_wxEvent","_class_wxNotifyEvent",SwigwxNotifyEventTowxEvent},
-    { "_class_wxEvent","_wxNotifyEvent",SwigwxNotifyEventTowxEvent},
-    { "_class_wxEvent","_class_wxSysColourChangedEvent",SwigwxSysColourChangedEventTowxEvent},
-    { "_class_wxEvent","_wxSysColourChangedEvent",SwigwxSysColourChangedEventTowxEvent},
-    { "_class_wxEvent","_class_wxUpdateUIEvent",SwigwxUpdateUIEventTowxEvent},
-    { "_class_wxEvent","_wxUpdateUIEvent",SwigwxUpdateUIEventTowxEvent},
-    { "_class_wxEvent","_class_wxIdleEvent",SwigwxIdleEventTowxEvent},
-    { "_class_wxEvent","_wxIdleEvent",SwigwxIdleEventTowxEvent},
-    { "_class_wxEvent","_class_wxDropFilesEvent",SwigwxDropFilesEventTowxEvent},
-    { "_class_wxEvent","_wxDropFilesEvent",SwigwxDropFilesEventTowxEvent},
-    { "_class_wxEvent","_class_wxJoystickEvent",SwigwxJoystickEventTowxEvent},
-    { "_class_wxEvent","_wxJoystickEvent",SwigwxJoystickEventTowxEvent},
-    { "_class_wxEvent","_class_wxMaximizeEvent",SwigwxMaximizeEventTowxEvent},
-    { "_class_wxEvent","_wxMaximizeEvent",SwigwxMaximizeEventTowxEvent},
-    { "_class_wxEvent","_class_wxIconizeEvent",SwigwxIconizeEventTowxEvent},
-    { "_class_wxEvent","_wxIconizeEvent",SwigwxIconizeEventTowxEvent},
-    { "_class_wxEvent","_class_wxShowEvent",SwigwxShowEventTowxEvent},
-    { "_class_wxEvent","_wxShowEvent",SwigwxShowEventTowxEvent},
-    { "_class_wxEvent","_class_wxMenuEvent",SwigwxMenuEventTowxEvent},
-    { "_class_wxEvent","_wxMenuEvent",SwigwxMenuEventTowxEvent},
-    { "_class_wxEvent","_class_wxInitDialogEvent",SwigwxInitDialogEventTowxEvent},
-    { "_class_wxEvent","_wxInitDialogEvent",SwigwxInitDialogEventTowxEvent},
-    { "_class_wxEvent","_class_wxActivateEvent",SwigwxActivateEventTowxEvent},
-    { "_class_wxEvent","_wxActivateEvent",SwigwxActivateEventTowxEvent},
-    { "_class_wxEvent","_class_wxFocusEvent",SwigwxFocusEventTowxEvent},
-    { "_class_wxEvent","_wxFocusEvent",SwigwxFocusEventTowxEvent},
-    { "_class_wxEvent","_class_wxEraseEvent",SwigwxEraseEventTowxEvent},
-    { "_class_wxEvent","_wxEraseEvent",SwigwxEraseEventTowxEvent},
-    { "_class_wxEvent","_class_wxPaintEvent",SwigwxPaintEventTowxEvent},
-    { "_class_wxEvent","_wxPaintEvent",SwigwxPaintEventTowxEvent},
-    { "_class_wxEvent","_class_wxMoveEvent",SwigwxMoveEventTowxEvent},
-    { "_class_wxEvent","_wxMoveEvent",SwigwxMoveEventTowxEvent},
-    { "_class_wxEvent","_class_wxNavigationKeyEvent",SwigwxNavigationKeyEventTowxEvent},
-    { "_class_wxEvent","_wxNavigationKeyEvent",SwigwxNavigationKeyEventTowxEvent},
-    { "_class_wxEvent","_class_wxKeyEvent",SwigwxKeyEventTowxEvent},
-    { "_class_wxEvent","_wxKeyEvent",SwigwxKeyEventTowxEvent},
-    { "_class_wxEvent","_class_wxMouseEvent",SwigwxMouseEventTowxEvent},
-    { "_class_wxEvent","_wxMouseEvent",SwigwxMouseEventTowxEvent},
-    { "_class_wxEvent","_class_wxSpinEvent",SwigwxSpinEventTowxEvent},
-    { "_class_wxEvent","_wxSpinEvent",SwigwxSpinEventTowxEvent},
-    { "_class_wxEvent","_class_wxScrollWinEvent",SwigwxScrollWinEventTowxEvent},
-    { "_class_wxEvent","_wxScrollWinEvent",SwigwxScrollWinEventTowxEvent},
-    { "_class_wxEvent","_class_wxScrollEvent",SwigwxScrollEventTowxEvent},
-    { "_class_wxEvent","_wxScrollEvent",SwigwxScrollEventTowxEvent},
-    { "_class_wxEvent","_class_wxCommandEvent",SwigwxCommandEventTowxEvent},
-    { "_class_wxEvent","_wxCommandEvent",SwigwxCommandEventTowxEvent},
-    { "_class_wxEvent","_class_wxCloseEvent",SwigwxCloseEventTowxEvent},
-    { "_class_wxEvent","_wxCloseEvent",SwigwxCloseEventTowxEvent},
-    { "_class_wxEvent","_class_wxSizeEvent",SwigwxSizeEventTowxEvent},
-    { "_class_wxEvent","_wxSizeEvent",SwigwxSizeEventTowxEvent},
-    { "_class_wxEvent","_wxEvent",0},
-    { "_wxRect","_class_wxRect",0},
-    { "_wxCommandEvent","_class_wxPyCommandEvent",SwigwxPyCommandEventTowxCommandEvent},
     { "_wxCommandEvent","_wxPyCommandEvent",SwigwxPyCommandEventTowxCommandEvent},
-    { "_wxCommandEvent","_class_wxWindowDestroyEvent",SwigwxWindowDestroyEventTowxCommandEvent},
+    { "_wxCommandEvent","_wxTextUrlEvent",SwigwxTextUrlEventTowxCommandEvent},
+    { "_wxCommandEvent","_wxContextMenuEvent",SwigwxContextMenuEventTowxCommandEvent},
     { "_wxCommandEvent","_wxWindowDestroyEvent",SwigwxWindowDestroyEventTowxCommandEvent},
-    { "_wxCommandEvent","_class_wxWindowCreateEvent",SwigwxWindowCreateEventTowxCommandEvent},
     { "_wxCommandEvent","_wxWindowCreateEvent",SwigwxWindowCreateEventTowxCommandEvent},
-    { "_wxCommandEvent","_class_wxNotifyEvent",SwigwxNotifyEventTowxCommandEvent},
     { "_wxCommandEvent","_wxNotifyEvent",SwigwxNotifyEventTowxCommandEvent},
-    { "_wxCommandEvent","_class_wxSpinEvent",SwigwxSpinEventTowxCommandEvent},
+    { "_wxCommandEvent","_wxChildFocusEvent",SwigwxChildFocusEventTowxCommandEvent},
     { "_wxCommandEvent","_wxSpinEvent",SwigwxSpinEventTowxCommandEvent},
-    { "_wxCommandEvent","_class_wxScrollEvent",SwigwxScrollEventTowxCommandEvent},
     { "_wxCommandEvent","_wxScrollEvent",SwigwxScrollEventTowxCommandEvent},
-    { "_wxCommandEvent","_class_wxCommandEvent",0},
-    { "_wxSizeEvent","_class_wxSizeEvent",0},
-    { "_wxPoint","_class_wxPoint",0},
     { "_char","_wxChar",0},
-    { "_wxBitmap","_class_wxBitmap",0},
-    { "_wxWindowDC","_class_wxWindowDC",0},
-    { "_wxTimerEvent","_class_wxTimerEvent",0},
-    { "_class_wxIndividualLayoutConstraint","_wxIndividualLayoutConstraint",0},
-    { "_class_wxNotifyEvent","_wxNotifyEvent",0},
-    { "_class_wxPyEvent","_wxPyEvent",0},
-    { "_class_wxIconizeEvent","_wxIconizeEvent",0},
-    { "_wxScrollEvent","_class_wxSpinEvent",SwigwxSpinEventTowxScrollEvent},
+    { "_struct_wxNativeFontInfo","_wxNativeFontInfo",0},
     { "_wxScrollEvent","_wxSpinEvent",SwigwxSpinEventTowxScrollEvent},
-    { "_wxScrollEvent","_class_wxScrollEvent",0},
     { "_EBool","_wxCoord",0},
     { "_EBool","_wxPrintQuality",0},
     { "_EBool","_signed_int",0},
     { "_EBool","_int",0},
     { "_EBool","_wxWindowID",0},
-    { "_class_wxRegion","_wxRegion",0},
-    { "_class_wxDropFilesEvent","_wxDropFilesEvent",0},
-    { "_wxWindowDestroyEvent","_class_wxWindowDestroyEvent",0},
-    { "_wxFont","_class_wxFont",0},
-    { "_wxCloseEvent","_class_wxCloseEvent",0},
     { "_unsigned_long","_long",0},
-    { "_class_wxRect","_wxRect",0},
-    { "_class_wxDC","_wxDC",0},
-    { "_wxScrollWinEvent","_class_wxScrollWinEvent",0},
-    { "_wxQueryNewPaletteEvent","_class_wxQueryNewPaletteEvent",0},
-    { "_class_wxWindowCreateEvent","_wxWindowCreateEvent",0},
-    { "_wxFocusEvent","_class_wxFocusEvent",0},
-    { "_wxMaximizeEvent","_class_wxMaximizeEvent",0},
-    { "_class_wxTimerEvent","_wxTimerEvent",0},
-    { "_wxAcceleratorEntry","_class_wxAcceleratorEntry",0},
+    { "_wxNativeFontInfo","_struct_wxNativeFontInfo",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},
-    { "_wxMetaFileDC","_class_wxMetaFileDC",0},
-    { "_class_wxMoveEvent","_wxMoveEvent",0},
-    { "_wxScreenDC","_class_wxScreenDC",0},
     { "_WXTYPE","_short",0},
     { "_WXTYPE","_signed_short",0},
     { "_WXTYPE","_unsigned_short",0},
-    { "_class_wxBrush","_wxBrush",0},
     { "_unsigned_short","_WXTYPE",0},
     { "_unsigned_short","_short",0},
-    { "_class_wxFont","_wxFont",0},
-    { "_class_wxCloseEvent","_wxCloseEvent",0},
-    { "_wxBusyInfo","_class_wxBusyInfo",0},
-    { "_class_wxMenuEvent","_wxMenuEvent",0},
-    { "_wxPaletteChangedEvent","_class_wxPaletteChangedEvent",0},
-    { "_wxClientDC","_class_wxClientDC",0},
-    { "_wxMouseEvent","_class_wxMouseEvent",0},
-    { "_class_wxPoint","_wxPoint",0},
-    { "_wxRealPoint","_class_wxRealPoint",0},
+    { "_wxObject","_wxPyCommandEvent",SwigwxPyCommandEventTowxObject},
+    { "_wxObject","_wxPyEvent",SwigwxPyEventTowxObject},
+    { "_wxObject","_wxTextUrlEvent",SwigwxTextUrlEventTowxObject},
+    { "_wxObject","_wxTimerEvent",SwigwxTimerEventTowxObject},
+    { "_wxObject","_wxContextMenuEvent",SwigwxContextMenuEventTowxObject},
+    { "_wxObject","_wxWindowDestroyEvent",SwigwxWindowDestroyEventTowxObject},
+    { "_wxObject","_wxWindowCreateEvent",SwigwxWindowCreateEventTowxObject},
+    { "_wxObject","_wxQueryNewPaletteEvent",SwigwxQueryNewPaletteEventTowxObject},
+    { "_wxObject","_wxPaletteChangedEvent",SwigwxPaletteChangedEventTowxObject},
+    { "_wxObject","_wxDisplayChangedEvent",SwigwxDisplayChangedEventTowxObject},
+    { "_wxObject","_wxNotifyEvent",SwigwxNotifyEventTowxObject},
+    { "_wxObject","_wxSysColourChangedEvent",SwigwxSysColourChangedEventTowxObject},
+    { "_wxObject","_wxUpdateUIEvent",SwigwxUpdateUIEventTowxObject},
+    { "_wxObject","_wxIdleEvent",SwigwxIdleEventTowxObject},
+    { "_wxObject","_wxDropFilesEvent",SwigwxDropFilesEventTowxObject},
+    { "_wxObject","_wxJoystickEvent",SwigwxJoystickEventTowxObject},
+    { "_wxObject","_wxMaximizeEvent",SwigwxMaximizeEventTowxObject},
+    { "_wxObject","_wxIconizeEvent",SwigwxIconizeEventTowxObject},
+    { "_wxObject","_wxShowEvent",SwigwxShowEventTowxObject},
+    { "_wxObject","_wxMenuEvent",SwigwxMenuEventTowxObject},
+    { "_wxObject","_wxInitDialogEvent",SwigwxInitDialogEventTowxObject},
+    { "_wxObject","_wxActivateEvent",SwigwxActivateEventTowxObject},
+    { "_wxObject","_wxChildFocusEvent",SwigwxChildFocusEventTowxObject},
+    { "_wxObject","_wxFocusEvent",SwigwxFocusEventTowxObject},
+    { "_wxObject","_wxEraseEvent",SwigwxEraseEventTowxObject},
+    { "_wxObject","_wxPaintEvent",SwigwxPaintEventTowxObject},
+    { "_wxObject","_wxMoveEvent",SwigwxMoveEventTowxObject},
+    { "_wxObject","_wxNavigationKeyEvent",SwigwxNavigationKeyEventTowxObject},
+    { "_wxObject","_wxKeyEvent",SwigwxKeyEventTowxObject},
+    { "_wxObject","_wxSetCursorEvent",SwigwxSetCursorEventTowxObject},
+    { "_wxObject","_wxMouseCaptureChangedEvent",SwigwxMouseCaptureChangedEventTowxObject},
+    { "_wxObject","_wxMouseEvent",SwigwxMouseEventTowxObject},
+    { "_wxObject","_wxSpinEvent",SwigwxSpinEventTowxObject},
+    { "_wxObject","_wxScrollWinEvent",SwigwxScrollWinEventTowxObject},
+    { "_wxObject","_wxScrollEvent",SwigwxScrollEventTowxObject},
+    { "_wxObject","_wxCommandEvent",SwigwxCommandEventTowxObject},
+    { "_wxObject","_wxCloseEvent",SwigwxCloseEventTowxObject},
+    { "_wxObject","_wxSizeEvent",SwigwxSizeEventTowxObject},
+    { "_wxObject","_wxEvent",SwigwxEventTowxObject},
     { "_signed_short","_WXTYPE",0},
     { "_signed_short","_short",0},
-    { "_wxMemoryDC","_class_wxMemoryDC",0},
-    { "_wxPaintDC","_class_wxPaintDC",0},
-    { "_class_wxWindowDC","_wxWindowDC",0},
-    { "_class_wxFocusEvent","_wxFocusEvent",0},
-    { "_class_wxMaximizeEvent","_wxMaximizeEvent",0},
-    { "_class_wxAcceleratorEntry","_wxAcceleratorEntry",0},
-    { "_class_wxCursor","_wxCursor",0},
     { "_unsigned_char","_byte",0},
-    { "_class_wxMetaFileDC","_wxMetaFileDC",0},
     { "_unsigned_int","_wxCoord",0},
     { "_unsigned_int","_wxPrintQuality",0},
     { "_unsigned_int","_time_t",0},
@@ -6519,17 +8674,9 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_unsigned_int","_uint",0},
     { "_unsigned_int","_wxWindowID",0},
     { "_unsigned_int","_int",0},
-    { "_wxIcon","_class_wxIcon",0},
-    { "_class_wxPen","_wxPen",0},
     { "_short","_WXTYPE",0},
     { "_short","_unsigned_short",0},
     { "_short","_signed_short",0},
-    { "_class_wxScrollEvent","_class_wxSpinEvent",SwigwxSpinEventTowxScrollEvent},
-    { "_class_wxScrollEvent","_wxSpinEvent",SwigwxSpinEventTowxScrollEvent},
-    { "_class_wxScrollEvent","_wxScrollEvent",0},
-    { "_wxJoystickEvent","_class_wxJoystickEvent",0},
-    { "_class_wxImageList","_wxImageList",0},
-    { "_class_wxPaletteChangedEvent","_wxPaletteChangedEvent",0},
     { "_wxWindowID","_wxCoord",0},
     { "_wxWindowID","_wxPrintQuality",0},
     { "_wxWindowID","_time_t",0},
@@ -6539,7 +8686,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxWindowID","_int",0},
     { "_wxWindowID","_signed_int",0},
     { "_wxWindowID","_unsigned_int",0},
-    { "_class_wxScrollWinEvent","_wxScrollWinEvent",0},
     { "_int","_wxCoord",0},
     { "_int","_wxPrintQuality",0},
     { "_int","_time_t",0},
@@ -6549,10 +8695,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_int","_wxWindowID",0},
     { "_int","_unsigned_int",0},
     { "_int","_signed_int",0},
-    { "_class_wxMouseEvent","_wxMouseEvent",0},
-    { "_wxPyCommandEvent","_class_wxPyCommandEvent",0},
-    { "_class_wxSpinEvent","_wxSpinEvent",0},
-    { "_class_wxQueryNewPaletteEvent","_wxQueryNewPaletteEvent",0},
     { "_time_t","_wxCoord",0},
     { "_time_t","_wxPrintQuality",0},
     { "_time_t","_unsigned_int",0},
@@ -6560,20 +8702,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_time_t","_wxWindowID",0},
     { "_time_t","_uint",0},
     { "_time_t","_size_t",0},
-    { "_class_wxNavigationKeyEvent","_wxNavigationKeyEvent",0},
-    { "_wxSize","_class_wxSize",0},
-    { "_wxRegionIterator","_class_wxRegionIterator",0},
-    { "_class_wxPrinterDC","_wxPrinterDC",0},
-    { "_class_wxPaintDC","_wxPaintDC",0},
-    { "_class_wxSysColourChangedEvent","_wxSysColourChangedEvent",0},
-    { "_class_wxInitDialogEvent","_wxInitDialogEvent",0},
-    { "_class_wxLayoutConstraints","_wxLayoutConstraints",0},
-    { "_wxIconizeEvent","_class_wxIconizeEvent",0},
-    { "_class_wxIcon","_wxIcon",0},
-    { "_class_wxColour","_wxColour",0},
-    { "_class_wxScreenDC","_wxScreenDC",0},
-    { "_wxPalette","_class_wxPalette",0},
-    { "_class_wxIdleEvent","_wxIdleEvent",0},
     { "_wxCoord","_int",0},
     { "_wxCoord","_signed_int",0},
     { "_wxCoord","_unsigned_int",0},
@@ -6583,35 +8711,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxCoord","_size_t",0},
     { "_wxCoord","_time_t",0},
     { "_wxCoord","_wxPrintQuality",0},
-    { "_wxEraseEvent","_class_wxEraseEvent",0},
-    { "_class_wxJoystickEvent","_wxJoystickEvent",0},
-    { "_wxRegion","_class_wxRegion",0},
-    { "_class_wxShowEvent","_wxShowEvent",0},
-    { "_wxActivateEvent","_class_wxActivateEvent",0},
-    { "_class_wxBusyInfo","_wxBusyInfo",0},
-    { "_class_wxCommandEvent","_class_wxPyCommandEvent",SwigwxPyCommandEventTowxCommandEvent},
-    { "_class_wxCommandEvent","_wxPyCommandEvent",SwigwxPyCommandEventTowxCommandEvent},
-    { "_class_wxCommandEvent","_class_wxWindowDestroyEvent",SwigwxWindowDestroyEventTowxCommandEvent},
-    { "_class_wxCommandEvent","_wxWindowDestroyEvent",SwigwxWindowDestroyEventTowxCommandEvent},
-    { "_class_wxCommandEvent","_class_wxWindowCreateEvent",SwigwxWindowCreateEventTowxCommandEvent},
-    { "_class_wxCommandEvent","_wxWindowCreateEvent",SwigwxWindowCreateEventTowxCommandEvent},
-    { "_class_wxCommandEvent","_class_wxNotifyEvent",SwigwxNotifyEventTowxCommandEvent},
-    { "_class_wxCommandEvent","_wxNotifyEvent",SwigwxNotifyEventTowxCommandEvent},
-    { "_class_wxCommandEvent","_class_wxSpinEvent",SwigwxSpinEventTowxCommandEvent},
-    { "_class_wxCommandEvent","_wxSpinEvent",SwigwxSpinEventTowxCommandEvent},
-    { "_class_wxCommandEvent","_class_wxScrollEvent",SwigwxScrollEventTowxCommandEvent},
-    { "_class_wxCommandEvent","_wxScrollEvent",SwigwxScrollEventTowxCommandEvent},
-    { "_class_wxCommandEvent","_wxCommandEvent",0},
-    { "_class_wxClientDC","_wxClientDC",0},
-    { "_class_wxSizeEvent","_wxSizeEvent",0},
-    { "_class_wxSize","_wxSize",0},
-    { "_class_wxBitmap","_wxBitmap",0},
-    { "_class_wxMemoryDC","_wxMemoryDC",0},
-    { "_wxKeyEvent","_class_wxKeyEvent",0},
-    { "_wxMoveEvent","_class_wxMoveEvent",0},
-    { "_class_wxPalette","_wxPalette",0},
-    { "_class_wxEraseEvent","_wxEraseEvent",0},
-    { "_class_wxWindowDestroyEvent","_wxWindowDestroyEvent",0},
 {0,0,0}};
 
 static PyObject *SWIG_globals;
@@ -6623,6 +8722,12 @@ SWIGEXPORT(void) initeventsc() {
         SWIG_globals = SWIG_newvarlink();
         m = Py_InitModule("eventsc", eventscMethods);
         d = PyModule_GetDict(m);
+        PyDict_SetItemString(d,"wxEVENT_PROPAGATE_NONE", PyInt_FromLong((long) wxEVENT_PROPAGATE_NONE));
+        PyDict_SetItemString(d,"wxEVENT_PROPAGATE_MAX", PyInt_FromLong((long) wxEVENT_PROPAGATE_MAX));
+        PyDict_SetItemString(d,"wxIDLE_PROCESS_ALL", PyInt_FromLong((long) wxIDLE_PROCESS_ALL));
+        PyDict_SetItemString(d,"wxIDLE_PROCESS_SPECIFIED", PyInt_FromLong((long) wxIDLE_PROCESS_SPECIFIED));
+        PyDict_SetItemString(d,"wxUPDATE_UI_PROCESS_ALL", PyInt_FromLong((long) wxUPDATE_UI_PROCESS_ALL));
+        PyDict_SetItemString(d,"wxUPDATE_UI_PROCESS_SPECIFIED", PyInt_FromLong((long) wxUPDATE_UI_PROCESS_SPECIFIED));
 {
    int i;
    for (i = 0; _swig_mapping[i].n1; i++)