]> git.saurik.com Git - wxWidgets.git/commitdiff
wxPython html module updates. The beginings of tag handler support.
authorRobin Dunn <robin@alldunn.com>
Mon, 13 Sep 1999 19:34:01 +0000 (19:34 +0000)
committerRobin Dunn <robin@alldunn.com>
Mon, 13 Sep 1999 19:34:01 +0000 (19:34 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

utils/wxPython/modules/html/build.cfg
utils/wxPython/modules/html/helpsys.cpp
utils/wxPython/modules/html/helpsys.h
utils/wxPython/modules/html/html.i
utils/wxPython/modules/html/htmlhelp.i [new file with mode: 0644]
utils/wxPython/modules/html/htmlhelper.py
utils/wxPython/modules/html/msw/html.cpp
utils/wxPython/modules/html/msw/html.py
utils/wxPython/modules/html/msw/htmlhelp.cpp [new file with mode: 0644]
utils/wxPython/modules/html/msw/htmlhelp.py [new file with mode: 0644]

index 0b3bb0cafe17477eada89d923b42cccec4005c51..50db644b4aa9b2f988378896270ab1ed9222ac93 100644 (file)
@@ -1,8 +1,11 @@
 # -*- python -*-
 
 MODULE = 'htmlc'
-SWIGFILES = ['html.i', ]
+SWIGFILES = ['html.i', ] #'htmlhelp.i' ]
 PYFILES = ['htmlhelper.py']
-SOURCES = ['helpsys.cpp']
+#SOURCES = ['helpsys.cpp']
+
+OTHERSWIGFLAGS = '-I../utils'
+
 # include path for htmlhelp's xpm bitmaps
 OTHERCFLAGS = "-I%s/src/html" % (WXDIR,)
index 0a7d979658ef66ed6ad886c3560492cc5b98c454..4da8e982190962ec30944bf4f111618fe4bd0b9c 100644 (file)
@@ -43,15 +43,15 @@ static int IndexCompareFunc(const void *a, const void *b)
     return strcmp(((HtmlContentsItem*)a) -> m_Name, ((HtmlContentsItem*)b) -> m_Name);
 }
 
