.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2020 by Total Control Software License: wxWindows License .. include:: headings.inc .. _wx.html.HtmlWindow: ========================================================================================================================================== |phoenix_title| **wx.html.HtmlWindow** ========================================================================================================================================== :ref:`wx.html.HtmlWindow` is probably the only class you will directly use unless you want to do something special (like adding new tag handlers or MIME filters). The purpose of this class is to display rich content pages (either local file or downloaded via ``HTTP`` protocol) in a window based on a subset of the HTML standard. The width of the window is constant, given in the constructor and virtual height is changed dynamically depending on page size. Once the window is created you can set its content by calling :meth:`~wx.html.HtmlWindow.SetPage` with raw HTML, :meth:`~wx.html.HtmlWindow.LoadPage` with a :ref:`wx.FileSystem` location or :meth:`~wx.html.HtmlWindow.LoadFile` with a filename. :ref:`wx.html.HtmlWindow` uses the :ref:`wx.Image` class for displaying images, so you need to initialize the handlers for any image formats you use before loading a page. See `wx.InitAllImageHandlers` and :meth:`wx.Image.AddHandler` . ^^ .. _HtmlWindow-styles: |styles| Window Styles ================================ This class supports the following styles: - ``wx.html.HW_SCROLLBAR_NEVER``: Never display scrollbars, not even when the page is larger than the window. - ``wx.html.HW_SCROLLBAR_AUTO``: Display scrollbars only if page's size exceeds window's size. - ``wx.html.HW_NO_SELECTION``: Don't allow the user to select text. ^^ ^^ .. _HtmlWindow-events: |events| Events Emitted by this Class ===================================== Handlers bound for the following event types will receive one of the :ref:`wx.html.HtmlCellEvent`:ref:`wx.html.HtmlLinkEvent` parameters. - EVT_HTML_CELL_CLICKED: A :ref:`wx.html.HtmlCell` was clicked. - EVT_HTML_CELL_HOVER: The mouse passed over a :ref:`wx.html.HtmlCell`. - EVT_HTML_LINK_CLICKED: A :ref:`wx.html.HtmlCell` which contains a hyperlink was clicked. ^^ .. note:: If you want complete HTML/CSS support as well as a Javascript engine, consider using :ref:`wx.html2.WebView` instead. .. seealso:: :ref:`wx.html.HtmlLinkEvent`, :ref:`wx.html.HtmlCellEvent` | |class_hierarchy| Class Hierarchy ================================= .. raw:: html
Inheritance diagram for class HtmlWindow:
| |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.html.HtmlWindow.__init__` Default constructor. :meth:`~wx.html.HtmlWindow.AddFilter` Adds an :ref:`input filter ` to the static list of available filters. :meth:`~wx.html.HtmlWindow.AppendToPage` Appends HTML fragment to currently displayed text and refreshes the window. :meth:`~wx.html.HtmlWindow.GetClassDefaultAttributes` :meth:`~wx.html.HtmlWindow.GetDefaultHTMLCursor` Retrieves the default cursor for a given HTMLCursor type. :meth:`~wx.html.HtmlWindow.GetInternalRepresentation` Returns pointer to the top-level container. :meth:`~wx.html.HtmlWindow.GetOpenedAnchor` Returns anchor within currently opened page (see :meth:`wx.html.HtmlWindow.GetOpenedPage` ). :meth:`~wx.html.HtmlWindow.GetOpenedPage` Returns full location of the opened page. :meth:`~wx.html.HtmlWindow.GetOpenedPageTitle` Returns title of the opened page or "" if the current page does not contain <``TITLE``> tag. :meth:`~wx.html.HtmlWindow.GetParser` Returns a pointer to the current parser. :meth:`~wx.html.HtmlWindow.GetRelatedFrame` Returns the related frame. :meth:`~wx.html.HtmlWindow.HistoryBack` Moves back to the previous page. :meth:`~wx.html.HtmlWindow.HistoryCanBack` Returns ``True`` if it is possible to go back in the history i.e. :meth:`~wx.html.HtmlWindow.HistoryCanForward` Returns ``True`` if it is possible to go forward in the history i.e. :meth:`~wx.html.HtmlWindow.HistoryClear` Clears history. :meth:`~wx.html.HtmlWindow.HistoryForward` Moves to next page in history. :meth:`~wx.html.HtmlWindow.LoadFile` Loads an HTML page from a file and displays it. :meth:`~wx.html.HtmlWindow.LoadPage` Unlike :meth:`~HtmlWindow.SetPage` this function first loads the HTML page from `location` and then displays it. :meth:`~wx.html.HtmlWindow.OnCellClicked` This method is called when a mouse button is clicked inside :ref:`wx.html.HtmlWindow`. :meth:`~wx.html.HtmlWindow.OnCellMouseHover` This method is called when a mouse moves over an HTML cell. :meth:`~wx.html.HtmlWindow.OnLinkClicked` Called when user clicks on hypertext link. :meth:`~wx.html.HtmlWindow.OnOpeningURL` Called when an URL is being opened (either when the user clicks on a link or an image is loaded). :meth:`~wx.html.HtmlWindow.OnSetTitle` Called on parsing <``TITLE``> tag. :meth:`~wx.html.HtmlWindow.ReadCustomization` This reads custom settings from Config. :meth:`~wx.html.HtmlWindow.ScrollToAnchor` :meth:`~wx.html.HtmlWindow.SelectAll` Selects all text in the window. :meth:`~wx.html.HtmlWindow.SelectLine` Selects the line of text that `pos` points at. :meth:`~wx.html.HtmlWindow.SelectWord` Selects the word at position `pos`. :meth:`~wx.html.HtmlWindow.SelectionToText` Returns the current selection as plain text. :meth:`~wx.html.HtmlWindow.SetBorders` This function sets the space between border of window and HTML contents. :meth:`~wx.html.HtmlWindow.SetDefaultHTMLCursor` Sets the default cursor for a given HTMLCursor type. :meth:`~wx.html.HtmlWindow.SetFonts` This function sets font sizes and faces. :meth:`~wx.html.HtmlWindow.SetPage` Sets the source of a page and displays it, for example :meth:`~wx.html.HtmlWindow.SetRelatedFrame` Sets the frame in which page title will be displayed. :meth:`~wx.html.HtmlWindow.SetRelatedStatusBar` **After** calling :meth:`~HtmlWindow.SetRelatedFrame` , this sets statusbar slot where messages will be displayed. :meth:`~wx.html.HtmlWindow.SetStandardFonts` Sets default font sizes and/or default font size. :meth:`~wx.html.HtmlWindow.ToText` Returns content of currently displayed page as plain text. :meth:`~wx.html.HtmlWindow.WriteCustomization` Saves custom settings into Config. ================================================================================ ================================================================================ | |property_summary| Properties Summary ===================================== ================================================================================ ================================================================================ :attr:`~wx.html.HtmlWindow.InternalRepresentation` See :meth:`~wx.html.HtmlWindow.GetInternalRepresentation` :attr:`~wx.html.HtmlWindow.OpenedAnchor` See :meth:`~wx.html.HtmlWindow.GetOpenedAnchor` :attr:`~wx.html.HtmlWindow.OpenedPage` See :meth:`~wx.html.HtmlWindow.GetOpenedPage` :attr:`~wx.html.HtmlWindow.OpenedPageTitle` See :meth:`~wx.html.HtmlWindow.GetOpenedPageTitle` :attr:`~wx.html.HtmlWindow.Parser` See :meth:`~wx.html.HtmlWindow.GetParser` :attr:`~wx.html.HtmlWindow.RelatedFrame` See :meth:`~wx.html.HtmlWindow.GetRelatedFrame` and :meth:`~wx.html.HtmlWindow.SetRelatedFrame` ================================================================================ ================================================================================ | |api| Class API =============== .. class:: wx.html.HtmlWindow(ScrolledWindow, HtmlWindowInterface) **Possible constructors**:: HtmlWindow() HtmlWindow(parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=HW_DEFAULT_STYLE, name="htmlWindow") HtmlWindow is probably the only class you will directly use unless you want to do something special (like adding new tag handlers or MIME filters). .. method:: __init__(self, *args, **kw) |overload| Overloaded Implementations: :html:`

