merged 2.2 branch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@7748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		
							
								
								
									
										601
									
								
								wxPython/src/html.i
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										601
									
								
								wxPython/src/html.i
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,601 @@ | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
| // Name:        html.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 html | ||||
|  | ||||
| %{ | ||||
| #include "helpers.h" | ||||
| #include <wx/html/htmlwin.h> | ||||
| #include <wx/html/htmprint.h> | ||||
| #include <wx/image.h> | ||||
| #include <wx/fs_zip.h> | ||||
| #include <wx/fs_inet.h> | ||||
| #include <wx/wfstream.h> | ||||
|  | ||||
| #include "printfw.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 printfw.i | ||||
|  | ||||
| %extern utils.i | ||||
|  | ||||
| //--------------------------------------------------------------------------- | ||||
|  | ||||
| %{ | ||||
| //  #ifdef __WXMSW__ | ||||
| //  wxString wxPyEmptyStr(""); | ||||
| //  wxPoint wxPyDefaultPosition(wxDefaultPosition); | ||||
| //  wxSize wxPyDefaultSize(wxDefaultSize); | ||||
| //  #endif | ||||
| %} | ||||
|  | ||||
| %pragma(python) code = "import wx" | ||||
|  | ||||
|  | ||||
| //--------------------------------------------------------------------------- | ||||
|  | ||||
| enum { | ||||
|     wxHTML_ALIGN_LEFT, | ||||
|     wxHTML_ALIGN_CENTER, | ||||
|     wxHTML_ALIGN_RIGHT, | ||||
|     wxHTML_ALIGN_BOTTOM, | ||||
|     wxHTML_ALIGN_TOP, | ||||
|  | ||||
|     wxHTML_CLR_FOREGROUND, | ||||
|     wxHTML_CLR_BACKGROUND, | ||||
|  | ||||
|     wxHTML_UNITS_PIXELS, | ||||
|     wxHTML_UNITS_PERCENT, | ||||
|  | ||||
|     wxHTML_INDENT_LEFT, | ||||
|     wxHTML_INDENT_RIGHT, | ||||
|     wxHTML_INDENT_TOP, | ||||
|     wxHTML_INDENT_BOTTOM, | ||||
|  | ||||
|     wxHTML_INDENT_HORIZONTAL, | ||||
|     wxHTML_INDENT_VERTICAL, | ||||
|     wxHTML_INDENT_ALL, | ||||
|  | ||||
|     wxHTML_COND_ISANCHOR, | ||||
|     wxHTML_COND_ISIMAGEMAP, | ||||
|     wxHTML_COND_USER, | ||||
| }; | ||||
|  | ||||
|  | ||||
| //--------------------------------------------------------------------------- | ||||
|  | ||||
| class wxHtmlLinkInfo { | ||||
| public: | ||||
|     wxHtmlLinkInfo(const wxString& href, const wxString& target = wxEmptyString); | ||||
|     wxString GetHref(); | ||||
|     wxString GetTarget(); | ||||
|     wxMouseEvent* GetEvent(); | ||||
|     wxHtmlCell* GetHtmlCell(); | ||||
| }; | ||||
|  | ||||
| //--------------------------------------------------------------------------- | ||||
|  | ||||
| class wxHtmlTag { | ||||
| public: | ||||
|     // Never need to create a new tag from Python... | ||||
|     //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 PushTagHandler(wxHtmlTagHandler* handler, wxString tags); | ||||
|     void PopTagHandler(); | ||||
|  | ||||
|  | ||||
|     // 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, wxString fixed_face, int *LIST); | ||||
|     %addmethods { | ||||
|         void SetFonts(wxString normal_face, wxString fixed_face, PyObject* sizes) { | ||||
|             int* temp = int_LIST_helper(sizes); | ||||
|             if (temp) { | ||||
|                 self->SetFonts(normal_face, fixed_face, temp); | ||||
|                 delete [] temp; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     wxHtmlContainerCell* GetContainer(); | ||||
|     wxHtmlContainerCell* OpenContainer(); | ||||
|     wxHtmlContainerCell *SetContainer(wxHtmlContainerCell *c); | ||||
|     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); | ||||
|     void SetLink(const wxString& link); | ||||
|     wxFont* CreateCurrentFont(); | ||||
|     wxHtmlLinkInfo GetLink(); | ||||
|  | ||||
| }; | ||||
|  | ||||
|  | ||||
|  | ||||
| //--------------------------------------------------------------------------- | ||||
|  | ||||
| %{ | ||||
| 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, PyObject* _class); | ||||
|     %pragma(python) addtomethod = "__init__:self._setSelf(self, wxHtmlTagHandler)" | ||||
|  | ||||
|     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, PyObject* _class); | ||||
|     %pragma(python) addtomethod = "__init__:self._setSelf(self, wxHtmlWinTagHandler)" | ||||
|  | ||||
|     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 (size_t 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 | ||||
|         bool doSave = wxPyRestoreThread(); | ||||
|         PyObject* arg = Py_BuildValue("()"); | ||||
|         PyObject* obj = PyInstance_New(m_tagHandlerClass, arg, NULL); | ||||
|         Py_DECREF(arg); | ||||
|         wxPySaveThread(doSave); | ||||
|  | ||||
|         // 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); | ||||
|     } | ||||
| %} | ||||
|  | ||||
|  | ||||
| //--------------------------------------------------------------------------- | ||||
| //--------------------------------------------------------------------------- | ||||
|  | ||||
| class wxHtmlCell { | ||||
| public: | ||||
|     wxHtmlCell(); | ||||
|  | ||||
|     int GetPosX(); | ||||
|     int GetPosY(); | ||||
|     int GetWidth(); | ||||
|     int GetHeight(); | ||||
|     int GetDescent(); | ||||
|     wxHtmlLinkInfo* GetLink(int x = 0, int y = 0); | ||||
|     wxHtmlCell* GetNext(); | ||||
|     wxHtmlContainerCell* GetParent(); | ||||
|     void SetLink(const wxHtmlLinkInfo& link); | ||||
|     void SetNext(wxHtmlCell *cell); | ||||
|     void SetParent(wxHtmlContainerCell *p); | ||||
|     void SetPos(int x, int y); | ||||
|     void Layout(int w); | ||||
|     void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2); | ||||
|     void DrawInvisible(wxDC& dc, int x, int y); | ||||
|     const wxHtmlCell* Find(int condition, const void* param); | ||||
|  | ||||
|     bool AdjustPagebreak(int * pagebreak); | ||||
|     void SetCanLiveOnPagebreak(bool can); | ||||
|  | ||||
| }; | ||||
|  | ||||
|  | ||||
| class wxHtmlContainerCell : public wxHtmlCell { | ||||
| public: | ||||
|     wxHtmlContainerCell(wxHtmlContainerCell *parent); | ||||
|  | ||||
|     void InsertCell(wxHtmlCell *cell); | ||||
|     void SetAlignHor(int al); | ||||
|     int GetAlignHor(); | ||||
|     void SetAlignVer(int al); | ||||
|     int GetAlignVer(); | ||||
|     void SetIndent(int i, int what, int units = wxHTML_UNITS_PIXELS); | ||||
|     int GetIndent(int ind); | ||||
|     int GetIndentUnits(int ind); | ||||
|     void SetAlign(const wxHtmlTag& tag); | ||||
|     void SetWidthFloat(int w, int units); | ||||
|     %name(SetWidthFloatFromTag)void SetWidthFloat(const wxHtmlTag& tag); | ||||
|     void SetMinHeight(int h, int align = wxHTML_ALIGN_TOP); | ||||
|     void SetBackgroundColour(const wxColour& clr); | ||||
|     void SetBorder(const wxColour& clr1, const wxColour& clr2); | ||||
|     wxHtmlCell* GetFirstCell(); | ||||
| }; | ||||
|  | ||||
|  | ||||
|  | ||||
| class wxHtmlColourCell : public wxHtmlCell { | ||||
| public: | ||||
|     wxHtmlColourCell(wxColour clr, int flags = wxHTML_CLR_FOREGROUND); | ||||
|  | ||||
| }; | ||||
|  | ||||
|  | ||||
|  | ||||
| class wxHtmlWidgetCell : public wxHtmlCell { | ||||
| public: | ||||
|     wxHtmlWidgetCell(wxWindow* wnd, int w = 0); | ||||
|  | ||||
| }; | ||||
|  | ||||
|  | ||||
|  | ||||
| //--------------------------------------------------------------------------- | ||||
| //--------------------------------------------------------------------------- | ||||
| //--------------------------------------------------------------------------- | ||||
|  | ||||
| // item of history list | ||||
| class HtmlHistoryItem { | ||||
| public: | ||||
|     HtmlHistoryItem(const char* p, const char* a); | ||||
|  | ||||
|     int GetPos(); | ||||
|     void SetPos(int p); | ||||
|     const wxString& GetPage(); | ||||
|     const wxString& GetAnchor(); | ||||
| }; | ||||
|  | ||||
|  | ||||
| //--------------------------------------------------------------------------- | ||||
| %{ | ||||
| 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)  {}; | ||||
|  | ||||
|     void OnLinkClicked(const wxHtmlLinkInfo& link); | ||||
|     void base_OnLinkClicked(const wxHtmlLinkInfo& link); | ||||
|  | ||||
|     DEC_PYCALLBACK__STRING(OnSetTitle); | ||||
|     PYPRIVATE; | ||||
| }; | ||||
|  | ||||
|  | ||||
| IMP_PYCALLBACK__STRING(wxPyHtmlWindow, wxHtmlWindow, OnSetTitle); | ||||
|  | ||||
|  void wxPyHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link) { | ||||
|     bool doSave = wxPyRestoreThread(); | ||||
|     if (m_myInst.findCallback("OnLinkClicked")) { | ||||
|         PyObject* obj = wxPyConstructObject((void*)&link, "wxHtmlLinkInfo"); | ||||
|         m_myInst.callCallback(Py_BuildValue("(O)", obj)); | ||||
|     } | ||||
|     else | ||||
|         wxHtmlWindow::OnLinkClicked(link); | ||||
|     wxPySaveThread(doSave); | ||||
| } | ||||
| void wxPyHtmlWindow::base_OnLinkClicked(const wxHtmlLinkInfo& link) { | ||||
|     wxHtmlWindow::OnLinkClicked(link); | ||||
| } | ||||
| %} | ||||
|  | ||||
|  | ||||
|  | ||||
| %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, PyObject* _class); | ||||
|     %pragma(python) addtomethod = "__init__:self._setSelf(self, wxHtmlWindow)" | ||||
|     %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)" | ||||
|     %pragma(python) addtomethod = "__init__:#wx._StdOnScrollCallbacks(self)" | ||||
|  | ||||
|  | ||||
|     bool SetPage(const char* source); | ||||
|     bool LoadPage(const char* location); | ||||
|     wxString GetOpenedPage(); | ||||
|     void SetRelatedFrame(wxFrame* frame, const char* format); | ||||
|     wxFrame* GetRelatedFrame(); | ||||
|     void SetRelatedStatusBar(int bar); | ||||
|  | ||||
|     //void SetFonts(wxString normal_face, wxString fixed_face, int *LIST); | ||||
|     %addmethods { | ||||
|         void SetFonts(wxString normal_face, wxString fixed_face, PyObject* sizes) { | ||||
|             int* temp = int_LIST_helper(sizes); | ||||
|             if (temp) { | ||||
|                 self->SetFonts(normal_face, fixed_face, temp); | ||||
|                 delete [] temp; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     void SetTitle(const char* title); | ||||
|     void SetBorders(int b); | ||||
|     void ReadCustomization(wxConfigBase *cfg, char* path = ""); | ||||
|     void WriteCustomization(wxConfigBase *cfg, char* path = ""); | ||||
|     bool HistoryBack(); | ||||
|     bool HistoryForward(); | ||||
|     void HistoryClear(); | ||||
|     wxHtmlContainerCell* GetInternalRepresentation(); | ||||
|     wxHtmlWinParser* GetParser(); | ||||
|  | ||||
|     void base_OnLinkClicked(const wxHtmlLinkInfo& link); | ||||
|     void base_OnSetTitle(const char* title); | ||||
| }; | ||||
|  | ||||
| // Static methods are mapped to stand-alone functions | ||||
| %inline %{ | ||||
|     void wxHtmlWindow_AddFilter(wxHtmlFilter *filter) { | ||||
|         wxHtmlWindow::AddFilter(filter); | ||||
|     } | ||||
| %} | ||||
|  | ||||
|  | ||||
| //--------------------------------------------------------------------------- | ||||
| //--------------------------------------------------------------------------- | ||||
|  | ||||
|  | ||||
| class wxHtmlDCRenderer { | ||||
| public: | ||||
|     wxHtmlDCRenderer(); | ||||
|     ~wxHtmlDCRenderer(); | ||||
|  | ||||
|     void SetDC(wxDC *dc, int maxwidth); | ||||
|     void SetSize(int width, int height); | ||||
|     void SetHtmlText(const wxString& html, | ||||
|                      const wxString& basepath = wxEmptyString, | ||||
|                      bool isdir = TRUE); | ||||
|     int Render(int x, int y, int from = 0, int dont_render = FALSE); | ||||
|     int GetTotalHeight(); | ||||
|                 // returns total height of the html document | ||||
|                 // (compare Render's return value with this) | ||||
| }; | ||||
|  | ||||
| enum { | ||||
|     wxPAGE_ODD, | ||||
|     wxPAGE_EVEN, | ||||
|     wxPAGE_ALL | ||||
| }; | ||||
|  | ||||
|  | ||||
| class wxHtmlPrintout : public wxPyPrintout { | ||||
| public: | ||||
|     wxHtmlPrintout(const char* title = "Printout"); | ||||
|     ~wxHtmlPrintout(); | ||||
|  | ||||
|     void SetHtmlText(const wxString& html, | ||||
|                      const wxString &basepath = wxEmptyString, | ||||
|                      bool isdir = TRUE); | ||||
|     void SetHtmlFile(const wxString &htmlfile); | ||||
|     void SetHeader(const wxString& header, int pg = wxPAGE_ALL); | ||||
|     void SetFooter(const wxString& footer, int pg = wxPAGE_ALL); | ||||
|     void SetMargins(float top = 25.2, float bottom = 25.2, | ||||
|                     float left = 25.2, float right = 25.2, | ||||
|                     float spaces = 5); | ||||
| }; | ||||
|  | ||||
|  | ||||
|  | ||||
| class wxHtmlEasyPrinting { | ||||
| public: | ||||
|     wxHtmlEasyPrinting(const char* name = "Printing", | ||||
|                        wxFrame *parent_frame = NULL); | ||||
|     ~wxHtmlEasyPrinting(); | ||||
|  | ||||
|     void PreviewFile(const wxString &htmlfile); | ||||
|     void PreviewText(const wxString &htmltext, const wxString& basepath = wxEmptyString); | ||||
|     void PrintFile(const wxString &htmlfile); | ||||
|     void PrintText(const wxString &htmltext, const wxString& basepath = wxEmptyString); | ||||
|     void PrinterSetup(); | ||||
|     void PageSetup(); | ||||
|     void SetHeader(const wxString& header, int pg = wxPAGE_ALL); | ||||
|     void SetFooter(const wxString& footer, int pg = wxPAGE_ALL); | ||||
|  | ||||
|     wxPrintData *GetPrintData() {return m_PrintData;} | ||||
|     wxPageSetupDialogData *GetPageSetupData() {return m_PageSetupData;} | ||||
|  | ||||
| }; | ||||
|  | ||||
|  | ||||
|  | ||||
| //--------------------------------------------------------------------------- | ||||
| //--------------------------------------------------------------------------- | ||||
|  | ||||
| %{ | ||||
|     extern "C" SWIGEXPORT(void) inithtmlhelpc(); | ||||
| %} | ||||
|  | ||||
|  | ||||
| %init %{ | ||||
|  | ||||
|     inithtmlhelpc(); | ||||
|  | ||||
|     wxClassInfo::CleanUpClasses(); | ||||
|     wxClassInfo::InitializeClasses(); | ||||
|  | ||||
|     // Until wxFileSystem is wrapped... | ||||
|     #if wxUSE_FS_ZIP | ||||
|        wxFileSystem::AddHandler(new wxZipFSHandler); | ||||
|     #endif | ||||
|     #if wxUSE_FS_INET | ||||
| //       wxFileSystem::AddHandler(new wxInternetFSHandler); | ||||
|     #endif | ||||
| %} | ||||
|  | ||||
| //---------------------------------------------------------------------- | ||||
| // And this gets appended to the shadow class file. | ||||
| //---------------------------------------------------------------------- | ||||
|  | ||||
| %pragma(python) include="_htmlextras.py"; | ||||
|  | ||||
| //--------------------------------------------------------------------------- | ||||
|  | ||||
		Reference in New Issue
	
	Block a user