-bool wxHtmlHelpSystem::AddBookParam(const wxString& title, const wxString& contfile, 
-                                   const wxString& indexfile, const wxString& deftopic, 
+bool wxHtmlHelpSystem::AddBookParam(const wxString& title, const wxString& contfile,
+                                   const wxString& indexfile, const wxString& deftopic,
                                    const wxString& path, bool show_wait_msg)
 {
     wxFileSystem fsys;
     wxFSFile *fi;
     HtmlBookRecord *bookr;
     wxString safetitle;
-    
+
     if (! path.IsEmpty())
            // workaround for bug in ChangePathTo(name, TRUE)
            fsys.ChangePathTo(path+"/gaga");
@@ -89,7 +89,7 @@ bool wxHtmlHelpSystem::AddBookParam(const wxString& title, const wxString& contf
     m_BookRecords.Add(bookr);
     if (m_IndexCnt > 0)
         qsort(m_Index, m_IndexCnt, sizeof(HtmlContentsItem), IndexCompareFunc);
-    
+
     return TRUE;
 }
 
@@ -131,8 +131,8 @@ wxToolBar* wxHtmlHelpSystem::CreateToolBar(wxFrame* frame)
 
 wxTreeCtrl* wxHtmlHelpSystem::CreateContentsTree(wxWindow* parent)
 {
-       wxTreeCtrl* tree; 
-       tree = new wxTreeCtrl(parent, wxID_HTML_TREECTRL, wxDefaultPosition, 
+       wxTreeCtrl* tree;
+       tree = new wxTreeCtrl(parent, wxID_HTML_TREECTRL, wxDefaultPosition,
                              wxDefaultSize, wxTR_HAS_BUTTONS | wxSUNKEN_BORDER);
        tree -> SetImageList(m_ContentsImageList);
        return tree;
@@ -143,7 +143,7 @@ wxListBox* wxHtmlHelpSystem::CreateIndexList(wxWindow* parent)
        return new wxListBox(parent, wxID_HTML_INDEXLIST, wxDefaultPosition, wxDefaultSize, 0);
 }
 
-void wxHtmlHelpSystem::SetControls(wxFrame* frame, wxHtmlWindow* htmlwin, 
+void wxHtmlHelpSystem::SetControls(wxFrame* frame, wxHtmlWindow* htmlwin,
                                       wxTreeCtrl* contents, wxListBox* index,
                                       wxListBox* searchlist)
 {
index e35ffadf9d440d2a422ede2e81c212f860e0f5b4..e3eb9f645d49d0857e280161ffbe9bc18f780cc0 100644 (file)
 #ifndef __HELPSYS_H__
 #define __HELPSYS_H__
 
-#include <wx/defs.h>
+#include <wx/wx.h>
 
 #if ! wxUSE_HTML
 #error "wxHtml needed"
 #endif
 
 #include <wx/toolbar.h>
-#include "wx/listbox.h"
+#include <wx/listbox.h>
 #include <wx/html/htmlhelp.h>
 
 class wxHtmlHelpSystem : public wxHtmlHelpController
@@ -27,9 +27,9 @@ class wxHtmlHelpSystem : public wxHtmlHelpController
  public:
    wxHtmlHelpSystem() {};
    ~wxHtmlHelpSystem() {};
-   
-   bool AddBookParam(const wxString& title, const wxString& contfile, 
-                    const wxString& indexfile=wxEmptyString, const wxString& deftopic=wxEmptyString, 
+
+   bool AddBookParam(const wxString& title, const wxString& contfile,
+                    const wxString& indexfile=wxEmptyString, const wxString& deftopic=wxEmptyString,
                     const wxString& path=wxEmptyString, bool show_wait_msg=FALSE);
    // Alternative to AddBook(wxString& hhpfile)
    wxToolBar* CreateToolBar(wxFrame* frame);
@@ -41,7 +41,7 @@ class wxHtmlHelpSystem : public wxHtmlHelpController
    virtual void CreateHelpWindow();
    // Slightly different version than in wxHtmlHelpController; uses helpers above
    // Do nothing if the window already exists
-   void SetControls(wxFrame* frame, wxHtmlWindow* htmlwin, 
+   void SetControls(wxFrame* frame, wxHtmlWindow* htmlwin,
                    wxTreeCtrl* contents=NULL, wxListBox* index=NULL,
                    wxListBox* searchlist=NULL);
    // alternative for CreateHelpWindow(), sets frame, htmlwindow, contents tree, index
@@ -73,3 +73,4 @@ class wxHtmlHelpSystem : public wxHtmlHelpController
 };
 
 #endif
+
index 299af78295467db6b4c56b4efea372054398a4a9..3d6d878342dc4858ca6bd1904f8f9b2e5252702e 100644 (file)
 %extern windows.i
 %extern _defs.i
 %extern events.i
-//%extern windows2.i
-//%extern windows3.i
-//%extern frames.i
-//%extern misc.i
-//%extern gdi.i
 %extern controls.i
 %extern controls2.i
 
+%extern utils.i
+
+//---------------------------------------------------------------------------
+
 %{
 #ifdef __WXMSW__
-static wxString wxPyEmptyStr("");
-static wxPoint wxPyDefaultPosition(wxDefaultPosition);
-static wxSize wxPyDefaultSize(wxDefaultSize);
+wxString wxPyEmptyStr("");
+wxPoint wxPyDefaultPosition(wxDefaultPosition);
+wxSize wxPyDefaultSize(wxDefaultSize);
 #endif
-static PyThreadState* wxPyThreadState;
 %}
 
 %pragma(python) code = "import wx,htmlhelper"
@@ -61,117 +59,355 @@ static PyObject* mod_dict = NULL; // will be set by init
 TAG_HANDLER_BEGIN(PYTHONTAG, "PYTHON")
     TAG_HANDLER_PROC(tag)
     {
-       wxWindow *wnd;
-       wxString errmsg;
-       char pbuf[256];
-       
-       int fl = 0;
-       
-       while (1) {
-          #ifdef WXP_WITH_THREAD
-           PyEval_RestoreThread(wxPyThreadState);
-          #endif
-          if (tag.HasParam("FLOAT"))
-              tag.ScanParam("FLOAT", "%i", &fl);
-          PyObject* pyfunc = PyDict_GetItemString(mod_dict, "WidgetStarter");
-          if (pyfunc == NULL) {
-              errmsg = "Could not find object WidgetStarter";
-              break;
-          }
-          if (! PyCallable_Check(pyfunc)) {
-              errmsg = "WidgetStarter does not appear to be callable";
-              break;
-          }
-          SWIG_MakePtr(pbuf, m_WParser->GetWindow(), "_wxHtmlWindow_p");
+        wxWindow *wnd;
+        wxString errmsg;
+        char pbuf[256];
+
+        int fl = 0;
+
+        bool doSave = wxPyRestoreThread();
+        while (1) {
+           if (tag.HasParam("FLOAT"))
+               tag.ScanParam("FLOAT", "%i", &fl);
+           PyObject* pyfunc = PyDict_GetItemString(mod_dict, "WidgetStarter");
+           if (pyfunc == NULL) {
+               errmsg = "Could not find object WidgetStarter";
+               break;
+           }
+           if (! PyCallable_Check(pyfunc)) {
+               errmsg = "WidgetStarter does not appear to be callable";
+               break;
+           }
+           SWIG_MakePtr(pbuf, m_WParser->GetWindow(), "_wxPyHtmlWindow_p");
            PyObject* arglist = Py_BuildValue("(s,s)", pbuf,
-                              (const char*)tag.GetAllParams());
-          if (! arglist) {
-              errmsg = "Failed making argument list";
-              break;
-          }
-          PyObject* ret = PyEval_CallObject(pyfunc, arglist);
-          Py_DECREF(arglist);
-          if (ret == NULL) {
+                               (const char*)tag.GetAllParams());
+           if (! arglist) {
+               errmsg = "Failed making argument list";
+               break;
+           }
+           PyObject* ret = PyEval_CallObject(pyfunc, arglist);
+           Py_DECREF(arglist);
+           if (ret == NULL) {
               errmsg = "An error occured while calling WidgetStarter";
-             if (PyErr_Occurred())
-                PyErr_Print();
-             break;
-          }
-          wnd = NULL;
-          if (PyString_Check(ret)) {
-             char* thisc = PyString_AsString(ret);
-             SWIG_GetPtr(thisc, (void**)&wnd, "_wxWindow_p");
-          }
-          Py_DECREF(ret);
-          if (! wnd) {
+              if (PyErr_Occurred())
+                 PyErr_Print();
+              break;
+           }
+           wnd = NULL;
+           if (PyString_Check(ret)) {
+              char* thisc = PyString_AsString(ret);
+              SWIG_GetPtr(thisc, (void**)&wnd, "_wxWindow_p");
+           }
+           Py_DECREF(ret);
+           if (! wnd) {
                errmsg = "Could not make a wxWindow pointer from return ptr";
-              break;
-          }
-          #ifdef WXP_WITH_THREAD
-          PyEval_SaveThread();
-          #endif
-          wnd -> Show(TRUE);
-          m_WParser->OpenContainer()->InsertCell(new wxHtmlWidgetCell(wnd, fl));
-          return FALSE;
-       }
-       
-       /* we got out of the loop. Must be an error. Show a box stating it. */
-       
-       #ifdef WXP_WITH_THREAD
-       PyEval_SaveThread();
-       #endif
-       
+               break;
+           }
+           wxPySaveThread(doSave);
+           wnd -> Show(TRUE);
+           m_WParser->OpenContainer()->InsertCell(new wxHtmlWidgetCell(wnd, fl));
+           return FALSE;
+        }
+
+        wxPySaveThread(doSave);
+
+        /* we got out of the loop. Must be an error. Show a box stating it. */
         wnd = new wxTextCtrl( m_WParser -> GetWindow(), -1,
-                             errmsg, wxPoint(0,0), 
-                             wxSize(300, 100), wxTE_MULTILINE );
-       wnd -> Show(TRUE);
-       m_WParser->OpenContainer()->InsertCell(new wxHtmlWidgetCell(wnd, 100));
+                              errmsg, wxPoint(0,0),
+                              wxSize(300, 100), wxTE_MULTILINE );
+        wnd -> Show(TRUE);
+        m_WParser->OpenContainer()->InsertCell(new wxHtmlWidgetCell(wnd, 100));
         return FALSE;
     }
-    
+
 TAG_HANDLER_END(PYTHONTAG)
 
 TAGS_MODULE_BEGIN(PythonTag)
 
     TAGS_MODULE_ADD(PYTHONTAG)
-    
+
 TAGS_MODULE_END(PythonTag)
 
 // Note: see also the init function where we add the module!
 
 %}
 
+//---------------------------------------------------------------------------
+//---------------------------------------------------------------------------
+
+class wxHtmlTag {
+public:
+    // Never need to create a new tag...
+    //wxHtmlTag(const wxString& source, int pos, int end_pos, wxHtmlTagsCache* cache);
+
+    wxString GetName();
+    bool HasParam(const wxString& par);
+    wxString GetParam(const wxString& par, int with_commas = FALSE);
+
+    // Can't do this one as-is, but GetParam should be enough...
+    //int ScanParam(const wxString& par, const char *format, void* param);
+
+    wxString GetAllParams();
+    bool IsEnding();
+    bool HasEnding();
+    int GetBeginPos();
+    int GetEndPos1();
+    int GetEndPos2();
+};
+
+
+//---------------------------------------------------------------------------
+
+class wxHtmlParser {
+public:
+    // wxHtmlParser();  This is an abstract base class...
+
+    void SetFS(wxFileSystem *fs);
+    wxFileSystem* GetFS();
+    wxObject* Parse(const wxString& source);
+    void InitParser(const wxString& source);
+    void DoneParser();
+    void DoParsing(int begin_pos, int end_pos);
+    // wxObject* GetProduct();
+    void AddTagHandler(wxHtmlTagHandler *handler);
+    wxString* GetSource();
+
+
+    // void AddText(const char* txt) = 0;
+    // void AddTag(const wxHtmlTag& tag);
+};
+
+
+//---------------------------------------------------------------------------
+
+class wxHtmlWinParser : public wxHtmlParser {
+public:
+    wxHtmlWinParser(wxWindow *wnd);
+
+    void SetDC(wxDC *dc);
+    wxDC* GetDC();
+    int GetCharHeight();
+    int GetCharWidth();
+    wxWindow* GetWindow();
+    void SetFonts(wxString normal_face, int normal_italic_mode,
+                  wxString fixed_face, int fixed_italic_mode, int *LIST);
+
+    wxHtmlContainerCell* GetContainer();
+    wxHtmlContainerCell* OpenContainer();
+    wxHtmlContainerCell* CloseContainer();
+    int GetFontSize();
+    void SetFontSize(int s);
+    int GetFontBold();
+    void SetFontBold(int x);
+    int GetFontItalic();
+    void SetFontItalic(int x);
+    int GetFontUnderlined();
+    void SetFontUnderlined(int x);
+    int GetFontFixed();
+    void SetFontFixed(int x);
+    int GetAlign();
+    void SetAlign(int a);
+    const wxColour& GetLinkColor();
+    void SetLinkColor(const wxColour& clr);
+    const wxColour& GetActualColor();
+    void SetActualColor(const wxColour& clr);
+    const wxString& GetLink();
+    void SetLink(const wxString& link);
+    wxFont* CreateCurrentFont();
+};
+
+
+
+//---------------------------------------------------------------------------
+
+%{
+class wxPyHtmlTagHandler : public wxHtmlTagHandler {
+public:
+    wxPyHtmlTagHandler() : wxHtmlTagHandler() {};
+
+    wxHtmlParser* GetParser() { return m_Parser; }
+    void ParseInner(const wxHtmlTag& tag) { wxHtmlTagHandler::ParseInner(tag); }
+
+    DEC_PYCALLBACK_STRING__pure(GetSupportedTags);
+    DEC_PYCALLBACK_BOOL_TAG_pure(HandleTag);
+
+    PYPRIVATE;
+};
+
+IMP_PYCALLBACK_STRING__pure(wxPyHtmlTagHandler, wxHtmlTagHandler, GetSupportedTags);
+IMP_PYCALLBACK_BOOL_TAG_pure(wxPyHtmlTagHandler, wxHtmlTagHandler, HandleTag);
+
+%}
+
+
+%name(wxHtmlTagHandler) class wxPyHtmlTagHandler {
+public:
+    wxPyHtmlTagHandler();
+
+    void _setSelf(PyObject* self);
+    %pragma(python) addtomethod = "__init__:self._setSelf(self)"
+
+    void SetParser(wxHtmlParser *parser);
+    wxHtmlParser* GetParser();
+    void ParseInner(const wxHtmlTag& tag);
+};
+
+
+//---------------------------------------------------------------------------
+
+%{
+class wxPyHtmlWinTagHandler : public wxHtmlWinTagHandler {
+public:
+    wxPyHtmlWinTagHandler() : wxHtmlWinTagHandler() {};
+
+    wxHtmlWinParser* GetParser() { return m_WParser; }
+    void ParseInner(const wxHtmlTag& tag)
+        { wxHtmlWinTagHandler::ParseInner(tag); }
+
+    DEC_PYCALLBACK_STRING__pure(GetSupportedTags);
+    DEC_PYCALLBACK_BOOL_TAG_pure(HandleTag);
+
+    PYPRIVATE;
+};
+
+IMP_PYCALLBACK_STRING__pure(wxPyHtmlWinTagHandler, wxHtmlWinTagHandler, GetSupportedTags);
+IMP_PYCALLBACK_BOOL_TAG_pure(wxPyHtmlWinTagHandler, wxHtmlWinTagHandler, HandleTag);
+
+%}
+
+
+%name(wxHtmlWinTagHandler) class wxPyHtmlWinTagHandler : public wxPyHtmlTagHandler {
+public:
+    wxPyHtmlWinTagHandler();
+
+    void _setSelf(PyObject* self);
+    %pragma(python) addtomethod = "__init__:self._setSelf(self)"
+
+    void SetParser(wxHtmlParser *parser);
+    wxHtmlWinParser* GetParser();
+    void ParseInner(const wxHtmlTag& tag);
+};
+
+
+//---------------------------------------------------------------------------
+
+%{
+
+class wxPyHtmlTagsModule : public wxHtmlTagsModule {
+public:
+    wxPyHtmlTagsModule(PyObject* thc) : wxHtmlTagsModule() {
+        m_tagHandlerClass = thc;
+        Py_INCREF(m_tagHandlerClass);
+        RegisterModule(this);
+        wxHtmlWinParser::AddModule(this);
+    }
+
+    void OnExit() {
+        Py_DECREF(m_tagHandlerClass);
+        m_tagHandlerClass = NULL;
+        for (int x=0; x < m_objArray.GetCount(); x++) {
+            PyObject* obj = (PyObject*)m_objArray.Item(x);
+            Py_DECREF(obj);
+        }
+    };
+
+    void FillHandlersTable(wxHtmlWinParser *parser) {
+        // Wave our magic wand...  (if it works it's a miracle!  ;-)
+
+        // First, make a new instance of the tag handler
+        PyObject* arg = Py_BuildValue("()");
+        PyObject* obj = PyInstance_New(m_tagHandlerClass, arg, NULL);
+        Py_DECREF(arg);
+
+        // now figure out where it's C++ object is...
+        wxPyHtmlWinTagHandler* thPtr;
+        if (SWIG_GetPtrObj(obj, (void **)&thPtr, "_wxPyHtmlWinTagHandler_p"))
+            return;
+
+        // add it,
+        parser->AddTagHandler(thPtr);
+
+        // and track it.
+        m_objArray.Add(obj);
+    }
+
+private:
+    PyObject*           m_tagHandlerClass;
+    wxArrayPtrVoid      m_objArray;
+
+};
+%}
+
+
+
+%inline %{
+    void wxHtmlWinParser_AddTagHandler(PyObject* tagHandlerClass) {
+        // Dynamically create a new wxModule.  Refcounts tagHandlerClass
+        // and adds itself to the wxModules list and to the wxHtmlWinParser.
+        new wxPyHtmlTagsModule(tagHandlerClass);
+    }
+%}
+
+
+
+//---------------------------------------------------------------------------
+//---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 
 // item of history list
-class HtmlHistoryItem
-{
-    public:
-        HtmlHistoryItem(const char* p, const char* a);
-        int GetPos() const {return m_Pos;}
-        void SetPos(int p) {m_Pos = p;}
-        const wxString& GetPage() const ;
-        const wxString& GetAnchor() const ;
+class HtmlHistoryItem {
+public:
+    HtmlHistoryItem(const char* p, const char* a);
+
+    int GetPos();
+    void SetPos(int p);
+    const wxString& GetPage();
+    const wxString& GetAnchor();
 };
 
-class wxHtmlWindow : public wxScrolledWindow
-{
-    public:
-        wxHtmlWindow(wxWindow *parent, int id = -1, 
-                     const wxPoint& pos = wxPyDefaultPosition, 
-                    const wxSize& size = wxPyDefaultSize,
-                    int flags=wxHW_SCROLLBAR_AUTO, 
-                    const char* name = "htmlWindow");
-        %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
-       %pragma(python) addtomethod = "__init__:wx._StdOnScrollCallbacks(self)"
-
-        bool SetPage(const char* source);
+
+//---------------------------------------------------------------------------
+%{
+class wxPyHtmlWindow : public wxHtmlWindow {
+public:
+    wxPyHtmlWindow(wxWindow *parent, wxWindowID id = -1,
+                   const wxPoint& pos = wxDefaultPosition,
+                   const wxSize& size = wxDefaultSize,
+                   long style = wxHW_SCROLLBAR_AUTO,
+                   const wxString& name = "htmlWindow")
+        : wxHtmlWindow(parent, id, pos, size, style, name)  {};
+
+    DEC_PYCALLBACK__STRING(OnLinkClicked);
+
+    PYPRIVATE;
+};
+
+IMP_PYCALLBACK__STRING(wxPyHtmlWindow, wxHtmlWindow, OnLinkClicked);
+
+%}
+
+
+%name(wxHtmlWindow) class wxPyHtmlWindow : public wxScrolledWindow {
+public:
+    wxPyHtmlWindow(wxWindow *parent, int id = -1,
+                 wxPoint& pos = wxPyDefaultPosition,
+                 wxSize& size = wxPyDefaultSize,
+                 int flags=wxHW_SCROLLBAR_AUTO,
+                 char* name = "htmlWindow");
+
+    void _setSelf(PyObject* self);
+    %pragma(python) addtomethod = "__init__:self._setSelf(self)"
+    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
+    %pragma(python) addtomethod = "__init__:wx._StdOnScrollCallbacks(self)"
+
+
+    bool SetPage(const char* source);
                 // Set HTML page and display it. !! source is HTML document itself,
-                // it is NOT address/filename of HTML document. If you want to 
+                // it is NOT address/filename of HTML document. If you want to
                 // specify document location, use LoadPage() istead
                 // Return value : FALSE if an error occured, TRUE otherwise
-                
-        bool LoadPage(const char* location);
+
+    bool LoadPage(const char* location);
                 // Load HTML page from given location. Location can be either
                 // a) /usr/wxGTK2/docs/html/wx.htm
                 // b) http://www.somewhere.uk/document.htm
@@ -182,234 +418,87 @@ class wxHtmlWindow : public wxScrolledWindow
                 // Note : you can also use path relative to previously loaded page
                 // Return value : same as SetPage
 
-        wxString GetOpenedPage() const {return m_OpenedPage;}
+    wxString GetOpenedPage();
                 // Returns full location of opened page
-        
-        void SetRelatedFrame(wxFrame* frame, const char* format);
+
+    void SetRelatedFrame(wxFrame* frame, const char* format);
                 // sets frame in which page title will  be displayed. Format is format of
-                // frame title, e.g. "HtmlHelp : %s". It must contain exactly one %s 
-        wxFrame* GetRelatedFrame() const;
+                // frame title, e.g. "HtmlHelp : %s". It must contain exactly one %s
+    wxFrame* GetRelatedFrame();
 
-        void SetRelatedStatusBar(int bar);
+    void SetRelatedStatusBar(int bar);
                 // after(!) calling SetRelatedFrame, this sets statusbar slot where messages
                 // will be displayed. Default is -1 = no messages.
 
-        void SetFonts(wxString normal_face, int normal_italic_mode, wxString fixed_face, int fixed_italic_mode, int *sizes);
+    void SetFonts(wxString normal_face, int normal_italic_mode,
+                  wxString fixed_face, int fixed_italic_mode, int *LIST);
                 // sets fonts to be used when displaying HTML page.
                 // *_italic_mode can be either wxSLANT or wxITALIC
 
-        void SetTitle(const char* title);
+    void SetTitle(const char* title);
                 // Sets the title of the window
                 // (depending on the information passed to SetRelatedFrame() method)
 
-        void SetBorders(int b);
+    void SetBorders(int b);
                 // Sets space between text and window borders.
 
-        //virtual void ReadCustomization(wxConfigBase *cfg, wxString path = wxEmptyString);
+    void ReadCustomization(wxConfigBase *cfg, char* path = "");
                 // saves custom settings into cfg config. it will use the path 'path'
                 // if given, otherwise it will save info into currently selected path.
                 // saved values : things set by SetFonts, SetBorders.
-        //virtual void WriteCustomization(wxConfigBase *cfg, wxString path = wxEmptyString);
+
+    void WriteCustomization(wxConfigBase *cfg, char* path = "");
                 // ...
 
-        bool HistoryBack();
-        bool HistoryForward();
+    bool HistoryBack();
+    bool HistoryForward();
                 // Goes to previous/next page (in browsing history)
                 // Returns TRUE if successful, FALSE otherwise
-        void HistoryClear();
+    void HistoryClear();
                 // Resets history
 
-        //wxHtmlContainerCell* GetInternalRepresentation() const;
+    // wxHtmlContainerCell* GetInternalRepresentation() const;
                 // Returns pointer to conteiners/cells structure.
                 // It should be used ONLY when printing
 
-        //static void AddFilter(wxHtmlFilter *filter);
-                // Adds input filter
 
-        /* This function needs to be eventified! */
-        //virtual void OnLinkClicked(const char* link);
+    void base_OnLinkClicked(const char* link);
                 // called when users clicked on hypertext link. Default behavior is to
                 // call LoadPage(loc)
-               
-       //static void CleanUpStatics();
-               // cleans static variables
 
 };
 
-enum {
-    wxID_HTML_PANEL,
-    wxID_HTML_BACK,
-    wxID_HTML_FORWARD,
-    wxID_HTML_TREECTRL,
-    wxID_HTML_INDEXPAGE,
-    wxID_HTML_INDEXLIST,
-    wxID_HTML_NOTEBOOK,
-    wxID_HTML_SEARCHPAGE,
-    wxID_HTML_SEARCHTEXT,
-    wxID_HTML_SEARCHLIST,
-    wxID_HTML_SEARCHBUTTON
-};
+// Static methods are mapped to stand-alone functions
+%inline %{
+    void wxHtmlWindow_AddFilter(wxHtmlFilter *filter) {
+        wxHtmlWindow::AddFilter(filter);
+    }
+%}
 
-class wxHtmlHelpController : public wxEvtHandler
-{
-public:
-       wxHtmlHelpController();
-        ~wxHtmlHelpController();
-
-       // Images:
-       enum {
-           IMG_Book = 0,
-           IMG_Folder,
-           IMG_Page
-       };
-
-        void SetTitleFormat(const wxString& format) {m_TitleFormat = format;}
-                // Sets format of title of the frame. Must contain exactly one "%s"
-                // (for title of displayed HTML page)
-
-        void SetTempDir(const wxString& path);
-                // Sets directory where temporary files are stored.
-                // These temp files are index & contents file in binary (much faster to read)
-                // form. These files are NOT deleted on program's exit.
-
-        bool AddBook(const wxString& book, bool show_wait_msg = FALSE);
-                // Adds new book. 'book' is location of .htb file (stands for "html book").
-                // See documentation for details on its format.
-                // Returns success.
-                // If show_wait_msg == true then message window with "loading book..." is displayed
-
-        void Display(const wxString& x);
-                // Displays page x. If not found it will offect the user a choice of searching
-                // books.
-                // Looking for the page runs in these steps:
-                // 1. try to locate file named x (if x is for example "doc/howto.htm")
-                // 2. try to open starting page of book x
-                // 3. try to find x in contents (if x is for example "How To ...")
-                // 4. try to find x in index (if x is for example "How To ...")
-                // 5. offer searching and if the user agree, run KeywordSearch
-        %name(DisplayID) void Display(const int id);
-               // Alternative version that works with numeric ID.
-               // (uses extension to MS format, <param name="ID" value=id>, see docs)
-
-        void DisplayContents();
-                // Displays help window and focuses contents.
-
-        void DisplayIndex();
-                // Displays help window and focuses index.
-
-        bool KeywordSearch(const wxString& keyword);
-                // Searches for keyword. Returns TRUE and display page if found, return
-                // FALSE otherwise
-                // Syntax of keyword is Altavista-like:
-                // * words are separated by spaces
-                //   (but "\"hello world\"" is only one world "hello world")
-                // * word may be pretended by + or -
-                //   (+ : page must contain the word ; - : page can't contain the word)
-                // * if there is no + or - before the word, + is default
-
-        void UseConfig(wxConfigBase *config, const wxString& rootpath = wxEmptyString);
-                // Assigns config object to the controller. This config is then
-                // used in subsequent calls to Read/WriteCustomization of both help
-                // controller and it's wxHtmlWindow
-
-        void ReadCustomization(wxConfigBase *cfg, wxString path = wxEmptyString);
-                // saves custom settings into cfg config. it will use the path 'path'
-                // if given, otherwise it will save info into currently selected path.
-                // saved values : things set by SetFonts, SetBorders.
-        void WriteCustomization(wxConfigBase *cfg, wxString path = wxEmptyString);
-                // ...
-};
 
-class wxHtmlHelpSystem : public wxHtmlHelpController
-{
- public:
-   wxHtmlHelpSystem() {};
-   ~wxHtmlHelpSystem() {};
-   
-   bool AddBookParam(const wxString& title, const wxString& contfile, 
-                    const wxString& indexfile=wxEmptyString, const wxString& deftopic=wxEmptyString, 
-                    const wxString& path=wxEmptyString, bool show_wait_msg=FALSE);
-   // Alternative to AddBook(wxString& hhpfile)
-   wxToolBar* CreateToolBar(wxFrame* frame);
-   // creates a dockable toolbar for the frame, containing hide/show, back and forward buttons
-   wxTreeCtrl* CreateContentsTree(wxWindow* parent);
-   // creates a treecontrol with imagelist for books, folders etc and id wxID_HTML_TREECTRL
-   wxListBox* CreateIndexList(wxWindow* parent);
-   // creates a listbox with the right id
-   virtual void CreateHelpWindow();
-   // Slightly different version than in wxHtmlHelpController; uses helpers above
-   // Do nothing if the window already exists
-   void SetControls(wxFrame* frame, wxHtmlWindow* htmlwin, 
-                   wxTreeCtrl* contents=NULL, wxListBox* index=NULL,
-                   wxListBox* searchlist=NULL);
-   // alternative for CreateHelpWindow(), sets frame, htmlwindow, contents tree, index
-   // listbox and searchlist listbox. If null, their functionality won't be used
-
-   // Some extra accessor functions
-   wxFrame* GetFrame() { return m_Frame; }
-   wxHtmlWindow* GetHtmlWindow() { return m_HtmlWin; }
-   wxTreeCtrl* GetContentsTree() { return m_ContentsBox; }
-   wxListBox* GetIndexList() { return m_IndexBox; }
-   wxListBox* GetSearchList() { return m_SearchList; }
-   wxImageList* GetContentsImageList() { return m_ContentsImageList; }
-   // public interface for wxHtmlHelpControllers handlers, so wxPython can call them
-   void OnToolbar(wxCommandEvent& event);
-   void OnContentsSel(wxTreeEvent& event) {wxHtmlHelpController::OnContentsSel(event);}
-   void OnIndexSel(wxCommandEvent& event) {wxHtmlHelpController::OnIndexSel(event);}
-   void OnSearchSel(wxCommandEvent& event) {wxHtmlHelpController::OnSearchSel(event);}
-   void OnSearch(wxCommandEvent& event) {wxHtmlHelpController::OnSearch(event);}
-   void OnCloseWindow(wxCloseEvent& event);
-
-   // some more protected functions that should be accessible from wxPython
-   void RefreshLists();
-   void CreateContents() { if (!m_IndexBox) return; wxHtmlHelpController::CreateContents(); }
-   // Adds items to m_Contents tree control
-   void CreateIndex() { if (! m_ContentsBox) return; wxHtmlHelpController::CreateIndex(); }
-   // Adds items to m_IndexList
-};
+//---------------------------------------------------------------------------
+//---------------------------------------------------------------------------
 
-// just for fun, an Altavista-like search engine (the gems that Vaclav has hidden in wxHtml...)
-// but not for wxMSW because it's not DLL exported
-//#ifndef __WXMSW__
-#ifdef THIS_IS_NOT_DEFINED_OKAY
-class wxSearchEngine
-{
-    public:
-        wxSearchEngine() : wxObject() {m_Keyword = NULL;}
-        ~wxSearchEngine() {if (m_Keyword) free(m_Keyword);}
-
-        void LookFor(const wxString& keyword);
-            // Sets the keyword we will be searching for
-
-        bool Scan(wxInputStream *stream);
-            // Scans the stream for the keyword.
-            // Returns TRUE if the stream contains keyword, fALSE otherwise
-       %addmethods {
-               bool ScanFile(const wxString& filename) {
-                       if (filename.IsEmpty())
-                               return false;
-                       wxFileInputStream istr(filename);
-                       return self->Scan(&istr);
-               }
-       }
-};
-#endif
+%{
+    extern "C" SWIGEXPORT(void) inithtmlhelpc();
+%}
 
-//---------------------------------------------------------------------------
 
 %init %{
 
-    /* This is a bit cheesy. SWIG happens to call the dictionary d... 
+    /* This is a bit cheesy. SWIG happens to call the dictionary d...
      * I save it here, 'cause I don't know how to get it back later! */
     mod_dict = d;
-    wxPyThreadState = PyThreadState_Get();
+
+    //inithtmlhelpc();
+
     wxClassInfo::CleanUpClasses();
     wxClassInfo::InitializeClasses();
 
     /* specifically add our python tag handler; it doesn't seem to
      * happen by itself... */
     wxHtmlWinParser::AddModule(new HTML_ModulePythonTag());
-    
+
     // Until wxFileSystem is wrapped...
     #if wxUSE_FS_ZIP
        wxFileSystem::AddHandler(new wxZipFSHandler);
diff --git a/utils/wxPython/modules/html/htmlhelp.i b/utils/wxPython/modules/html/htmlhelp.i
new file mode 100644 (file)
index 0000000..f66a8d4
--- /dev/null
@@ -0,0 +1,201 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        htmlhelp.i
+// Purpose:     SWIG definitions of html classes
+//
+// Author:      Robin Dunn
+//
+// Created:     25-nov-1998
+// RCS-ID:      $Id$
+// Copyright:   (c) 1998 by Total Control Software
+// Licence:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+
+%module htmlhelp
+
+%{
+#include "helpers.h"
+#include <wx/html/htmlwin.h>
+#include <wx/image.h>
+#include <wx/fs_zip.h>
+#include <wx/fs_inet.h>
+#include <wx/wfstream.h>
+#include "helpsys.h"
+%}
+
+//---------------------------------------------------------------------------
+
+%include typemaps.i
+%include my_typemaps.i
+
+%extern wx.i
+%extern windows.i
+%extern _defs.i
+%extern events.i
+%extern controls.i
+%extern controls2.i
+
+%extern utils.i
+
+%extern html.i
+
+//---------------------------------------------------------------------------
+
+enum {
+    wxID_HTML_PANEL,
+    wxID_HTML_BACK,
+    wxID_HTML_FORWARD,
+    wxID_HTML_TREECTRL,
+    wxID_HTML_INDEXPAGE,
+    wxID_HTML_INDEXLIST,
+    wxID_HTML_NOTEBOOK,
+    wxID_HTML_SEARCHPAGE,
+    wxID_HTML_SEARCHTEXT,
+    wxID_HTML_SEARCHLIST,
+    wxID_HTML_SEARCHBUTTON
+};
+
+class wxHtmlHelpController : public wxEvtHandler {
+public:
+    wxHtmlHelpController();
+    ~wxHtmlHelpController();
+
+    // Images:
+    enum {
+        IMG_Book = 0,
+        IMG_Folder,
+        IMG_Page
+    };
+
+    void SetTitleFormat(const wxString& format) {m_TitleFormat = format;}
+                // Sets format of title of the frame. Must contain exactly one "%s"
+                // (for title of displayed HTML page)
+
+    void SetTempDir(const wxString& path);
+                // Sets directory where temporary files are stored.
+                // These temp files are index & contents file in binary (much faster to read)
+                // form. These files are NOT deleted on program's exit.
+
+    bool AddBook(const wxString& book, bool show_wait_msg = FALSE);
+                // Adds new book. 'book' is location of .htb file (stands for "html book").
+                // See documentation for details on its format.
+                // Returns success.
+                // If show_wait_msg == true then message window with "loading book..." is displayed
+
+    void Display(const wxString& x);
+                // Displays page x. If not found it will offect the user a choice of searching
+                // books.
+                // Looking for the page runs in these steps:
+                // 1. try to locate file named x (if x is for example "doc/howto.htm")
+                // 2. try to open starting page of book x
+                // 3. try to find x in contents (if x is for example "How To ...")
+                // 4. try to find x in index (if x is for example "How To ...")
+                // 5. offer searching and if the user agree, run KeywordSearch
+    %name(DisplayID) void Display(const int id);
+               // Alternative version that works with numeric ID.
+               // (uses extension to MS format, <param name="ID" value=id>, see docs)
+
+    void DisplayContents();
+                // Displays help window and focuses contents.
+
+    void DisplayIndex();
+                // Displays help window and focuses index.
+
+    bool KeywordSearch(const wxString& keyword);
+                // Searches for keyword. Returns TRUE and display page if found, return
+                // FALSE otherwise
+                // Syntax of keyword is Altavista-like:
+                // * words are separated by spaces
+                //   (but "\"hello world\"" is only one world "hello world")
+                // * word may be pretended by + or -
+                //   (+ : page must contain the word ; - : page can't contain the word)
+                // * if there is no + or - before the word, + is default
+
+    void UseConfig(wxConfigBase *config, const wxString& rootpath = wxEmptyString);
+                // Assigns config object to the controller. This config is then
+                // used in subsequent calls to Read/WriteCustomization of both help
+                // controller and it's wxHtmlWindow
+
+    void ReadCustomization(wxConfigBase *cfg, wxString path = wxEmptyString);
+                // saves custom settings into cfg config. it will use the path 'path'
+                // if given, otherwise it will save info into currently selected path.
+                // saved values : things set by SetFonts, SetBorders.
+    void WriteCustomization(wxConfigBase *cfg, wxString path = wxEmptyString);
+                // ...
+};
+
+class wxHtmlHelpSystem : public wxHtmlHelpController {
+public:
+    wxHtmlHelpSystem() {};
+    ~wxHtmlHelpSystem() {};
+
+    bool AddBookParam(const wxString& title, const wxString& contfile,
+                      const wxString& indexfile=wxEmptyString, const wxString& deftopic=wxEmptyString,
+                      const wxString& path=wxEmptyString, bool show_wait_msg=FALSE);
+    // Alternative to AddBook(wxString& hhpfile)
+    wxToolBar* CreateToolBar(wxFrame* frame);
+    // creates a dockable toolbar for the frame, containing hide/show, back and forward buttons
+    wxTreeCtrl* CreateContentsTree(wxWindow* parent);
+    // creates a treecontrol with imagelist for books, folders etc and id wxID_HTML_TREECTRL
+    wxListBox* CreateIndexList(wxWindow* parent);
+    // creates a listbox with the right id
+    virtual void CreateHelpWindow();
+    // Slightly different version than in wxHtmlHelpController; uses helpers above
+    // Do nothing if the window already exists
+    void SetControls(wxFrame* frame, wxHtmlWindow* htmlwin,
+                     wxTreeCtrl* contents=NULL, wxListBox* index=NULL,
+                     wxListBox* searchlist=NULL);
+    // alternative for CreateHelpWindow(), sets frame, htmlwindow, contents tree, index
+    // listbox and searchlist listbox. If null, their functionality won't be used
+
+    // Some extra accessor functions
+    wxFrame* GetFrame() { return m_Frame; }
+    wxHtmlWindow* GetHtmlWindow() { return m_HtmlWin; }
+    wxTreeCtrl* GetContentsTree() { return m_ContentsBox; }
+    wxListBox* GetIndexList() { return m_IndexBox; }
+    wxListBox* GetSearchList() { return m_SearchList; }
+    wxImageList* GetContentsImageList() { return m_ContentsImageList; }
+    // public interface for wxHtmlHelpControllers handlers, so wxPython can call them
+    void OnToolbar(wxCommandEvent& event);
+    void OnContentsSel(wxTreeEvent& event) {wxHtmlHelpController::OnContentsSel(event);}
+    void OnIndexSel(wxCommandEvent& event) {wxHtmlHelpController::OnIndexSel(event);}
+    void OnSearchSel(wxCommandEvent& event) {wxHtmlHelpController::OnSearchSel(event);}
+    void OnSearch(wxCommandEvent& event) {wxHtmlHelpController::OnSearch(event);}
+    void OnCloseWindow(wxCloseEvent& event);
+
+    // some more protected functions that should be accessible from wxPython
+    void RefreshLists();
+    void CreateContents() { if (!m_IndexBox) return; wxHtmlHelpController::CreateContents(); }
+    // Adds items to m_Contents tree control
+    void CreateIndex() { if (! m_ContentsBox) return; wxHtmlHelpController::CreateIndex(); }
+    // Adds items to m_IndexList
+};
+
+// just for fun, an Altavista-like search engine (the gems that Vaclav has hidden in wxHtml...)
+// but not for wxMSW because it's not DLL exported
+//#ifndef __WXMSW__
+#ifdef THIS_IS_NOT_DEFINED_OKAY
+class wxSearchEngine
+{
+    public:
+        wxSearchEngine() : wxObject() {m_Keyword = NULL;}
+        ~wxSearchEngine() {if (m_Keyword) free(m_Keyword);}
+
+        void LookFor(const wxString& keyword);
+            // Sets the keyword we will be searching for
+
+        bool Scan(wxInputStream *stream);
+            // Scans the stream for the keyword.
+            // Returns TRUE if the stream contains keyword, fALSE otherwise
+       %addmethods {
+               bool ScanFile(const wxString& filename) {
+                       if (filename.IsEmpty())
+                               return false;
+                       wxFileInputStream istr(filename);
+                       return self->Scan(&istr);
+               }
+       }
+};
+#endif
+
+//---------------------------------------------------------------------------
index d8fe3c3ef552973cff5341800bbb7ded83038bfa..390afd2b04009986fbf4d33dda6ed32a2fa11221 100644 (file)
@@ -1,6 +1,6 @@
 #
-# htmlhelper.py 
-# 
+# htmlhelper.py
+#
 # A few helper functions for putting wxPython widgets in html pages
 #
 # Harm van der Heijden, 11 aug 1999.
index c5beb415bcfc2e438f7394c9c0ed61db8951f3f0..fed25b5d9e6f48ef32c8098370fdc87b47904795 100644 (file)
@@ -3,7 +3,7 @@
  * 
  * This file was automatically generated by :
  * Simplified Wrapper and Interface Generator (SWIG)
- * Version 1.1 (Patch 6)
+ * Version 1.1 (Build 810)
  * 
  * Portions Copyright (c) 1995-1998
  * The University of Utah and The Regents of the University of California.
@@ -58,6 +58,8 @@ extern PyObject *SWIG_newvarlink(void);
 #include <wx/image.h>
 #include <wx/fs_zip.h>
 #include <wx/fs_inet.h>
+#include <wx/wfstream.h>
+#include "helpsys.h"
 
 static PyObject* l_output_helper(PyObject* target, PyObject* o) {
     PyObject*   o2;
@@ -107,24 +109,23 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) {
 }
 
 
-extern byte* byte_LIST_helper(PyObject* source);
-extern int* int_LIST_helper(PyObject* source);
-extern long* long_LIST_helper(PyObject* source);
-extern char** string_LIST_helper(PyObject* source);
-extern wxPoint* wxPoint_LIST_helper(PyObject* source);
-extern wxBitmap** wxBitmap_LIST_helper(PyObject* source);
-extern wxString* wxString_LIST_helper(PyObject* source);
-extern wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
+HELPEREXPORT byte* byte_LIST_helper(PyObject* source);
+HELPEREXPORT int* int_LIST_helper(PyObject* source);
+HELPEREXPORT long* long_LIST_helper(PyObject* source);
+HELPEREXPORT char** string_LIST_helper(PyObject* source);
+HELPEREXPORT wxPoint* wxPoint_LIST_helper(PyObject* source);
+HELPEREXPORT wxBitmap** wxBitmap_LIST_helper(PyObject* source);
+HELPEREXPORT wxString* wxString_LIST_helper(PyObject* source);
+HELPEREXPORT wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
 
 
 static char* wxStringErrorMsg = "string type is required for parameter";
 
 #ifdef __WXMSW__
-static wxString wxPyEmptyStr("");
-static wxPoint wxPyDefaultPosition(wxDefaultPosition);
-static wxSize wxPyDefaultSize(wxDefaultSize);
+wxString wxPyEmptyStr("");
+wxPoint wxPyDefaultPosition(wxDefaultPosition);
+wxSize wxPyDefaultSize(wxDefaultSize);
 #endif
-static PyThreadState* wxPyThreadState;
 
 
 static PyObject* mod_dict = NULL; // will be set by init
@@ -134,97 +135,2089 @@ static PyObject* mod_dict = NULL; // will be set by init
 TAG_HANDLER_BEGIN(PYTHONTAG, "PYTHON")
     TAG_HANDLER_PROC(tag)
     {
-       wxWindow *wnd;
-       wxString errmsg;
-       char pbuf[256];
-       
-       int fl = 0;
-       
-       while (1) {
-          #ifdef WXP_WITH_THREAD
-           PyEval_RestoreThread(wxPyThreadState);
-          #endif
-          if (tag.HasParam("FLOAT"))
-              tag.ScanParam("FLOAT", "%i", &fl);
-          PyObject* pyfunc = PyDict_GetItemString(mod_dict, "WidgetStarter");
-          if (pyfunc == NULL) {
-              errmsg = "Could not find object WidgetStarter";
-              break;
-          }
-          if (! PyCallable_Check(pyfunc)) {
-              errmsg = "WidgetStarter does not appear to be callable";
-              break;
-          }
-          SWIG_MakePtr(pbuf, m_WParser->GetWindow(), "_wxHtmlWindow_p");
+        wxWindow *wnd;
+        wxString errmsg;
+        char pbuf[256];
+
+        int fl = 0;
+
+        bool doSave = wxPyRestoreThread();
+        while (1) {
+           if (tag.HasParam("FLOAT"))
+               tag.ScanParam("FLOAT", "%i", &fl);
+           PyObject* pyfunc = PyDict_GetItemString(mod_dict, "WidgetStarter");
+           if (pyfunc == NULL) {
+               errmsg = "Could not find object WidgetStarter";
+               break;
+           }
+           if (! PyCallable_Check(pyfunc)) {
+               errmsg = "WidgetStarter does not appear to be callable";
+               break;
+           }
+           SWIG_MakePtr(pbuf, m_WParser->GetWindow(), "_wxPyHtmlWindow_p");
            PyObject* arglist = Py_BuildValue("(s,s)", pbuf,
-                              (const char*)tag.GetAllParams());
-          if (! arglist) {
-              errmsg = "Failed making argument list";
-              break;
-          }
-          PyObject* ret = PyEval_CallObject(pyfunc, arglist);
-          Py_DECREF(arglist);
-          if (ret == NULL) {
+                               (const char*)tag.GetAllParams());
+           if (! arglist) {
+               errmsg = "Failed making argument list";
+               break;
+           }
+           PyObject* ret = PyEval_CallObject(pyfunc, arglist);
+           Py_DECREF(arglist);
+           if (ret == NULL) {
               errmsg = "An error occured while calling WidgetStarter";
-             if (PyErr_Occurred())
-                PyErr_Print();
-             break;
-          }
-          wnd = NULL;
-          if (PyString_Check(ret)) {
-             char* thisc = PyString_AsString(ret);
-             SWIG_GetPtr(thisc, (void**)&wnd, "_wxWindow_p");
-          }
-          Py_DECREF(ret);
-          if (! wnd) {
+              if (PyErr_Occurred())
+                 PyErr_Print();
+              break;
+           }
+           wnd = NULL;
+           if (PyString_Check(ret)) {
+              char* thisc = PyString_AsString(ret);
+              SWIG_GetPtr(thisc, (void**)&wnd, "_wxWindow_p");
+           }
+           Py_DECREF(ret);
+           if (! wnd) {
                errmsg = "Could not make a wxWindow pointer from return ptr";
-              break;
-          }
-          #ifdef WXP_WITH_THREAD
-          PyEval_SaveThread();
-          #endif
-          wnd -> Show(TRUE);
-          m_WParser->OpenContainer()->InsertCell(new wxHtmlWidgetCell(wnd, fl));
-          return FALSE;
-       }
-       
-       /* we got out of the loop. Must be an error. Show a box stating it. */
-       
-       #ifdef WXP_WITH_THREAD
-       PyEval_SaveThread();
-       #endif
-       
+               break;
+           }
+           wxPySaveThread(doSave);
+           wnd -> Show(TRUE);
+           m_WParser->OpenContainer()->InsertCell(new wxHtmlWidgetCell(wnd, fl));
+           return FALSE;
+        }
+
+        wxPySaveThread(doSave);
+
+        /* we got out of the loop. Must be an error. Show a box stating it. */
         wnd = new wxTextCtrl( m_WParser -> GetWindow(), -1,
-                             errmsg, wxPoint(0,0), 
-                             wxSize(300, 100), wxTE_MULTILINE );
-       wnd -> Show(TRUE);
-       m_WParser->OpenContainer()->InsertCell(new wxHtmlWidgetCell(wnd, 100));
+                              errmsg, wxPoint(0,0),
+                              wxSize(300, 100), wxTE_MULTILINE );
+        wnd -> Show(TRUE);
+        m_WParser->OpenContainer()->InsertCell(new wxHtmlWidgetCell(wnd, 100));
         return FALSE;
     }
-    
-TAG_HANDLER_END(PYTHONTAG)
 
-TAGS_MODULE_BEGIN(PythonTag)
+TAG_HANDLER_END(PYTHONTAG)
+
+TAGS_MODULE_BEGIN(PythonTag)
+
+    TAGS_MODULE_ADD(PYTHONTAG)
+
+TAGS_MODULE_END(PythonTag)
+
+// Note: see also the init function where we add the module!
+
+
+class wxPyHtmlTagHandler : public wxHtmlTagHandler {
+public:
+    wxPyHtmlTagHandler() : wxHtmlTagHandler() {};
+
+    wxHtmlParser* GetParser() { return m_Parser; }
+    void ParseInner(const wxHtmlTag& tag) { wxHtmlTagHandler::ParseInner(tag); }
+
+    DEC_PYCALLBACK_STRING__pure(GetSupportedTags);
+    DEC_PYCALLBACK_BOOL_TAG_pure(HandleTag);
+
+    PYPRIVATE;
+};
+
+IMP_PYCALLBACK_STRING__pure(wxPyHtmlTagHandler, wxHtmlTagHandler, GetSupportedTags);
+IMP_PYCALLBACK_BOOL_TAG_pure(wxPyHtmlTagHandler, wxHtmlTagHandler, HandleTag);
+
+
+class wxPyHtmlWinTagHandler : public wxHtmlWinTagHandler {
+public:
+    wxPyHtmlWinTagHandler() : wxHtmlWinTagHandler() {};
+
+    wxHtmlWinParser* GetParser() { return m_WParser; }
+    void ParseInner(const wxHtmlTag& tag)
+        { wxHtmlWinTagHandler::ParseInner(tag); }
+
+    DEC_PYCALLBACK_STRING__pure(GetSupportedTags);
+    DEC_PYCALLBACK_BOOL_TAG_pure(HandleTag);
+
+    PYPRIVATE;
+};
+
+IMP_PYCALLBACK_STRING__pure(wxPyHtmlWinTagHandler, wxHtmlWinTagHandler, GetSupportedTags);
+IMP_PYCALLBACK_BOOL_TAG_pure(wxPyHtmlWinTagHandler, wxHtmlWinTagHandler, HandleTag);
+
+
+
+class wxPyHtmlTagsModule : public wxHtmlTagsModule {
+public:
+    wxPyHtmlTagsModule(PyObject* thc) : wxHtmlTagsModule() {
+        m_tagHandlerClass = thc;
+        Py_INCREF(m_tagHandlerClass);
+        RegisterModule(this);
+        wxHtmlWinParser::AddModule(this);
+    }
+
+    void OnExit() {
+        Py_DECREF(m_tagHandlerClass);
+        m_tagHandlerClass = NULL;
+        for (int x=0; x < m_objArray.GetCount(); x++) {
+            PyObject* obj = (PyObject*)m_objArray.Item(x);
+            Py_DECREF(obj);
+        }
+    };
+
+    void FillHandlersTable(wxHtmlWinParser *parser) {
+        // Wave our magic wand...  (if it works it's a miracle!  ;-)
+
+        // First, make a new instance of the tag handler
+        PyObject* arg = Py_BuildValue("()");
+        PyObject* obj = PyInstance_New(m_tagHandlerClass, arg, NULL);
+        Py_DECREF(arg);
+
+        // now figure out where it's C++ object is...
+        wxPyHtmlWinTagHandler* thPtr;
+        if (SWIG_GetPtrObj(obj, (void **)&thPtr, "_wxPyHtmlWinTagHandler_p"))
+            return;
+
+        // add it,
+        parser->AddTagHandler(thPtr);
+
+        // and track it.
+        m_objArray.Add(obj);
+    }
+
+private:
+    PyObject*           m_tagHandlerClass;
+    wxArrayPtrVoid      m_objArray;
+
+};
+
+    void wxHtmlWinParser_AddTagHandler(PyObject* tagHandlerClass) {
+        // Dynamically create a new wxModule.  Refcounts tagHandlerClass
+        // and adds itself to the wxModules list and to the wxHtmlWinParser.
+        new wxPyHtmlTagsModule(tagHandlerClass);
+    }
+
+class wxPyHtmlWindow : public wxHtmlWindow {
+public:
+    wxPyHtmlWindow(wxWindow *parent, wxWindowID id = -1,
+                   const wxPoint& pos = wxDefaultPosition,
+                   const wxSize& size = wxDefaultSize,
+                   long style = wxHW_SCROLLBAR_AUTO,
+                   const wxString& name = "htmlWindow")
+        : wxHtmlWindow(parent, id, pos, size, style, name)  {};
+
+    DEC_PYCALLBACK__STRING(OnLinkClicked);
+
+    PYPRIVATE;
+};
+
+IMP_PYCALLBACK__STRING(wxPyHtmlWindow, wxHtmlWindow, OnLinkClicked);
+
+
+    void wxHtmlWindow_AddFilter(wxHtmlFilter *filter) {
+        wxHtmlWindow::AddFilter(filter);
+    }
+
+    extern "C" SWIGEXPORT(void) inithtmlhelpc();
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_wxHtmlWinParser_AddTagHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _arg0;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "tagHandlerClass", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_AddTagHandler",_kwnames,&_obj0)) 
+        return NULL;
+{
+  _arg0 = _obj0;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinParser_AddTagHandler(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxHtmlWindow_AddFilter(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlFilter * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "filter", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWindow_AddFilter",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlFilter_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_AddFilter. Expected _wxHtmlFilter_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWindow_AddFilter(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlTag_GetName(_swigobj)  (_swigobj->GetName())
+static PyObject *_wrap_wxHtmlTag_GetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxHtmlTag * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlTag_GetName",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlTag_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTag_GetName. Expected _wxHtmlTag_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxHtmlTag_GetName(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxHtmlTag_HasParam(_swigobj,_swigarg0)  (_swigobj->HasParam(_swigarg0))
+static PyObject *_wrap_wxHtmlTag_HasParam(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxHtmlTag * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","par", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlTag_HasParam",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlTag_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTag_HasParam. Expected _wxHtmlTag_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxHtmlTag_HasParam(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxHtmlTag_GetParam(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetParam(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxHtmlTag_GetParam(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxHtmlTag * _arg0;
+    wxString * _arg1;
+    int  _arg2 = (int ) FALSE;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","par","with_commas", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxHtmlTag_GetParam",_kwnames,&_argo0,&_obj1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlTag_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTag_GetParam. Expected _wxHtmlTag_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxHtmlTag_GetParam(_arg0,*_arg1,_arg2));
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
+}
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxHtmlTag_GetAllParams(_swigobj)  (_swigobj->GetAllParams())
+static PyObject *_wrap_wxHtmlTag_GetAllParams(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxHtmlTag * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlTag_GetAllParams",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlTag_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTag_GetAllParams. Expected _wxHtmlTag_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxHtmlTag_GetAllParams(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromString(WXSTRINGCAST *(_result));
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxHtmlTag_IsEnding(_swigobj)  (_swigobj->IsEnding())
+static PyObject *_wrap_wxHtmlTag_IsEnding(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxHtmlTag * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlTag_IsEnding",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlTag_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTag_IsEnding. Expected _wxHtmlTag_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxHtmlTag_IsEnding(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlTag_HasEnding(_swigobj)  (_swigobj->HasEnding())
+static PyObject *_wrap_wxHtmlTag_HasEnding(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxHtmlTag * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlTag_HasEnding",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlTag_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTag_HasEnding. Expected _wxHtmlTag_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxHtmlTag_HasEnding(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlTag_GetBeginPos(_swigobj)  (_swigobj->GetBeginPos())
+static PyObject *_wrap_wxHtmlTag_GetBeginPos(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxHtmlTag * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlTag_GetBeginPos",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlTag_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTag_GetBeginPos. Expected _wxHtmlTag_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxHtmlTag_GetBeginPos(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlTag_GetEndPos1(_swigobj)  (_swigobj->GetEndPos1())
+static PyObject *_wrap_wxHtmlTag_GetEndPos1(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxHtmlTag * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlTag_GetEndPos1",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlTag_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTag_GetEndPos1. Expected _wxHtmlTag_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxHtmlTag_GetEndPos1(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlTag_GetEndPos2(_swigobj)  (_swigobj->GetEndPos2())
+static PyObject *_wrap_wxHtmlTag_GetEndPos2(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxHtmlTag * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlTag_GetEndPos2",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlTag_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTag_GetEndPos2. Expected _wxHtmlTag_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxHtmlTag_GetEndPos2(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlParser_SetFS(_swigobj,_swigarg0)  (_swigobj->SetFS(_swigarg0))
+static PyObject *_wrap_wxHtmlParser_SetFS(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlParser * _arg0;
+    wxFileSystem * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","fs", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlParser_SetFS",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlParser_SetFS. Expected _wxHtmlParser_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFileSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlParser_SetFS. Expected _wxFileSystem_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlParser_SetFS(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlParser_GetFS(_swigobj)  (_swigobj->GetFS())
+static PyObject *_wrap_wxHtmlParser_GetFS(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileSystem * _result;
+    wxHtmlParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlParser_GetFS",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlParser_GetFS. Expected _wxHtmlParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxFileSystem *)wxHtmlParser_GetFS(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxFileSystem_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlParser_Parse(_swigobj,_swigarg0)  (_swigobj->Parse(_swigarg0))
+static PyObject *_wrap_wxHtmlParser_Parse(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxObject * _result;
+    wxHtmlParser * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","source", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlParser_Parse",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlParser_Parse. Expected _wxHtmlParser_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxObject *)wxHtmlParser_Parse(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxObject_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxHtmlParser_InitParser(_swigobj,_swigarg0)  (_swigobj->InitParser(_swigarg0))
+static PyObject *_wrap_wxHtmlParser_InitParser(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlParser * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","source", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlParser_InitParser",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlParser_InitParser. Expected _wxHtmlParser_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlParser_InitParser(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxHtmlParser_DoneParser(_swigobj)  (_swigobj->DoneParser())
+static PyObject *_wrap_wxHtmlParser_DoneParser(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlParser_DoneParser",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlParser_DoneParser. Expected _wxHtmlParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlParser_DoneParser(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlParser_DoParsing(_swigobj,_swigarg0,_swigarg1)  (_swigobj->DoParsing(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxHtmlParser_DoParsing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlParser * _arg0;
+    int  _arg1;
+    int  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","begin_pos","end_pos", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxHtmlParser_DoParsing",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlParser_DoParsing. Expected _wxHtmlParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlParser_DoParsing(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlParser_AddTagHandler(_swigobj,_swigarg0)  (_swigobj->AddTagHandler(_swigarg0))
+static PyObject *_wrap_wxHtmlParser_AddTagHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlParser * _arg0;
+    wxHtmlTagHandler * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","handler", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlParser_AddTagHandler",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlParser_AddTagHandler. Expected _wxHtmlParser_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxHtmlTagHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlParser_AddTagHandler. Expected _wxHtmlTagHandler_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlParser_AddTagHandler(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlParser_GetSource(_swigobj)  (_swigobj->GetSource())
+static PyObject *_wrap_wxHtmlParser_GetSource(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxHtmlParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlParser_GetSource",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlParser_GetSource. Expected _wxHtmlParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxString *)wxHtmlParser_GetSource(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromString(WXSTRINGCAST (*_result));
+}
+    return _resultobj;
+}
+
+static void *SwigwxHtmlWinParserTowxHtmlParser(void *ptr) {
+    wxHtmlWinParser *src;
+    wxHtmlParser *dest;
+    src = (wxHtmlWinParser *) ptr;
+    dest = (wxHtmlParser *) src;
+    return (void *) dest;
+}
+
+#define new_wxHtmlWinParser(_swigarg0) (new wxHtmlWinParser(_swigarg0))
+static PyObject *_wrap_new_wxHtmlWinParser(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _result;
+    wxWindow * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "wnd", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxHtmlWinParser",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxHtmlWinParser. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxHtmlWinParser *)new_wxHtmlWinParser(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHtmlWinParser_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_SetDC(_swigobj,_swigarg0)  (_swigobj->SetDC(_swigarg0))
+static PyObject *_wrap_wxHtmlWinParser_SetDC(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _arg0;
+    wxDC * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlWinParser_SetDC",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_SetDC. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlWinParser_SetDC. Expected _wxDC_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinParser_SetDC(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetDC(_swigobj)  (_swigobj->GetDC())
+static PyObject *_wrap_wxHtmlWinParser_GetDC(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDC * _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetDC",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetDC. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxDC *)wxHtmlWinParser_GetDC(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxDC_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetCharHeight(_swigobj)  (_swigobj->GetCharHeight())
+static PyObject *_wrap_wxHtmlWinParser_GetCharHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetCharHeight",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetCharHeight. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxHtmlWinParser_GetCharHeight(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetCharWidth(_swigobj)  (_swigobj->GetCharWidth())
+static PyObject *_wrap_wxHtmlWinParser_GetCharWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetCharWidth",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetCharWidth. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxHtmlWinParser_GetCharWidth(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetWindow(_swigobj)  (_swigobj->GetWindow())
+static PyObject *_wrap_wxHtmlWinParser_GetWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxWindow * _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetWindow",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetWindow. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxWindow *)wxHtmlWinParser_GetWindow(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_SetFonts(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->SetFonts(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxHtmlWinParser_SetFonts(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _arg0;
+    wxString * _arg1;
+    int  _arg2;
+    wxString * _arg3;
+    int  _arg4;
+    int * _arg5;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj3 = 0;
+    PyObject * _obj5 = 0;
+    char *_kwnames[] = { "self","normal_face","normal_italic_mode","fixed_face","fixed_italic_mode","LIST", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOiOiO:wxHtmlWinParser_SetFonts",_kwnames,&_argo0,&_obj1,&_arg2,&_obj3,&_arg4,&_obj5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_SetFonts. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    if (!PyString_Check(_obj3)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg3 = new wxString(PyString_AsString(_obj3), PyString_Size(_obj3));
+}
+{
+    _arg5 = int_LIST_helper(_obj5);
+    if (_arg5 == NULL) {
+        return NULL;
+    }
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinParser_SetFonts(_arg0,*_arg1,_arg2,*_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    if (_obj3)
+        delete _arg3;
+}
+{
+    delete [] _arg5;
+}
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetContainer(_swigobj)  (_swigobj->GetContainer())
+static PyObject *_wrap_wxHtmlWinParser_GetContainer(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlContainerCell * _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetContainer",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetContainer. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxHtmlContainerCell *)wxHtmlWinParser_GetContainer(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHtmlContainerCell_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_OpenContainer(_swigobj)  (_swigobj->OpenContainer())
+static PyObject *_wrap_wxHtmlWinParser_OpenContainer(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlContainerCell * _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_OpenContainer",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_OpenContainer. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxHtmlContainerCell *)wxHtmlWinParser_OpenContainer(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHtmlContainerCell_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_CloseContainer(_swigobj)  (_swigobj->CloseContainer())
+static PyObject *_wrap_wxHtmlWinParser_CloseContainer(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlContainerCell * _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_CloseContainer",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_CloseContainer. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxHtmlContainerCell *)wxHtmlWinParser_CloseContainer(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHtmlContainerCell_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetFontSize(_swigobj)  (_swigobj->GetFontSize())
+static PyObject *_wrap_wxHtmlWinParser_GetFontSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetFontSize",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetFontSize. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxHtmlWinParser_GetFontSize(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_SetFontSize(_swigobj,_swigarg0)  (_swigobj->SetFontSize(_swigarg0))
+static PyObject *_wrap_wxHtmlWinParser_SetFontSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","s", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxHtmlWinParser_SetFontSize",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_SetFontSize. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinParser_SetFontSize(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetFontBold(_swigobj)  (_swigobj->GetFontBold())
+static PyObject *_wrap_wxHtmlWinParser_GetFontBold(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetFontBold",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetFontBold. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxHtmlWinParser_GetFontBold(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_SetFontBold(_swigobj,_swigarg0)  (_swigobj->SetFontBold(_swigarg0))
+static PyObject *_wrap_wxHtmlWinParser_SetFontBold(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxHtmlWinParser_SetFontBold",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_SetFontBold. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinParser_SetFontBold(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetFontItalic(_swigobj)  (_swigobj->GetFontItalic())
+static PyObject *_wrap_wxHtmlWinParser_GetFontItalic(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetFontItalic",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetFontItalic. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxHtmlWinParser_GetFontItalic(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_SetFontItalic(_swigobj,_swigarg0)  (_swigobj->SetFontItalic(_swigarg0))
+static PyObject *_wrap_wxHtmlWinParser_SetFontItalic(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxHtmlWinParser_SetFontItalic",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_SetFontItalic. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinParser_SetFontItalic(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetFontUnderlined(_swigobj)  (_swigobj->GetFontUnderlined())
+static PyObject *_wrap_wxHtmlWinParser_GetFontUnderlined(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetFontUnderlined",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetFontUnderlined. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxHtmlWinParser_GetFontUnderlined(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_SetFontUnderlined(_swigobj,_swigarg0)  (_swigobj->SetFontUnderlined(_swigarg0))
+static PyObject *_wrap_wxHtmlWinParser_SetFontUnderlined(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxHtmlWinParser_SetFontUnderlined",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_SetFontUnderlined. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinParser_SetFontUnderlined(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetFontFixed(_swigobj)  (_swigobj->GetFontFixed())
+static PyObject *_wrap_wxHtmlWinParser_GetFontFixed(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetFontFixed",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetFontFixed. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxHtmlWinParser_GetFontFixed(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_SetFontFixed(_swigobj,_swigarg0)  (_swigobj->SetFontFixed(_swigarg0))
+static PyObject *_wrap_wxHtmlWinParser_SetFontFixed(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxHtmlWinParser_SetFontFixed",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_SetFontFixed. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinParser_SetFontFixed(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetAlign(_swigobj)  (_swigobj->GetAlign())
+static PyObject *_wrap_wxHtmlWinParser_GetAlign(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetAlign",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetAlign. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxHtmlWinParser_GetAlign(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_SetAlign(_swigobj,_swigarg0)  (_swigobj->SetAlign(_swigarg0))
+static PyObject *_wrap_wxHtmlWinParser_SetAlign(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","a", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxHtmlWinParser_SetAlign",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_SetAlign. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinParser_SetAlign(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetLinkColor(_swigobj)  (_swigobj->GetLinkColor())
+static PyObject *_wrap_wxHtmlWinParser_GetLinkColor(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxColour * _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetLinkColor",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetLinkColor. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxColour & _result_ref = wxHtmlWinParser_GetLinkColor(_arg0);
+    _result = (wxColour *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxColour_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_SetLinkColor(_swigobj,_swigarg0)  (_swigobj->SetLinkColor(_swigarg0))
+static PyObject *_wrap_wxHtmlWinParser_SetLinkColor(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _arg0;
+    wxColour * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","clr", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlWinParser_SetLinkColor",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_SetLinkColor. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxColour_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlWinParser_SetLinkColor. Expected _wxColour_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinParser_SetLinkColor(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetActualColor(_swigobj)  (_swigobj->GetActualColor())
+static PyObject *_wrap_wxHtmlWinParser_GetActualColor(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxColour * _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetActualColor",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetActualColor. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxColour & _result_ref = wxHtmlWinParser_GetActualColor(_arg0);
+    _result = (wxColour *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxColour_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_SetActualColor(_swigobj,_swigarg0)  (_swigobj->SetActualColor(_swigarg0))
+static PyObject *_wrap_wxHtmlWinParser_SetActualColor(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _arg0;
+    wxColour * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","clr", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlWinParser_SetActualColor",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_SetActualColor. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxColour_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlWinParser_SetActualColor. Expected _wxColour_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinParser_SetActualColor(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_GetLink(_swigobj)  (_swigobj->GetLink())
+static PyObject *_wrap_wxHtmlWinParser_GetLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_GetLink",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_GetLink. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxString & _result_ref = wxHtmlWinParser_GetLink(_arg0);
+    _result = (wxString *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromString(WXSTRINGCAST (*_result));
+}
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_SetLink(_swigobj,_swigarg0)  (_swigobj->SetLink(_swigarg0))
+static PyObject *_wrap_wxHtmlWinParser_SetLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","link", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlWinParser_SetLink",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_SetLink. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinParser_SetLink(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxHtmlWinParser_CreateCurrentFont(_swigobj)  (_swigobj->CreateCurrentFont())
+static PyObject *_wrap_wxHtmlWinParser_CreateCurrentFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFont * _result;
+    wxHtmlWinParser * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinParser_CreateCurrentFont",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWinParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinParser_CreateCurrentFont. Expected _wxHtmlWinParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxFont *)wxHtmlWinParser_CreateCurrentFont(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxFont_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define new_wxHtmlTagHandler() (new wxPyHtmlTagHandler())
+static PyObject *_wrap_new_wxHtmlTagHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyHtmlTagHandler * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxHtmlTagHandler",_kwnames)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPyHtmlTagHandler *)new_wxHtmlTagHandler();
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyHtmlTagHandler_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlTagHandler__setSelf(_swigobj,_swigarg0)  (_swigobj->_setSelf(_swigarg0))
+static PyObject *_wrap_wxHtmlTagHandler__setSelf(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyHtmlTagHandler * _arg0;
+    PyObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlTagHandler__setSelf",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlTagHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTagHandler__setSelf. Expected _wxPyHtmlTagHandler_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlTagHandler__setSelf(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlTagHandler_SetParser(_swigobj,_swigarg0)  (_swigobj->SetParser(_swigarg0))
+static PyObject *_wrap_wxHtmlTagHandler_SetParser(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyHtmlTagHandler * _arg0;
+    wxHtmlParser * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","parser", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlTagHandler_SetParser",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlTagHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTagHandler_SetParser. Expected _wxPyHtmlTagHandler_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxHtmlParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlTagHandler_SetParser. Expected _wxHtmlParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlTagHandler_SetParser(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlTagHandler_GetParser(_swigobj)  (_swigobj->GetParser())
+static PyObject *_wrap_wxHtmlTagHandler_GetParser(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlParser * _result;
+    wxPyHtmlTagHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlTagHandler_GetParser",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlTagHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTagHandler_GetParser. Expected _wxPyHtmlTagHandler_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxHtmlParser *)wxHtmlTagHandler_GetParser(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHtmlParser_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlTagHandler_ParseInner(_swigobj,_swigarg0)  (_swigobj->ParseInner(_swigarg0))
+static PyObject *_wrap_wxHtmlTagHandler_ParseInner(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyHtmlTagHandler * _arg0;
+    wxHtmlTag * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","tag", NULL };
 
-    TAGS_MODULE_ADD(PYTHONTAG)
-    
-TAGS_MODULE_END(PythonTag)
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlTagHandler_ParseInner",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlTagHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlTagHandler_ParseInner. Expected _wxPyHtmlTagHandler_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxHtmlTag_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlTagHandler_ParseInner. Expected _wxHtmlTag_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlTagHandler_ParseInner(_arg0,*_arg1);
 
-// Note: see also the init function where we add the module!
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxPyHtmlWinTagHandlerTowxPyHtmlTagHandler(void *ptr) {
+    wxPyHtmlWinTagHandler *src;
+    wxPyHtmlTagHandler *dest;
+    src = (wxPyHtmlWinTagHandler *) ptr;
+    dest = (wxPyHtmlTagHandler *) src;
+    return (void *) dest;
+}
+
+#define new_wxHtmlWinTagHandler() (new wxPyHtmlWinTagHandler())
+static PyObject *_wrap_new_wxHtmlWinTagHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyHtmlWinTagHandler * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxHtmlWinTagHandler",_kwnames)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxPyHtmlWinTagHandler *)new_wxHtmlWinTagHandler();
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyHtmlWinTagHandler_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlWinTagHandler__setSelf(_swigobj,_swigarg0)  (_swigobj->_setSelf(_swigarg0))
+static PyObject *_wrap_wxHtmlWinTagHandler__setSelf(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyHtmlWinTagHandler * _arg0;
+    PyObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlWinTagHandler__setSelf",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWinTagHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinTagHandler__setSelf. Expected _wxPyHtmlWinTagHandler_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinTagHandler__setSelf(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlWinTagHandler_SetParser(_swigobj,_swigarg0)  (_swigobj->SetParser(_swigarg0))
+static PyObject *_wrap_wxHtmlWinTagHandler_SetParser(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyHtmlWinTagHandler * _arg0;
+    wxHtmlParser * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","parser", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlWinTagHandler_SetParser",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWinTagHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinTagHandler_SetParser. Expected _wxPyHtmlWinTagHandler_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxHtmlParser_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlWinTagHandler_SetParser. Expected _wxHtmlParser_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinTagHandler_SetParser(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlWinTagHandler_GetParser(_swigobj)  (_swigobj->GetParser())
+static PyObject *_wrap_wxHtmlWinTagHandler_GetParser(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWinParser * _result;
+    wxPyHtmlWinTagHandler * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWinTagHandler_GetParser",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWinTagHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinTagHandler_GetParser. Expected _wxPyHtmlWinTagHandler_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxHtmlWinParser *)wxHtmlWinTagHandler_GetParser(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHtmlWinParser_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlWinTagHandler_ParseInner(_swigobj,_swigarg0)  (_swigobj->ParseInner(_swigarg0))
+static PyObject *_wrap_wxHtmlWinTagHandler_ParseInner(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyHtmlWinTagHandler * _arg0;
+    wxHtmlTag * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","tag", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlWinTagHandler_ParseInner",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWinTagHandler_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWinTagHandler_ParseInner. Expected _wxPyHtmlWinTagHandler_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxHtmlTag_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlWinTagHandler_ParseInner. Expected _wxHtmlTag_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWinTagHandler_ParseInner(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
 
-#ifdef __cplusplus
-extern "C" {
-#endif
 #define new_HtmlHistoryItem(_swigarg0,_swigarg1) (new HtmlHistoryItem(_swigarg0,_swigarg1))
-static PyObject *_wrap_new_HtmlHistoryItem(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_HtmlHistoryItem(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     HtmlHistoryItem * _result;
     char * _arg0;
     char * _arg1;
+    char *_kwnames[] = { "p","a", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"ss:new_HtmlHistoryItem",&_arg0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ss:new_HtmlHistoryItem",_kwnames,&_arg0,&_arg1)) 
         return NULL;
 {
     wxPy_BEGIN_ALLOW_THREADS;
@@ -242,14 +2235,15 @@ static PyObject *_wrap_new_HtmlHistoryItem(PyObject *self, PyObject *args) {
 }
 
 #define HtmlHistoryItem_GetPos(_swigobj)  (_swigobj->GetPos())
-static PyObject *_wrap_HtmlHistoryItem_GetPos(PyObject *self, PyObject *args) {
+static PyObject *_wrap_HtmlHistoryItem_GetPos(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     int  _result;
     HtmlHistoryItem * _arg0;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O:HtmlHistoryItem_GetPos",&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:HtmlHistoryItem_GetPos",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
@@ -268,14 +2262,15 @@ static PyObject *_wrap_HtmlHistoryItem_GetPos(PyObject *self, PyObject *args) {
 }
 
 #define HtmlHistoryItem_SetPos(_swigobj,_swigarg0)  (_swigobj->SetPos(_swigarg0))
-static PyObject *_wrap_HtmlHistoryItem_SetPos(PyObject *self, PyObject *args) {
+static PyObject *_wrap_HtmlHistoryItem_SetPos(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     HtmlHistoryItem * _arg0;
     int  _arg1;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","p", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"Oi:HtmlHistoryItem_SetPos",&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:HtmlHistoryItem_SetPos",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
@@ -295,14 +2290,15 @@ static PyObject *_wrap_HtmlHistoryItem_SetPos(PyObject *self, PyObject *args) {
 }
 
 #define HtmlHistoryItem_GetPage(_swigobj)  (_swigobj->GetPage())
-static PyObject *_wrap_HtmlHistoryItem_GetPage(PyObject *self, PyObject *args) {
+static PyObject *_wrap_HtmlHistoryItem_GetPage(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     HtmlHistoryItem * _arg0;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O:HtmlHistoryItem_GetPage",&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:HtmlHistoryItem_GetPage",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
@@ -324,14 +2320,15 @@ static PyObject *_wrap_HtmlHistoryItem_GetPage(PyObject *self, PyObject *args) {
 }
 
 #define HtmlHistoryItem_GetAnchor(_swigobj)  (_swigobj->GetAnchor())
-static PyObject *_wrap_HtmlHistoryItem_GetAnchor(PyObject *self, PyObject *args) {
+static PyObject *_wrap_HtmlHistoryItem_GetAnchor(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
     HtmlHistoryItem * _arg0;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O:HtmlHistoryItem_GetAnchor",&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:HtmlHistoryItem_GetAnchor",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
@@ -352,44 +2349,44 @@ static PyObject *_wrap_HtmlHistoryItem_GetAnchor(PyObject *self, PyObject *args)
     return _resultobj;
 }
 
-static void *SwigwxHtmlWindowTowxScrolledWindow(void *ptr) {
-    wxHtmlWindow *src;
+static void *SwigwxPyHtmlWindowTowxScrolledWindow(void *ptr) {
+    wxPyHtmlWindow *src;
     wxScrolledWindow *dest;
-    src = (wxHtmlWindow *) ptr;
+    src = (wxPyHtmlWindow *) ptr;
     dest = (wxScrolledWindow *) src;
     return (void *) dest;
 }
 
-static void *SwigwxHtmlWindowTowxPanel(void *ptr) {
-    wxHtmlWindow *src;
+static void *SwigwxPyHtmlWindowTowxPanel(void *ptr) {
+    wxPyHtmlWindow *src;
     wxPanel *dest;
-    src = (wxHtmlWindow *) ptr;
+    src = (wxPyHtmlWindow *) ptr;
     dest = (wxPanel *) src;
     return (void *) dest;
 }
 
-static void *SwigwxHtmlWindowTowxWindow(void *ptr) {
-    wxHtmlWindow *src;
+static void *SwigwxPyHtmlWindowTowxWindow(void *ptr) {
+    wxPyHtmlWindow *src;
     wxWindow *dest;
-    src = (wxHtmlWindow *) ptr;
+    src = (wxPyHtmlWindow *) ptr;
     dest = (wxWindow *) src;
     return (void *) dest;
 }
 
-static void *SwigwxHtmlWindowTowxEvtHandler(void *ptr) {
-    wxHtmlWindow *src;
+static void *SwigwxPyHtmlWindowTowxEvtHandler(void *ptr) {
+    wxPyHtmlWindow *src;
     wxEvtHandler *dest;
-    src = (wxHtmlWindow *) ptr;
+    src = (wxPyHtmlWindow *) ptr;
     dest = (wxEvtHandler *) src;
     return (void *) dest;
 }
 
-#define new_wxHtmlWindow(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (new wxHtmlWindow(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
-static PyObject *_wrap_new_wxHtmlWindow(PyObject *self, PyObject *args) {
+#define new_wxHtmlWindow(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (new wxPyHtmlWindow(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_new_wxHtmlWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxHtmlWindow * _result;
+    wxPyHtmlWindow * _result;
     wxWindow * _arg0;
-    wxWindowID  _arg1 = (wxWindowID ) -1;
+    int  _arg1 = (int ) -1;
     wxPoint * _arg2 = (wxPoint *) &wxPyDefaultPosition;
     wxSize * _arg3 = (wxSize *) &wxPyDefaultSize;
     int  _arg4 = (int ) wxHW_SCROLLBAR_AUTO;
@@ -397,10 +2394,11 @@ static PyObject *_wrap_new_wxHtmlWindow(PyObject *self, PyObject *args) {
     PyObject * _argo0 = 0;
     PyObject * _argo2 = 0;
     PyObject * _argo3 = 0;
+    char *_kwnames[] = { "parent","id","pos","size","flags","name", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O|iOOis:new_wxHtmlWindow",&_argo0,&_arg1,&_argo2,&_argo3,&_arg4,&_arg5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iOOis:new_wxHtmlWindow",_kwnames,&_argo0,&_arg1,&_argo2,&_argo3,&_arg4,&_arg5)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
@@ -425,11 +2423,11 @@ static PyObject *_wrap_new_wxHtmlWindow(PyObject *self, PyObject *args) {
     }
 {
     wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxHtmlWindow *)new_wxHtmlWindow(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5);
+        _result = (wxPyHtmlWindow *)new_wxHtmlWindow(_arg0,_arg1,*_arg2,*_arg3,_arg4,_arg5);
 
     wxPy_END_ALLOW_THREADS;
 }    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHtmlWindow_p");
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyHtmlWindow_p");
         _resultobj = Py_BuildValue("s",_ptemp);
     } else {
         Py_INCREF(Py_None);
@@ -438,21 +2436,54 @@ static PyObject *_wrap_new_wxHtmlWindow(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
+#define wxHtmlWindow__setSelf(_swigobj,_swigarg0)  (_swigobj->_setSelf(_swigarg0))
+static PyObject *_wrap_wxHtmlWindow__setSelf(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyHtmlWindow * _arg0;
+    PyObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlWindow__setSelf",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow__setSelf. Expected _wxPyHtmlWindow_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWindow__setSelf(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
 #define wxHtmlWindow_SetPage(_swigobj,_swigarg0)  (_swigobj->SetPage(_swigarg0))
-static PyObject *_wrap_wxHtmlWindow_SetPage(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxHtmlWindow_SetPage(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
-    wxHtmlWindow * _arg0;
+    wxPyHtmlWindow * _arg0;
     char * _arg1;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","source", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"Os:wxHtmlWindow_SetPage",&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Os:wxHtmlWindow_SetPage",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_SetPage. Expected _wxHtmlWindow_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_SetPage. Expected _wxPyHtmlWindow_p.");
         return NULL;
         }
     }
@@ -466,20 +2497,21 @@ static PyObject *_wrap_wxHtmlWindow_SetPage(PyObject *self, PyObject *args) {
 }
 
 #define wxHtmlWindow_LoadPage(_swigobj,_swigarg0)  (_swigobj->LoadPage(_swigarg0))
-static PyObject *_wrap_wxHtmlWindow_LoadPage(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxHtmlWindow_LoadPage(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
-    wxHtmlWindow * _arg0;
+    wxPyHtmlWindow * _arg0;
     char * _arg1;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","location", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"Os:wxHtmlWindow_LoadPage",&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Os:wxHtmlWindow_LoadPage",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_LoadPage. Expected _wxHtmlWindow_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_LoadPage. Expected _wxPyHtmlWindow_p.");
         return NULL;
         }
     }
@@ -493,19 +2525,20 @@ static PyObject *_wrap_wxHtmlWindow_LoadPage(PyObject *self, PyObject *args) {
 }
 
 #define wxHtmlWindow_GetOpenedPage(_swigobj)  (_swigobj->GetOpenedPage())
-static PyObject *_wrap_wxHtmlWindow_GetOpenedPage(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxHtmlWindow_GetOpenedPage(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxString * _result;
-    wxHtmlWindow * _arg0;
+    wxPyHtmlWindow * _arg0;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O:wxHtmlWindow_GetOpenedPage",&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWindow_GetOpenedPage",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_GetOpenedPage. Expected _wxHtmlWindow_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_GetOpenedPage. Expected _wxPyHtmlWindow_p.");
         return NULL;
         }
     }
@@ -524,21 +2557,22 @@ static PyObject *_wrap_wxHtmlWindow_GetOpenedPage(PyObject *self, PyObject *args
 }
 
 #define wxHtmlWindow_SetRelatedFrame(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetRelatedFrame(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxHtmlWindow_SetRelatedFrame(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxHtmlWindow_SetRelatedFrame(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxHtmlWindow * _arg0;
+    wxPyHtmlWindow * _arg0;
     wxFrame * _arg1;
     char * _arg2;
     PyObject * _argo0 = 0;
     PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","frame","format", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"OOs:wxHtmlWindow_SetRelatedFrame",&_argo0,&_argo1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOs:wxHtmlWindow_SetRelatedFrame",_kwnames,&_argo0,&_argo1,&_arg2)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_SetRelatedFrame. Expected _wxHtmlWindow_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_SetRelatedFrame. Expected _wxPyHtmlWindow_p.");
         return NULL;
         }
     }
@@ -560,20 +2594,21 @@ static PyObject *_wrap_wxHtmlWindow_SetRelatedFrame(PyObject *self, PyObject *ar
 }
 
 #define wxHtmlWindow_GetRelatedFrame(_swigobj)  (_swigobj->GetRelatedFrame())
-static PyObject *_wrap_wxHtmlWindow_GetRelatedFrame(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxHtmlWindow_GetRelatedFrame(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     wxFrame * _result;
-    wxHtmlWindow * _arg0;
+    wxPyHtmlWindow * _arg0;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O:wxHtmlWindow_GetRelatedFrame",&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWindow_GetRelatedFrame",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_GetRelatedFrame. Expected _wxHtmlWindow_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_GetRelatedFrame. Expected _wxPyHtmlWindow_p.");
         return NULL;
         }
     }
@@ -593,19 +2628,20 @@ static PyObject *_wrap_wxHtmlWindow_GetRelatedFrame(PyObject *self, PyObject *ar
 }
 
 #define wxHtmlWindow_SetRelatedStatusBar(_swigobj,_swigarg0)  (_swigobj->SetRelatedStatusBar(_swigarg0))
-static PyObject *_wrap_wxHtmlWindow_SetRelatedStatusBar(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxHtmlWindow_SetRelatedStatusBar(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxHtmlWindow * _arg0;
+    wxPyHtmlWindow * _arg0;
     int  _arg1;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","bar", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"Oi:wxHtmlWindow_SetRelatedStatusBar",&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxHtmlWindow_SetRelatedStatusBar",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_SetRelatedStatusBar. Expected _wxHtmlWindow_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_SetRelatedStatusBar. Expected _wxPyHtmlWindow_p.");
         return NULL;
         }
     }
@@ -620,9 +2656,9 @@ static PyObject *_wrap_wxHtmlWindow_SetRelatedStatusBar(PyObject *self, PyObject
 }
 
 #define wxHtmlWindow_SetFonts(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->SetFonts(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
-static PyObject *_wrap_wxHtmlWindow_SetFonts(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxHtmlWindow_SetFonts(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxHtmlWindow * _arg0;
+    wxPyHtmlWindow * _arg0;
     wxString * _arg1;
     int  _arg2;
     wxString * _arg3;
@@ -631,15 +2667,16 @@ static PyObject *_wrap_wxHtmlWindow_SetFonts(PyObject *self, PyObject *args) {
     PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
     PyObject * _obj3 = 0;
-    PyObject * _argo5 = 0;
+    PyObject * _obj5 = 0;
+    char *_kwnames[] = { "self","normal_face","normal_italic_mode","fixed_face","fixed_italic_mode","LIST", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"OOiOiO:wxHtmlWindow_SetFonts",&_argo0,&_obj1,&_arg2,&_obj3,&_arg4,&_argo5)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOiOiO:wxHtmlWindow_SetFonts",_kwnames,&_argo0,&_obj1,&_arg2,&_obj3,&_arg4,&_obj5)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_SetFonts. Expected _wxHtmlWindow_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_SetFonts. Expected _wxPyHtmlWindow_p.");
         return NULL;
         }
     }
@@ -657,13 +2694,12 @@ static PyObject *_wrap_wxHtmlWindow_SetFonts(PyObject *self, PyObject *args) {
     }
     _arg3 = new wxString(PyString_AsString(_obj3), PyString_Size(_obj3));
 }
-    if (_argo5) {
-        if (_argo5 == Py_None) { _arg5 = NULL; }
-        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_int_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of wxHtmlWindow_SetFonts. Expected _int_p.");
+{
+    _arg5 = int_LIST_helper(_obj5);
+    if (_arg5 == NULL) {
         return NULL;
-        }
     }
+}
 {
     wxPy_BEGIN_ALLOW_THREADS;
         wxHtmlWindow_SetFonts(_arg0,*_arg1,_arg2,*_arg3,_arg4,_arg5);
@@ -678,24 +2714,28 @@ static PyObject *_wrap_wxHtmlWindow_SetFonts(PyObject *self, PyObject *args) {
 {
     if (_obj3)
         delete _arg3;
+}
+{
+    delete [] _arg5;
 }
     return _resultobj;
 }
 
 #define wxHtmlWindow_SetTitle(_swigobj,_swigarg0)  (_swigobj->SetTitle(_swigarg0))
-static PyObject *_wrap_wxHtmlWindow_SetTitle(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxHtmlWindow_SetTitle(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxHtmlWindow * _arg0;
+    wxPyHtmlWindow * _arg0;
     char * _arg1;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","title", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"Os:wxHtmlWindow_SetTitle",&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Os:wxHtmlWindow_SetTitle",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_SetTitle. Expected _wxHtmlWindow_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_SetTitle. Expected _wxPyHtmlWindow_p.");
         return NULL;
         }
     }
@@ -710,19 +2750,20 @@ static PyObject *_wrap_wxHtmlWindow_SetTitle(PyObject *self, PyObject *args) {
 }
 
 #define wxHtmlWindow_SetBorders(_swigobj,_swigarg0)  (_swigobj->SetBorders(_swigarg0))
-static PyObject *_wrap_wxHtmlWindow_SetBorders(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxHtmlWindow_SetBorders(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxHtmlWindow * _arg0;
+    wxPyHtmlWindow * _arg0;
     int  _arg1;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","b", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"Oi:wxHtmlWindow_SetBorders",&_argo0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxHtmlWindow_SetBorders",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_SetBorders. Expected _wxHtmlWindow_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_SetBorders. Expected _wxPyHtmlWindow_p.");
         return NULL;
         }
     }
@@ -736,20 +2777,95 @@ static PyObject *_wrap_wxHtmlWindow_SetBorders(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
+#define wxHtmlWindow_ReadCustomization(_swigobj,_swigarg0,_swigarg1)  (_swigobj->ReadCustomization(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxHtmlWindow_ReadCustomization(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyHtmlWindow * _arg0;
+    wxConfigBase * _arg1;
+    char * _arg2 = (char *) "";
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","cfg","path", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|s:wxHtmlWindow_ReadCustomization",_kwnames,&_argo0,&_argo1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_ReadCustomization. Expected _wxPyHtmlWindow_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxConfigBase_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlWindow_ReadCustomization. Expected _wxConfigBase_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWindow_ReadCustomization(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlWindow_WriteCustomization(_swigobj,_swigarg0,_swigarg1)  (_swigobj->WriteCustomization(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxHtmlWindow_WriteCustomization(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyHtmlWindow * _arg0;
+    wxConfigBase * _arg1;
+    char * _arg2 = (char *) "";
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","cfg","path", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|s:wxHtmlWindow_WriteCustomization",_kwnames,&_argo0,&_argo1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_WriteCustomization. Expected _wxPyHtmlWindow_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxConfigBase_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlWindow_WriteCustomization. Expected _wxConfigBase_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWindow_WriteCustomization(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
 #define wxHtmlWindow_HistoryBack(_swigobj)  (_swigobj->HistoryBack())
-static PyObject *_wrap_wxHtmlWindow_HistoryBack(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxHtmlWindow_HistoryBack(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
-    wxHtmlWindow * _arg0;
+    wxPyHtmlWindow * _arg0;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O:wxHtmlWindow_HistoryBack",&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWindow_HistoryBack",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_HistoryBack. Expected _wxHtmlWindow_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_HistoryBack. Expected _wxPyHtmlWindow_p.");
         return NULL;
         }
     }
@@ -763,19 +2879,20 @@ static PyObject *_wrap_wxHtmlWindow_HistoryBack(PyObject *self, PyObject *args)
 }
 
 #define wxHtmlWindow_HistoryForward(_swigobj)  (_swigobj->HistoryForward())
-static PyObject *_wrap_wxHtmlWindow_HistoryForward(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxHtmlWindow_HistoryForward(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
     bool  _result;
-    wxHtmlWindow * _arg0;
+    wxPyHtmlWindow * _arg0;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O:wxHtmlWindow_HistoryForward",&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWindow_HistoryForward",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_HistoryForward. Expected _wxHtmlWindow_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_HistoryForward. Expected _wxPyHtmlWindow_p.");
         return NULL;
         }
     }
@@ -789,18 +2906,19 @@ static PyObject *_wrap_wxHtmlWindow_HistoryForward(PyObject *self, PyObject *arg
 }
 
 #define wxHtmlWindow_HistoryClear(_swigobj)  (_swigobj->HistoryClear())
-static PyObject *_wrap_wxHtmlWindow_HistoryClear(PyObject *self, PyObject *args) {
+static PyObject *_wrap_wxHtmlWindow_HistoryClear(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxHtmlWindow * _arg0;
+    wxPyHtmlWindow * _arg0;
     PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
 
     self = self;
-    if(!PyArg_ParseTuple(args,"O:wxHtmlWindow_HistoryClear",&_argo0)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlWindow_HistoryClear",_kwnames,&_argo0)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_HistoryClear. Expected _wxHtmlWindow_p.");
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_HistoryClear. Expected _wxPyHtmlWindow_p.");
         return NULL;
         }
     }
@@ -814,25 +2932,115 @@ static PyObject *_wrap_wxHtmlWindow_HistoryClear(PyObject *self, PyObject *args)
     return _resultobj;
 }
 
+#define wxHtmlWindow_base_OnLinkClicked(_swigobj,_swigarg0)  (_swigobj->base_OnLinkClicked(_swigarg0))
+static PyObject *_wrap_wxHtmlWindow_base_OnLinkClicked(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyHtmlWindow * _arg0;
+    char * _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","link", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Os:wxHtmlWindow_base_OnLinkClicked",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_base_OnLinkClicked. Expected _wxPyHtmlWindow_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlWindow_base_OnLinkClicked(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
 static PyMethodDef htmlcMethods[] = {
-        { "wxHtmlWindow_HistoryClear", _wrap_wxHtmlWindow_HistoryClear, METH_VARARGS },
-        { "wxHtmlWindow_HistoryForward", _wrap_wxHtmlWindow_HistoryForward, METH_VARARGS },
-        { "wxHtmlWindow_HistoryBack", _wrap_wxHtmlWindow_HistoryBack, METH_VARARGS },
-        { "wxHtmlWindow_SetBorders", _wrap_wxHtmlWindow_SetBorders, METH_VARARGS },
-        { "wxHtmlWindow_SetTitle", _wrap_wxHtmlWindow_SetTitle, METH_VARARGS },
-        { "wxHtmlWindow_SetFonts", _wrap_wxHtmlWindow_SetFonts, METH_VARARGS },
-        { "wxHtmlWindow_SetRelatedStatusBar", _wrap_wxHtmlWindow_SetRelatedStatusBar, METH_VARARGS },
-        { "wxHtmlWindow_GetRelatedFrame", _wrap_wxHtmlWindow_GetRelatedFrame, METH_VARARGS },
-        { "wxHtmlWindow_SetRelatedFrame", _wrap_wxHtmlWindow_SetRelatedFrame, METH_VARARGS },
-        { "wxHtmlWindow_GetOpenedPage", _wrap_wxHtmlWindow_GetOpenedPage, METH_VARARGS },
-        { "wxHtmlWindow_LoadPage", _wrap_wxHtmlWindow_LoadPage, METH_VARARGS },
-        { "wxHtmlWindow_SetPage", _wrap_wxHtmlWindow_SetPage, METH_VARARGS },
-        { "new_wxHtmlWindow", _wrap_new_wxHtmlWindow, METH_VARARGS },
-        { "HtmlHistoryItem_GetAnchor", _wrap_HtmlHistoryItem_GetAnchor, METH_VARARGS },
-        { "HtmlHistoryItem_GetPage", _wrap_HtmlHistoryItem_GetPage, METH_VARARGS },
-        { "HtmlHistoryItem_SetPos", _wrap_HtmlHistoryItem_SetPos, METH_VARARGS },
-        { "HtmlHistoryItem_GetPos", _wrap_HtmlHistoryItem_GetPos, METH_VARARGS },
-        { "new_HtmlHistoryItem", _wrap_new_HtmlHistoryItem, METH_VARARGS },
+        { "wxHtmlWindow_base_OnLinkClicked", (PyCFunction) _wrap_wxHtmlWindow_base_OnLinkClicked, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_HistoryClear", (PyCFunction) _wrap_wxHtmlWindow_HistoryClear, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_HistoryForward", (PyCFunction) _wrap_wxHtmlWindow_HistoryForward, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_HistoryBack", (PyCFunction) _wrap_wxHtmlWindow_HistoryBack, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_WriteCustomization", (PyCFunction) _wrap_wxHtmlWindow_WriteCustomization, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_ReadCustomization", (PyCFunction) _wrap_wxHtmlWindow_ReadCustomization, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_SetBorders", (PyCFunction) _wrap_wxHtmlWindow_SetBorders, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_SetTitle", (PyCFunction) _wrap_wxHtmlWindow_SetTitle, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_SetFonts", (PyCFunction) _wrap_wxHtmlWindow_SetFonts, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_SetRelatedStatusBar", (PyCFunction) _wrap_wxHtmlWindow_SetRelatedStatusBar, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_GetRelatedFrame", (PyCFunction) _wrap_wxHtmlWindow_GetRelatedFrame, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_SetRelatedFrame", (PyCFunction) _wrap_wxHtmlWindow_SetRelatedFrame, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_GetOpenedPage", (PyCFunction) _wrap_wxHtmlWindow_GetOpenedPage, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_LoadPage", (PyCFunction) _wrap_wxHtmlWindow_LoadPage, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_SetPage", (PyCFunction) _wrap_wxHtmlWindow_SetPage, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow__setSelf", (PyCFunction) _wrap_wxHtmlWindow__setSelf, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxHtmlWindow", (PyCFunction) _wrap_new_wxHtmlWindow, METH_VARARGS | METH_KEYWORDS },
+        { "HtmlHistoryItem_GetAnchor", (PyCFunction) _wrap_HtmlHistoryItem_GetAnchor, METH_VARARGS | METH_KEYWORDS },
+        { "HtmlHistoryItem_GetPage", (PyCFunction) _wrap_HtmlHistoryItem_GetPage, METH_VARARGS | METH_KEYWORDS },
+        { "HtmlHistoryItem_SetPos", (PyCFunction) _wrap_HtmlHistoryItem_SetPos, METH_VARARGS | METH_KEYWORDS },
+        { "HtmlHistoryItem_GetPos", (PyCFunction) _wrap_HtmlHistoryItem_GetPos, METH_VARARGS | METH_KEYWORDS },
+        { "new_HtmlHistoryItem", (PyCFunction) _wrap_new_HtmlHistoryItem, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinTagHandler_ParseInner", (PyCFunction) _wrap_wxHtmlWinTagHandler_ParseInner, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinTagHandler_GetParser", (PyCFunction) _wrap_wxHtmlWinTagHandler_GetParser, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinTagHandler_SetParser", (PyCFunction) _wrap_wxHtmlWinTagHandler_SetParser, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinTagHandler__setSelf", (PyCFunction) _wrap_wxHtmlWinTagHandler__setSelf, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxHtmlWinTagHandler", (PyCFunction) _wrap_new_wxHtmlWinTagHandler, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTagHandler_ParseInner", (PyCFunction) _wrap_wxHtmlTagHandler_ParseInner, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTagHandler_GetParser", (PyCFunction) _wrap_wxHtmlTagHandler_GetParser, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTagHandler_SetParser", (PyCFunction) _wrap_wxHtmlTagHandler_SetParser, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTagHandler__setSelf", (PyCFunction) _wrap_wxHtmlTagHandler__setSelf, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxHtmlTagHandler", (PyCFunction) _wrap_new_wxHtmlTagHandler, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_CreateCurrentFont", (PyCFunction) _wrap_wxHtmlWinParser_CreateCurrentFont, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_SetLink", (PyCFunction) _wrap_wxHtmlWinParser_SetLink, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetLink", (PyCFunction) _wrap_wxHtmlWinParser_GetLink, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_SetActualColor", (PyCFunction) _wrap_wxHtmlWinParser_SetActualColor, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetActualColor", (PyCFunction) _wrap_wxHtmlWinParser_GetActualColor, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_SetLinkColor", (PyCFunction) _wrap_wxHtmlWinParser_SetLinkColor, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetLinkColor", (PyCFunction) _wrap_wxHtmlWinParser_GetLinkColor, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_SetAlign", (PyCFunction) _wrap_wxHtmlWinParser_SetAlign, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetAlign", (PyCFunction) _wrap_wxHtmlWinParser_GetAlign, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_SetFontFixed", (PyCFunction) _wrap_wxHtmlWinParser_SetFontFixed, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetFontFixed", (PyCFunction) _wrap_wxHtmlWinParser_GetFontFixed, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_SetFontUnderlined", (PyCFunction) _wrap_wxHtmlWinParser_SetFontUnderlined, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetFontUnderlined", (PyCFunction) _wrap_wxHtmlWinParser_GetFontUnderlined, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_SetFontItalic", (PyCFunction) _wrap_wxHtmlWinParser_SetFontItalic, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetFontItalic", (PyCFunction) _wrap_wxHtmlWinParser_GetFontItalic, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_SetFontBold", (PyCFunction) _wrap_wxHtmlWinParser_SetFontBold, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetFontBold", (PyCFunction) _wrap_wxHtmlWinParser_GetFontBold, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_SetFontSize", (PyCFunction) _wrap_wxHtmlWinParser_SetFontSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetFontSize", (PyCFunction) _wrap_wxHtmlWinParser_GetFontSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_CloseContainer", (PyCFunction) _wrap_wxHtmlWinParser_CloseContainer, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_OpenContainer", (PyCFunction) _wrap_wxHtmlWinParser_OpenContainer, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetContainer", (PyCFunction) _wrap_wxHtmlWinParser_GetContainer, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_SetFonts", (PyCFunction) _wrap_wxHtmlWinParser_SetFonts, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetWindow", (PyCFunction) _wrap_wxHtmlWinParser_GetWindow, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetCharWidth", (PyCFunction) _wrap_wxHtmlWinParser_GetCharWidth, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetCharHeight", (PyCFunction) _wrap_wxHtmlWinParser_GetCharHeight, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_GetDC", (PyCFunction) _wrap_wxHtmlWinParser_GetDC, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_SetDC", (PyCFunction) _wrap_wxHtmlWinParser_SetDC, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxHtmlWinParser", (PyCFunction) _wrap_new_wxHtmlWinParser, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlParser_GetSource", (PyCFunction) _wrap_wxHtmlParser_GetSource, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlParser_AddTagHandler", (PyCFunction) _wrap_wxHtmlParser_AddTagHandler, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlParser_DoParsing", (PyCFunction) _wrap_wxHtmlParser_DoParsing, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlParser_DoneParser", (PyCFunction) _wrap_wxHtmlParser_DoneParser, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlParser_InitParser", (PyCFunction) _wrap_wxHtmlParser_InitParser, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlParser_Parse", (PyCFunction) _wrap_wxHtmlParser_Parse, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlParser_GetFS", (PyCFunction) _wrap_wxHtmlParser_GetFS, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlParser_SetFS", (PyCFunction) _wrap_wxHtmlParser_SetFS, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTag_GetEndPos2", (PyCFunction) _wrap_wxHtmlTag_GetEndPos2, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTag_GetEndPos1", (PyCFunction) _wrap_wxHtmlTag_GetEndPos1, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTag_GetBeginPos", (PyCFunction) _wrap_wxHtmlTag_GetBeginPos, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTag_HasEnding", (PyCFunction) _wrap_wxHtmlTag_HasEnding, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTag_IsEnding", (PyCFunction) _wrap_wxHtmlTag_IsEnding, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTag_GetAllParams", (PyCFunction) _wrap_wxHtmlTag_GetAllParams, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTag_GetParam", (PyCFunction) _wrap_wxHtmlTag_GetParam, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTag_HasParam", (PyCFunction) _wrap_wxHtmlTag_HasParam, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlTag_GetName", (PyCFunction) _wrap_wxHtmlTag_GetName, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWindow_AddFilter", (PyCFunction) _wrap_wxHtmlWindow_AddFilter, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlWinParser_AddTagHandler", (PyCFunction) _wrap_wxHtmlWinParser_AddTagHandler, METH_VARARGS | METH_KEYWORDS },
         { NULL, NULL }
 };
 #ifdef __cplusplus
@@ -845,6 +3053,9 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxAcceleratorTable","_class_wxAcceleratorTable",0},
     { "_wxEvent","_class_wxEvent",0},
     { "_class_wxActivateEvent","_wxActivateEvent",0},
+    { "_class_wxHtmlParser","_class_wxHtmlWinParser",SwigwxHtmlWinParserTowxHtmlParser},
+    { "_class_wxHtmlParser","_wxHtmlWinParser",SwigwxHtmlWinParserTowxHtmlParser},
+    { "_class_wxHtmlParser","_wxHtmlParser",0},
     { "_signed_long","_long",0},
     { "_wxMenuEvent","_class_wxMenuEvent",0},
     { "_class_wxJPEGHandler","_wxJPEGHandler",0},
@@ -863,8 +3074,8 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_class_wxRegionIterator","_wxRegionIterator",0},
     { "_class_wxMenuBar","_wxMenuBar",0},
     { "_class_wxPyTreeItemData","_wxPyTreeItemData",0},
-    { "_class_wxEvtHandler","_class_wxHtmlWindow",SwigwxHtmlWindowTowxEvtHandler},
-    { "_class_wxEvtHandler","_wxHtmlWindow",SwigwxHtmlWindowTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxEvtHandler},
     { "_class_wxEvtHandler","_wxEvtHandler",0},
     { "_wxPaintEvent","_class_wxPaintEvent",0},
     { "_wxGIFHandler","_class_wxGIFHandler",0},
@@ -919,8 +3130,8 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0},
     { "_class_wxStatusBar","_wxStatusBar",0},
     { "_class_wxGIFHandler","_wxGIFHandler",0},
-    { "_wxPanel","_class_wxHtmlWindow",SwigwxHtmlWindowTowxPanel},
-    { "_wxPanel","_wxHtmlWindow",SwigwxHtmlWindowTowxPanel},
+    { "_wxPanel","_class_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxPanel},
+    { "_wxPanel","_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxPanel},
     { "_wxPanel","_class_wxPanel",0},
     { "_wxInitDialogEvent","_class_wxInitDialogEvent",0},
     { "_wxCheckBox","_class_wxCheckBox",0},
@@ -980,6 +3191,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxMessageDialog","_class_wxMessageDialog",0},
     { "_class_wxPyEvent","_wxPyEvent",0},
     { "_wxTextEntryDialog","_class_wxTextEntryDialog",0},
+    { "_wxConfig","_class_wxConfig",0},
     { "_class_wxIconizeEvent","_wxIconizeEvent",0},
     { "_class_wxStaticBitmap","_wxStaticBitmap",0},
     { "_wxMDIChildFrame","_class_wxMDIChildFrame",0},
@@ -988,6 +3200,9 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_class_wxStaticLine","_wxStaticLine",0},
     { "_wxScrollEvent","_class_wxScrollEvent",0},
     { "_wxCalculateLayoutEvent","_class_wxCalculateLayoutEvent",0},
+    { "_wxPyHtmlTagHandler","_class_wxPyHtmlWinTagHandler",SwigwxPyHtmlWinTagHandlerTowxPyHtmlTagHandler},
+    { "_wxPyHtmlTagHandler","_wxPyHtmlWinTagHandler",SwigwxPyHtmlWinTagHandlerTowxPyHtmlTagHandler},
+    { "_wxPyHtmlTagHandler","_class_wxPyHtmlTagHandler",0},
     { "_EBool","_wxPrintQuality",0},
     { "_EBool","_signed_int",0},
     { "_EBool","_int",0},
@@ -1006,6 +3221,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_class_wxDC","_wxDC",0},
     { "_class_wxProgressDialog","_wxProgressDialog",0},
     { "_wxPyApp","_class_wxPyApp",0},
+    { "_wxHtmlWinParser","_class_wxHtmlWinParser",0},
     { "_wxMDIParentFrame","_class_wxMDIParentFrame",0},
     { "_class_wxTreeEvent","_wxTreeEvent",0},
     { "_class_wxDirDialog","_wxDirDialog",0},
@@ -1013,15 +3229,15 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxFocusEvent","_class_wxFocusEvent",0},
     { "_wxMaximizeEvent","_class_wxMaximizeEvent",0},
     { "_class_wxSpinButton","_wxSpinButton",0},
-    { "_wxHtmlWindow","_class_wxHtmlWindow",0},
     { "_wxAcceleratorEntry","_class_wxAcceleratorEntry",0},
-    { "_class_wxPanel","_class_wxHtmlWindow",SwigwxHtmlWindowTowxPanel},
-    { "_class_wxPanel","_wxHtmlWindow",SwigwxHtmlWindowTowxPanel},
+    { "_class_wxPanel","_class_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxPanel},
+    { "_class_wxPanel","_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxPanel},
     { "_class_wxPanel","_wxPanel",0},
     { "_class_wxCheckBox","_wxCheckBox",0},
     { "_wxComboBox","_class_wxComboBox",0},
     { "_wxRadioButton","_class_wxRadioButton",0},
     { "_class_wxMessageDialog","_wxMessageDialog",0},
+    { "_wxHtmlTag","_class_wxHtmlTag",0},
     { "_signed_int","_wxPrintQuality",0},
     { "_signed_int","_EBool",0},
     { "_signed_int","_wxWindowID",0},
@@ -1034,16 +3250,20 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxListBox","_class_wxListBox",0},
     { "_wxScreenDC","_class_wxScreenDC",0},
     { "_class_wxMDIChildFrame","_wxMDIChildFrame",0},
+    { "_class_wxPyHtmlWindow","_wxPyHtmlWindow",0},
     { "_WXTYPE","_short",0},
     { "_WXTYPE","_signed_short",0},
     { "_WXTYPE","_unsigned_short",0},
     { "_wxFileDialog","_class_wxFileDialog",0},
     { "_class_wxMDIClientWindow","_wxMDIClientWindow",0},
     { "_class_wxBrush","_wxBrush",0},
+    { "_class_wxPyHtmlTagHandler","_class_wxPyHtmlWinTagHandler",SwigwxPyHtmlWinTagHandlerTowxPyHtmlTagHandler},
+    { "_class_wxPyHtmlTagHandler","_wxPyHtmlWinTagHandler",SwigwxPyHtmlWinTagHandlerTowxPyHtmlTagHandler},
+    { "_class_wxPyHtmlTagHandler","_wxPyHtmlTagHandler",0},
     { "_unsigned_short","_WXTYPE",0},
     { "_unsigned_short","_short",0},
-    { "_class_wxWindow","_class_wxHtmlWindow",SwigwxHtmlWindowTowxWindow},
-    { "_class_wxWindow","_wxHtmlWindow",SwigwxHtmlWindowTowxWindow},
+    { "_class_wxWindow","_class_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxWindow},
+    { "_class_wxWindow","_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxWindow},
     { "_class_wxWindow","_wxWindow",0},
     { "_wxSplitterWindow","_class_wxSplitterWindow",0},
     { "_class_wxStaticText","_wxStaticText",0},
@@ -1060,6 +3280,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxRealPoint","_class_wxRealPoint",0},
     { "_class_wxRadioBox","_wxRadioBox",0},
     { "_wxGridCell","_class_wxGridCell",0},
+    { "_class_wxHtmlWinParser","_wxHtmlWinParser",0},
     { "_signed_short","_WXTYPE",0},
     { "_signed_short","_short",0},
     { "_wxMemoryDC","_class_wxMemoryDC",0},
@@ -1071,12 +3292,12 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_class_wxMaximizeEvent","_wxMaximizeEvent",0},
     { "_wxStatusBar","_class_wxStatusBar",0},
     { "_class_wxToolBarTool","_wxToolBarTool",0},
-    { "_class_wxHtmlWindow","_wxHtmlWindow",0},
     { "_class_wxAcceleratorEntry","_wxAcceleratorEntry",0},
     { "_class_wxCursor","_wxCursor",0},
     { "_class_wxImageHandler","_wxImageHandler",0},
-    { "_wxScrolledWindow","_class_wxHtmlWindow",SwigwxHtmlWindowTowxScrolledWindow},
-    { "_wxScrolledWindow","_wxHtmlWindow",SwigwxHtmlWindowTowxScrolledWindow},
+    { "_class_wxHtmlTag","_wxHtmlTag",0},
+    { "_wxScrolledWindow","_class_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxScrolledWindow},
+    { "_wxScrolledWindow","_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxScrolledWindow},
     { "_wxScrolledWindow","_class_wxScrolledWindow",0},
     { "_wxTreeItemId","_class_wxTreeItemId",0},
     { "_unsigned_char","_byte",0},
@@ -1128,6 +3349,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_class_wxListEvent","_wxListEvent",0},
     { "_class_wxPrintPreview","_wxPrintPreview",0},
     { "_class_wxSpinEvent","_wxSpinEvent",0},
+    { "_wxPyHtmlWinTagHandler","_class_wxPyHtmlWinTagHandler",0},
     { "_wxButton","_class_wxButton",0},
     { "_class_wxPyApp","_wxPyApp",0},
     { "_wxSize","_class_wxSize",0},
@@ -1163,11 +3385,15 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxActivateEvent","_class_wxActivateEvent",0},
     { "_wxGauge","_class_wxGauge",0},
     { "_class_wxCheckListBox","_wxCheckListBox",0},
+    { "_wxHtmlParser","_class_wxHtmlWinParser",SwigwxHtmlWinParserTowxHtmlParser},
+    { "_wxHtmlParser","_wxHtmlWinParser",SwigwxHtmlWinParserTowxHtmlParser},
+    { "_wxHtmlParser","_class_wxHtmlParser",0},
     { "_class_wxGridEvent","_wxGridEvent",0},
     { "_class_wxCommandEvent","_wxCommandEvent",0},
     { "_class_wxClientDC","_wxClientDC",0},
     { "_class_wxSizeEvent","_wxSizeEvent",0},
     { "_class_wxListCtrl","_wxListCtrl",0},
+    { "_class_wxPyHtmlWinTagHandler","_wxPyHtmlWinTagHandler",0},
     { "_class_wxGridCell","_wxGridCell",0},
     { "_HtmlHistoryItem","_class_HtmlHistoryItem",0},
     { "_class_wxSize","_wxSize",0},
@@ -1176,8 +3402,8 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxMenuBar","_class_wxMenuBar",0},
     { "_wxTreeEvent","_class_wxTreeEvent",0},
     { "_wxDirDialog","_class_wxDirDialog",0},
-    { "_wxEvtHandler","_class_wxHtmlWindow",SwigwxHtmlWindowTowxEvtHandler},
-    { "_wxEvtHandler","_wxHtmlWindow",SwigwxHtmlWindowTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxEvtHandler},
+    { "_wxEvtHandler","_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxEvtHandler},
     { "_wxEvtHandler","_class_wxEvtHandler",0},
     { "_wxMenuItem","_class_wxMenuItem",0},
     { "_class_wxScrollBar","_wxScrollBar",0},
@@ -1185,21 +3411,23 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_class_wxPrintData","_wxPrintData",0},
     { "_wxDash","_unsigned_long",0},
     { "_wxDash","_long",0},
-    { "_class_wxScrolledWindow","_class_wxHtmlWindow",SwigwxHtmlWindowTowxScrolledWindow},
-    { "_class_wxScrolledWindow","_wxHtmlWindow",SwigwxHtmlWindowTowxScrolledWindow},
+    { "_class_wxScrolledWindow","_class_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxScrolledWindow},
+    { "_class_wxScrolledWindow","_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxScrolledWindow},
     { "_class_wxScrolledWindow","_wxScrolledWindow",0},
     { "_class_wxTextEntryDialog","_wxTextEntryDialog",0},
+    { "_class_wxConfig","_wxConfig",0},
     { "_wxKeyEvent","_class_wxKeyEvent",0},
     { "_wxMoveEvent","_class_wxMoveEvent",0},
     { "_wxColourData","_class_wxColourData",0},
     { "_wxPageSetupDialogData","_class_wxPageSetupDialogData",0},
+    { "_wxPyHtmlWindow","_class_wxPyHtmlWindow",0},
     { "_class_wxPalette","_wxPalette",0},
     { "_class_wxQueryLayoutInfoEvent","_wxQueryLayoutInfoEvent",0},
     { "_class_wxEraseEvent","_wxEraseEvent",0},
     { "_wxMDIClientWindow","_class_wxMDIClientWindow",0},
     { "_class_wxFontDialog","_wxFontDialog",0},
-    { "_wxWindow","_class_wxHtmlWindow",SwigwxHtmlWindowTowxWindow},
-    { "_wxWindow","_wxHtmlWindow",SwigwxHtmlWindowTowxWindow},
+    { "_wxWindow","_class_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxWindow},
+    { "_wxWindow","_wxPyHtmlWindow",SwigwxPyHtmlWindowTowxWindow},
     { "_wxWindow","_class_wxWindow",0},
     { "_class_wxFrame","_wxFrame",0},
 {0,0,0}};
@@ -1215,17 +3443,19 @@ SWIGEXPORT(void) inithtmlc() {
         d = PyModule_GetDict(m);
 
 
-    /* This is a bit cheesy. SWIG happens to call the dictionary d... 
+    /* This is a bit cheesy. SWIG happens to call the dictionary d...
      * I save it here, 'cause I don't know how to get it back later! */
     mod_dict = d;
-    wxPyThreadState = PyThreadState_Get();
+
+    //inithtmlhelpc();
+
     wxClassInfo::CleanUpClasses();
     wxClassInfo::InitializeClasses();
 
     /* specifically add our python tag handler; it doesn't seem to
      * happen by itself... */
     wxHtmlWinParser::AddModule(new HTML_ModulePythonTag());
-    
+
     // Until wxFileSystem is wrapped...
     #if wxUSE_FS_ZIP
        wxFileSystem::AddHandler(new wxZipFSHandler);
index 3f674ce5141114f43d4aa9f75626cd01556f0dd9..04d73c049eb4284f0b524b7e203fe1ee46e8a6e8 100644 (file)
@@ -32,6 +32,242 @@ from image import *
 from printfw import *
 import wx,htmlhelper
 widget = htmlc
+class wxHtmlTagPtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def GetName(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTag_GetName,(self,) + _args, _kwargs)
+        return val
+    def HasParam(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTag_HasParam,(self,) + _args, _kwargs)
+        return val
+    def GetParam(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTag_GetParam,(self,) + _args, _kwargs)
+        return val
+    def GetAllParams(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTag_GetAllParams,(self,) + _args, _kwargs)
+        return val
+    def IsEnding(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTag_IsEnding,(self,) + _args, _kwargs)
+        return val
+    def HasEnding(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTag_HasEnding,(self,) + _args, _kwargs)
+        return val
+    def GetBeginPos(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTag_GetBeginPos,(self,) + _args, _kwargs)
+        return val
+    def GetEndPos1(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTag_GetEndPos1,(self,) + _args, _kwargs)
+        return val
+    def GetEndPos2(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTag_GetEndPos2,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxHtmlTag instance at %s>" % (self.this,)
+class wxHtmlTag(wxHtmlTagPtr):
+    def __init__(self,this):
+        self.this = this
+
+
+
+
+class wxHtmlParserPtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def SetFS(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlParser_SetFS,(self,) + _args, _kwargs)
+        return val
+    def GetFS(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlParser_GetFS,(self,) + _args, _kwargs)
+        return val
+    def Parse(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlParser_Parse,(self,) + _args, _kwargs)
+        return val
+    def InitParser(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlParser_InitParser,(self,) + _args, _kwargs)
+        return val
+    def DoneParser(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlParser_DoneParser,(self,) + _args, _kwargs)
+        return val
+    def DoParsing(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlParser_DoParsing,(self,) + _args, _kwargs)
+        return val
+    def AddTagHandler(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlParser_AddTagHandler,(self,) + _args, _kwargs)
+        return val
+    def GetSource(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlParser_GetSource,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxHtmlParser instance at %s>" % (self.this,)
+class wxHtmlParser(wxHtmlParserPtr):
+    def __init__(self,this):
+        self.this = this
+
+
+
+
+class wxHtmlWinParserPtr(wxHtmlParserPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def SetDC(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_SetDC,(self,) + _args, _kwargs)
+        return val
+    def GetDC(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetDC,(self,) + _args, _kwargs)
+        if val: val = wxDCPtr(val) 
+        return val
+    def GetCharHeight(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetCharHeight,(self,) + _args, _kwargs)
+        return val
+    def GetCharWidth(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetCharWidth,(self,) + _args, _kwargs)
+        return val
+    def GetWindow(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetWindow,(self,) + _args, _kwargs)
+        if val: val = wxWindowPtr(val) 
+        return val
+    def SetFonts(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_SetFonts,(self,) + _args, _kwargs)
+        return val
+    def GetContainer(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetContainer,(self,) + _args, _kwargs)
+        return val
+    def OpenContainer(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_OpenContainer,(self,) + _args, _kwargs)
+        return val
+    def CloseContainer(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_CloseContainer,(self,) + _args, _kwargs)
+        return val
+    def GetFontSize(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetFontSize,(self,) + _args, _kwargs)
+        return val
+    def SetFontSize(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_SetFontSize,(self,) + _args, _kwargs)
+        return val
+    def GetFontBold(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetFontBold,(self,) + _args, _kwargs)
+        return val
+    def SetFontBold(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_SetFontBold,(self,) + _args, _kwargs)
+        return val
+    def GetFontItalic(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetFontItalic,(self,) + _args, _kwargs)
+        return val
+    def SetFontItalic(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_SetFontItalic,(self,) + _args, _kwargs)
+        return val
+    def GetFontUnderlined(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetFontUnderlined,(self,) + _args, _kwargs)
+        return val
+    def SetFontUnderlined(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_SetFontUnderlined,(self,) + _args, _kwargs)
+        return val
+    def GetFontFixed(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetFontFixed,(self,) + _args, _kwargs)
+        return val
+    def SetFontFixed(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_SetFontFixed,(self,) + _args, _kwargs)
+        return val
+    def GetAlign(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetAlign,(self,) + _args, _kwargs)
+        return val
+    def SetAlign(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_SetAlign,(self,) + _args, _kwargs)
+        return val
+    def GetLinkColor(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetLinkColor,(self,) + _args, _kwargs)
+        if val: val = wxColourPtr(val) 
+        return val
+    def SetLinkColor(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_SetLinkColor,(self,) + _args, _kwargs)
+        return val
+    def GetActualColor(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetActualColor,(self,) + _args, _kwargs)
+        if val: val = wxColourPtr(val) 
+        return val
+    def SetActualColor(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_SetActualColor,(self,) + _args, _kwargs)
+        return val
+    def GetLink(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_GetLink,(self,) + _args, _kwargs)
+        return val
+    def SetLink(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_SetLink,(self,) + _args, _kwargs)
+        return val
+    def CreateCurrentFont(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinParser_CreateCurrentFont,(self,) + _args, _kwargs)
+        if val: val = wxFontPtr(val) 
+        return val
+    def __repr__(self):
+        return "<C wxHtmlWinParser instance at %s>" % (self.this,)
+class wxHtmlWinParser(wxHtmlWinParserPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(htmlc.new_wxHtmlWinParser,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxHtmlTagHandlerPtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def _setSelf(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTagHandler__setSelf,(self,) + _args, _kwargs)
+        return val
+    def SetParser(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTagHandler_SetParser,(self,) + _args, _kwargs)
+        return val
+    def GetParser(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTagHandler_GetParser,(self,) + _args, _kwargs)
+        if val: val = wxHtmlParserPtr(val) 
+        return val
+    def ParseInner(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlTagHandler_ParseInner,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxHtmlTagHandler instance at %s>" % (self.this,)
+class wxHtmlTagHandler(wxHtmlTagHandlerPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(htmlc.new_wxHtmlTagHandler,_args,_kwargs)
+        self.thisown = 1
+        self._setSelf(self)
+
+
+
+
+class wxHtmlWinTagHandlerPtr(wxHtmlTagHandlerPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def _setSelf(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinTagHandler__setSelf,(self,) + _args, _kwargs)
+        return val
+    def SetParser(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinTagHandler_SetParser,(self,) + _args, _kwargs)
+        return val
+    def GetParser(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinTagHandler_GetParser,(self,) + _args, _kwargs)
+        if val: val = wxHtmlWinParserPtr(val) 
+        return val
+    def ParseInner(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWinTagHandler_ParseInner,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxHtmlWinTagHandler instance at %s>" % (self.this,)
+class wxHtmlWinTagHandler(wxHtmlWinTagHandlerPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(htmlc.new_wxHtmlWinTagHandler,_args,_kwargs)
+        self.thisown = 1
+        self._setSelf(self)
+
+
+
+
 class HtmlHistoryItemPtr :
     def __init__(self,this):
         self.this = this
@@ -62,6 +298,9 @@ class wxHtmlWindowPtr(wxScrolledWindowPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
+    def _setSelf(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWindow__setSelf,(self,) + _args, _kwargs)
+        return val
     def SetPage(self, *_args, **_kwargs):
         val = apply(htmlc.wxHtmlWindow_SetPage,(self,) + _args, _kwargs)
         return val
@@ -90,6 +329,12 @@ class wxHtmlWindowPtr(wxScrolledWindowPtr):
     def SetBorders(self, *_args, **_kwargs):
         val = apply(htmlc.wxHtmlWindow_SetBorders,(self,) + _args, _kwargs)
         return val
+    def ReadCustomization(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWindow_ReadCustomization,(self,) + _args, _kwargs)
+        return val
+    def WriteCustomization(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWindow_WriteCustomization,(self,) + _args, _kwargs)
+        return val
     def HistoryBack(self, *_args, **_kwargs):
         val = apply(htmlc.wxHtmlWindow_HistoryBack,(self,) + _args, _kwargs)
         return val
@@ -99,12 +344,16 @@ class wxHtmlWindowPtr(wxScrolledWindowPtr):
     def HistoryClear(self, *_args, **_kwargs):
         val = apply(htmlc.wxHtmlWindow_HistoryClear,(self,) + _args, _kwargs)
         return val
+    def base_OnLinkClicked(self, *_args, **_kwargs):
+        val = apply(htmlc.wxHtmlWindow_base_OnLinkClicked,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxHtmlWindow instance at %s>" % (self.this,)
 class wxHtmlWindow(wxHtmlWindowPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(htmlc.new_wxHtmlWindow,_args,_kwargs)
         self.thisown = 1
+        self._setSelf(self)
         wx._StdWindowCallbacks(self)
         wx._StdOnScrollCallbacks(self)
 
@@ -115,6 +364,10 @@ class wxHtmlWindow(wxHtmlWindowPtr):
 
 #-------------- FUNCTION WRAPPERS ------------------
 
+wxHtmlWinParser_AddTagHandler = htmlc.wxHtmlWinParser_AddTagHandler
+
+wxHtmlWindow_AddFilter = htmlc.wxHtmlWindow_AddFilter
+
 
 
 #-------------- VARIABLE WRAPPERS ------------------
diff --git a/utils/wxPython/modules/html/msw/htmlhelp.cpp b/utils/wxPython/modules/html/msw/htmlhelp.cpp
new file mode 100644 (file)
index 0000000..ca0cd32
--- /dev/null
@@ -0,0 +1,1954 @@
+/*
+ * FILE : msw/htmlhelp.cpp
+ * 
+ * This file was automatically generated by :
+ * Simplified Wrapper and Interface Generator (SWIG)
+ * Version 1.1 (Build 810)
+ * 
+ * Portions Copyright (c) 1995-1998
+ * The University of Utah and The Regents of the University of California.
+ * Permission is granted to distribute this file in any manner provided
+ * this notice remains intact.
+ * 
+ * Do not make changes to this file--changes will be lost!
+ *
+ */
+
+
+#define SWIGCODE
+/* Implementation : PYTHON */
+
+#define SWIGPYTHON
+#include <string.h>
+#include <stdlib.h>
+/* Definitions for Windows/Unix exporting */
+#if defined(__WIN32__)
+#   if defined(_MSC_VER)
+#      define SWIGEXPORT(a) __declspec(dllexport) a
+#   else
+#      if defined(__BORLANDC__)
+#          define SWIGEXPORT(a) a _export 
+#      else
+#          define SWIGEXPORT(a) a 
+#      endif
+#   endif
+#else
+#   define SWIGEXPORT(a) a 
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include "Python.h"
+extern void SWIG_MakePtr(char *, void *, char *);
+extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *));
+extern char *SWIG_GetPtr(char *, void **, char *);
+extern char *SWIG_GetPtrObj(PyObject *, void **, char *);
+extern void SWIG_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
+extern PyObject *SWIG_newvarlink(void);
+#ifdef __cplusplus
+}
+#endif
+#define SWIG_init    inithtmlhelpc
+
+#define SWIG_name    "htmlhelpc"
+
+#include "helpers.h"
+#include <wx/html/htmlwin.h>
+#include <wx/image.h>
+#include <wx/fs_zip.h>
+#include <wx/fs_inet.h>
+#include <wx/wfstream.h>
+#include "helpsys.h"
+
+static PyObject* l_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+    if (!target) {                   
+        target = o;
+    } else if (target == Py_None) {  
+        Py_DECREF(Py_None);
+        target = o;
+    } else {                         
+        if (!PyList_Check(target)) {
+            o2 = target;
+            target = PyList_New(0);
+            PyList_Append(target, o2);
+           Py_XDECREF(o2);
+        }
+        PyList_Append(target,o);
+       Py_XDECREF(o);
+    }
+    return target;
+}
+
+static PyObject* t_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+
+    if (!target) {                   
+        target = o;
+    } else if (target == Py_None) {  
+        Py_DECREF(Py_None);
+        target = o;
+    } else {                         
+        if (!PyTuple_Check(target)) {
+            o2 = target;
+            target = PyTuple_New(1);
+            PyTuple_SetItem(target, 0, o2);
+        }
+        o3 = PyTuple_New(1);            
+        PyTuple_SetItem(o3, 0, o);      
+
+        o2 = target;
+        target = PySequence_Concat(o2, o3); 
+        Py_DECREF(o2);                      
+        Py_DECREF(o3);
+    }
+    return target;
+}
+
+
+HELPEREXPORT byte* byte_LIST_helper(PyObject* source);
+HELPEREXPORT int* int_LIST_helper(PyObject* source);
+HELPEREXPORT long* long_LIST_helper(PyObject* source);
+HELPEREXPORT char** string_LIST_helper(PyObject* source);
+HELPEREXPORT wxPoint* wxPoint_LIST_helper(PyObject* source);
+HELPEREXPORT wxBitmap** wxBitmap_LIST_helper(PyObject* source);
+HELPEREXPORT wxString* wxString_LIST_helper(PyObject* source);
+HELPEREXPORT wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
+
+
+static char* wxStringErrorMsg = "string type is required for parameter";
+#ifdef __cplusplus
+extern "C" {
+#endif
+static void *SwigwxHtmlHelpControllerTowxEvtHandler(void *ptr) {
+    wxHtmlHelpController *src;
+    wxEvtHandler *dest;
+    src = (wxHtmlHelpController *) ptr;
+    dest = (wxEvtHandler *) src;
+    return (void *) dest;
+}
+
+#define new_wxHtmlHelpController() (new wxHtmlHelpController())
+static PyObject *_wrap_new_wxHtmlHelpController(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpController * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxHtmlHelpController",_kwnames)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxHtmlHelpController *)new_wxHtmlHelpController();
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHtmlHelpController_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define delete_wxHtmlHelpController(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxHtmlHelpController(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpController * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxHtmlHelpController",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpController_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxHtmlHelpController. Expected _wxHtmlHelpController_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxHtmlHelpController(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpController_SetTitleFormat(_swigobj,_swigarg0)  (_swigobj->SetTitleFormat(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpController_SetTitleFormat(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpController * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","format", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpController_SetTitleFormat",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpController_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpController_SetTitleFormat. Expected _wxHtmlHelpController_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpController_SetTitleFormat(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxHtmlHelpController_SetTempDir(_swigobj,_swigarg0)  (_swigobj->SetTempDir(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpController_SetTempDir(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpController * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","path", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpController_SetTempDir",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpController_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpController_SetTempDir. Expected _wxHtmlHelpController_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpController_SetTempDir(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxHtmlHelpController_AddBook(_swigobj,_swigarg0,_swigarg1)  (_swigobj->AddBook(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxHtmlHelpController_AddBook(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxHtmlHelpController * _arg0;
+    wxString * _arg1;
+    bool  _arg2 = (bool ) FALSE;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    int tempbool2 = (int) FALSE;
+    char *_kwnames[] = { "self","book","show_wait_msg", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxHtmlHelpController_AddBook",_kwnames,&_argo0,&_obj1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpController_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpController_AddBook. Expected _wxHtmlHelpController_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxHtmlHelpController_AddBook(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxHtmlHelpController_Display(_swigobj,_swigarg0)  (_swigobj->Display(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpController_Display(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpController * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","x", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpController_Display",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpController_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpController_Display. Expected _wxHtmlHelpController_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpController_Display(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxHtmlHelpController_DisplayID(_swigobj,_swigarg0)  (_swigobj->Display(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpController_DisplayID(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpController * _arg0;
+    int  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","id", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxHtmlHelpController_DisplayID",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpController_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpController_DisplayID. Expected _wxHtmlHelpController_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpController_DisplayID(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpController_DisplayContents(_swigobj)  (_swigobj->DisplayContents())
+static PyObject *_wrap_wxHtmlHelpController_DisplayContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpController * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlHelpController_DisplayContents",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpController_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpController_DisplayContents. Expected _wxHtmlHelpController_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpController_DisplayContents(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpController_DisplayIndex(_swigobj)  (_swigobj->DisplayIndex())
+static PyObject *_wrap_wxHtmlHelpController_DisplayIndex(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpController * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlHelpController_DisplayIndex",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpController_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpController_DisplayIndex. Expected _wxHtmlHelpController_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpController_DisplayIndex(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpController_KeywordSearch(_swigobj,_swigarg0)  (_swigobj->KeywordSearch(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpController_KeywordSearch(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxHtmlHelpController * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","keyword", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpController_KeywordSearch",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpController_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpController_KeywordSearch. Expected _wxHtmlHelpController_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxHtmlHelpController_KeywordSearch(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxHtmlHelpController_UseConfig(_swigobj,_swigarg0,_swigarg1)  (_swigobj->UseConfig(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxHtmlHelpController_UseConfig(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpController * _arg0;
+    wxConfigBase * _arg1;
+    wxString * _arg2 = (wxString *) &wxEmptyString;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","config","rootpath", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxHtmlHelpController_UseConfig",_kwnames,&_argo0,&_argo1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpController_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpController_UseConfig. Expected _wxHtmlHelpController_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxConfigBase_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlHelpController_UseConfig. Expected _wxConfigBase_p.");
+        return NULL;
+        }
+    }
+    if (_obj2)
+{
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpController_UseConfig(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxHtmlHelpController_ReadCustomization(_swigobj,_swigarg0,_swigarg1)  (_swigobj->ReadCustomization(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxHtmlHelpController_ReadCustomization(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpController * _arg0;
+    wxConfigBase * _arg1;
+    wxString * _arg2 = (wxString *) &wxEmptyString;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","cfg","path", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxHtmlHelpController_ReadCustomization",_kwnames,&_argo0,&_argo1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpController_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpController_ReadCustomization. Expected _wxHtmlHelpController_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxConfigBase_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlHelpController_ReadCustomization. Expected _wxConfigBase_p.");
+        return NULL;
+        }
+    }
+    if (_obj2)
+{
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpController_ReadCustomization(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxHtmlHelpController_WriteCustomization(_swigobj,_swigarg0,_swigarg1)  (_swigobj->WriteCustomization(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxHtmlHelpController_WriteCustomization(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpController * _arg0;
+    wxConfigBase * _arg1;
+    wxString * _arg2 = (wxString *) &wxEmptyString;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","cfg","path", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxHtmlHelpController_WriteCustomization",_kwnames,&_argo0,&_argo1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpController_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpController_WriteCustomization. Expected _wxHtmlHelpController_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxConfigBase_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlHelpController_WriteCustomization. Expected _wxConfigBase_p.");
+        return NULL;
+        }
+    }
+    if (_obj2)
+{
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpController_WriteCustomization(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+static void *SwigwxHtmlHelpSystemTowxHtmlHelpController(void *ptr) {
+    wxHtmlHelpSystem *src;
+    wxHtmlHelpController *dest;
+    src = (wxHtmlHelpSystem *) ptr;
+    dest = (wxHtmlHelpController *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxHtmlHelpSystemTowxEvtHandler(void *ptr) {
+    wxHtmlHelpSystem *src;
+    wxEvtHandler *dest;
+    src = (wxHtmlHelpSystem *) ptr;
+    dest = (wxEvtHandler *) src;
+    return (void *) dest;
+}
+
+#define new_wxHtmlHelpSystem() (new wxHtmlHelpSystem())
+static PyObject *_wrap_new_wxHtmlHelpSystem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxHtmlHelpSystem",_kwnames)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxHtmlHelpSystem *)new_wxHtmlHelpSystem();
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHtmlHelpSystem_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define delete_wxHtmlHelpSystem(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxHtmlHelpSystem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxHtmlHelpSystem",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxHtmlHelpSystem. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxHtmlHelpSystem(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_AddBookParam(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)  (_swigobj->AddBookParam(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
+static PyObject *_wrap_wxHtmlHelpSystem_AddBookParam(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxHtmlHelpSystem * _arg0;
+    wxString * _arg1;
+    wxString * _arg2;
+    wxString * _arg3 = (wxString *) &wxEmptyString;
+    wxString * _arg4 = (wxString *) &wxEmptyString;
+    wxString * _arg5 = (wxString *) &wxEmptyString;
+    bool  _arg6 = (bool ) FALSE;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    PyObject * _obj3 = 0;
+    PyObject * _obj4 = 0;
+    PyObject * _obj5 = 0;
+    int tempbool6 = (int) FALSE;
+    char *_kwnames[] = { "self","title","contfile","indexfile","deftopic","path","show_wait_msg", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|OOOi:wxHtmlHelpSystem_AddBookParam",_kwnames,&_argo0,&_obj1,&_obj2,&_obj3,&_obj4,&_obj5,&tempbool6)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_AddBookParam. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+{
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AsString(_obj1), PyString_Size(_obj1));
+}
+{
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AsString(_obj2), PyString_Size(_obj2));
+}
+    if (_obj3)
+{
+    if (!PyString_Check(_obj3)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg3 = new wxString(PyString_AsString(_obj3), PyString_Size(_obj3));
+}
+    if (_obj4)
+{
+    if (!PyString_Check(_obj4)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg4 = new wxString(PyString_AsString(_obj4), PyString_Size(_obj4));
+}
+    if (_obj5)
+{
+    if (!PyString_Check(_obj5)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg5 = new wxString(PyString_AsString(_obj5), PyString_Size(_obj5));
+}
+    _arg6 = (bool ) tempbool6;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxHtmlHelpSystem_AddBookParam(_arg0,*_arg1,*_arg2,*_arg3,*_arg4,*_arg5,_arg6);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    if (_obj2)
+        delete _arg2;
+}
+{
+    if (_obj3)
+        delete _arg3;
+}
+{
+    if (_obj4)
+        delete _arg4;
+}
+{
+    if (_obj5)
+        delete _arg5;
+}
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_CreateToolBar(_swigobj,_swigarg0)  (_swigobj->CreateToolBar(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpSystem_CreateToolBar(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxToolBar * _result;
+    wxHtmlHelpSystem * _arg0;
+    wxFrame * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","frame", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpSystem_CreateToolBar",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_CreateToolBar. Expected _wxHtmlHelpSystem_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 wxHtmlHelpSystem_CreateToolBar. Expected _wxFrame_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxToolBar *)wxHtmlHelpSystem_CreateToolBar(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxToolBar_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_CreateContentsTree(_swigobj,_swigarg0)  (_swigobj->CreateContentsTree(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpSystem_CreateContentsTree(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxTreeCtrl * _result;
+    wxHtmlHelpSystem * _arg0;
+    wxWindow * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","parent", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpSystem_CreateContentsTree",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_CreateContentsTree. Expected _wxHtmlHelpSystem_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 wxHtmlHelpSystem_CreateContentsTree. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxTreeCtrl *)wxHtmlHelpSystem_CreateContentsTree(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxTreeCtrl_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_CreateIndexList(_swigobj,_swigarg0)  (_swigobj->CreateIndexList(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpSystem_CreateIndexList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxListBox * _result;
+    wxHtmlHelpSystem * _arg0;
+    wxWindow * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","parent", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpSystem_CreateIndexList",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_CreateIndexList. Expected _wxHtmlHelpSystem_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 wxHtmlHelpSystem_CreateIndexList. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxListBox *)wxHtmlHelpSystem_CreateIndexList(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxListBox_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_CreateHelpWindow(_swigobj)  (_swigobj->CreateHelpWindow())
+static PyObject *_wrap_wxHtmlHelpSystem_CreateHelpWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlHelpSystem_CreateHelpWindow",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_CreateHelpWindow. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpSystem_CreateHelpWindow(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_SetControls(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->SetControls(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_wxHtmlHelpSystem_SetControls(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _arg0;
+    wxFrame * _arg1;
+    wxHtmlWindow * _arg2;
+    wxTreeCtrl * _arg3 = (wxTreeCtrl *) NULL;
+    wxListBox * _arg4 = (wxListBox *) NULL;
+    wxListBox * _arg5 = (wxListBox *) NULL;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    PyObject * _argo3 = 0;
+    PyObject * _argo4 = 0;
+    PyObject * _argo5 = 0;
+    char *_kwnames[] = { "self","frame","htmlwin","contents","index","searchlist", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|OOO:wxHtmlHelpSystem_SetControls",_kwnames,&_argo0,&_argo1,&_argo2,&_argo3,&_argo4,&_argo5)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_SetControls. Expected _wxHtmlHelpSystem_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 wxHtmlHelpSystem_SetControls. Expected _wxFrame_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxHtmlWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxHtmlHelpSystem_SetControls. Expected _wxHtmlWindow_p.");
+        return NULL;
+        }
+    }
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxTreeCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxHtmlHelpSystem_SetControls. Expected _wxTreeCtrl_p.");
+        return NULL;
+        }
+    }
+    if (_argo4) {
+        if (_argo4 == Py_None) { _arg4 = NULL; }
+        else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxListBox_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of wxHtmlHelpSystem_SetControls. Expected _wxListBox_p.");
+        return NULL;
+        }
+    }
+    if (_argo5) {
+        if (_argo5 == Py_None) { _arg5 = NULL; }
+        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_wxListBox_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of wxHtmlHelpSystem_SetControls. Expected _wxListBox_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpSystem_SetControls(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_GetFrame(_swigobj)  (_swigobj->GetFrame())
+static PyObject *_wrap_wxHtmlHelpSystem_GetFrame(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFrame * _result;
+    wxHtmlHelpSystem * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlHelpSystem_GetFrame",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_GetFrame. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxFrame *)wxHtmlHelpSystem_GetFrame(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxFrame_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_GetHtmlWindow(_swigobj)  (_swigobj->GetHtmlWindow())
+static PyObject *_wrap_wxHtmlHelpSystem_GetHtmlWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlWindow * _result;
+    wxHtmlHelpSystem * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlHelpSystem_GetHtmlWindow",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_GetHtmlWindow. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxHtmlWindow *)wxHtmlHelpSystem_GetHtmlWindow(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHtmlWindow_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_GetContentsTree(_swigobj)  (_swigobj->GetContentsTree())
+static PyObject *_wrap_wxHtmlHelpSystem_GetContentsTree(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxTreeCtrl * _result;
+    wxHtmlHelpSystem * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlHelpSystem_GetContentsTree",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_GetContentsTree. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxTreeCtrl *)wxHtmlHelpSystem_GetContentsTree(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxTreeCtrl_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_GetIndexList(_swigobj)  (_swigobj->GetIndexList())
+static PyObject *_wrap_wxHtmlHelpSystem_GetIndexList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxListBox * _result;
+    wxHtmlHelpSystem * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlHelpSystem_GetIndexList",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_GetIndexList. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxListBox *)wxHtmlHelpSystem_GetIndexList(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxListBox_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_GetSearchList(_swigobj)  (_swigobj->GetSearchList())
+static PyObject *_wrap_wxHtmlHelpSystem_GetSearchList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxListBox * _result;
+    wxHtmlHelpSystem * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlHelpSystem_GetSearchList",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_GetSearchList. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxListBox *)wxHtmlHelpSystem_GetSearchList(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxListBox_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_GetContentsImageList(_swigobj)  (_swigobj->GetContentsImageList())
+static PyObject *_wrap_wxHtmlHelpSystem_GetContentsImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxImageList * _result;
+    wxHtmlHelpSystem * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlHelpSystem_GetContentsImageList",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_GetContentsImageList. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxImageList *)wxHtmlHelpSystem_GetContentsImageList(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxImageList_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_OnToolbar(_swigobj,_swigarg0)  (_swigobj->OnToolbar(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpSystem_OnToolbar(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _arg0;
+    wxCommandEvent * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","event", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpSystem_OnToolbar",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_OnToolbar. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlHelpSystem_OnToolbar. Expected _wxCommandEvent_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpSystem_OnToolbar(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_OnContentsSel(_swigobj,_swigarg0)  (_swigobj->OnContentsSel(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpSystem_OnContentsSel(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _arg0;
+    wxTreeEvent * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","event", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpSystem_OnContentsSel",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_OnContentsSel. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlHelpSystem_OnContentsSel. Expected _wxTreeEvent_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpSystem_OnContentsSel(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_OnIndexSel(_swigobj,_swigarg0)  (_swigobj->OnIndexSel(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpSystem_OnIndexSel(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _arg0;
+    wxCommandEvent * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","event", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpSystem_OnIndexSel",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_OnIndexSel. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlHelpSystem_OnIndexSel. Expected _wxCommandEvent_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpSystem_OnIndexSel(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_OnSearchSel(_swigobj,_swigarg0)  (_swigobj->OnSearchSel(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpSystem_OnSearchSel(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _arg0;
+    wxCommandEvent * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","event", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpSystem_OnSearchSel",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_OnSearchSel. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlHelpSystem_OnSearchSel. Expected _wxCommandEvent_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpSystem_OnSearchSel(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_OnSearch(_swigobj,_swigarg0)  (_swigobj->OnSearch(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpSystem_OnSearch(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _arg0;
+    wxCommandEvent * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","event", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpSystem_OnSearch",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_OnSearch. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxCommandEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlHelpSystem_OnSearch. Expected _wxCommandEvent_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpSystem_OnSearch(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_OnCloseWindow(_swigobj,_swigarg0)  (_swigobj->OnCloseWindow(_swigarg0))
+static PyObject *_wrap_wxHtmlHelpSystem_OnCloseWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _arg0;
+    wxCloseEvent * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","event", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlHelpSystem_OnCloseWindow",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_OnCloseWindow. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxCloseEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlHelpSystem_OnCloseWindow. Expected _wxCloseEvent_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpSystem_OnCloseWindow(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_RefreshLists(_swigobj)  (_swigobj->RefreshLists())
+static PyObject *_wrap_wxHtmlHelpSystem_RefreshLists(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlHelpSystem_RefreshLists",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_RefreshLists. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpSystem_RefreshLists(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_CreateContents(_swigobj)  (_swigobj->CreateContents())
+static PyObject *_wrap_wxHtmlHelpSystem_CreateContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlHelpSystem_CreateContents",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_CreateContents. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpSystem_CreateContents(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHtmlHelpSystem_CreateIndex(_swigobj)  (_swigobj->CreateIndex())
+static PyObject *_wrap_wxHtmlHelpSystem_CreateIndex(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHtmlHelpSystem * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHtmlHelpSystem_CreateIndex",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlHelpSystem_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlHelpSystem_CreateIndex. Expected _wxHtmlHelpSystem_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHtmlHelpSystem_CreateIndex(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyMethodDef htmlhelpcMethods[] = {
+        { "wxHtmlHelpSystem_CreateIndex", (PyCFunction) _wrap_wxHtmlHelpSystem_CreateIndex, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_CreateContents", (PyCFunction) _wrap_wxHtmlHelpSystem_CreateContents, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_RefreshLists", (PyCFunction) _wrap_wxHtmlHelpSystem_RefreshLists, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_OnCloseWindow", (PyCFunction) _wrap_wxHtmlHelpSystem_OnCloseWindow, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_OnSearch", (PyCFunction) _wrap_wxHtmlHelpSystem_OnSearch, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_OnSearchSel", (PyCFunction) _wrap_wxHtmlHelpSystem_OnSearchSel, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_OnIndexSel", (PyCFunction) _wrap_wxHtmlHelpSystem_OnIndexSel, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_OnContentsSel", (PyCFunction) _wrap_wxHtmlHelpSystem_OnContentsSel, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_OnToolbar", (PyCFunction) _wrap_wxHtmlHelpSystem_OnToolbar, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_GetContentsImageList", (PyCFunction) _wrap_wxHtmlHelpSystem_GetContentsImageList, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_GetSearchList", (PyCFunction) _wrap_wxHtmlHelpSystem_GetSearchList, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_GetIndexList", (PyCFunction) _wrap_wxHtmlHelpSystem_GetIndexList, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_GetContentsTree", (PyCFunction) _wrap_wxHtmlHelpSystem_GetContentsTree, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_GetHtmlWindow", (PyCFunction) _wrap_wxHtmlHelpSystem_GetHtmlWindow, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_GetFrame", (PyCFunction) _wrap_wxHtmlHelpSystem_GetFrame, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_SetControls", (PyCFunction) _wrap_wxHtmlHelpSystem_SetControls, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_CreateHelpWindow", (PyCFunction) _wrap_wxHtmlHelpSystem_CreateHelpWindow, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_CreateIndexList", (PyCFunction) _wrap_wxHtmlHelpSystem_CreateIndexList, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_CreateContentsTree", (PyCFunction) _wrap_wxHtmlHelpSystem_CreateContentsTree, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_CreateToolBar", (PyCFunction) _wrap_wxHtmlHelpSystem_CreateToolBar, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpSystem_AddBookParam", (PyCFunction) _wrap_wxHtmlHelpSystem_AddBookParam, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxHtmlHelpSystem", (PyCFunction) _wrap_delete_wxHtmlHelpSystem, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxHtmlHelpSystem", (PyCFunction) _wrap_new_wxHtmlHelpSystem, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpController_WriteCustomization", (PyCFunction) _wrap_wxHtmlHelpController_WriteCustomization, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpController_ReadCustomization", (PyCFunction) _wrap_wxHtmlHelpController_ReadCustomization, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpController_UseConfig", (PyCFunction) _wrap_wxHtmlHelpController_UseConfig, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpController_KeywordSearch", (PyCFunction) _wrap_wxHtmlHelpController_KeywordSearch, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpController_DisplayIndex", (PyCFunction) _wrap_wxHtmlHelpController_DisplayIndex, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpController_DisplayContents", (PyCFunction) _wrap_wxHtmlHelpController_DisplayContents, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpController_DisplayID", (PyCFunction) _wrap_wxHtmlHelpController_DisplayID, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpController_Display", (PyCFunction) _wrap_wxHtmlHelpController_Display, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpController_AddBook", (PyCFunction) _wrap_wxHtmlHelpController_AddBook, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpController_SetTempDir", (PyCFunction) _wrap_wxHtmlHelpController_SetTempDir, METH_VARARGS | METH_KEYWORDS },
+        { "wxHtmlHelpController_SetTitleFormat", (PyCFunction) _wrap_wxHtmlHelpController_SetTitleFormat, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxHtmlHelpController", (PyCFunction) _wrap_delete_wxHtmlHelpController, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxHtmlHelpController", (PyCFunction) _wrap_new_wxHtmlHelpController, METH_VARARGS | METH_KEYWORDS },
+        { NULL, NULL }
+};
+#ifdef __cplusplus
+}
+#endif
+/*
+ * This table is used by the pointer type-checker
+ */
+static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
+    { "_wxAcceleratorTable","_class_wxAcceleratorTable",0},
+    { "_wxEvent","_class_wxEvent",0},
+    { "_class_wxActivateEvent","_wxActivateEvent",0},
+    { "_signed_long","_long",0},
+    { "_wxMenuEvent","_class_wxMenuEvent",0},
+    { "_class_wxJPEGHandler","_wxJPEGHandler",0},
+    { "_wxBMPHandler","_class_wxBMPHandler",0},
+    { "_wxImage","_class_wxImage",0},
+    { "_wxPrintQuality","_int",0},
+    { "_wxPrintQuality","_signed_int",0},
+    { "_wxPrintQuality","_unsigned_int",0},
+    { "_wxPrintQuality","_wxWindowID",0},
+    { "_wxPrintQuality","_uint",0},
+    { "_wxPrintQuality","_EBool",0},
+    { "_wxPrintQuality","_size_t",0},
+    { "_wxFontData","_class_wxFontData",0},
+    { "___wxPyCleanup","_class___wxPyCleanup",0},
+    { "_class_HtmlHistoryItem","_HtmlHistoryItem",0},
+    { "_class_wxRegionIterator","_wxRegionIterator",0},
+    { "_class_wxMenuBar","_wxMenuBar",0},
+    { "_class_wxPyTreeItemData","_wxPyTreeItemData",0},
+    { "_class_wxEvtHandler","_class_wxHtmlHelpSystem",SwigwxHtmlHelpSystemTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxHtmlHelpSystem",SwigwxHtmlHelpSystemTowxEvtHandler},
+    { "_class_wxEvtHandler","_class_wxHtmlHelpController",SwigwxHtmlHelpControllerTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxHtmlHelpController",SwigwxHtmlHelpControllerTowxEvtHandler},
+    { "_class_wxEvtHandler","_wxEvtHandler",0},
+    { "_wxPaintEvent","_class_wxPaintEvent",0},
+    { "_wxGIFHandler","_class_wxGIFHandler",0},
+    { "_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0},
+    { "_wxCursor","_class_wxCursor",0},
+    { "_wxNotifyEvent","_class_wxNotifyEvent",0},
+    { "_wxImageHandler","_class_wxImageHandler",0},
+    { "_class_wxTreeCtrl","_wxTreeCtrl",0},
+    { "_wxMask","_class_wxMask",0},
+    { "_wxToolTip","_class_wxToolTip",0},
+    { "_wxGrid","_class_wxGrid",0},
+    { "_wxPNGHandler","_class_wxPNGHandler",0},
+    { "_class_wxColourData","_wxColourData",0},
+    { "_class_wxPageSetupDialogData","_wxPageSetupDialogData",0},
+    { "_wxPrinter","_class_wxPrinter",0},
+    { "_class_wxHtmlHelpController","_class_wxHtmlHelpSystem",SwigwxHtmlHelpSystemTowxHtmlHelpController},
+    { "_class_wxHtmlHelpController","_wxHtmlHelpSystem",SwigwxHtmlHelpSystemTowxHtmlHelpController},
+    { "_class_wxHtmlHelpController","_wxHtmlHelpController",0},
+    { "_wxPen","_class_wxPen",0},
+    { "_wxUpdateUIEvent","_class_wxUpdateUIEvent",0},
+    { "_byte","_unsigned_char",0},
+    { "_wxStaticBox","_class_wxStaticBox",0},
+    { "_class_wxHtmlHelpSystem","_wxHtmlHelpSystem",0},
+    { "_wxChoice","_class_wxChoice",0},
+    { "_wxSlider","_class_wxSlider",0},
+    { "_wxNotebookEvent","_class_wxNotebookEvent",0},
+    { "_wxPyPrintout","_class_wxPyPrintout",0},
+    { "_long","_wxDash",0},
+    { "_long","_unsigned_long",0},
+    { "_long","_signed_long",0},
+    { "_wxImageList","_class_wxImageList",0},
+    { "_wxDropFilesEvent","_class_wxDropFilesEvent",0},
+    { "_wxBitmapButton","_class_wxBitmapButton",0},
+    { "_wxSashWindow","_class_wxSashWindow",0},
+    { "_class_wxPrintDialogData","_wxPrintDialogData",0},
+    { "_class_wxAcceleratorTable","_wxAcceleratorTable",0},
+    { "_class_wxGauge","_wxGauge",0},
+    { "_class_wxSashEvent","_wxSashEvent",0},
+    { "_wxDC","_class_wxDC",0},
+    { "_wxListEvent","_class_wxListEvent",0},
+    { "_class_wxSingleChoiceDialog","_wxSingleChoiceDialog",0},
+    { "_wxProgressDialog","_class_wxProgressDialog",0},
+    { "_class_wxBMPHandler","_wxBMPHandler",0},
+    { "_wxPrintPreview","_class_wxPrintPreview",0},
+    { "_wxSpinEvent","_class_wxSpinEvent",0},
+    { "_wxSashLayoutWindow","_class_wxSashLayoutWindow",0},
+    { "_size_t","_wxPrintQuality",0},
+    { "_size_t","_unsigned_int",0},
+    { "_size_t","_int",0},
+    { "_size_t","_wxWindowID",0},
+    { "_size_t","_uint",0},
+    { "_class_wxRealPoint","_wxRealPoint",0},
+    { "_wxPrinterDC","_class_wxPrinterDC",0},
+    { "_class_wxMenuItem","_wxMenuItem",0},
+    { "_class_wxPaintEvent","_wxPaintEvent",0},
+    { "_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0},
+    { "_class_wxStatusBar","_wxStatusBar",0},
+    { "_class_wxGIFHandler","_wxGIFHandler",0},
+    { "_wxPanel","_class_wxPanel",0},
+    { "_wxInitDialogEvent","_class_wxInitDialogEvent",0},
+    { "_wxCheckBox","_class_wxCheckBox",0},
+    { "_wxPyEvent","_class_wxPyEvent",0},
+    { "_wxTextCtrl","_class_wxTextCtrl",0},
+    { "_class_wxMask","_wxMask",0},
+    { "_class_wxToolTip","_wxToolTip",0},
+    { "_class_wxKeyEvent","_wxKeyEvent",0},
+    { "_class_wxGrid","_wxGrid",0},
+    { "_class_wxPNGHandler","_wxPNGHandler",0},
+    { "_wxColour","_class_wxColour",0},
+    { "_class_wxDialog","_wxDialog",0},
+    { "_wxPageSetupDialog","_class_wxPageSetupDialog",0},
+    { "_class_wxPrinter","_wxPrinter",0},
+    { "_wxIdleEvent","_class_wxIdleEvent",0},
+    { "_class_wxUpdateUIEvent","_wxUpdateUIEvent",0},
+    { "_wxToolBar","_class_wxToolBar",0},
+    { "_wxStaticLine","_class_wxStaticLine",0},
+    { "_class_wxLayoutAlgorithm","_wxLayoutAlgorithm",0},
+    { "_wxBrush","_class_wxBrush",0},
+    { "_wxMiniFrame","_class_wxMiniFrame",0},
+    { "_class_wxNotebookEvent","_wxNotebookEvent",0},
+    { "_class_wxPyPrintout","_wxPyPrintout",0},
+    { "_class_wxSashWindow","_wxSashWindow",0},
+    { "_wxShowEvent","_class_wxShowEvent",0},
+    { "_uint","_wxPrintQuality",0},
+    { "_uint","_size_t",0},
+    { "_uint","_unsigned_int",0},
+    { "_uint","_int",0},
+    { "_uint","_wxWindowID",0},
+    { "_class_wxEvent","_wxEvent",0},
+    { "_wxCheckListBox","_class_wxCheckListBox",0},
+    { "_wxSplitterEvent","_class_wxSplitterEvent",0},
+    { "_wxGridEvent","_class_wxGridEvent",0},
+    { "_wxRect","_class_wxRect",0},
+    { "_wxCommandEvent","_class_wxCommandEvent",0},
+    { "_wxSizeEvent","_class_wxSizeEvent",0},
+    { "_class_wxImage","_wxImage",0},
+    { "_wxPoint","_class_wxPoint",0},
+    { "_class_wxSashLayoutWindow","_wxSashLayoutWindow",0},
+    { "_class_wxButton","_wxButton",0},
+    { "_wxRadioBox","_class_wxRadioBox",0},
+    { "_class_wxFontData","_wxFontData",0},
+    { "_class___wxPyCleanup","___wxPyCleanup",0},
+    { "_wxBitmap","_class_wxBitmap",0},
+    { "_wxTaskBarIcon","_class_wxTaskBarIcon",0},
+    { "_wxPrintDialog","_class_wxPrintDialog",0},
+    { "_wxPyTimer","_class_wxPyTimer",0},
+    { "_wxWindowDC","_class_wxWindowDC",0},
+    { "_wxScrollBar","_class_wxScrollBar",0},
+    { "_wxSpinButton","_class_wxSpinButton",0},
+    { "_wxToolBarTool","_class_wxToolBarTool",0},
+    { "_wxColourDialog","_class_wxColourDialog",0},
+    { "_wxPrintData","_class_wxPrintData",0},
+    { "_class_wxIndividualLayoutConstraint","_wxIndividualLayoutConstraint",0},
+    { "_class_wxNotifyEvent","_wxNotifyEvent",0},
+    { "_wxMessageDialog","_class_wxMessageDialog",0},
+    { "_class_wxPyEvent","_wxPyEvent",0},
+    { "_wxTextEntryDialog","_class_wxTextEntryDialog",0},
+    { "_wxConfig","_class_wxConfig",0},
+    { "_class_wxIconizeEvent","_wxIconizeEvent",0},
+    { "_class_wxStaticBitmap","_wxStaticBitmap",0},
+    { "_wxMDIChildFrame","_class_wxMDIChildFrame",0},
+    { "_wxListItem","_class_wxListItem",0},
+    { "_class_wxToolBar","_wxToolBar",0},
+    { "_class_wxStaticLine","_wxStaticLine",0},
+    { "_wxScrollEvent","_class_wxScrollEvent",0},
+    { "_wxCalculateLayoutEvent","_class_wxCalculateLayoutEvent",0},
+    { "_EBool","_wxPrintQuality",0},
+    { "_EBool","_signed_int",0},
+    { "_EBool","_int",0},
+    { "_EBool","_wxWindowID",0},
+    { "_class_wxRegion","_wxRegion",0},
+    { "_class_wxDropFilesEvent","_wxDropFilesEvent",0},
+    { "_class_wxPreviewFrame","_wxPreviewFrame",0},
+    { "_wxStaticText","_class_wxStaticText",0},
+    { "_wxFont","_class_wxFont",0},
+    { "_wxCloseEvent","_class_wxCloseEvent",0},
+    { "_class_wxSplitterEvent","_wxSplitterEvent",0},
+    { "_wxNotebook","_class_wxNotebook",0},
+    { "_unsigned_long","_wxDash",0},
+    { "_unsigned_long","_long",0},
+    { "_class_wxRect","_wxRect",0},
+    { "_class_wxDC","_wxDC",0},
+    { "_class_wxProgressDialog","_wxProgressDialog",0},
+    { "_wxPyApp","_class_wxPyApp",0},
+    { "_wxMDIParentFrame","_class_wxMDIParentFrame",0},
+    { "_class_wxTreeEvent","_wxTreeEvent",0},
+    { "_class_wxDirDialog","_wxDirDialog",0},
+    { "_class_wxPyTimer","_wxPyTimer",0},
+    { "_wxFocusEvent","_class_wxFocusEvent",0},
+    { "_wxMaximizeEvent","_class_wxMaximizeEvent",0},
+    { "_class_wxSpinButton","_wxSpinButton",0},
+    { "_wxAcceleratorEntry","_class_wxAcceleratorEntry",0},
+    { "_class_wxPanel","_wxPanel",0},
+    { "_class_wxCheckBox","_wxCheckBox",0},
+    { "_wxComboBox","_class_wxComboBox",0},
+    { "_wxRadioButton","_class_wxRadioButton",0},
+    { "_class_wxMessageDialog","_wxMessageDialog",0},
+    { "_signed_int","_wxPrintQuality",0},
+    { "_signed_int","_EBool",0},
+    { "_signed_int","_wxWindowID",0},
+    { "_signed_int","_int",0},
+    { "_class_wxTextCtrl","_wxTextCtrl",0},
+    { "_wxLayoutConstraints","_class_wxLayoutConstraints",0},
+    { "_wxMetaFileDC","_class_wxMetaFileDC",0},
+    { "_wxMenu","_class_wxMenu",0},
+    { "_class_wxMoveEvent","_wxMoveEvent",0},
+    { "_wxListBox","_class_wxListBox",0},
+    { "_wxScreenDC","_class_wxScreenDC",0},
+    { "_class_wxMDIChildFrame","_wxMDIChildFrame",0},
+    { "_class_wxPyHtmlWindow","_wxPyHtmlWindow",0},
+    { "_wxHtmlHelpController","_class_wxHtmlHelpSystem",SwigwxHtmlHelpSystemTowxHtmlHelpController},
+    { "_wxHtmlHelpController","_wxHtmlHelpSystem",SwigwxHtmlHelpSystemTowxHtmlHelpController},
+    { "_wxHtmlHelpController","_class_wxHtmlHelpController",0},
+    { "_WXTYPE","_short",0},
+    { "_WXTYPE","_signed_short",0},
+    { "_WXTYPE","_unsigned_short",0},
+    { "_wxFileDialog","_class_wxFileDialog",0},
+    { "_class_wxMDIClientWindow","_wxMDIClientWindow",0},
+    { "_class_wxBrush","_wxBrush",0},
+    { "_unsigned_short","_WXTYPE",0},
+    { "_unsigned_short","_short",0},
+    { "_class_wxWindow","_wxWindow",0},
+    { "_wxSplitterWindow","_class_wxSplitterWindow",0},
+    { "_class_wxStaticText","_wxStaticText",0},
+    { "_wxPrintDialogData","_class_wxPrintDialogData",0},
+    { "_class_wxFont","_wxFont",0},
+    { "_class_wxCloseEvent","_wxCloseEvent",0},
+    { "_wxSashEvent","_class_wxSashEvent",0},
+    { "_class_wxMenuEvent","_wxMenuEvent",0},
+    { "_wxClientDC","_class_wxClientDC",0},
+    { "_wxMouseEvent","_class_wxMouseEvent",0},
+    { "_wxListCtrl","_class_wxListCtrl",0},
+    { "_wxSingleChoiceDialog","_class_wxSingleChoiceDialog",0},
+    { "_class_wxPoint","_wxPoint",0},
+    { "_wxRealPoint","_class_wxRealPoint",0},
+    { "_class_wxRadioBox","_wxRadioBox",0},
+    { "_wxGridCell","_class_wxGridCell",0},
+    { "_signed_short","_WXTYPE",0},
+    { "_signed_short","_short",0},
+    { "_wxMemoryDC","_class_wxMemoryDC",0},
+    { "_class_wxTaskBarIcon","_wxTaskBarIcon",0},
+    { "_class_wxPrintDialog","_wxPrintDialog",0},
+    { "_wxPaintDC","_class_wxPaintDC",0},
+    { "_class_wxWindowDC","_wxWindowDC",0},
+    { "_class_wxFocusEvent","_wxFocusEvent",0},
+    { "_class_wxMaximizeEvent","_wxMaximizeEvent",0},
+    { "_wxStatusBar","_class_wxStatusBar",0},
+    { "_class_wxToolBarTool","_wxToolBarTool",0},
+    { "_class_wxAcceleratorEntry","_wxAcceleratorEntry",0},
+    { "_class_wxCursor","_wxCursor",0},
+    { "_class_wxImageHandler","_wxImageHandler",0},
+    { "_wxScrolledWindow","_class_wxScrolledWindow",0},
+    { "_wxTreeItemId","_class_wxTreeItemId",0},
+    { "_unsigned_char","_byte",0},
+    { "_class_wxMetaFileDC","_wxMetaFileDC",0},
+    { "_class_wxMenu","_wxMenu",0},
+    { "_wxControl","_class_wxControl",0},
+    { "_class_wxListBox","_wxListBox",0},
+    { "_unsigned_int","_wxPrintQuality",0},
+    { "_unsigned_int","_size_t",0},
+    { "_unsigned_int","_uint",0},
+    { "_unsigned_int","_wxWindowID",0},
+    { "_unsigned_int","_int",0},
+    { "_wxIcon","_class_wxIcon",0},
+    { "_wxDialog","_class_wxDialog",0},
+    { "_class_wxListItem","_wxListItem",0},
+    { "_class_wxPen","_wxPen",0},
+    { "_class_wxFileDialog","_wxFileDialog",0},
+    { "_wxQueryLayoutInfoEvent","_class_wxQueryLayoutInfoEvent",0},
+    { "_short","_WXTYPE",0},
+    { "_short","_unsigned_short",0},
+    { "_short","_signed_short",0},
+    { "_class_wxStaticBox","_wxStaticBox",0},
+    { "_wxLayoutAlgorithm","_class_wxLayoutAlgorithm",0},
+    { "_class_wxScrollEvent","_wxScrollEvent",0},
+    { "_wxJoystickEvent","_class_wxJoystickEvent",0},
+    { "_class_wxChoice","_wxChoice",0},
+    { "_class_wxSlider","_wxSlider",0},
+    { "_class_wxCalculateLayoutEvent","_wxCalculateLayoutEvent",0},
+    { "_class_wxImageList","_wxImageList",0},
+    { "_class_wxBitmapButton","_wxBitmapButton",0},
+    { "_wxFrame","_class_wxFrame",0},
+    { "_class_wxNotebook","_wxNotebook",0},
+    { "_wxJPEGHandler","_class_wxJPEGHandler",0},
+    { "_wxWindowID","_wxPrintQuality",0},
+    { "_wxWindowID","_size_t",0},
+    { "_wxWindowID","_EBool",0},
+    { "_wxWindowID","_uint",0},
+    { "_wxWindowID","_int",0},
+    { "_wxWindowID","_signed_int",0},
+    { "_wxWindowID","_unsigned_int",0},
+    { "_int","_wxPrintQuality",0},
+    { "_int","_size_t",0},
+    { "_int","_EBool",0},
+    { "_int","_uint",0},
+    { "_int","_wxWindowID",0},
+    { "_int","_unsigned_int",0},
+    { "_int","_signed_int",0},
+    { "_class_wxMouseEvent","_wxMouseEvent",0},
+    { "_class_wxListEvent","_wxListEvent",0},
+    { "_class_wxPrintPreview","_wxPrintPreview",0},
+    { "_class_wxSpinEvent","_wxSpinEvent",0},
+    { "_wxButton","_class_wxButton",0},
+    { "_class_wxPyApp","_wxPyApp",0},
+    { "_wxSize","_class_wxSize",0},
+    { "_wxRegionIterator","_class_wxRegionIterator",0},
+    { "_class_wxPrinterDC","_wxPrinterDC",0},
+    { "_class_wxMDIParentFrame","_wxMDIParentFrame",0},
+    { "_wxPyTreeItemData","_class_wxPyTreeItemData",0},
+    { "_class_wxPaintDC","_wxPaintDC",0},
+    { "_class_wxSysColourChangedEvent","_wxSysColourChangedEvent",0},
+    { "_class_wxInitDialogEvent","_wxInitDialogEvent",0},
+    { "_class_wxComboBox","_wxComboBox",0},
+    { "_class_wxRadioButton","_wxRadioButton",0},
+    { "_class_wxTreeItemId","_wxTreeItemId",0},
+    { "_wxTreeCtrl","_class_wxTreeCtrl",0},
+    { "_class_wxLayoutConstraints","_wxLayoutConstraints",0},
+    { "_wxIconizeEvent","_class_wxIconizeEvent",0},
+    { "_class_wxControl","_wxControl",0},
+    { "_wxStaticBitmap","_class_wxStaticBitmap",0},
+    { "_class_wxIcon","_wxIcon",0},
+    { "_class_wxColour","_wxColour",0},
+    { "_class_wxScreenDC","_wxScreenDC",0},
+    { "_class_wxPageSetupDialog","_wxPageSetupDialog",0},
+    { "_wxPalette","_class_wxPalette",0},
+    { "_class_wxIdleEvent","_wxIdleEvent",0},
+    { "_wxEraseEvent","_class_wxEraseEvent",0},
+    { "_wxHtmlHelpSystem","_class_wxHtmlHelpSystem",0},
+    { "_class_wxJoystickEvent","_wxJoystickEvent",0},
+    { "_class_wxMiniFrame","_wxMiniFrame",0},
+    { "_wxFontDialog","_class_wxFontDialog",0},
+    { "_wxRegion","_class_wxRegion",0},
+    { "_class_wxSplitterWindow","_wxSplitterWindow",0},
+    { "_wxPreviewFrame","_class_wxPreviewFrame",0},
+    { "_class_wxShowEvent","_wxShowEvent",0},
+    { "_wxActivateEvent","_class_wxActivateEvent",0},
+    { "_wxGauge","_class_wxGauge",0},
+    { "_class_wxCheckListBox","_wxCheckListBox",0},
+    { "_class_wxGridEvent","_wxGridEvent",0},
+    { "_class_wxCommandEvent","_wxCommandEvent",0},
+    { "_class_wxClientDC","_wxClientDC",0},
+    { "_class_wxSizeEvent","_wxSizeEvent",0},
+    { "_class_wxListCtrl","_wxListCtrl",0},
+    { "_class_wxGridCell","_wxGridCell",0},
+    { "_HtmlHistoryItem","_class_HtmlHistoryItem",0},
+    { "_class_wxSize","_wxSize",0},
+    { "_class_wxBitmap","_wxBitmap",0},
+    { "_class_wxMemoryDC","_wxMemoryDC",0},
+    { "_wxMenuBar","_class_wxMenuBar",0},
+    { "_wxTreeEvent","_class_wxTreeEvent",0},
+    { "_wxDirDialog","_class_wxDirDialog",0},
+    { "_wxEvtHandler","_class_wxHtmlHelpSystem",SwigwxHtmlHelpSystemTowxEvtHandler},
+    { "_wxEvtHandler","_wxHtmlHelpSystem",SwigwxHtmlHelpSystemTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxHtmlHelpController",SwigwxHtmlHelpControllerTowxEvtHandler},
+    { "_wxEvtHandler","_wxHtmlHelpController",SwigwxHtmlHelpControllerTowxEvtHandler},
+    { "_wxEvtHandler","_class_wxEvtHandler",0},
+    { "_wxMenuItem","_class_wxMenuItem",0},
+    { "_class_wxScrollBar","_wxScrollBar",0},
+    { "_class_wxColourDialog","_wxColourDialog",0},
+    { "_class_wxPrintData","_wxPrintData",0},
+    { "_wxDash","_unsigned_long",0},
+    { "_wxDash","_long",0},
+    { "_class_wxScrolledWindow","_wxScrolledWindow",0},
+    { "_class_wxTextEntryDialog","_wxTextEntryDialog",0},
+    { "_class_wxConfig","_wxConfig",0},
+    { "_wxKeyEvent","_class_wxKeyEvent",0},
+    { "_wxMoveEvent","_class_wxMoveEvent",0},
+    { "_wxColourData","_class_wxColourData",0},
+    { "_wxPageSetupDialogData","_class_wxPageSetupDialogData",0},
+    { "_wxPyHtmlWindow","_class_wxPyHtmlWindow",0},
+    { "_class_wxPalette","_wxPalette",0},
+    { "_class_wxQueryLayoutInfoEvent","_wxQueryLayoutInfoEvent",0},
+    { "_class_wxEraseEvent","_wxEraseEvent",0},
+    { "_wxMDIClientWindow","_class_wxMDIClientWindow",0},
+    { "_class_wxFontDialog","_wxFontDialog",0},
+    { "_wxWindow","_class_wxWindow",0},
+    { "_class_wxFrame","_wxFrame",0},
+{0,0,0}};
+
+static PyObject *SWIG_globals;
+#ifdef __cplusplus
+extern "C" 
+#endif
+SWIGEXPORT(void) inithtmlhelpc() {
+        PyObject *m, *d;
+        SWIG_globals = SWIG_newvarlink();
+        m = Py_InitModule("htmlhelpc", htmlhelpcMethods);
+        d = PyModule_GetDict(m);
+        PyDict_SetItemString(d,"wxID_HTML_PANEL", PyInt_FromLong((long) wxID_HTML_PANEL));
+        PyDict_SetItemString(d,"wxID_HTML_BACK", PyInt_FromLong((long) wxID_HTML_BACK));
+        PyDict_SetItemString(d,"wxID_HTML_FORWARD", PyInt_FromLong((long) wxID_HTML_FORWARD));
+        PyDict_SetItemString(d,"wxID_HTML_TREECTRL", PyInt_FromLong((long) wxID_HTML_TREECTRL));
+        PyDict_SetItemString(d,"wxID_HTML_INDEXPAGE", PyInt_FromLong((long) wxID_HTML_INDEXPAGE));
+        PyDict_SetItemString(d,"wxID_HTML_INDEXLIST", PyInt_FromLong((long) wxID_HTML_INDEXLIST));
+        PyDict_SetItemString(d,"wxID_HTML_NOTEBOOK", PyInt_FromLong((long) wxID_HTML_NOTEBOOK));
+        PyDict_SetItemString(d,"wxID_HTML_SEARCHPAGE", PyInt_FromLong((long) wxID_HTML_SEARCHPAGE));
+        PyDict_SetItemString(d,"wxID_HTML_SEARCHTEXT", PyInt_FromLong((long) wxID_HTML_SEARCHTEXT));
+        PyDict_SetItemString(d,"wxID_HTML_SEARCHLIST", PyInt_FromLong((long) wxID_HTML_SEARCHLIST));
+        PyDict_SetItemString(d,"wxID_HTML_SEARCHBUTTON", PyInt_FromLong((long) wxID_HTML_SEARCHBUTTON));
+        PyDict_SetItemString(d,"wxHtmlHelpController_IMG_Book", PyInt_FromLong((long) wxHtmlHelpController::IMG_Book));
+        PyDict_SetItemString(d,"wxHtmlHelpController_IMG_Folder", PyInt_FromLong((long) wxHtmlHelpController::IMG_Folder));
+        PyDict_SetItemString(d,"wxHtmlHelpController_IMG_Page", PyInt_FromLong((long) wxHtmlHelpController::IMG_Page));
+{
+   int i;
+   for (i = 0; _swig_mapping[i].n1; i++)
+        SWIG_RegisterMapping(_swig_mapping[i].n1,_swig_mapping[i].n2,_swig_mapping[i].pcnv);
+}
+}
diff --git a/utils/wxPython/modules/html/msw/htmlhelp.py b/utils/wxPython/modules/html/msw/htmlhelp.py
new file mode 100644 (file)
index 0000000..f52e39a
--- /dev/null
@@ -0,0 +1,192 @@
+# This file was created automatically by SWIG.
+import htmlhelpc
+
+from misc import *
+
+from misc2 import *
+
+from windows import *
+
+from gdi import *
+
+from events import *
+
+from mdi import *
+
+from frames import *
+
+from stattool import *
+
+from controls import *
+
+from controls2 import *
+
+from windows2 import *
+
+from cmndlgs import *
+
+from windows3 import *
+
+from image import *
+
+from printfw import *
+class wxHtmlHelpControllerPtr(wxEvtHandlerPtr):
+    IMG_Book = htmlhelpc.wxHtmlHelpController_IMG_Book
+    IMG_Folder = htmlhelpc.wxHtmlHelpController_IMG_Folder
+    IMG_Page = htmlhelpc.wxHtmlHelpController_IMG_Page
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self,htmlhelpc=htmlhelpc):
+        if self.thisown == 1 :
+            htmlhelpc.delete_wxHtmlHelpController(self)
+    def SetTitleFormat(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpController_SetTitleFormat,(self,) + _args, _kwargs)
+        return val
+    def SetTempDir(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpController_SetTempDir,(self,) + _args, _kwargs)
+        return val
+    def AddBook(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpController_AddBook,(self,) + _args, _kwargs)
+        return val
+    def Display(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpController_Display,(self,) + _args, _kwargs)
+        return val
+    def DisplayID(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpController_DisplayID,(self,) + _args, _kwargs)
+        return val
+    def DisplayContents(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpController_DisplayContents,(self,) + _args, _kwargs)
+        return val
+    def DisplayIndex(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpController_DisplayIndex,(self,) + _args, _kwargs)
+        return val
+    def KeywordSearch(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpController_KeywordSearch,(self,) + _args, _kwargs)
+        return val
+    def UseConfig(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpController_UseConfig,(self,) + _args, _kwargs)
+        return val
+    def ReadCustomization(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpController_ReadCustomization,(self,) + _args, _kwargs)
+        return val
+    def WriteCustomization(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpController_WriteCustomization,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxHtmlHelpController instance at %s>" % (self.this,)
+class wxHtmlHelpController(wxHtmlHelpControllerPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(htmlhelpc.new_wxHtmlHelpController,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxHtmlHelpSystemPtr(wxHtmlHelpControllerPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self,htmlhelpc=htmlhelpc):
+        if self.thisown == 1 :
+            htmlhelpc.delete_wxHtmlHelpSystem(self)
+    def AddBookParam(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_AddBookParam,(self,) + _args, _kwargs)
+        return val
+    def CreateToolBar(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_CreateToolBar,(self,) + _args, _kwargs)
+        if val: val = wxToolBarPtr(val) 
+        return val
+    def CreateContentsTree(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_CreateContentsTree,(self,) + _args, _kwargs)
+        if val: val = wxTreeCtrlPtr(val) 
+        return val
+    def CreateIndexList(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_CreateIndexList,(self,) + _args, _kwargs)
+        if val: val = wxListBoxPtr(val) 
+        return val
+    def CreateHelpWindow(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_CreateHelpWindow,(self,) + _args, _kwargs)
+        return val
+    def SetControls(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_SetControls,(self,) + _args, _kwargs)
+        return val
+    def GetFrame(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_GetFrame,(self,) + _args, _kwargs)
+        if val: val = wxFramePtr(val) 
+        return val
+    def GetHtmlWindow(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_GetHtmlWindow,(self,) + _args, _kwargs)
+        return val
+    def GetContentsTree(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_GetContentsTree,(self,) + _args, _kwargs)
+        if val: val = wxTreeCtrlPtr(val) 
+        return val
+    def GetIndexList(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_GetIndexList,(self,) + _args, _kwargs)
+        if val: val = wxListBoxPtr(val) 
+        return val
+    def GetSearchList(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_GetSearchList,(self,) + _args, _kwargs)
+        if val: val = wxListBoxPtr(val) 
+        return val
+    def GetContentsImageList(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_GetContentsImageList,(self,) + _args, _kwargs)
+        if val: val = wxImageListPtr(val) 
+        return val
+    def OnToolbar(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_OnToolbar,(self,) + _args, _kwargs)
+        return val
+    def OnContentsSel(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_OnContentsSel,(self,) + _args, _kwargs)
+        return val
+    def OnIndexSel(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_OnIndexSel,(self,) + _args, _kwargs)
+        return val
+    def OnSearchSel(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_OnSearchSel,(self,) + _args, _kwargs)
+        return val
+    def OnSearch(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_OnSearch,(self,) + _args, _kwargs)
+        return val
+    def OnCloseWindow(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_OnCloseWindow,(self,) + _args, _kwargs)
+        return val
+    def RefreshLists(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_RefreshLists,(self,) + _args, _kwargs)
+        return val
+    def CreateContents(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_CreateContents,(self,) + _args, _kwargs)
+        return val
+    def CreateIndex(self, *_args, **_kwargs):
+        val = apply(htmlhelpc.wxHtmlHelpSystem_CreateIndex,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxHtmlHelpSystem instance at %s>" % (self.this,)
+class wxHtmlHelpSystem(wxHtmlHelpSystemPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(htmlhelpc.new_wxHtmlHelpSystem,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+
+
+#-------------- FUNCTION WRAPPERS ------------------
+
+
+
+#-------------- VARIABLE WRAPPERS ------------------
+
+wxID_HTML_PANEL = htmlhelpc.wxID_HTML_PANEL
+wxID_HTML_BACK = htmlhelpc.wxID_HTML_BACK
+wxID_HTML_FORWARD = htmlhelpc.wxID_HTML_FORWARD
+wxID_HTML_TREECTRL = htmlhelpc.wxID_HTML_TREECTRL
+wxID_HTML_INDEXPAGE = htmlhelpc.wxID_HTML_INDEXPAGE
+wxID_HTML_INDEXLIST = htmlhelpc.wxID_HTML_INDEXLIST
+wxID_HTML_NOTEBOOK = htmlhelpc.wxID_HTML_NOTEBOOK
+wxID_HTML_SEARCHPAGE = htmlhelpc.wxID_HTML_SEARCHPAGE
+wxID_HTML_SEARCHTEXT = htmlhelpc.wxID_HTML_SEARCHTEXT
+wxID_HTML_SEARCHLIST = htmlhelpc.wxID_HTML_SEARCHLIST
+wxID_HTML_SEARCHBUTTON = htmlhelpc.wxID_HTML_SEARCHBUTTON