` **__init__** `(self)` Default constructor. :html:`

` **__init__** `(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=HW_DEFAULT_STYLE, name="htmlWindow")` Constructor. The parameters are the same as :meth:`Scrolled.__init__` constructor. :param `parent`: :type `parent`: wx.Window :param `id`: :type `id`: wx.WindowID :param `pos`: :type `pos`: wx.Point :param `size`: :type `size`: wx.Size :param `style`: :type `style`: long :param `name`: :type `name`: string :html:`

` .. staticmethod:: AddFilter(filter) Adds an :ref:`input filter ` to the static list of available filters. These filters are present by default: :: text/html text/plain image/* The plain text filter will be used if no other filter matches. :param `filter`: :type `filter`: wx.html.HtmlFilter .. method:: AppendToPage(self, source) Appends HTML fragment to currently displayed text and refreshes the window. :param `source`: HTML code fragment :type `source`: string :rtype: `bool` :returns: ``False`` if an error occurred, ``True`` otherwise. .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL) :param `variant`: :type `variant`: wx.WindowVariant :rtype: `VisualAttributes` .. staticmethod:: GetDefaultHTMLCursor(type) Retrieves the default cursor for a given HTMLCursor type. :param `type`: HTMLCursor type to retrieve. :type `type`: wx.html.HtmlWindowInterface.HTMLCursor :rtype: `Cursor` .. versionadded:: 4.1/wxWidgets-3.1.0 .. method:: GetInternalRepresentation(self) Returns pointer to the top-level container. :rtype: :ref:`wx.html.HtmlContainerCell` .. seealso:: :ref:`Cells and Containers `, :ref:`Printing Framework Overview ` .. method:: GetOpenedAnchor(self) Returns anchor within currently opened page (see :meth:`wx.html.HtmlWindow.GetOpenedPage` ). If no page is opened or if the displayed page wasn't produced by call to :meth:`LoadPage` , empty string is returned. :rtype: `string` .. method:: GetOpenedPage(self) Returns full location of the opened page. If no page is opened or if the displayed page wasn't produced by call to :meth:`LoadPage` , empty string is returned. :rtype: `string` .. method:: GetOpenedPageTitle(self) Returns title of the opened page or "" if the current page does not contain <``TITLE``> tag. :rtype: `string` .. method:: GetParser(self) Returns a pointer to the current parser. :rtype: :ref:`wx.html.HtmlWinParser` .. method:: GetRelatedFrame(self) Returns the related frame. :rtype: `Frame` .. method:: HistoryBack(self) Moves back to the previous page. Only pages displayed using :meth:`LoadPage` are stored in history list. :rtype: `bool` .. method:: HistoryCanBack(self) Returns ``True`` if it is possible to go back in the history i.e. :meth:`HistoryBack` won't fail. :rtype: `bool` .. method:: HistoryCanForward(self) Returns ``True`` if it is possible to go forward in the history i.e. :meth:`HistoryForward` won't fail. :rtype: `bool` .. method:: HistoryClear(self) Clears history. .. method:: HistoryForward(self) Moves to next page in history. Only pages displayed using :meth:`LoadPage` are stored in history list. :rtype: `bool` .. method:: LoadFile(self, filename) Loads an HTML page from a file and displays it. :param `filename`: :type `filename`: string :rtype: `bool` :returns: ``False`` if an error occurred, ``True`` otherwise .. seealso:: :meth:`LoadPage` .. method:: LoadPage(self, location) Unlike :meth:`SetPage` this function first loads the HTML page from `location` and then displays it. :param `location`: The address of the document. See the :ref:`FileSystem Overview ` for details on the address format and :ref:`wx.FileSystem` for a description of how the file is opened. :type `location`: string :rtype: `bool` :returns: ``False`` if an error occurred, ``True`` otherwise .. seealso:: :meth:`LoadFile` .. method:: OnCellClicked(self, cell, x, y, event) This method is called when a mouse button is clicked inside :ref:`wx.html.HtmlWindow`. The default behaviour is to emit a :ref:`wx.html.HtmlCellEvent` and, if the event was not processed or skipped, call :meth:`OnLinkClicked` if the cell contains a hypertext link. Overloading this method is deprecated; intercept the event instead. :param `cell`: The cell inside which the mouse was clicked, always a simple (i.e. non-container) cell :type `cell`: wx.html.HtmlCell :param `x`: The logical x coordinate of the click point :type `x`: int :param `y`: The logical y coordinate of the click point :type `y`: int :param `event`: The mouse event containing other information about the click :type `event`: wx.MouseEvent :rtype: `bool` :returns: ``True`` if a link was clicked, ``False`` otherwise. .. method:: OnCellMouseHover(self, cell, x, y) This method is called when a mouse moves over an HTML cell. Default behaviour is to emit a :ref:`wx.html.HtmlCellEvent`. Overloading this method is deprecated; intercept the event instead. :param `cell`: The cell inside which the mouse is currently, always a simple (i.e. non-container) cell :type `cell`: wx.html.HtmlCell :param `x`: The logical x coordinate of the click point :type `x`: int :param `y`: The logical y coordinate of the click point :type `y`: int .. method:: OnLinkClicked(self, link) Called when user clicks on hypertext link. Default behaviour is to emit a :ref:`wx.html.HtmlLinkEvent` and, if the event was not processed or skipped, call :meth:`LoadPage` and do nothing else. Overloading this method is deprecated; intercept the event instead. Also see :ref:`wx.html.HtmlLinkInfo`. :param `link`: :type `link`: wx.html.HtmlLinkInfo .. method:: OnOpeningURL(self, type, url) Called when an URL is being opened (either when the user clicks on a link or an image is loaded). The URL will be opened only if :meth:`OnOpeningURL` returns ``HTML_OPEN`` . This method is called by :meth:`wx.html.HtmlParser.OpenURL` . You can override :meth:`OnOpeningURL` to selectively block some URLs (e.g. for security reasons) or to redirect them elsewhere. Default behaviour is to always return ``HTML_OPEN`` . :param `type`: Indicates type of the resource. Is one of - ``wx.html.HTML_URL_PAGE``: Opening a HTML page. - ``wx.html.HTML_URL_IMAGE``: Opening an image. - ``wx.html.HTML_URL_OTHER``: Opening a resource that doesn't fall into any other category. :type `type`: wx.html.HtmlURLType :param `url`: URL being opened. :type `url`: string Pointer to `String` variable that must be filled with an URL if :meth:`OnOpeningURL` returns ``HTML_REDIRECT`` . :rtype: `tuple` - ``wx.html.HTML_OPEN``: Open the URL. - ``wx.html.HTML_BLOCK``: Deny access to the URL, :meth:`wx.html.HtmlParser.OpenURL` will return ``None``. - ``wx.html.HTML_REDIRECT``: Don't open url, redirect to another URL. :meth:`OnOpeningURL` must fill redirect with the new URL. :meth:`OnOpeningURL` will be called again on returned URL. :returns: ( :ref:`wx.html.HtmlOpeningStatus`, `redirectTo` ) .. method:: OnSetTitle(self, title) Called on parsing <``TITLE``> tag. :param `title`: :type `title`: string .. method:: ReadCustomization(self, cfg, path="") This reads custom settings from Config. It uses the path 'path' if given, otherwise it saves info into currently selected path. The values are stored in sub-path :ref:`wx.html.HtmlWindow`. Read values: all things set by :meth:`SetFonts` , :meth:`SetBorders` . :param `cfg`: Config from which you want to read the configuration. :type `cfg`: wx.ConfigBase :param `path`: Optional path in config tree. If not given current path is used. :type `path`: string .. method:: ScrollToAnchor(self, anchor) :param `anchor`: :type `anchor`: :class:`String` :rtype: `bool` .. method:: SelectAll(self) Selects all text in the window. .. seealso:: :meth:`SelectLine` , :meth:`SelectWord` .. method:: SelectLine(self, pos) Selects the line of text that `pos` points at. Note that `pos` is relative to the top of displayed page, not to window's origin, use :meth:`wx.Scrolled.CalcUnscrolledPosition` to convert physical coordinate. :param `pos`: :type `pos`: wx.Point .. seealso:: :meth:`SelectAll` , :meth:`SelectWord` .. method:: SelectWord(self, pos) Selects the word at position `pos`. Note that `pos` is relative to the top of displayed page, not to window's origin, use :meth:`wx.Scrolled.CalcUnscrolledPosition` to convert physical coordinate. :param `pos`: :type `pos`: wx.Point .. seealso:: :meth:`SelectAll` , :meth:`SelectLine` .. method:: SelectionToText(self) Returns the current selection as plain text. Returns an empty string if no text is currently selected. :rtype: `string` .. method:: SetBorders(self, b) This function sets the space between border of window and HTML contents. See image: .. figure:: _static\images\overviews\htmlwin_border.png :align: center | :param `b`: indentation from borders in pixels :type `b`: int .. staticmethod:: SetDefaultHTMLCursor(type, cursor) Sets the default cursor for a given HTMLCursor type. These cursors are used for all :ref:`wx.html.HtmlWindow` objects by default, but can be overridden on a per-window basis. :param `type`: HTMLCursor type to retrieve. :type `type`: wx.html.HtmlWindowInterface.HTMLCursor :param `cursor`: The default cursor for the specified cursor type. :type `cursor`: wx.Cursor .. versionadded:: 4.1/wxWidgets-3.1.0 .. method:: SetFonts(self, normal_face, fixed_face, sizes) This function sets font sizes and faces. See :meth:`wx.html.HtmlDCRenderer.SetFonts` for detailed description. :param `normal_face`: :type `normal_face`: string :param `fixed_face`: :type `fixed_face`: string :param `sizes`: :type `sizes`: list of integers .. seealso:: SetSize() .. method:: SetPage(self, source) Sets the source of a page and displays it, for example: :: htmlwin.SetPage("Hello, world!") If you want to load a document from some location use :meth:`LoadPage` instead. :param `source`: The HTML to be displayed. :type `source`: string :rtype: `bool` :returns: ``False`` if an error occurred, ``True`` otherwise. .. method:: SetRelatedFrame(self, frame, format) Sets the frame in which page title will be displayed. `format` is the format of the frame title, e.g. "HtmlHelp : %s". It must contain exactly one s. This s is substituted with HTML page title. :param `frame`: :type `frame`: wx.Frame :param `format`: :type `format`: string .. method:: SetRelatedStatusBar(self, *args, **kw) |overload| Overloaded Implementations: :html:`

