]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/contrib/xrc/xrc.cpp
simplified definition
[wxWidgets.git] / wxPython / contrib / xrc / xrc.cpp
index fe59e6ea9680b1c271498fd448cef9a495a10a04..c9b4c7caba8ed79225624075f97f3ad047ae475e 100644 (file)
@@ -19,6 +19,8 @@
 /* Implementation : PYTHON */
 
 #define SWIGPYTHON
 /* Implementation : PYTHON */
 
 #define SWIGPYTHON
+#include "Python.h"
+
 #include <string.h>
 #include <stdlib.h>
 /* Definitions for Windows/Unix exporting */
 #include <string.h>
 #include <stdlib.h>
 /* Definitions for Windows/Unix exporting */
 #   define SWIGEXPORT(a) a
 #endif
 
 #   define SWIGEXPORT(a) a
 #endif
 
-#include "Python.h"
-
 #ifdef __cplusplus
 extern "C" {
 #endif
 #ifdef __cplusplus
 extern "C" {
 #endif
-
 extern void SWIG_MakePtr(char *, void *, char *);
 extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *));
 extern char *SWIG_GetPtr(char *, void **, char *);
 extern void SWIG_MakePtr(char *, void *, char *);
 extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *));
 extern char *SWIG_GetPtr(char *, void **, char *);
@@ -55,8 +54,12 @@ extern PyObject *SWIG_newvarlink(void);
 
 #define SWIG_name    "xrcc"
 
 
 #define SWIG_name    "xrcc"
 
-#include "export.h"
+#include "wxPython.h"
+#include "pyistream.h"
+#include "wx/xrc/xml.h"
 #include "wx/xrc/xmlres.h"
 #include "wx/xrc/xmlres.h"
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
 
 
 static PyObject* t_output_helper(PyObject* target, PyObject* o) {
 
 
 static PyObject* t_output_helper(PyObject* target, PyObject* o) {
@@ -85,29 +88,142 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) {
     return target;
 }
 
     return target;
 }
 
-#if PYTHON_API_VERSION >= 1009
-    static char* wxStringErrorMsg = "String or Unicode type required";
-#else
-    static char* wxStringErrorMsg = "string type is required for parameter";
-#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-static int _wrap_wxTheXmlResource_set(PyObject *val) {
+    // Put some wx default wxChar* values into wxStrings.
+    static const wxString wxPyEmptyString(wxT(""));
+    static const wxString wxPyUTF8String(wxT("UTF-8"));
+    static const wxString wxPyStyleString(wxT("style"));
+    static const wxString wxPySizeString(wxT("size"));
+    static const wxString wxPyPosString(wxT("pos"));
+    static const wxString wxPyBitmapString(wxT("bitmap"));
+    static const wxString wxPyIconString(wxT("icon"));
+    static const wxString wxPyFontString(wxT("font"));
 
 
-    PyErr_SetString(PyExc_TypeError,"Variable wxTheXmlResource is read-only.");
-    return 1;
-}
+class wxPyXmlSubclassFactory : public wxXmlSubclassFactory
+{
+public:
+    wxPyXmlSubclassFactory() {}
+    DEC_PYCALLBACK_OBJECT_STRING_pure(Create);
+    PYPRIVATE;
+};
 
 
-static PyObject *_wrap_wxTheXmlResource_get() {
-    PyObject * pyobj;
-    char ptemp[128];
+IMP_PYCALLBACK_OBJECT_STRING_pure(wxPyXmlSubclassFactory, wxXmlSubclassFactory, Create);
+ // C++ version of Python aware wxXmlResourceHandler, for the pure virtual
+   // callbacks, as well as to make some protected things public so they can
+   // be wrapped.
+class wxPyXmlResourceHandler : public wxXmlResourceHandler {
+public:
+    wxPyXmlResourceHandler() : wxXmlResourceHandler() {}
+    //~wxPyXmlResourceHandler();
 
 
-    SWIG_MakePtr(ptemp, (char *) wxTheXmlResource,"_wxXmlResource_p");
-    pyobj = PyString_FromString(ptemp);
-    return pyobj;
-}
+    // Base class virtuals
+
+    DEC_PYCALLBACK_OBJECT__pure(DoCreateResource);
+    DEC_PYCALLBACK_BOOL_NODE_pure(CanHandle);
+
+
+    // accessors for protected members
+
+    wxXmlResource* GetResource()        { return m_resource; }
+    wxXmlNode* GetNode()                { return m_node; }
+    wxString GetClass()                 { return m_class; }
+    wxObject* GetParent()               { return m_parent; }
+    wxObject* GetInstance()             { return m_instance; }
+    wxWindow* GetParentAsWindow()       { return m_parentAsWindow; }
+    wxWindow* GetInstanceAsWindow()     { return m_instanceAsWindow; }
+
+
+    // turn some protected methods into public via delegation
+
+    bool IsOfClass(wxXmlNode *node, const wxString& classname)
+        { return wxXmlResourceHandler::IsOfClass(node, classname); }
+
+    wxString GetNodeContent(wxXmlNode *node)
+        { return wxXmlResourceHandler::GetNodeContent(node); }
+
+    bool HasParam(const wxString& param)
+        { return wxXmlResourceHandler::HasParam(param); }
+
+    wxXmlNode *GetParamNode(const wxString& param)
+        { return wxXmlResourceHandler::GetParamNode(param); }
+
+    wxString GetParamValue(const wxString& param)
+        { return wxXmlResourceHandler::GetParamValue(param); }
+
+    void AddStyle(const wxString& name, int value)
+        { wxXmlResourceHandler::AddStyle(name, value); }
+
+    void AddWindowStyles()
+        { wxXmlResourceHandler::AddWindowStyles(); }
+
+    int GetStyle(const wxString& param = wxT("style"), int defaults = 0)
+        { return wxXmlResourceHandler::GetStyle(param, defaults); }
+
+    wxString GetText(const wxString& param, bool translate = TRUE)
+        { return wxXmlResourceHandler::GetText(param, translate); }
+
+    int GetID()
+        { return wxXmlResourceHandler::GetID(); }
+
+    wxString GetName()
+        { return wxXmlResourceHandler::GetName(); }
+
+    bool GetBool(const wxString& param, bool defaultv = FALSE)
+        { return wxXmlResourceHandler::GetBool(param, defaultv); }
 
 
+    long GetLong( const wxString& param, long defaultv = 0 )
+        { return wxXmlResourceHandler::GetLong(param, defaultv); }
+
+    wxColour GetColour(const wxString& param)
+        { return wxXmlResourceHandler::GetColour(param); }
+
+    wxSize GetSize(const wxString& param = wxT("size"))
+        { return wxXmlResourceHandler::GetSize(param); }
+
+    wxPoint GetPosition(const wxString& param = wxT("pos"))
+        { return wxXmlResourceHandler::GetPosition(param); }
+
+    wxCoord GetDimension(const wxString& param, wxCoord defaultv = 0)
+        { return wxXmlResourceHandler::GetDimension(param, defaultv); }
+
+    wxBitmap GetBitmap(const wxString& param = wxT("bitmap"),
+                       const wxArtClient& defaultArtClient = wxART_OTHER,
+                       wxSize size = wxDefaultSize)
+        { return wxXmlResourceHandler::GetBitmap(param, defaultArtClient, size); }
+
+    wxIcon GetIcon(const wxString& param = wxT("icon"),
+                   const wxArtClient& defaultArtClient = wxART_OTHER,
+                   wxSize size = wxDefaultSize)
+        { return wxXmlResourceHandler::GetIcon(param, defaultArtClient, size); }
+
+    wxFont GetFont(const wxString& param = wxT("font"))
+        { return wxXmlResourceHandler::GetFont(param); }
+
+    void SetupWindow(wxWindow *wnd)
+        { wxXmlResourceHandler::SetupWindow(wnd); }
+
+    void CreateChildren(wxObject *parent, bool this_hnd_only = FALSE)
+        { wxXmlResourceHandler::CreateChildren(parent, this_hnd_only); }
+
+    void CreateChildrenPrivately(wxObject *parent, wxXmlNode *rootnode = NULL)
+        { wxXmlResourceHandler::CreateChildrenPrivately(parent, rootnode); }
+
+    wxObject *CreateResFromNode(wxXmlNode *node,
+                                wxObject *parent, wxObject *instance = NULL)
+        { return wxXmlResourceHandler::CreateResFromNode(node, parent, instance); }
+
+    wxFileSystem& GetCurFileSystem()
+        { return wxXmlResourceHandler::GetCurFileSystem(); }
+
+
+    PYPRIVATE;
+};
+
+IMP_PYCALLBACK_OBJECT__pure(wxPyXmlResourceHandler, wxXmlResourceHandler, DoCreateResource);
+IMP_PYCALLBACK_BOOL_NODE_pure(wxPyXmlResourceHandler, wxXmlResourceHandler, CanHandle);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 static void *SwigwxXmlResourceTowxObject(void *ptr) {
     wxXmlResource *src;
     wxObject *dest;
 static void *SwigwxXmlResourceTowxObject(void *ptr) {
     wxXmlResource *src;
     wxObject *dest;
@@ -116,24 +232,30 @@ static void *SwigwxXmlResourceTowxObject(void *ptr) {
     return (void *) dest;
 }
 
     return (void *) dest;
 }
 
-#define new_wxXmlResourceEmpty(_swigarg0) (new wxXmlResource(_swigarg0))
-static PyObject *_wrap_new_wxXmlResourceEmpty(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define new_wxXmlResource(_swigarg0,_swigarg1) (new wxXmlResource(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxXmlResource(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxXmlResource * _result;
     PyObject * _resultobj;
     wxXmlResource * _result;
-    bool  _arg0 = (bool ) TRUE;
-    int tempbool0 = (int) TRUE;
-    char *_kwnames[] = { "use_locale", NULL };
+    wxString * _arg0;
+    int  _arg1 = (int ) (wxXRC_USE_LOCALE);
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "filemask","flags", NULL };
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxXmlResourceEmpty",_kwnames,&tempbool0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:new_wxXmlResource",_kwnames,&_obj0,&_arg1)) 
+        return NULL;
+{
+    _arg0 = wxString_in_helper(_obj0);
+    if (_arg0 == NULL)
         return NULL;
         return NULL;
-    _arg0 = (bool ) tempbool0;
+}
 {
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxXmlResource *)new_wxXmlResourceEmpty(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlResource *)new_wxXmlResource(*_arg0,_arg1);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlResource_p");
         _resultobj = Py_BuildValue("s",_ptemp);
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlResource_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -141,52 +263,30 @@ static PyObject *_wrap_new_wxXmlResourceEmpty(PyObject *self, PyObject *args, Py
         Py_INCREF(Py_None);
         _resultobj = Py_None;
     }
         Py_INCREF(Py_None);
         _resultobj = Py_None;
     }
+{
+    if (_obj0)
+        delete _arg0;
+}
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-static wxXmlResource *new_wxXmlResource(const wxString *filemask,bool use_locale) {
-            wxXmlResource* res = new wxXmlResource(*filemask, use_locale);
-            res->InitAllHandlers();
-            return res;
-        }
-
-static PyObject *_wrap_new_wxXmlResource(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define new_wxEmptyXmlResource(_swigarg0) (new wxXmlResource(_swigarg0))
+static PyObject *_wrap_new_wxEmptyXmlResource(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxXmlResource * _result;
     PyObject * _resultobj;
     wxXmlResource * _result;
-    wxString * _arg0;
-    bool  _arg1 = (bool ) TRUE;
-    PyObject * _obj0 = 0;
-    int tempbool1 = (int) TRUE;
-    char *_kwnames[] = { "filemask","use_locale", NULL };
+    int  _arg0 = (int ) (wxXRC_USE_LOCALE);
+    char *_kwnames[] = { "flags", NULL };
     char _ptemp[128];
 
     self = self;
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:new_wxXmlResource",_kwnames,&_obj0,&tempbool1)) 
-        return NULL;
-{
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj0) && !PyUnicode_Check(_obj0)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj0, &tmpPtr, &tmpSize) == -1)
-        return NULL;
-    _arg0 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj0)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxEmptyXmlResource",_kwnames,&_arg0)) 
         return NULL;
         return NULL;
