]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/contrib/xrc/xrc.cpp
Added some missing constants and fixed GetPoints
[wxWidgets.git] / wxPython / contrib / xrc / xrc.cpp
index 175c7a154dc1958b3671dc66c946b098dd93ad31..71a2befd444562bb65380dd93c4f9e6e742a7e55 100644 (file)
@@ -19,6 +19,8 @@
 /* Implementation : PYTHON */
 
 #define SWIGPYTHON
+#include "Python.h"
+
 #include <string.h>
 #include <stdlib.h>
 /* Definitions for Windows/Unix exporting */
 #   define SWIGEXPORT(a) a
 #endif
 
-#include "Python.h"
-
 #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 *);
@@ -55,8 +54,12 @@ extern PyObject *SWIG_newvarlink(void);
 
 #define SWIG_name    "xrcc"
 
-#include "export.h"
+#include "wxPython.h"
+#include "pyistream.h"
+#include "wx/xml/xml.h"
 #include "wx/xrc/xmlres.h"
+#include <wx/filesys.h>
+#include <wx/fs_mem.h>
 
 
 static PyObject* t_output_helper(PyObject* target, PyObject* o) {
@@ -84,6 +87,140 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) {
     }
     return target;
 }
+
+    // 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"));
+
+class wxPyXmlSubclassFactory : public wxXmlSubclassFactory
+{
+public:
+    wxPyXmlSubclassFactory() {}
+    DEC_PYCALLBACK_OBJECT_STRING_pure(Create);
+    PYPRIVATE;
+};
+
+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();
+
+    // 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
@@ -95,20 +232,27 @@ static void *SwigwxXmlResourceTowxObject(void *ptr) {
     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;
-    int  _arg0 = (int ) (wxXRC_USE_LOCALE);
-    char *_kwnames[] = { "flags", NULL };
+    wxString * _arg0;
+    int  _arg1 = (int ) (wxXRC_USE_LOCALE);
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "filemask","flags", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxXmlResourceEmpty",_kwnames,&_arg0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:new_wxXmlResource",_kwnames,&_obj0,&_arg1)) 
+        return NULL;
+{
+    _arg0 = wxString_in_helper(_obj0);
+    if (_arg0 == NULL)
         return NULL;
+}
 {
     PyThreadState* __tstate = wxPyBeginAllowThreads();
-    _result = (wxXmlResource *)new_wxXmlResourceEmpty(_arg0);
+    _result = (wxXmlResource *)new_wxXmlResource(*_arg0,_arg1);
 
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) return NULL;
@@ -119,35 +263,27 @@ static PyObject *_wrap_new_wxXmlResourceEmpty(PyObject *self, PyObject *args, Py
         Py_INCREF(Py_None);
         _resultobj = Py_None;
     }
+{
+    if (_obj0)
+        delete _arg0;
+}
     return _resultobj;
 }
 
