]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/modules/html/html.i
merged 2.2 branch
[wxWidgets.git] / utils / wxPython / modules / html / html.i
diff --git a/utils/wxPython/modules/html/html.i b/utils/wxPython/modules/html/html.i
deleted file mode 100644 (file)
index ac4b21f..0000000
+++ /dev/null
@@ -1,581 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// 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);
-
-    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);
-    %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 (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);
-    %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);
-    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);
-    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="_extras.py";
-
-//---------------------------------------------------------------------------
-