-    }
-    _arg0 = new wxString(PyString_AS_STRING(_obj0), PyString_GET_SIZE(_obj0));
-#endif
-}
-    _arg1 = (bool ) tempbool1;
 {
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxXmlResource *)new_wxXmlResource(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlResource *)new_wxEmptyXmlResource(_arg0);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlResource_p");
         _resultobj = Py_BuildValue("s",_ptemp);
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlResource_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -194,10 +294,6 @@ static PyObject *_wrap_new_wxXmlResource(PyObject *self, PyObject *args, PyObjec
         Py_INCREF(Py_None);
         _resultobj = Py_None;
     }
         Py_INCREF(Py_None);
         _resultobj = Py_None;
     }
-{
-    if (_obj0)
-        delete _arg0;
-}
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -219,10 +315,11 @@ static PyObject *_wrap_delete_wxXmlResource(PyObject *self, PyObject *args, PyOb
         }
     }
 {
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        delete_wxXmlResource(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    delete_wxXmlResource(_arg0);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -249,28 +346,79 @@ static PyObject *_wrap_wxXmlResource_Load(PyObject *self, PyObject *args, PyObje
         }
     }
 {
         }
     }
 {
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
         return NULL;
         return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResource_Load(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+static bool  wxXmlResource_LoadFromString(wxXmlResource *self,const wxString & data) {
+            static int s_memFileIdx = 0;
+
+            // Check for memory FS. If not present, load the handler:
+            wxMemoryFSHandler::AddFile(wxT("XRC_resource/dummy_file"),
+                                       wxT("dummy data"));
+            wxFileSystem fsys;
+            wxFSFile *f = fsys.OpenFile(wxT("memory:XRC_resource/dummy_file"));
+            wxMemoryFSHandler::RemoveFile(wxT("XRC_resource/dummy_file"));
+            if (f)
+                delete f;
+            else
+                wxFileSystem::AddHandler(new wxMemoryFSHandler);
+
+            // Now put the resource data into the memory FS
+            wxString filename(wxT("XRC_resource/data_string_"));
+            filename << s_memFileIdx;
+            s_memFileIdx += 1;
+            wxMemoryFSHandler::AddFile(filename, data);
+
+            // Load the "file" into the resource object
+            bool retval = self->Load(wxT("memory:") + filename );
+
+            return retval;
+        }
+static PyObject *_wrap_wxXmlResource_LoadFromString(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxXmlResource * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","data", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResource_LoadFromString",_kwnames,&_argo0,&_obj1)) 
         return NULL;
         return NULL;
-    _arg1 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlResource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_LoadFromString. Expected _wxXmlResource_p.");
         return NULL;
         return NULL;
+        }
     }
     }
-    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
-#endif
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
 }
 {
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxXmlResource_Load(_arg0,*_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResource_LoadFromString(_arg0,*_arg1);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj1)
 }    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj1)
@@ -297,10 +445,11 @@ static PyObject *_wrap_wxXmlResource_InitAllHandlers(PyObject *self, PyObject *a
         }
     }
 {
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxXmlResource_InitAllHandlers(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResource_InitAllHandlers(_arg0);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -310,7 +459,7 @@ static PyObject *_wrap_wxXmlResource_InitAllHandlers(PyObject *self, PyObject *a
 static PyObject *_wrap_wxXmlResource_AddHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxXmlResource * _arg0;
 static PyObject *_wrap_wxXmlResource_AddHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxXmlResource * _arg0;
-    wxXmlResourceHandler * _arg1;
+    wxPyXmlResourceHandler * _arg1;
     PyObject * _argo0 = 0;
     PyObject * _argo1 = 0;
     char *_kwnames[] = { "self","handler", NULL };
     PyObject * _argo0 = 0;
     PyObject * _argo1 = 0;
     char *_kwnames[] = { "self","handler", NULL };
@@ -327,16 +476,54 @@ static PyObject *_wrap_wxXmlResource_AddHandler(PyObject *self, PyObject *args,
     }
     if (_argo1) {
         if (_argo1 == Py_None) { _arg1 = NULL; }
     }
     if (_argo1) {
         if (_argo1 == Py_None) { _arg1 = NULL; }
-        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlResourceHandler_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResource_AddHandler. Expected _wxXmlResourceHandler_p.");
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResource_AddHandler. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResource_AddHandler(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlResource_InsertHandler(_swigobj,_swigarg0)  (_swigobj->InsertHandler(_swigarg0))
+static PyObject *_wrap_wxXmlResource_InsertHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlResource * _arg0;
+    wxPyXmlResourceHandler * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","handler", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResource_InsertHandler",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlResource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_InsertHandler. Expected _wxXmlResource_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResource_InsertHandler. Expected _wxPyXmlResourceHandler_p.");
         return NULL;
         }
     }
 {
         return NULL;
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxXmlResource_AddHandler(_arg0,_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResource_InsertHandler(_arg0,_arg1);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -360,10 +547,38 @@ static PyObject *_wrap_wxXmlResource_ClearHandlers(PyObject *self, PyObject *arg
         }
     }
 {
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxXmlResource_ClearHandlers(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResource_ClearHandlers(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxXmlResource_AddSubclassFactory(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyXmlSubclassFactory * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "factory", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResource_AddSubclassFactory",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlSubclassFactory_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_AddSubclassFactory. Expected _wxPyXmlSubclassFactory_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResource::AddSubclassFactory(_arg0);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
 }    Py_INCREF(Py_None);
     _resultobj = Py_None;
     return _resultobj;
@@ -390,28 +605,16 @@ static PyObject *_wrap_wxXmlResource_LoadMenu(PyObject *self, PyObject *args, Py
         }
     }
 {
         }
     }
 {
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
-        return NULL;
-    _arg1 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
         return NULL;
         return NULL;
-    }
-    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
-#endif
 }
 {
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxMenu *)wxXmlResource_LoadMenu(_arg0,*_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxMenu *)wxXmlResource_LoadMenu(_arg0,*_arg1);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }{ _resultobj = wxPyMake_wxObject(_result); }
 {
     if (_obj1)
 }{ _resultobj = wxPyMake_wxObject(_result); }
 {
     if (_obj1)
@@ -441,32 +644,68 @@ static PyObject *_wrap_wxXmlResource_LoadMenuBar(PyObject *self, PyObject *args,
         }
     }
 {
         }
     }
 {
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
         return NULL;
         return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxMenuBar *)wxXmlResource_LoadMenuBar(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResource_LoadMenuBarOnFrame(_swigobj,_swigarg0,_swigarg1)  (_swigobj->LoadMenuBar(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResource_LoadMenuBarOnFrame(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMenuBar * _result;
+    wxXmlResource * _arg0;
+    wxWindow * _arg1;
+    wxString * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","parent","name", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxXmlResource_LoadMenuBarOnFrame",_kwnames,&_argo0,&_argo1,&_obj2)) 
         return NULL;
         return NULL;
-    _arg1 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlResource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_LoadMenuBarOnFrame. Expected _wxXmlResource_p.");
         return NULL;
         return NULL;
+        }
     }
     }
-    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
-#endif
+    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 wxXmlResource_LoadMenuBarOnFrame. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
+        return NULL;
 }
 {
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxMenuBar *)wxXmlResource_LoadMenuBar(_arg0,*_arg1);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxMenuBar *)wxXmlResource_LoadMenuBarOnFrame(_arg0,_arg1,*_arg2);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }{ _resultobj = wxPyMake_wxObject(_result); }
 {
 }{ _resultobj = wxPyMake_wxObject(_result); }
 {
-    if (_obj1)
-        delete _arg1;
+    if (_obj2)
+        delete _arg2;
 }
     return _resultobj;
 }
 }
     return _resultobj;
 }
@@ -501,28 +740,16 @@ static PyObject *_wrap_wxXmlResource_LoadToolBar(PyObject *self, PyObject *args,
         }
     }
 {
         }
     }
 {
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj2) && !PyUnicode_Check(_obj2)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj2, &tmpPtr, &tmpSize) == -1)
-        return NULL;
-    _arg2 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj2)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
         return NULL;
         return NULL;
-    }
-    _arg2 = new wxString(PyString_AS_STRING(_obj2), PyString_GET_SIZE(_obj2));
-#endif
 }
 {
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxToolBar *)wxXmlResource_LoadToolBar(_arg0,_arg1,*_arg2);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxToolBar *)wxXmlResource_LoadToolBar(_arg0,_arg1,*_arg2);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }{ _resultobj = wxPyMake_wxObject(_result); }
 {
     if (_obj2)
 }{ _resultobj = wxPyMake_wxObject(_result); }
 {
     if (_obj2)
@@ -562,28 +789,16 @@ static PyObject *_wrap_wxXmlResource_LoadDialog(PyObject *self, PyObject *args,
         }
     }
 {
         }
     }
 {
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj2) && !PyUnicode_Check(_obj2)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj2, &tmpPtr, &tmpSize) == -1)
-        return NULL;
-    _arg2 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj2)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
         return NULL;
         return NULL;
-    }
-    _arg2 = new wxString(PyString_AS_STRING(_obj2), PyString_GET_SIZE(_obj2));
-#endif
 }
 {
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxDialog *)wxXmlResource_LoadDialog(_arg0,_arg1,*_arg2);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDialog *)wxXmlResource_LoadDialog(_arg0,_arg1,*_arg2);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxDialog_p");
         _resultobj = Py_BuildValue("s",_ptemp);
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxDialog_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -637,28 +852,16 @@ static PyObject *_wrap_wxXmlResource_LoadOnDialog(PyObject *self, PyObject *args
         }
     }
 {
         }
     }
 {
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj3) && !PyUnicode_Check(_obj3)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj3, &tmpPtr, &tmpSize) == -1)
-        return NULL;
-    _arg3 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj3)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    _arg3 = wxString_in_helper(_obj3);
+    if (_arg3 == NULL)
         return NULL;
         return NULL;
-    }
-    _arg3 = new wxString(PyString_AS_STRING(_obj3), PyString_GET_SIZE(_obj3));
-#endif
 }
 {
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxXmlResource_LoadOnDialog(_arg0,_arg1,_arg2,*_arg3);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResource_LoadOnDialog(_arg0,_arg1,_arg2,*_arg3);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj3)
 }    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj3)