-static wxXmlResource *new_wxXmlResource(const wxString *filemask,int flags) {
-            wxXmlResource* res = new wxXmlResource(*filemask, flags);
-            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;
-    wxString * _arg0;
-    int  _arg1 = (int ) (wxXRC_USE_LOCALE);
-    PyObject * _obj0 = 0;
-    char *_kwnames[] = { "filemask","flags", NULL };
+    int  _arg0 = (int ) (wxXRC_USE_LOCALE);
+    char *_kwnames[] = { "flags", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:new_wxXmlResource",_kwnames,&_obj0,&_arg1)) 
-        return NULL;
-{
-    _arg0 = wxString_in_helper(_obj0);
-    if (_arg0 == NULL)
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|i:new_wxEmptyXmlResource",_kwnames,&_arg0)) 
         return NULL;
-}
 {
     PyThreadState* __tstate = wxPyBeginAllowThreads();
-    _result = (wxXmlResource *)new_wxXmlResource(_arg0,_arg1);
+    _result = (wxXmlResource *)new_wxEmptyXmlResource(_arg0);
 
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) return NULL;
@@ -158,10 +294,6 @@ static PyObject *_wrap_new_wxXmlResource(PyObject *self, PyObject *args, PyObjec
         Py_INCREF(Py_None);
         _resultobj = Py_None;
     }
-{
-    if (_obj0)
-        delete _arg0;
-}
     return _resultobj;
 }
 
@@ -232,6 +364,69 @@ static PyObject *_wrap_wxXmlResource_Load(PyObject *self, PyObject *args, PyObje
     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;
+    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;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResource_LoadFromString(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
 #define wxXmlResource_InitAllHandlers(_swigobj)  (_swigobj->InitAllHandlers())
 static PyObject *_wrap_wxXmlResource_InitAllHandlers(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -264,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;
-    wxXmlResourceHandler * _arg1;
+    wxPyXmlResourceHandler * _arg1;
     PyObject * _argo0 = 0;
     PyObject * _argo1 = 0;
     char *_kwnames[] = { "self","handler", NULL };
@@ -281,8 +476,8 @@ static PyObject *_wrap_wxXmlResource_AddHandler(PyObject *self, PyObject *args,
     }
     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;
         }
     }
@@ -297,6 +492,43 @@ static PyObject *_wrap_wxXmlResource_AddHandler(PyObject *self, PyObject *args,
     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;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxXmlResource_InsertHandler(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
 #define wxXmlResource_ClearHandlers(_swigobj)  (_swigobj->ClearHandlers())
 static PyObject *_wrap_wxXmlResource_ClearHandlers(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -325,6 +557,33 @@ static PyObject *_wrap_wxXmlResource_ClearHandlers(PyObject *self, PyObject *arg
     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);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
 #define wxXmlResource_LoadMenu(_swigobj,_swigarg0)  (_swigobj->LoadMenu(_swigarg0))
 static PyObject *_wrap_wxXmlResource_LoadMenu(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -403,6 +662,54 @@ static PyObject *_wrap_wxXmlResource_LoadMenuBar(PyObject *self, PyObject *args,
     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;
+    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;
+        }
+    }
+    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;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxMenuBar *)wxXmlResource_LoadMenuBarOnFrame(_arg0,_arg1,*_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{ _resultobj = wxPyMake_wxObject(_result); }
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
 #define wxXmlResource_LoadToolBar(_swigobj,_swigarg0,_swigarg1)  (_swigobj->LoadToolBar(_swigarg0,_swigarg1))
 static PyObject *_wrap_wxXmlResource_LoadToolBar(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -675,8 +982,56 @@ static PyObject *_wrap_wxXmlResource_LoadOnPanel(PyObject *self, PyObject *args,
     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;
+    wxFrame * _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_LoadFrame",_kwnames,&_argo0,&_argo1,&_obj2)) 
+        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_LoadFrame. 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_LoadFrame. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    _arg2 = wxString_in_helper(_obj2);
+    if (_arg2 == 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;
@@ -690,26 +1045,26 @@ static PyObject *_wrap_wxXmlResource_LoadFrame(PyObject *self, PyObject *args, P
     char *_kwnames[] = { "self","frame","parent","name", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxXmlResource_LoadFrame",_kwnames,&_argo0,&_argo1,&_argo2,&_obj3)) 
+    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_LoadFrame. Expected _wxXmlResource_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_LoadOnFrame. Expected _wxXmlResource_p.");
         return 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.");
+            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_LoadFrame. Expected _wxWindow_p.");
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxXmlResource_LoadOnFrame. Expected _wxWindow_p.");
         return NULL;
         }
     }
@@ -720,7 +1075,7 @@ static PyObject *_wrap_wxXmlResource_LoadFrame(PyObject *self, PyObject *args, P
 }
 {
     PyThreadState* __tstate = wxPyBeginAllowThreads();
-    _result = (bool )wxXmlResource_LoadFrame(_arg0,_arg1,_arg2,*_arg3);
+    _result = (bool )wxXmlResource_LoadOnFrame(_arg0,_arg1,_arg2,*_arg3);
 
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) return NULL;
@@ -732,27 +1087,3540 @@ static PyObject *_wrap_wxXmlResource_LoadFrame(PyObject *self, PyObject *args, P
     return _resultobj;
 }
 
-#define wxXmlResource_LoadBitmap(_swigobj,_swigarg0)  (_swigobj->LoadBitmap(_swigarg0))
+#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;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResource_LoadOnObject(_arg0,_arg1,_arg2,*_arg3,*_arg4);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj3)
+        delete _arg3;
+}
+{
+    if (_obj4)
+        delete _arg4;
+}
+    return _resultobj;
+}
+
+#define wxXmlResource_LoadBitmap(_swigobj,_swigarg0)  (_swigobj->LoadBitmap(_swigarg0))
 static PyObject *_wrap_wxXmlResource_LoadBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxBitmap * _result;
-    wxXmlResource * _arg0;
-    wxString * _arg1;
+    wxBitmap * _result;
+    wxXmlResource * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","name", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResource_LoadBitmap",_kwnames,&_argo0,&_obj1)) 
+        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_LoadBitmap. Expected _wxXmlResource_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxBitmap (wxXmlResource_LoadBitmap(_arg0,*_arg1));
+
+    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 wxXmlResource_LoadIcon(_swigobj,_swigarg0)  (_swigobj->LoadIcon(_swigarg0))
+static PyObject *_wrap_wxXmlResource_LoadIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxIcon * _result;
+    wxXmlResource * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","name", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResource_LoadIcon",_kwnames,&_argo0,&_obj1)) 
+        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_LoadIcon. Expected _wxXmlResource_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxIcon (wxXmlResource_LoadIcon(_arg0,*_arg1));
+
+    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 wxXmlResource_AttachUnknownControl(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->AttachUnknownControl(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxXmlResource_AttachUnknownControl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxXmlResource * _arg0;
+    wxString * _arg1;
+    wxWindow * _arg2;
+    wxWindow * _arg3 = (wxWindow *) NULL;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "self","name","control","parent", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|O:wxXmlResource_AttachUnknownControl",_kwnames,&_argo0,&_obj1,&_argo2,&_argo3)) 
+        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_AttachUnknownControl. Expected _wxXmlResource_p.");
+        return NULL;
+        }
+    }
+{
+    _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,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxXmlResource_AttachUnknownControl. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxXmlResource_AttachUnknownControl. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxXmlResource_AttachUnknownControl(_arg0,*_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxXmlResource_GetXRCID(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxString * _arg0;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "str_id", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResource_GetXRCID",_kwnames,&_obj0)) 
+        return NULL;
+{
+    _arg0 = wxString_in_helper(_obj0);
+    if (_arg0 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (int )wxXmlResource::GetXRCID(*_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj0)
+        delete _arg0;
+}
+    return _resultobj;
+}
+
+#define wxXmlResource_GetVersion(_swigobj)  (_swigobj->GetVersion())
+static PyObject *_wrap_wxXmlResource_GetVersion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxXmlResource * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResource_GetVersion",_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_GetVersion. Expected _wxXmlResource_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (long )wxXmlResource_GetVersion(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
+#define wxXmlResource_CompareVersion(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->CompareVersion(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_wxXmlResource_CompareVersion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxXmlResource * _arg0;
+    int  _arg1;
+    int  _arg2;
+    int  _arg3;
+    int  _arg4;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","major","minor","release","revision", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxXmlResource_CompareVersion",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+        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_CompareVersion. Expected _wxXmlResource_p.");
+        return NULL;
+        }
+    }
+{
+    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);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _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","name", NULL };
+    char *_kwnames[] = { "self","param", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResource_LoadBitmap",_kwnames,&_argo0,&_obj1)) 
+    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,"_wxXmlResource_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_LoadBitmap. Expected _wxXmlResource_p.");
+        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)
@@ -760,11 +4628,11 @@ static PyObject *_wrap_wxXmlResource_LoadBitmap(PyObject *self, PyObject *args,
 }
 {
     PyThreadState* __tstate = wxPyBeginAllowThreads();
-    _result = new wxBitmap (wxXmlResource_LoadBitmap(_arg0,*_arg1));
+    _result = new wxPoint (wxXmlResourceHandler_GetPosition(_arg0,*_arg1));
 
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) return NULL;
-}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxBitmap_p");
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
     _resultobj = Py_BuildValue("s",_ptemp);
 {
     if (_obj1)
@@ -773,24 +4641,24 @@ static PyObject *_wrap_wxXmlResource_LoadBitmap(PyObject *self, PyObject *args,
     return _resultobj;
 }
 
-#define wxXmlResource_LoadIcon(_swigobj,_swigarg0)  (_swigobj->LoadIcon(_swigarg0))
-static PyObject *_wrap_wxXmlResource_LoadIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxXmlResourceHandler_GetDimension(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetDimension(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler_GetDimension(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxIcon * _result;
-    wxXmlResource * _arg0;
+    wxCoord  _result;
+    wxPyXmlResourceHandler * _arg0;
     wxString * _arg1;
+    wxCoord  _arg2 = (wxCoord ) 0;
     PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
-    char *_kwnames[] = { "self","name", NULL };
-    char _ptemp[128];
+    char *_kwnames[] = { "self","param","defaultv", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxXmlResource_LoadIcon",_kwnames,&_argo0,&_obj1)) 
+    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,"_wxXmlResource_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_LoadIcon. Expected _wxXmlResource_p.");
+        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;
         }
     }
@@ -801,12 +4669,11 @@ static PyObject *_wrap_wxXmlResource_LoadIcon(PyObject *self, PyObject *args, Py
 }
 {
     PyThreadState* __tstate = wxPyBeginAllowThreads();
-    _result = new wxIcon (wxXmlResource_LoadIcon(_arg0,*_arg1));
+    _result = (wxCoord )wxXmlResourceHandler_GetDimension(_arg0,*_arg1,_arg2);
 
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) return NULL;
-}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxIcon_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+}    _resultobj = Py_BuildValue("i",_result);
 {
     if (_obj1)
         delete _arg1;
@@ -814,56 +4681,117 @@ static PyObject *_wrap_wxXmlResource_LoadIcon(PyObject *self, PyObject *args, Py
     return _resultobj;
 }
 
-#define wxXmlResource_AttachUnknownControl(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->AttachUnknownControl(_swigarg0,_swigarg1,_swigarg2))
-static PyObject *_wrap_wxXmlResource_AttachUnknownControl(PyObject *self, PyObject *args, PyObject *kwargs) {
+#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;
-    bool  _result;
-    wxXmlResource * _arg0;
-    wxString * _arg1;
-    wxWindow * _arg2;
-    wxWindow * _arg3 = (wxWindow *) NULL;
+    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;
-    PyObject * _argo3 = 0;
-    char *_kwnames[] = { "self","name","control","parent", NULL };
+    wxSize  temp;
+    PyObject * _obj3 = 0;
+    char *_kwnames[] = { "self","param","defaultArtClient","size", NULL };
+    char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|O:wxXmlResource_AttachUnknownControl",_kwnames,&_argo0,&_obj1,&_argo2,&_argo3)) 
+    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,"_wxXmlResource_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_AttachUnknownControl. Expected _wxXmlResource_p.");
+        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 (_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_AttachUnknownControl. Expected _wxWindow_p.");
+        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 (_argo3) {
-        if (_argo3 == Py_None) { _arg3 = NULL; }
-        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxXmlResource_AttachUnknownControl. Expected _wxWindow_p.");
+    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 = (bool )wxXmlResource_AttachUnknownControl(_arg0,*_arg1,_arg2,_arg3);
+    _result = new wxIcon (wxXmlResourceHandler_GetIcon(_arg0,*_arg1,*_arg2,*_arg3));
 
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) return NULL;
-}    _resultobj = Py_BuildValue("i",_result);
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxIcon_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
 {
     if (_obj1)
         delete _arg1;
@@ -871,155 +4799,345 @@ static PyObject *_wrap_wxXmlResource_AttachUnknownControl(PyObject *self, PyObje
     return _resultobj;
 }
 
-static PyObject *_wrap_wxXmlResource_GetXRCID(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxXmlResourceHandler_GetFont(_swigobj,_swigarg0)  (_swigobj->GetFont(_swigarg0))
+static PyObject *_wrap_wxXmlResourceHandler_GetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    int  _result;
-    wxString * _arg0;
-    PyObject * _obj0 = 0;
-    char *_kwnames[] = { "str_id", NULL };
+    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:wxXmlResource_GetXRCID",_kwnames,&_obj0)) 
+    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)
 {
-    _arg0 = wxString_in_helper(_obj0);
-    if (_arg0 == NULL)
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
         return NULL;
 }
 {
     PyThreadState* __tstate = wxPyBeginAllowThreads();
-    _result = (int )wxXmlResource::GetXRCID(*_arg0);
+    _result = new wxFont (wxXmlResourceHandler_GetFont(_arg0,*_arg1));
 
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) return NULL;
-}    _resultobj = Py_BuildValue("i",_result);
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxFont_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
 {
-    if (_obj0)
-        delete _arg0;
+    if (_obj1)
+        delete _arg1;
 }
     return _resultobj;
 }
 
-#define wxXmlResource_GetVersion(_swigobj)  (_swigobj->GetVersion())
-static PyObject *_wrap_wxXmlResource_GetVersion(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxXmlResourceHandler_SetupWindow(_swigobj,_swigarg0)  (_swigobj->SetupWindow(_swigarg0))
+static PyObject *_wrap_wxXmlResourceHandler_SetupWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    long  _result;
-    wxXmlResource * _arg0;
+    wxPyXmlResourceHandler * _arg0;
+    wxWindow * _arg1;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","wnd", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResource_GetVersion",_kwnames,&_argo0)) 
+    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,"_wxXmlResource_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_GetVersion. Expected _wxXmlResource_p.");
+        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();
-    _result = (long )wxXmlResource_GetVersion(_arg0);
+    wxXmlResourceHandler_SetupWindow(_arg0,_arg1);
 
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) return NULL;
-}    _resultobj = Py_BuildValue("l",_result);
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
-#define wxXmlResource_CompareVersion(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->CompareVersion(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
-static PyObject *_wrap_wxXmlResource_CompareVersion(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxXmlResourceHandler_CreateChildren(_swigobj,_swigarg0,_swigarg1)  (_swigobj->CreateChildren(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler_CreateChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    int  _result;
-    wxXmlResource * _arg0;
-    int  _arg1;
-    int  _arg2;
-    int  _arg3;
-    int  _arg4;
+    wxPyXmlResourceHandler * _arg0;
+    wxObject * _arg1;
+    bool  _arg2 = (bool ) FALSE;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self","major","minor","release","revision", NULL };
+    PyObject * _argo1 = 0;
+    int tempbool2 = (int) FALSE;
+    char *_kwnames[] = { "self","parent","this_hnd_only", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxXmlResource_CompareVersion",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
+    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,"_wxXmlResource_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_CompareVersion. Expected _wxXmlResource_p.");
+        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();
-    _result = (int )wxXmlResource_CompareVersion(_arg0,_arg1,_arg2,_arg3,_arg4);
+    wxXmlResourceHandler_CreateChildren(_arg0,_arg1,_arg2);
 
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) return NULL;
-}    _resultobj = Py_BuildValue("i",_result);
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
-static PyObject *_wrap_wxXmlResource_Get(PyObject *self, PyObject *args, PyObject *kwargs) {
+#define wxXmlResourceHandler_CreateChildrenPrivately(_swigobj,_swigarg0,_swigarg1)  (_swigobj->CreateChildrenPrivately(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxXmlResourceHandler_CreateChildrenPrivately(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxXmlResource * _result;
-    char *_kwnames[] = {  NULL };
-    char _ptemp[128];
+    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,":wxXmlResource_Get",_kwnames)) 
+    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();
-    _result = (wxXmlResource *)wxXmlResource::Get();
+    wxXmlResourceHandler_CreateChildrenPrivately(_arg0,_arg1,_arg2);
 
     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;