` **SetRelatedStatusBar** `(self, index)` **After** calling :meth:`SetRelatedFrame` , this sets statusbar slot where messages will be displayed. (Default is -1 = no messages.) :param `index`: Statusbar slot number (0..n) :type `index`: int :html:`

` **SetRelatedStatusBar** `(self, statusbar, index=0)` **Sets** the associated statusbar where messages will be displayed. Call this instead of :meth:`SetRelatedFrame` if you want statusbar updates only, no changing of the frame title. :param `statusbar`: Statusbar pointer :type `statusbar`: wx.StatusBar :param `index`: Statusbar slot number (0..n) :type `index`: int .. versionadded:: 2.9.0 :html:`

` .. method:: SetStandardFonts(self, size=-1, normal_face="", fixed_face="") Sets default font sizes and/or default font size. See :meth:`wx.html.HtmlDCRenderer.SetStandardFonts` for detailed description. :param `size`: :type `size`: int :param `normal_face`: :type `normal_face`: string :param `fixed_face`: :type `fixed_face`: string .. seealso:: :meth:`SetFonts` .. method:: ToText(self) Returns content of currently displayed page as plain text. :rtype: `string` .. method:: WriteCustomization(self, cfg, path="") Saves custom settings into Config. It uses the path 'path' if given, otherwise it saves info into currently selected path. Regardless of whether the path is given or not, the function creates sub-path :ref:`wx.html.HtmlWindow`. Saved values: all things set by :meth:`SetFonts` , :meth:`SetBorders` . :param `cfg`: Config to which you want to save the configuration. :type `cfg`: wx.ConfigBase :param `path`: Optional path in config tree. If not given, the current path is used. :type `path`: string .. attribute:: InternalRepresentation See :meth:`~wx.html.HtmlWindow.GetInternalRepresentation` .. attribute:: OpenedAnchor See :meth:`~wx.html.HtmlWindow.GetOpenedAnchor` .. attribute:: OpenedPage See :meth:`~wx.html.HtmlWindow.GetOpenedPage` .. attribute:: OpenedPageTitle See :meth:`~wx.html.HtmlWindow.GetOpenedPageTitle` .. attribute:: Parser See :meth:`~wx.html.HtmlWindow.GetParser` .. attribute:: RelatedFrame See :meth:`~wx.html.HtmlWindow.GetRelatedFrame` and :meth:`~wx.html.HtmlWindow.SetRelatedFrame`