@@ -698,28 +901,16 @@ static PyObject *_wrap_wxXmlResource_LoadPanel(PyObject *self, PyObject *args, P
         }
     }
 {
         }
     }
 {
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj2) && !PyUnicode_Check(_obj2)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj2, &tmpPtr, &tmpSize) == -1)
-        return NULL;
-    _arg2 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj2)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
         return NULL;
         return NULL;
-    }
-    _arg2 = new wxString(PyString_AS_STRING(_obj2), PyString_GET_SIZE(_obj2));
-#endif
 }
 {
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxPanel *)wxXmlResource_LoadPanel(_arg0,_arg1,*_arg2);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPanel *)wxXmlResource_LoadPanel(_arg0,_arg1,*_arg2);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxPanel_p");
         _resultobj = Py_BuildValue("s",_ptemp);
 }    if (_result) {
         SWIG_MakePtr(_ptemp, (char *) _result,"_wxPanel_p");
         _resultobj = Py_BuildValue("s",_ptemp);
@@ -773,28 +964,16 @@ static PyObject *_wrap_wxXmlResource_LoadOnPanel(PyObject *self, PyObject *args,
         }
     }
 {
         }
     }
 {
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj3) && !PyUnicode_Check(_obj3)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj3, &tmpPtr, &tmpSize) == -1)
-        return NULL;
-    _arg3 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj3)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    _arg3 = wxString_in_helper(_obj3);
+    if (_arg3 == NULL)
         return NULL;
         return NULL;
-    }
-    _arg3 = new wxString(PyString_AS_STRING(_obj3), PyString_GET_SIZE(_obj3));
-#endif
 }
 {
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxXmlResource_LoadOnPanel(_arg0,_arg1,_arg2,*_arg3);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResource_LoadOnPanel(_arg0,_arg1,_arg2,*_arg3);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj3)
 }    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj3)
@@ -803,22 +982,20 @@ static PyObject *_wrap_wxXmlResource_LoadOnPanel(PyObject *self, PyObject *args,
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-#define wxXmlResource_LoadFrame(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->LoadFrame(_swigarg0,_swigarg1,_swigarg2))
+#define wxXmlResource_LoadFrame(_swigobj,_swigarg0,_swigarg1)  (_swigobj->LoadFrame(_swigarg0,_swigarg1))
 static PyObject *_wrap_wxXmlResource_LoadFrame(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
 static PyObject *_wrap_wxXmlResource_LoadFrame(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    wxFrame * _result;
     wxXmlResource * _arg0;
     wxXmlResource * _arg0;
-    wxFrame * _arg1;
-    wxWindow * _arg2;
-    wxString * _arg3;
+    wxWindow * _arg1;
+    wxString * _arg2;
     PyObject * _argo0 = 0;
     PyObject * _argo1 = 0;
     PyObject * _argo0 = 0;
     PyObject * _argo1 = 0;
-    PyObject * _argo2 = 0;
-    PyObject * _obj3 = 0;
-    char *_kwnames[] = { "self","frame","parent","name", NULL };
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","parent","name", NULL };
 
     self = self;
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxXmlResource_LoadFrame",_kwnames,&_argo0,&_argo1,&_argo2,&_obj3)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxXmlResource_LoadFrame",_kwnames,&_argo0,&_argo1,&_obj2)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
@@ -829,45 +1006,210 @@ static PyObject *_wrap_wxXmlResource_LoadFrame(PyObject *self, PyObject *args, P
     }
     if (_argo1) {
         if (_argo1 == Py_None) { _arg1 = NULL; }
     }
     if (_argo1) {
         if (_argo1 == Py_None) { _arg1 = NULL; }
-        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFrame_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResource_LoadFrame. Expected _wxFrame_p.");
-        return NULL;
-        }
-    }
-    if (_argo2) {
-        if (_argo2 == Py_None) { _arg2 = NULL; }
-        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxXmlResource_LoadFrame. Expected _wxWindow_p.");
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResource_LoadFrame. Expected _wxWindow_p.");
         return NULL;
         }
     }
 {
         return NULL;
         }
     }
 {
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj3) && !PyUnicode_Check(_obj3)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj3, &tmpPtr, &tmpSize) == -1)
-        return NULL;
-    _arg3 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj3)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
         return NULL;
         return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxFrame *)wxXmlResource_LoadFrame(_arg0,_arg1,*_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxXmlResource_LoadOnFrame(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->LoadFrame(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxXmlResource_LoadOnFrame(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxXmlResource * _arg0;
+    wxFrame * _arg1;
+    wxWindow * _arg2;
+    wxString * _arg3;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _obj3 = 0;
+    char *_kwnames[] = { "self","frame","parent","name", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxXmlResource_LoadOnFrame",_kwnames,&_argo0,&_argo1,&_argo2,&_obj3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlResource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_LoadOnFrame. Expected _wxXmlResource_p.");
+        return NULL;
+        }
     }
     }
-    _arg3 = new wxString(PyString_AS_STRING(_obj3), PyString_GET_SIZE(_obj3));
-#endif
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFrame_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResource_LoadOnFrame. Expected _wxFrame_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxXmlResource_LoadOnFrame. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    _arg3 = wxString_in_helper(_obj3);
+    if (_arg3 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResource_LoadOnFrame(_arg0,_arg1,_arg2,*_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj3)
+        delete _arg3;
+}
+    return _resultobj;
+}
+
+#define wxXmlResource_LoadObject(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->LoadObject(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxXmlResource_LoadObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxObject * _result;
+    wxXmlResource * _arg0;
+    wxWindow * _arg1;
+    wxString * _arg2;
+    wxString * _arg3;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _obj2 = 0;
+    PyObject * _obj3 = 0;
+    char *_kwnames[] = { "self","parent","name","classname", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxXmlResource_LoadObject",_kwnames,&_argo0,&_argo1,&_obj2,&_obj3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlResource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_LoadObject. Expected _wxXmlResource_p.");
+        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 wxXmlResource_LoadObject. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
+        return NULL;
+}
+{
+    _arg3 = wxString_in_helper(_obj3);
+    if (_arg3 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxObject *)wxXmlResource_LoadObject(_arg0,_arg1,*_arg2,*_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+{
+    if (_obj2)
+        delete _arg2;
+}
+{
+    if (_obj3)
+        delete _arg3;
+}
+    return _resultobj;
+}
+
+#define wxXmlResource_LoadOnObject(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->LoadObject(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxXmlResource_LoadOnObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxXmlResource * _arg0;
+    wxObject * _arg1;
+    wxWindow * _arg2;
+    wxString * _arg3;
+    wxString * _arg4;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _obj3 = 0;
+    PyObject * _obj4 = 0;
+    char *_kwnames[] = { "self","instance","parent","name","classname", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOOO:wxXmlResource_LoadOnObject",_kwnames,&_argo0,&_argo1,&_argo2,&_obj3,&_obj4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlResource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_LoadOnObject. Expected _wxXmlResource_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResource_LoadOnObject. Expected _wxObject_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxXmlResource_LoadOnObject. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    _arg3 = wxString_in_helper(_obj3);
+    if (_arg3 == NULL)
+        return NULL;
+}
+{
+    _arg4 = wxString_in_helper(_obj4);
+    if (_arg4 == NULL)
+        return NULL;
 }
 {
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxXmlResource_LoadFrame(_arg0,_arg1,_arg2,*_arg3);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResource_LoadOnObject(_arg0,_arg1,_arg2,*_arg3,*_arg4);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj3)
         delete _arg3;
 }    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj3)
         delete _arg3;
+}
+{
+    if (_obj4)
+        delete _arg4;
 }
     return _resultobj;
 }
 }
     return _resultobj;
 }
@@ -894,28 +1236,16 @@ static PyObject *_wrap_wxXmlResource_LoadBitmap(PyObject *self, PyObject *args,
         }
     }
 {
         }
     }
 {
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
         return NULL;
         return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
-        return NULL;
-    _arg1 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
-#endif
 }
 {
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = new wxBitmap (wxXmlResource_LoadBitmap(_arg0,*_arg1));
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxBitmap (wxXmlResource_LoadBitmap(_arg0,*_arg1));
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    SWIG_MakePtr(_ptemp, (void *) _result,"_wxBitmap_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
 }    SWIG_MakePtr(_ptemp, (void *) _result,"_wxBitmap_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
@@ -947,28 +1277,16 @@ static PyObject *_wrap_wxXmlResource_LoadIcon(PyObject *self, PyObject *args, Py
         }
     }
 {
         }
     }
 {
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
         return NULL;
         return NULL;
-    _arg1 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
-#endif
 }
 {
 }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = new wxIcon (wxXmlResource_LoadIcon(_arg0,*_arg1));
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxIcon (wxXmlResource_LoadIcon(_arg0,*_arg1));
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    SWIG_MakePtr(_ptemp, (void *) _result,"_wxIcon_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
 }    SWIG_MakePtr(_ptemp, (void *) _result,"_wxIcon_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
@@ -1003,22 +1321,9 @@ static PyObject *_wrap_wxXmlResource_AttachUnknownControl(PyObject *self, PyObje
         }
     }
 {
         }
     }
 {
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
-        return NULL;
-    _arg1 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
         return NULL;
         return NULL;
-    }
-    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
-#endif
 }
     if (_argo2) {
         if (_argo2 == Py_None) { _arg2 = NULL; }
 }
     if (_argo2) {
         if (_argo2 == Py_None) { _arg2 = NULL; }
@@ -1035,10 +1340,11 @@ static PyObject *_wrap_wxXmlResource_AttachUnknownControl(PyObject *self, PyObje
         }
     }
 {
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxXmlResource_AttachUnknownControl(_arg0,*_arg1,_arg2,_arg3);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResource_AttachUnknownControl(_arg0,*_arg1,_arg2,_arg3);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj1)
 }    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj1)
@@ -1047,21 +1353,32 @@ static PyObject *_wrap_wxXmlResource_AttachUnknownControl(PyObject *self, PyObje
     return _resultobj;
 }
 
     return _resultobj;
 }
 
-static PyObject *_wrap_wxXmlResource_GetXMLID(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_wxXmlResource_GetXRCID(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     PyObject * _resultobj;
     int  _result;
-    char * _arg0;
+    wxString * _arg0;
+    PyObject * _obj0 = 0;
     char *_kwnames[] = { "str_id", NULL };
 
     self = self;
     char *_kwnames[] = { "str_id", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"s:wxXmlResource_GetXMLID",_kwnames,&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResource_GetXRCID",_kwnames,&_obj0)) 
         return NULL;
 {
         return NULL;
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxXmlResource::GetXMLID(_arg0);
+    _arg0 = wxString_in_helper(_obj0);
+    if (_arg0 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxXmlResource::GetXRCID(*_arg0);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
 }    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj0)
+        delete _arg0;
+}
     return _resultobj;
 }
 
     return _resultobj;
 }
 
@@ -1084,10 +1401,11 @@ static PyObject *_wrap_wxXmlResource_GetVersion(PyObject *self, PyObject *args,
         }
     }
 {
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (long )wxXmlResource_GetVersion(_arg0);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxXmlResource_GetVersion(_arg0);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
 }    _resultobj = Py_BuildValue("l",_result);
     return _resultobj;
 }