-    }
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
     return _resultobj;
 }
 
-static PyObject *_wrap_wxXmlResource_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
+#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;
-    wxXmlResource * _result;
-    wxXmlResource * _arg0;
+    wxObject * _result;
+    wxPyXmlResourceHandler * _arg0;
+    wxXmlNode * _arg1;
+    wxObject * _arg2;
+    wxObject * _arg3 = (wxObject *) NULL;
     PyObject * _argo0 = 0;
-    char *_kwnames[] = { "res", NULL };
-    char _ptemp[128];
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "self","node","parent","instance", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxXmlResource_Set",_kwnames,&_argo0)) 
+    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,"_wxXmlResource_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxXmlResource_Set. Expected _wxXmlResource_p.");
+        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 = (wxXmlResource *)wxXmlResource::Set(_arg0);
+    _result = (wxObject *)wxXmlResourceHandler_CreateResFromNode(_arg0,_arg1,_arg2,_arg3);
 
     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;
+}{ _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[] = {
+        { "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 },
@@ -1028,21 +5146,28 @@ static PyMethodDef xrccMethods[] = {
         { "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_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_AddSubclassFactory", (PyCFunction) _wrap_wxXmlResource_AddSubclassFactory, 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_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 },
+        { "new_wxEmptyXmlResource", (PyCFunction) _wrap_new_wxEmptyXmlResource, 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
@@ -1101,6 +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},
+    { "_wxObject","_wxPyXmlResourceHandler",SwigwxPyXmlResourceHandlerTowxObject},
+    { "_wxObject","_wxXmlDocument",SwigwxXmlDocumentTowxObject},
     { "_wxObject","_wxXmlResource",SwigwxXmlResourceTowxObject},
     { "_signed_short","_WXTYPE",0},
     { "_signed_short","_short",0},
@@ -1166,11 +5293,21 @@ SWIGEXPORT(void) initxrcc() {
         d = PyModule_GetDict(m);
         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();
-
     wxXmlInitResourceModule();
     wxXmlResource::Get()->InitAllHandlers();