@@ -1115,36 +1433,3741 @@ static PyObject *_wrap_wxXmlResource_CompareVersion(PyObject *self, PyObject *ar
         }
     }
 {
         }
     }
 {
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (int )wxXmlResource_CompareVersion(_arg0,_arg1,_arg2,_arg3,_arg4);
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxXmlResource_CompareVersion(_arg0,_arg1,_arg2,_arg3,_arg4);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxXmlResource_Get(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlResource * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxXmlResource_Get",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlResource *)wxXmlResource::Get();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlResource_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxXmlResource_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlResource * _result;
+    wxXmlResource * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "res", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResource_Set",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlResource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_Set. Expected _wxXmlResource_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlResource *)wxXmlResource::Set(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlResource_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxXmlResource_GetFlags(_swigobj)  (_swigobj->GetFlags())
+static PyObject *_wrap_wxXmlResource_GetFlags(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxXmlResource * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResource_GetFlags",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlResource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_GetFlags. Expected _wxXmlResource_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxXmlResource_GetFlags(_arg0);
 
 
-    wxPy_END_ALLOW_THREADS;
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
 }    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
+#define wxXmlResource_SetFlags(_swigobj,_swigarg0)  (_swigobj->SetFlags(_swigarg0))
+static PyObject *_wrap_wxXmlResource_SetFlags(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlResource * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","flags", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxXmlResource_SetFlags",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlResource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_SetFlags. Expected _wxXmlResource_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResource_SetFlags(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define new_wxXmlSubclassFactory() (new wxPyXmlSubclassFactory())
+static PyObject *_wrap_new_wxXmlSubclassFactory(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyXmlSubclassFactory * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxXmlSubclassFactory",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPyXmlSubclassFactory *)new_wxXmlSubclassFactory();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyXmlSubclassFactory_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxXmlSubclassFactory__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlSubclassFactory__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyXmlSubclassFactory * _arg0;
+    PyObject * _arg1;
+    PyObject * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","self","_class", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxXmlSubclassFactory__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlSubclassFactory_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlSubclassFactory__setCallbackInfo. Expected _wxPyXmlSubclassFactory_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+  _arg2 = _obj2;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlSubclassFactory__setCallbackInfo(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define new_wxXmlProperty(_swigarg0,_swigarg1,_swigarg2) (new wxXmlProperty(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_new_wxXmlProperty(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlProperty * _result;
+    wxString * _arg0 = (wxString *) &wxPyEmptyString;
+    wxString * _arg1 = (wxString *) &wxPyEmptyString;
+    wxXmlProperty * _arg2 = (wxXmlProperty *) NULL;
+    PyObject * _obj0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "name","value","next", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|OOO:new_wxXmlProperty",_kwnames,&_obj0,&_obj1,&_argo2)) 
+        return NULL;
+    if (_obj0)
+{
+    _arg0 = wxString_in_helper(_obj0);
+    if (_arg0 == NULL)
+        return NULL;
+}
+    if (_obj1)
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxXmlProperty_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxXmlProperty. Expected _wxXmlProperty_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlProperty *)new_wxXmlProperty(*_arg0,*_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlProperty_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj0)
+        delete _arg0;
+}
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlProperty_GetName(_swigobj)  (_swigobj->GetName())
+static PyObject *_wrap_wxXmlProperty_GetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxXmlProperty * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlProperty_GetName",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlProperty_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlProperty_GetName. Expected _wxXmlProperty_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlProperty_GetName(_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 wxXmlProperty_GetValue(_swigobj)  (_swigobj->GetValue())
+static PyObject *_wrap_wxXmlProperty_GetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxXmlProperty * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlProperty_GetValue",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlProperty_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlProperty_GetValue. Expected _wxXmlProperty_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlProperty_GetValue(_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 wxXmlProperty_GetNext(_swigobj)  (_swigobj->GetNext())
+static PyObject *_wrap_wxXmlProperty_GetNext(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlProperty * _result;
+    wxXmlProperty * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlProperty_GetNext",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlProperty_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlProperty_GetNext. Expected _wxXmlProperty_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlProperty *)wxXmlProperty_GetNext(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlProperty_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxXmlProperty_SetName(_swigobj,_swigarg0)  (_swigobj->SetName(_swigarg0))
+static PyObject *_wrap_wxXmlProperty_SetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlProperty * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","name", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlProperty_SetName",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlProperty_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlProperty_SetName. Expected _wxXmlProperty_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlProperty_SetName(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlProperty_SetValue(_swigobj,_swigarg0)  (_swigobj->SetValue(_swigarg0))
+static PyObject *_wrap_wxXmlProperty_SetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlProperty * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","value", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlProperty_SetValue",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlProperty_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlProperty_SetValue. Expected _wxXmlProperty_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlProperty_SetValue(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlProperty_SetNext(_swigobj,_swigarg0)  (_swigobj->SetNext(_swigarg0))
+static PyObject *_wrap_wxXmlProperty_SetNext(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlProperty * _arg0;
+    wxXmlProperty * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","next", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlProperty_SetNext",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlProperty_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlProperty_SetNext. Expected _wxXmlProperty_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlProperty_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlProperty_SetNext. Expected _wxXmlProperty_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlProperty_SetNext(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define new_wxXmlNode(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (new wxXmlNode(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_new_wxXmlNode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _result;
+    wxXmlNode * _arg0 = (wxXmlNode *) NULL;
+    wxXmlNodeType  _arg1 = (wxXmlNodeType ) 0;
+    wxString * _arg2 = (wxString *) &wxPyEmptyString;
+    wxString * _arg3 = (wxString *) &wxPyEmptyString;
+    wxXmlProperty * _arg4 = (wxXmlProperty *) NULL;
+    wxXmlNode * _arg5 = (wxXmlNode *) NULL;
+    PyObject * _argo0 = 0;
+    PyObject * _obj2 = 0;
+    PyObject * _obj3 = 0;
+    PyObject * _argo4 = 0;
+    PyObject * _argo5 = 0;
+    char *_kwnames[] = { "parent","type","name","content","props","next", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|OiOOOO:new_wxXmlNode",_kwnames,&_argo0,&_arg1,&_obj2,&_obj3,&_argo4,&_argo5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxXmlNode. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+    if (_obj2)
+{
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
+        return NULL;
+}
+    if (_obj3)
+{
+    _arg3 = wxString_in_helper(_obj3);
+    if (_arg3 == NULL)
+        return NULL;
+}
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxXmlProperty_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of new_wxXmlNode. Expected _wxXmlProperty_p.");
+        return NULL;
+        }
+    }
+    if (_argo5) {
+        if (_argo5 == Py_None) { _arg5 = NULL; }
+        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of new_wxXmlNode. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlNode *)new_wxXmlNode(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlNode_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj2)
+        delete _arg2;
+}
+{
+    if (_obj3)
+        delete _arg3;
+}
+    return _resultobj;
+}
+
+#define delete_wxXmlNode(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxXmlNode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxXmlNode",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxXmlNode. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    delete_wxXmlNode(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define new_wxXmlNodeEasy(_swigarg0,_swigarg1,_swigarg2) (new wxXmlNode(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_new_wxXmlNodeEasy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _result;
+    wxXmlNodeType  _arg0;
+    wxString * _arg1;
+    wxString * _arg2 = (wxString *) &wxPyEmptyString;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "type","name","content", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iO|O:new_wxXmlNodeEasy",_kwnames,&_arg0,&_obj1,&_obj2)) 
+        return NULL;
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+    if (_obj2)
+{
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlNode *)new_wxXmlNodeEasy(_arg0,*_arg1,*_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlNode_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxXmlNode_AddChild(_swigobj,_swigarg0)  (_swigobj->AddChild(_swigarg0))
+static PyObject *_wrap_wxXmlNode_AddChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _arg0;
+    wxXmlNode * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","child", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlNode_AddChild",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_AddChild. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlNode_AddChild. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlNode_AddChild(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlNode_InsertChild(_swigobj,_swigarg0,_swigarg1)  (_swigobj->InsertChild(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlNode_InsertChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _arg0;
+    wxXmlNode * _arg1;
+    wxXmlNode * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "self","child","before_node", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxXmlNode_InsertChild",_kwnames,&_argo0,&_argo1,&_argo2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_InsertChild. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlNode_InsertChild. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxXmlNode_InsertChild. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlNode_InsertChild(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlNode_RemoveChild(_swigobj,_swigarg0)  (_swigobj->RemoveChild(_swigarg0))
+static PyObject *_wrap_wxXmlNode_RemoveChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxXmlNode * _arg0;
+    wxXmlNode * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","child", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlNode_RemoveChild",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_RemoveChild. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlNode_RemoveChild. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlNode_RemoveChild(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxXmlNode_AddProperty(_swigobj,_swigarg0)  (_swigobj->AddProperty(_swigarg0))
+static PyObject *_wrap_wxXmlNode_AddProperty(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _arg0;
+    wxXmlProperty * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","prop", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlNode_AddProperty",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_AddProperty. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlProperty_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlNode_AddProperty. Expected _wxXmlProperty_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlNode_AddProperty(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlNode_AddPropertyName(_swigobj,_swigarg0,_swigarg1)  (_swigobj->AddProperty(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlNode_AddPropertyName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _arg0;
+    wxString * _arg1;
+    wxString * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","name","value", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxXmlNode_AddPropertyName",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_AddPropertyName. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlNode_AddPropertyName(_arg0,*_arg1,*_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxXmlNode_DeleteProperty(_swigobj,_swigarg0)  (_swigobj->DeleteProperty(_swigarg0))
+static PyObject *_wrap_wxXmlNode_DeleteProperty(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxXmlNode * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","name", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlNode_DeleteProperty",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_DeleteProperty. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlNode_DeleteProperty(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlNode_GetType(_swigobj)  (_swigobj->GetType())
+static PyObject *_wrap_wxXmlNode_GetType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNodeType  _result;
+    wxXmlNode * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlNode_GetType",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_GetType. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlNodeType )wxXmlNode_GetType(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxXmlNode_GetName(_swigobj)  (_swigobj->GetName())
+static PyObject *_wrap_wxXmlNode_GetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxXmlNode * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlNode_GetName",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_GetName. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlNode_GetName(_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 wxXmlNode_GetContent(_swigobj)  (_swigobj->GetContent())
+static PyObject *_wrap_wxXmlNode_GetContent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxXmlNode * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlNode_GetContent",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_GetContent. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlNode_GetContent(_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 wxXmlNode_GetParent(_swigobj)  (_swigobj->GetParent())
+static PyObject *_wrap_wxXmlNode_GetParent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _result;
+    wxXmlNode * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlNode_GetParent",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_GetParent. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlNode *)wxXmlNode_GetParent(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlNode_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxXmlNode_GetNext(_swigobj)  (_swigobj->GetNext())
+static PyObject *_wrap_wxXmlNode_GetNext(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _result;
+    wxXmlNode * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlNode_GetNext",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_GetNext. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlNode *)wxXmlNode_GetNext(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlNode_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxXmlNode_GetChildren(_swigobj)  (_swigobj->GetChildren())
+static PyObject *_wrap_wxXmlNode_GetChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _result;
+    wxXmlNode * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlNode_GetChildren",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_GetChildren. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlNode *)wxXmlNode_GetChildren(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlNode_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxXmlNode_GetProperties(_swigobj)  (_swigobj->GetProperties())
+static PyObject *_wrap_wxXmlNode_GetProperties(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlProperty * _result;
+    wxXmlNode * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlNode_GetProperties",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_GetProperties. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlProperty *)wxXmlNode_GetProperties(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlProperty_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxXmlNode_GetPropVal(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetPropVal(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlNode_GetPropVal(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxXmlNode * _arg0;
+    wxString * _arg1;
+    wxString * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","propName","defaultVal", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxXmlNode_GetPropVal",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_GetPropVal. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlNode_GetPropVal(_arg0,*_arg1,*_arg2));
+
+    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
+}
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    if (_obj2)
+        delete _arg2;
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxXmlNode_HasProp(_swigobj,_swigarg0)  (_swigobj->HasProp(_swigarg0))
+static PyObject *_wrap_wxXmlNode_HasProp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxXmlNode * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","propName", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlNode_HasProp",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_HasProp. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlNode_HasProp(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlNode_SetType(_swigobj,_swigarg0)  (_swigobj->SetType(_swigarg0))
+static PyObject *_wrap_wxXmlNode_SetType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _arg0;
+    wxXmlNodeType  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","type", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxXmlNode_SetType",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_SetType. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlNode_SetType(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlNode_SetName(_swigobj,_swigarg0)  (_swigobj->SetName(_swigarg0))
+static PyObject *_wrap_wxXmlNode_SetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","name", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlNode_SetName",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_SetName. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlNode_SetName(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlNode_SetContent(_swigobj,_swigarg0)  (_swigobj->SetContent(_swigarg0))
+static PyObject *_wrap_wxXmlNode_SetContent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","con", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlNode_SetContent",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_SetContent. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlNode_SetContent(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlNode_SetParent(_swigobj,_swigarg0)  (_swigobj->SetParent(_swigarg0))
+static PyObject *_wrap_wxXmlNode_SetParent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _arg0;
+    wxXmlNode * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","parent", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlNode_SetParent",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_SetParent. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlNode_SetParent. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlNode_SetParent(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlNode_SetNext(_swigobj,_swigarg0)  (_swigobj->SetNext(_swigarg0))
+static PyObject *_wrap_wxXmlNode_SetNext(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _arg0;
+    wxXmlNode * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","next", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlNode_SetNext",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_SetNext. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlNode_SetNext. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlNode_SetNext(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlNode_SetChildren(_swigobj,_swigarg0)  (_swigobj->SetChildren(_swigarg0))
+static PyObject *_wrap_wxXmlNode_SetChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _arg0;
+    wxXmlNode * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","child", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlNode_SetChildren",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_SetChildren. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlNode_SetChildren. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlNode_SetChildren(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlNode_SetProperties(_swigobj,_swigarg0)  (_swigobj->SetProperties(_swigarg0))
+static PyObject *_wrap_wxXmlNode_SetProperties(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _arg0;
+    wxXmlProperty * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","prop", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlNode_SetProperties",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlNode_SetProperties. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlProperty_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlNode_SetProperties. Expected _wxXmlProperty_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlNode_SetProperties(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxXmlDocumentTowxObject(void *ptr) {
+    wxXmlDocument *src;
+    wxObject *dest;
+    src = (wxXmlDocument *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxXmlDocument(_swigarg0,_swigarg1) (new wxXmlDocument(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxXmlDocument(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlDocument * _result;
+    wxString * _arg0;
+    wxString * _arg1 = (wxString *) &wxPyUTF8String;
+    PyObject * _obj0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "filename","encoding", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:new_wxXmlDocument",_kwnames,&_obj0,&_obj1)) 
+        return NULL;
+{
+    _arg0 = wxString_in_helper(_obj0);
+    if (_arg0 == NULL)
+        return NULL;
+}
+    if (_obj1)
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlDocument *)new_wxXmlDocument(*_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlDocument_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj0)
+        delete _arg0;
+}
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define new_wxXmlDocumentFromStream(_swigarg0,_swigarg1) (new wxXmlDocument(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxXmlDocumentFromStream(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlDocument * _result;
+    wxInputStream * _arg0;
+    wxString * _arg1 = (wxString *) &wxPyUTF8String;
+    wxPyInputStream * temp;
+    bool  created;
+    PyObject * _obj0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "stream","encoding", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:new_wxXmlDocumentFromStream",_kwnames,&_obj0,&_obj1)) 
+        return NULL;
+{
+    if (SWIG_GetPtrObj(_obj0, (void **) &temp, "_wxPyInputStream_p") == 0) {
+        _arg0 = temp->m_wxis;
+        created = FALSE;
+    } else {
+        _arg0 = wxPyCBInputStream_create(_obj0, FALSE);
+        if (_arg0 == NULL) {
+            PyErr_SetString(PyExc_TypeError,"Expected _wxInputStream_p or Python file-like object.");
+            return NULL;
+        }
+        created = TRUE;
+    }
+}
+    if (_obj1)
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlDocument *)new_wxXmlDocumentFromStream(*_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlDocument_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (created)
+        delete _arg0;
+}
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define new_wxEmptyXmlDocument() (new wxXmlDocument())
+static PyObject *_wrap_new_wxEmptyXmlDocument(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlDocument * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxEmptyXmlDocument",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlDocument *)new_wxEmptyXmlDocument();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlDocument_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define delete_wxXmlDocument(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxXmlDocument(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlDocument * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxXmlDocument",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxXmlDocument. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    delete_wxXmlDocument(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlDocument_Load(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Load(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlDocument_Load(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxXmlDocument * _arg0;
+    wxString * _arg1;
+    wxString * _arg2 = (wxString *) &wxPyUTF8String;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","filename","encoding", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxXmlDocument_Load",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_Load. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+    if (_obj2)
+{
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlDocument_Load(_arg0,*_arg1,*_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxXmlDocument_LoadFromStream(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Load(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlDocument_LoadFromStream(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxXmlDocument * _arg0;
+    wxInputStream * _arg1;
+    wxString * _arg2 = (wxString *) &wxPyUTF8String;
+    PyObject * _argo0 = 0;
+    wxPyInputStream * temp;
+    bool  created;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","stream","encoding", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxXmlDocument_LoadFromStream",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_LoadFromStream. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+{
+    if (SWIG_GetPtrObj(_obj1, (void **) &temp, "_wxPyInputStream_p") == 0) {
+        _arg1 = temp->m_wxis;
+        created = FALSE;
+    } else {
+        _arg1 = wxPyCBInputStream_create(_obj1, FALSE);
+        if (_arg1 == NULL) {
+            PyErr_SetString(PyExc_TypeError,"Expected _wxInputStream_p or Python file-like object.");
+            return NULL;
+        }
+        created = TRUE;
+    }
+}
+    if (_obj2)
+{
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlDocument_LoadFromStream(_arg0,*_arg1,*_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (created)
+        delete _arg1;
+}
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxXmlDocument_Save(_swigobj,_swigarg0)  (_swigobj->Save(_swigarg0))
+static PyObject *_wrap_wxXmlDocument_Save(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxXmlDocument * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","filename", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlDocument_Save",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_Save. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlDocument_Save(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlDocument_SaveToStream(_swigobj,_swigarg0)  (_swigobj->Save(_swigarg0))
+static PyObject *_wrap_wxXmlDocument_SaveToStream(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxXmlDocument * _arg0;
+    wxOutputStream * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","stream", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlDocument_SaveToStream",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_SaveToStream. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxOutputStream_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlDocument_SaveToStream. Expected _wxOutputStream_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlDocument_SaveToStream(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxXmlDocument_IsOk(_swigobj)  (_swigobj->IsOk())
+static PyObject *_wrap_wxXmlDocument_IsOk(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxXmlDocument * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlDocument_IsOk",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_IsOk. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlDocument_IsOk(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxXmlDocument_GetRoot(_swigobj)  (_swigobj->GetRoot())
+static PyObject *_wrap_wxXmlDocument_GetRoot(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _result;
+    wxXmlDocument * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlDocument_GetRoot",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_GetRoot. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlNode *)wxXmlDocument_GetRoot(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlNode_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxXmlDocument_GetVersion(_swigobj)  (_swigobj->GetVersion())
+static PyObject *_wrap_wxXmlDocument_GetVersion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxXmlDocument * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlDocument_GetVersion",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_GetVersion. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlDocument_GetVersion(_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 wxXmlDocument_GetFileEncoding(_swigobj)  (_swigobj->GetFileEncoding())
+static PyObject *_wrap_wxXmlDocument_GetFileEncoding(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxXmlDocument * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlDocument_GetFileEncoding",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_GetFileEncoding. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlDocument_GetFileEncoding(_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 wxXmlDocument_SetRoot(_swigobj,_swigarg0)  (_swigobj->SetRoot(_swigarg0))
+static PyObject *_wrap_wxXmlDocument_SetRoot(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlDocument * _arg0;
+    wxXmlNode * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","node", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlDocument_SetRoot",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_SetRoot. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlDocument_SetRoot. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlDocument_SetRoot(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlDocument_SetVersion(_swigobj,_swigarg0)  (_swigobj->SetVersion(_swigarg0))
+static PyObject *_wrap_wxXmlDocument_SetVersion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlDocument * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","version", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlDocument_SetVersion",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_SetVersion. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlDocument_SetVersion(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlDocument_SetFileEncoding(_swigobj,_swigarg0)  (_swigobj->SetFileEncoding(_swigarg0))
+static PyObject *_wrap_wxXmlDocument_SetFileEncoding(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlDocument * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","encoding", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlDocument_SetFileEncoding",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_SetFileEncoding. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlDocument_SetFileEncoding(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+static wxString  wxXmlDocument_GetEncoding(wxXmlDocument *self) {
+        #if wxUSE_UNICODE
+            return wxPyEmptyString;
+        #else
+            return self->GetEncoding();
+        #endif
+        }
+static PyObject *_wrap_wxXmlDocument_GetEncoding(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxXmlDocument * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlDocument_GetEncoding",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_GetEncoding. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlDocument_GetEncoding(_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;
+}
+
+static void  wxXmlDocument_SetEncoding(wxXmlDocument *self,const wxString & enc) {
+        #if wxUSE_UNICODE
+            // do nothing
+        #else
+            self->SetEncoding(enc);
+        #endif
+        }
+static PyObject *_wrap_wxXmlDocument_SetEncoding(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlDocument * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","enc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlDocument_SetEncoding",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxXmlDocument_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlDocument_SetEncoding. Expected _wxXmlDocument_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlDocument_SetEncoding(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+static void *SwigwxPyXmlResourceHandlerTowxObject(void *ptr) {
+    wxPyXmlResourceHandler *src;
+    wxObject *dest;
+    src = (wxPyXmlResourceHandler *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxXmlResourceHandler() (new wxPyXmlResourceHandler())
+static PyObject *_wrap_new_wxXmlResourceHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyXmlResourceHandler * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxXmlResourceHandler",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPyXmlResourceHandler *)new_wxXmlResourceHandler();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyXmlResourceHandler_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyXmlResourceHandler * _arg0;
+    PyObject * _arg1;
+    PyObject * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","self","_class", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxXmlResourceHandler__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler__setCallbackInfo. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+  _arg2 = _obj2;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResourceHandler__setCallbackInfo(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_CreateResource(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->CreateResource(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxXmlResourceHandler_CreateResource(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxObject * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxXmlNode * _arg1;
+    wxObject * _arg2;
+    wxObject * _arg3;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "self","node","parent","instance", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxXmlResourceHandler_CreateResource",_kwnames,&_argo0,&_argo1,&_argo2,&_argo3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_CreateResource. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResourceHandler_CreateResource. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxXmlResourceHandler_CreateResource. Expected _wxObject_p.");
+        return NULL;
+        }
+    }
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxXmlResourceHandler_CreateResource. Expected _wxObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxObject *)wxXmlResourceHandler_CreateResource(_arg0,_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_SetParentResource(_swigobj,_swigarg0)  (_swigobj->SetParentResource(_swigarg0))
+static PyObject *_wrap_wxXmlResourceHandler_SetParentResource(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyXmlResourceHandler * _arg0;
+    wxXmlResource * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","res", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResourceHandler_SetParentResource",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_SetParentResource. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlResource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResourceHandler_SetParentResource. Expected _wxXmlResource_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResourceHandler_SetParentResource(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetResource(_swigobj)  (_swigobj->GetResource())
+static PyObject *_wrap_wxXmlResourceHandler_GetResource(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlResource * _result;
+    wxPyXmlResourceHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResourceHandler_GetResource",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetResource. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlResource *)wxXmlResourceHandler_GetResource(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlResource_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetNode(_swigobj)  (_swigobj->GetNode())
+static PyObject *_wrap_wxXmlResourceHandler_GetNode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _result;
+    wxPyXmlResourceHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResourceHandler_GetNode",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetNode. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlNode *)wxXmlResourceHandler_GetNode(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlNode_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetClass(_swigobj)  (_swigobj->GetClass())
+static PyObject *_wrap_wxXmlResourceHandler_GetClass(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxPyXmlResourceHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResourceHandler_GetClass",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetClass. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlResourceHandler_GetClass(_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 wxXmlResourceHandler_GetParent(_swigobj)  (_swigobj->GetParent())
+static PyObject *_wrap_wxXmlResourceHandler_GetParent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxObject * _result;
+    wxPyXmlResourceHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResourceHandler_GetParent",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetParent. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxObject *)wxXmlResourceHandler_GetParent(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetInstance(_swigobj)  (_swigobj->GetInstance())
+static PyObject *_wrap_wxXmlResourceHandler_GetInstance(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxObject * _result;
+    wxPyXmlResourceHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResourceHandler_GetInstance",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetInstance. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxObject *)wxXmlResourceHandler_GetInstance(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetParentAsWindow(_swigobj)  (_swigobj->GetParentAsWindow())
+static PyObject *_wrap_wxXmlResourceHandler_GetParentAsWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxWindow * _result;
+    wxPyXmlResourceHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResourceHandler_GetParentAsWindow",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetParentAsWindow. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxWindow *)wxXmlResourceHandler_GetParentAsWindow(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetInstanceAsWindow(_swigobj)  (_swigobj->GetInstanceAsWindow())
+static PyObject *_wrap_wxXmlResourceHandler_GetInstanceAsWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxWindow * _result;
+    wxPyXmlResourceHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResourceHandler_GetInstanceAsWindow",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetInstanceAsWindow. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxWindow *)wxXmlResourceHandler_GetInstanceAsWindow(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_IsOfClass(_swigobj,_swigarg0,_swigarg1)  (_swigobj->IsOfClass(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler_IsOfClass(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxXmlNode * _arg1;
+    wxString * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","node","classname", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxXmlResourceHandler_IsOfClass",_kwnames,&_argo0,&_argo1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_IsOfClass. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResourceHandler_IsOfClass. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResourceHandler_IsOfClass(_arg0,_arg1,*_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetNodeContent(_swigobj,_swigarg0)  (_swigobj->GetNodeContent(_swigarg0))
+static PyObject *_wrap_wxXmlResourceHandler_GetNodeContent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxXmlNode * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","node", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResourceHandler_GetNodeContent",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetNodeContent. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResourceHandler_GetNodeContent. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlResourceHandler_GetNodeContent(_arg0,_arg1));
+
+    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 wxXmlResourceHandler_HasParam(_swigobj,_swigarg0)  (_swigobj->HasParam(_swigarg0))
+static PyObject *_wrap_wxXmlResourceHandler_HasParam(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","param", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResourceHandler_HasParam",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_HasParam. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResourceHandler_HasParam(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetParamNode(_swigobj,_swigarg0)  (_swigobj->GetParamNode(_swigarg0))
+static PyObject *_wrap_wxXmlResourceHandler_GetParamNode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxXmlNode * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","param", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResourceHandler_GetParamNode",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetParamNode. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxXmlNode *)wxXmlResourceHandler_GetParamNode(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxXmlNode_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetParamValue(_swigobj,_swigarg0)  (_swigobj->GetParamValue(_swigarg0))
+static PyObject *_wrap_wxXmlResourceHandler_GetParamValue(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","param", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResourceHandler_GetParamValue",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetParamValue. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlResourceHandler_GetParamValue(_arg0,*_arg1));
+
+    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
+}
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_AddStyle(_swigobj,_swigarg0,_swigarg1)  (_swigobj->AddStyle(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler_AddStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1;
+    int  _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","name","value", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxXmlResourceHandler_AddStyle",_kwnames,&_argo0,&_obj1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_AddStyle. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResourceHandler_AddStyle(_arg0,*_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_AddWindowStyles(_swigobj)  (_swigobj->AddWindowStyles())
+static PyObject *_wrap_wxXmlResourceHandler_AddWindowStyles(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyXmlResourceHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResourceHandler_AddWindowStyles",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_AddWindowStyles. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResourceHandler_AddWindowStyles(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetStyle(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetStyle(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler_GetStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1 = (wxString *) &wxPyStyleString;
+    int  _arg2 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","param","defaults", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|Oi:wxXmlResourceHandler_GetStyle",_kwnames,&_argo0,&_obj1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetStyle. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_obj1)
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxXmlResourceHandler_GetStyle(_arg0,*_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetText(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetText(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler_GetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1;
+    bool  _arg2 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    int tempbool2 = (int) TRUE;
+    char *_kwnames[] = { "self","param","translate", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxXmlResourceHandler_GetText",_kwnames,&_argo0,&_obj1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetText. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+    _arg2 = (bool ) tempbool2;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlResourceHandler_GetText(_arg0,*_arg1,_arg2));
+
+    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
+}
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetID(_swigobj)  (_swigobj->GetID())
+static PyObject *_wrap_wxXmlResourceHandler_GetID(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxPyXmlResourceHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResourceHandler_GetID",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetID. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxXmlResourceHandler_GetID(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetName(_swigobj)  (_swigobj->GetName())
+static PyObject *_wrap_wxXmlResourceHandler_GetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxPyXmlResourceHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResourceHandler_GetName",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetName. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxXmlResourceHandler_GetName(_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 wxXmlResourceHandler_GetBool(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetBool(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler_GetBool(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1;
+    bool  _arg2 = (bool ) FALSE;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    int tempbool2 = (int) FALSE;
+    char *_kwnames[] = { "self","param","defaultv", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxXmlResourceHandler_GetBool",_kwnames,&_argo0,&_obj1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetBool. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+    _arg2 = (bool ) tempbool2;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResourceHandler_GetBool(_arg0,*_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetLong(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetLong(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler_GetLong(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1;
+    long  _arg2 = (long ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","param","defaultv", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|l:wxXmlResourceHandler_GetLong",_kwnames,&_argo0,&_obj1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetLong. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxXmlResourceHandler_GetLong(_arg0,*_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetColour(_swigobj,_swigarg0)  (_swigobj->GetColour(_swigarg0))
+static PyObject *_wrap_wxXmlResourceHandler_GetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxColour * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","param", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResourceHandler_GetColour",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetColour. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxColour (wxXmlResourceHandler_GetColour(_arg0,*_arg1));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetSize(_swigobj,_swigarg0)  (_swigobj->GetSize(_swigarg0))
+static PyObject *_wrap_wxXmlResourceHandler_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxSize * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1 = (wxString *) &wxPySizeString;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","param", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:wxXmlResourceHandler_GetSize",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetSize. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_obj1)
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxSize (wxXmlResourceHandler_GetSize(_arg0,*_arg1));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetPosition(_swigobj,_swigarg0)  (_swigobj->GetPosition(_swigarg0))
+static PyObject *_wrap_wxXmlResourceHandler_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPoint * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1 = (wxString *) &wxPyPosString;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","param", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:wxXmlResourceHandler_GetPosition",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetPosition. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_obj1)
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxPoint (wxXmlResourceHandler_GetPosition(_arg0,*_arg1));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetDimension(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetDimension(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler_GetDimension(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxCoord  _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1;
+    wxCoord  _arg2 = (wxCoord ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","param","defaultv", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxXmlResourceHandler_GetDimension",_kwnames,&_argo0,&_obj1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetDimension. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxCoord )wxXmlResourceHandler_GetDimension(_arg0,*_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetBitmap(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->GetBitmap(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxXmlResourceHandler_GetBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxBitmap * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1 = (wxString *) &wxPyBitmapString;
+    wxArtClient * _arg2 = (wxArtClient *) &wxART_OTHER;
+    wxSize * _arg3 = (wxSize *) &wxDefaultSize;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _argo2 = 0;
+    wxSize  temp;
+    PyObject * _obj3 = 0;
+    char *_kwnames[] = { "self","param","defaultArtClient","size", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|OOO:wxXmlResourceHandler_GetBitmap",_kwnames,&_argo0,&_obj1,&_argo2,&_obj3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetBitmap. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_obj1)
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+    if (_argo2) {
+        if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxArtClient_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxXmlResourceHandler_GetBitmap. Expected _wxArtClient_p.");
+        return NULL;
+        }
+    }
+    if (_obj3)
+{
+    _arg3 = &temp;
+    if (! wxSize_helper(_obj3, &_arg3))
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxBitmap (wxXmlResourceHandler_GetBitmap(_arg0,*_arg1,*_arg2,*_arg3));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxBitmap_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetIcon(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->GetIcon(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxXmlResourceHandler_GetIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxIcon * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1 = (wxString *) &wxPyIconString;
+    wxArtClient * _arg2 = (wxArtClient *) &wxART_OTHER;
+    wxSize * _arg3 = (wxSize *) &wxDefaultSize;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _argo2 = 0;
+    wxSize  temp;
+    PyObject * _obj3 = 0;
+    char *_kwnames[] = { "self","param","defaultArtClient","size", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|OOO:wxXmlResourceHandler_GetIcon",_kwnames,&_argo0,&_obj1,&_argo2,&_obj3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetIcon. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_obj1)
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+    if (_argo2) {
+        if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxArtClient_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxXmlResourceHandler_GetIcon. Expected _wxArtClient_p.");
+        return NULL;
+        }
+    }
+    if (_obj3)
+{
+    _arg3 = &temp;
+    if (! wxSize_helper(_obj3, &_arg3))
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxIcon (wxXmlResourceHandler_GetIcon(_arg0,*_arg1,*_arg2,*_arg3));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxIcon_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetFont(_swigobj,_swigarg0)  (_swigobj->GetFont(_swigarg0))
+static PyObject *_wrap_wxXmlResourceHandler_GetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFont * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxString * _arg1 = (wxString *) &wxPyFontString;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","param", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:wxXmlResourceHandler_GetFont",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetFont. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_obj1)
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxFont (wxXmlResourceHandler_GetFont(_arg0,*_arg1));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxFont_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_SetupWindow(_swigobj,_swigarg0)  (_swigobj->SetupWindow(_swigarg0))
+static PyObject *_wrap_wxXmlResourceHandler_SetupWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyXmlResourceHandler * _arg0;
+    wxWindow * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","wnd", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResourceHandler_SetupWindow",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_SetupWindow. Expected _wxPyXmlResourceHandler_p.");
+        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 wxXmlResourceHandler_SetupWindow. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResourceHandler_SetupWindow(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_CreateChildren(_swigobj,_swigarg0,_swigarg1)  (_swigobj->CreateChildren(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler_CreateChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyXmlResourceHandler * _arg0;
+    wxObject * _arg1;
+    bool  _arg2 = (bool ) FALSE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    int tempbool2 = (int) FALSE;
+    char *_kwnames[] = { "self","parent","this_hnd_only", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxXmlResourceHandler_CreateChildren",_kwnames,&_argo0,&_argo1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_CreateChildren. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResourceHandler_CreateChildren. Expected _wxObject_p.");
+        return NULL;
+        }
+    }
+    _arg2 = (bool ) tempbool2;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResourceHandler_CreateChildren(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_CreateChildrenPrivately(_swigobj,_swigarg0,_swigarg1)  (_swigobj->CreateChildrenPrivately(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler_CreateChildrenPrivately(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyXmlResourceHandler * _arg0;
+    wxObject * _arg1;
+    wxXmlNode * _arg2 = (wxXmlNode *) NULL;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "self","parent","rootnode", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxXmlResourceHandler_CreateChildrenPrivately",_kwnames,&_argo0,&_argo1,&_argo2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_CreateChildrenPrivately. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResourceHandler_CreateChildrenPrivately. Expected _wxObject_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxXmlResourceHandler_CreateChildrenPrivately. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResourceHandler_CreateChildrenPrivately(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_CreateResFromNode(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->CreateResFromNode(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxXmlResourceHandler_CreateResFromNode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxObject * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxXmlNode * _arg1;
+    wxObject * _arg2;
+    wxObject * _arg3 = (wxObject *) NULL;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "self","node","parent","instance", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|O:wxXmlResourceHandler_CreateResFromNode",_kwnames,&_argo0,&_argo1,&_argo2,&_argo3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_CreateResFromNode. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxXmlNode_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxXmlResourceHandler_CreateResFromNode. Expected _wxXmlNode_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxXmlResourceHandler_CreateResFromNode. Expected _wxObject_p.");
+        return NULL;
+        }
+    }
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxXmlResourceHandler_CreateResFromNode. Expected _wxObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxObject *)wxXmlResourceHandler_CreateResFromNode(_arg0,_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+    return _resultobj;
+}
+
+#define wxXmlResourceHandler_GetCurFileSystem(_swigobj)  (_swigobj->GetCurFileSystem())
+static PyObject *_wrap_wxXmlResourceHandler_GetCurFileSystem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileSystem * _result;
+    wxPyXmlResourceHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResourceHandler_GetCurFileSystem",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyXmlResourceHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResourceHandler_GetCurFileSystem. Expected _wxPyXmlResourceHandler_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxFileSystem & _result_ref = wxXmlResourceHandler_GetCurFileSystem(_arg0);
+    _result = (wxFileSystem *) &_result_ref;
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+    return _resultobj;
+}
+
 static PyMethodDef xrccMethods[] = {
 static PyMethodDef xrccMethods[] = {
+        { "wxXmlResourceHandler_GetCurFileSystem", (PyCFunction) _wrap_wxXmlResourceHandler_GetCurFileSystem, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_CreateResFromNode", (PyCFunction) _wrap_wxXmlResourceHandler_CreateResFromNode, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_CreateChildrenPrivately", (PyCFunction) _wrap_wxXmlResourceHandler_CreateChildrenPrivately, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_CreateChildren", (PyCFunction) _wrap_wxXmlResourceHandler_CreateChildren, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_SetupWindow", (PyCFunction) _wrap_wxXmlResourceHandler_SetupWindow, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetFont", (PyCFunction) _wrap_wxXmlResourceHandler_GetFont, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetIcon", (PyCFunction) _wrap_wxXmlResourceHandler_GetIcon, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetBitmap", (PyCFunction) _wrap_wxXmlResourceHandler_GetBitmap, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetDimension", (PyCFunction) _wrap_wxXmlResourceHandler_GetDimension, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetPosition", (PyCFunction) _wrap_wxXmlResourceHandler_GetPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetSize", (PyCFunction) _wrap_wxXmlResourceHandler_GetSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetColour", (PyCFunction) _wrap_wxXmlResourceHandler_GetColour, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetLong", (PyCFunction) _wrap_wxXmlResourceHandler_GetLong, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetBool", (PyCFunction) _wrap_wxXmlResourceHandler_GetBool, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetName", (PyCFunction) _wrap_wxXmlResourceHandler_GetName, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetID", (PyCFunction) _wrap_wxXmlResourceHandler_GetID, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetText", (PyCFunction) _wrap_wxXmlResourceHandler_GetText, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetStyle", (PyCFunction) _wrap_wxXmlResourceHandler_GetStyle, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_AddWindowStyles", (PyCFunction) _wrap_wxXmlResourceHandler_AddWindowStyles, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_AddStyle", (PyCFunction) _wrap_wxXmlResourceHandler_AddStyle, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetParamValue", (PyCFunction) _wrap_wxXmlResourceHandler_GetParamValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetParamNode", (PyCFunction) _wrap_wxXmlResourceHandler_GetParamNode, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_HasParam", (PyCFunction) _wrap_wxXmlResourceHandler_HasParam, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetNodeContent", (PyCFunction) _wrap_wxXmlResourceHandler_GetNodeContent, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_IsOfClass", (PyCFunction) _wrap_wxXmlResourceHandler_IsOfClass, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetInstanceAsWindow", (PyCFunction) _wrap_wxXmlResourceHandler_GetInstanceAsWindow, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetParentAsWindow", (PyCFunction) _wrap_wxXmlResourceHandler_GetParentAsWindow, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetInstance", (PyCFunction) _wrap_wxXmlResourceHandler_GetInstance, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetParent", (PyCFunction) _wrap_wxXmlResourceHandler_GetParent, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetClass", (PyCFunction) _wrap_wxXmlResourceHandler_GetClass, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetNode", (PyCFunction) _wrap_wxXmlResourceHandler_GetNode, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_GetResource", (PyCFunction) _wrap_wxXmlResourceHandler_GetResource, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_SetParentResource", (PyCFunction) _wrap_wxXmlResourceHandler_SetParentResource, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler_CreateResource", (PyCFunction) _wrap_wxXmlResourceHandler_CreateResource, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResourceHandler__setCallbackInfo", (PyCFunction) _wrap_wxXmlResourceHandler__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxXmlResourceHandler", (PyCFunction) _wrap_new_wxXmlResourceHandler, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_SetEncoding", (PyCFunction) _wrap_wxXmlDocument_SetEncoding, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_GetEncoding", (PyCFunction) _wrap_wxXmlDocument_GetEncoding, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_SetFileEncoding", (PyCFunction) _wrap_wxXmlDocument_SetFileEncoding, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_SetVersion", (PyCFunction) _wrap_wxXmlDocument_SetVersion, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_SetRoot", (PyCFunction) _wrap_wxXmlDocument_SetRoot, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_GetFileEncoding", (PyCFunction) _wrap_wxXmlDocument_GetFileEncoding, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_GetVersion", (PyCFunction) _wrap_wxXmlDocument_GetVersion, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_GetRoot", (PyCFunction) _wrap_wxXmlDocument_GetRoot, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_IsOk", (PyCFunction) _wrap_wxXmlDocument_IsOk, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_SaveToStream", (PyCFunction) _wrap_wxXmlDocument_SaveToStream, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_Save", (PyCFunction) _wrap_wxXmlDocument_Save, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_LoadFromStream", (PyCFunction) _wrap_wxXmlDocument_LoadFromStream, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlDocument_Load", (PyCFunction) _wrap_wxXmlDocument_Load, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxXmlDocument", (PyCFunction) _wrap_delete_wxXmlDocument, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxEmptyXmlDocument", (PyCFunction) _wrap_new_wxEmptyXmlDocument, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxXmlDocumentFromStream", (PyCFunction) _wrap_new_wxXmlDocumentFromStream, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxXmlDocument", (PyCFunction) _wrap_new_wxXmlDocument, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_SetProperties", (PyCFunction) _wrap_wxXmlNode_SetProperties, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_SetChildren", (PyCFunction) _wrap_wxXmlNode_SetChildren, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_SetNext", (PyCFunction) _wrap_wxXmlNode_SetNext, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_SetParent", (PyCFunction) _wrap_wxXmlNode_SetParent, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_SetContent", (PyCFunction) _wrap_wxXmlNode_SetContent, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_SetName", (PyCFunction) _wrap_wxXmlNode_SetName, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_SetType", (PyCFunction) _wrap_wxXmlNode_SetType, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_HasProp", (PyCFunction) _wrap_wxXmlNode_HasProp, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_GetPropVal", (PyCFunction) _wrap_wxXmlNode_GetPropVal, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_GetProperties", (PyCFunction) _wrap_wxXmlNode_GetProperties, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_GetChildren", (PyCFunction) _wrap_wxXmlNode_GetChildren, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_GetNext", (PyCFunction) _wrap_wxXmlNode_GetNext, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_GetParent", (PyCFunction) _wrap_wxXmlNode_GetParent, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_GetContent", (PyCFunction) _wrap_wxXmlNode_GetContent, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_GetName", (PyCFunction) _wrap_wxXmlNode_GetName, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_GetType", (PyCFunction) _wrap_wxXmlNode_GetType, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_DeleteProperty", (PyCFunction) _wrap_wxXmlNode_DeleteProperty, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_AddPropertyName", (PyCFunction) _wrap_wxXmlNode_AddPropertyName, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_AddProperty", (PyCFunction) _wrap_wxXmlNode_AddProperty, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_RemoveChild", (PyCFunction) _wrap_wxXmlNode_RemoveChild, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_InsertChild", (PyCFunction) _wrap_wxXmlNode_InsertChild, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlNode_AddChild", (PyCFunction) _wrap_wxXmlNode_AddChild, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxXmlNodeEasy", (PyCFunction) _wrap_new_wxXmlNodeEasy, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxXmlNode", (PyCFunction) _wrap_delete_wxXmlNode, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxXmlNode", (PyCFunction) _wrap_new_wxXmlNode, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlProperty_SetNext", (PyCFunction) _wrap_wxXmlProperty_SetNext, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlProperty_SetValue", (PyCFunction) _wrap_wxXmlProperty_SetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlProperty_SetName", (PyCFunction) _wrap_wxXmlProperty_SetName, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlProperty_GetNext", (PyCFunction) _wrap_wxXmlProperty_GetNext, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlProperty_GetValue", (PyCFunction) _wrap_wxXmlProperty_GetValue, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlProperty_GetName", (PyCFunction) _wrap_wxXmlProperty_GetName, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxXmlProperty", (PyCFunction) _wrap_new_wxXmlProperty, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlSubclassFactory__setCallbackInfo", (PyCFunction) _wrap_wxXmlSubclassFactory__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxXmlSubclassFactory", (PyCFunction) _wrap_new_wxXmlSubclassFactory, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResource_SetFlags", (PyCFunction) _wrap_wxXmlResource_SetFlags, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResource_GetFlags", (PyCFunction) _wrap_wxXmlResource_GetFlags, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResource_Set", (PyCFunction) _wrap_wxXmlResource_Set, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResource_Get", (PyCFunction) _wrap_wxXmlResource_Get, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_CompareVersion", (PyCFunction) _wrap_wxXmlResource_CompareVersion, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_GetVersion", (PyCFunction) _wrap_wxXmlResource_GetVersion, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_CompareVersion", (PyCFunction) _wrap_wxXmlResource_CompareVersion, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_GetVersion", (PyCFunction) _wrap_wxXmlResource_GetVersion, METH_VARARGS | METH_KEYWORDS },
-        { "wxXmlResource_GetXMLID", (PyCFunction) _wrap_wxXmlResource_GetXMLID, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResource_GetXRCID", (PyCFunction) _wrap_wxXmlResource_GetXRCID, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_AttachUnknownControl", (PyCFunction) _wrap_wxXmlResource_AttachUnknownControl, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadIcon", (PyCFunction) _wrap_wxXmlResource_LoadIcon, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadBitmap", (PyCFunction) _wrap_wxXmlResource_LoadBitmap, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_AttachUnknownControl", (PyCFunction) _wrap_wxXmlResource_AttachUnknownControl, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadIcon", (PyCFunction) _wrap_wxXmlResource_LoadIcon, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadBitmap", (PyCFunction) _wrap_wxXmlResource_LoadBitmap, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResource_LoadOnObject", (PyCFunction) _wrap_wxXmlResource_LoadOnObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResource_LoadObject", (PyCFunction) _wrap_wxXmlResource_LoadObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResource_LoadOnFrame", (PyCFunction) _wrap_wxXmlResource_LoadOnFrame, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadFrame", (PyCFunction) _wrap_wxXmlResource_LoadFrame, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadOnPanel", (PyCFunction) _wrap_wxXmlResource_LoadOnPanel, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadPanel", (PyCFunction) _wrap_wxXmlResource_LoadPanel, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadOnDialog", (PyCFunction) _wrap_wxXmlResource_LoadOnDialog, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadDialog", (PyCFunction) _wrap_wxXmlResource_LoadDialog, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadToolBar", (PyCFunction) _wrap_wxXmlResource_LoadToolBar, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadFrame", (PyCFunction) _wrap_wxXmlResource_LoadFrame, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadOnPanel", (PyCFunction) _wrap_wxXmlResource_LoadOnPanel, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadPanel", (PyCFunction) _wrap_wxXmlResource_LoadPanel, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadOnDialog", (PyCFunction) _wrap_wxXmlResource_LoadOnDialog, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadDialog", (PyCFunction) _wrap_wxXmlResource_LoadDialog, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadToolBar", (PyCFunction) _wrap_wxXmlResource_LoadToolBar, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResource_LoadMenuBarOnFrame", (PyCFunction) _wrap_wxXmlResource_LoadMenuBarOnFrame, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadMenuBar", (PyCFunction) _wrap_wxXmlResource_LoadMenuBar, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadMenu", (PyCFunction) _wrap_wxXmlResource_LoadMenu, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadMenuBar", (PyCFunction) _wrap_wxXmlResource_LoadMenuBar, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_LoadMenu", (PyCFunction) _wrap_wxXmlResource_LoadMenu, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResource_AddSubclassFactory", (PyCFunction) _wrap_wxXmlResource_AddSubclassFactory, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_ClearHandlers", (PyCFunction) _wrap_wxXmlResource_ClearHandlers, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_ClearHandlers", (PyCFunction) _wrap_wxXmlResource_ClearHandlers, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResource_InsertHandler", (PyCFunction) _wrap_wxXmlResource_InsertHandler, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_AddHandler", (PyCFunction) _wrap_wxXmlResource_AddHandler, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_InitAllHandlers", (PyCFunction) _wrap_wxXmlResource_InitAllHandlers, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_AddHandler", (PyCFunction) _wrap_wxXmlResource_AddHandler, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_InitAllHandlers", (PyCFunction) _wrap_wxXmlResource_InitAllHandlers, METH_VARARGS | METH_KEYWORDS },
+        { "wxXmlResource_LoadFromString", (PyCFunction) _wrap_wxXmlResource_LoadFromString, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_Load", (PyCFunction) _wrap_wxXmlResource_Load, METH_VARARGS | METH_KEYWORDS },
         { "delete_wxXmlResource", (PyCFunction) _wrap_delete_wxXmlResource, METH_VARARGS | METH_KEYWORDS },
         { "wxXmlResource_Load", (PyCFunction) _wrap_wxXmlResource_Load, METH_VARARGS | METH_KEYWORDS },
         { "delete_wxXmlResource", (PyCFunction) _wrap_delete_wxXmlResource, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxEmptyXmlResource", (PyCFunction) _wrap_new_wxEmptyXmlResource, METH_VARARGS | METH_KEYWORDS },
         { "new_wxXmlResource", (PyCFunction) _wrap_new_wxXmlResource, METH_VARARGS | METH_KEYWORDS },
         { "new_wxXmlResource", (PyCFunction) _wrap_new_wxXmlResource, METH_VARARGS | METH_KEYWORDS },
-        { "new_wxXmlResourceEmpty", (PyCFunction) _wrap_new_wxXmlResourceEmpty, METH_VARARGS | METH_KEYWORDS },
         { NULL, NULL }
 };
 #ifdef __cplusplus
         { NULL, NULL }
 };
 #ifdef __cplusplus
@@ -1167,8 +5190,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_byte","_unsigned_char",0},
     { "_long","_unsigned_long",0},
     { "_long","_signed_long",0},
     { "_byte","_unsigned_char",0},
     { "_long","_unsigned_long",0},
     { "_long","_signed_long",0},
-    { "_class_wxObject","_class_wxXmlResource",SwigwxXmlResourceTowxObject},
-    { "_class_wxObject","_wxXmlResource",SwigwxXmlResourceTowxObject},
     { "_size_t","_wxCoord",0},
     { "_size_t","_wxPrintQuality",0},
     { "_size_t","_time_t",0},
     { "_size_t","_wxCoord",0},
     { "_size_t","_wxPrintQuality",0},
     { "_size_t","_time_t",0},
@@ -1205,7 +5226,8 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_unsigned_short","_wxDateTime_t",0},
     { "_unsigned_short","_WXTYPE",0},
     { "_unsigned_short","_short",0},
     { "_unsigned_short","_wxDateTime_t",0},
     { "_unsigned_short","_WXTYPE",0},
     { "_unsigned_short","_short",0},
-    { "_wxObject","_class_wxXmlResource",SwigwxXmlResourceTowxObject},
+    { "_wxObject","_wxPyXmlResourceHandler",SwigwxPyXmlResourceHandlerTowxObject},
+    { "_wxObject","_wxXmlDocument",SwigwxXmlDocumentTowxObject},
     { "_wxObject","_wxXmlResource",SwigwxXmlResourceTowxObject},
     { "_signed_short","_WXTYPE",0},
     { "_signed_short","_short",0},
     { "_wxObject","_wxXmlResource",SwigwxXmlResourceTowxObject},
     { "_signed_short","_WXTYPE",0},
     { "_signed_short","_short",0},
@@ -1269,16 +5291,28 @@ SWIGEXPORT(void) initxrcc() {
         SWIG_globals = SWIG_newvarlink();
         m = Py_InitModule("xrcc", xrccMethods);
         d = PyModule_GetDict(m);
         SWIG_globals = SWIG_newvarlink();
         m = Py_InitModule("xrcc", xrccMethods);
         d = PyModule_GetDict(m);
-        PyDict_SetItemString(d,"cvar", SWIG_globals);
-        SWIG_addvarlink(SWIG_globals,"wxTheXmlResource",_wrap_wxTheXmlResource_get, _wrap_wxTheXmlResource_set);
+        PyDict_SetItemString(d,"wxXRC_USE_LOCALE", PyInt_FromLong((long) wxXRC_USE_LOCALE));
+        PyDict_SetItemString(d,"wxXRC_NO_SUBCLASSING", PyInt_FromLong((long) wxXRC_NO_SUBCLASSING));
+        PyDict_SetItemString(d,"wxXML_ELEMENT_NODE", PyInt_FromLong((long) wxXML_ELEMENT_NODE));
+        PyDict_SetItemString(d,"wxXML_ATTRIBUTE_NODE", PyInt_FromLong((long) wxXML_ATTRIBUTE_NODE));
+        PyDict_SetItemString(d,"wxXML_TEXT_NODE", PyInt_FromLong((long) wxXML_TEXT_NODE));
+        PyDict_SetItemString(d,"wxXML_CDATA_SECTION_NODE", PyInt_FromLong((long) wxXML_CDATA_SECTION_NODE));
+        PyDict_SetItemString(d,"wxXML_ENTITY_REF_NODE", PyInt_FromLong((long) wxXML_ENTITY_REF_NODE));
+        PyDict_SetItemString(d,"wxXML_ENTITY_NODE", PyInt_FromLong((long) wxXML_ENTITY_NODE));
+        PyDict_SetItemString(d,"wxXML_PI_NODE", PyInt_FromLong((long) wxXML_PI_NODE));
+        PyDict_SetItemString(d,"wxXML_COMMENT_NODE", PyInt_FromLong((long) wxXML_COMMENT_NODE));
+        PyDict_SetItemString(d,"wxXML_DOCUMENT_NODE", PyInt_FromLong((long) wxXML_DOCUMENT_NODE));
+        PyDict_SetItemString(d,"wxXML_DOCUMENT_TYPE_NODE", PyInt_FromLong((long) wxXML_DOCUMENT_TYPE_NODE));
+        PyDict_SetItemString(d,"wxXML_DOCUMENT_FRAG_NODE", PyInt_FromLong((long) wxXML_DOCUMENT_FRAG_NODE));
+        PyDict_SetItemString(d,"wxXML_NOTATION_NODE", PyInt_FromLong((long) wxXML_NOTATION_NODE));
+        PyDict_SetItemString(d,"wxXML_HTML_DOCUMENT_NODE", PyInt_FromLong((long) wxXML_HTML_DOCUMENT_NODE));
 
 
     wxClassInfo::CleanUpClasses();
     wxClassInfo::InitializeClasses();
 
 
 
     wxClassInfo::CleanUpClasses();
     wxClassInfo::InitializeClasses();
 
-    wxXmlInitXmlModule();
     wxXmlInitResourceModule();
     wxXmlInitResourceModule();
-    wxTheXmlResource->InitAllHandlers();
+    wxXmlResource::Get()->InitAllHandlers();
 
 {
    int i;
 
 {
    int i;