| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: webview.h
- // Purpose: interface of wxWebView
- // Author: wxWidgets team
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- /**
- Zoom levels available in wxWebView
- */
- enum wxWebViewZoom
- {
- wxWEBVIEW_ZOOM_TINY,
- wxWEBVIEW_ZOOM_SMALL,
- wxWEBVIEW_ZOOM_MEDIUM, //!< default size
- wxWEBVIEW_ZOOM_LARGE,
- wxWEBVIEW_ZOOM_LARGEST
- };
- /**
- The type of zooming that the web view control can perform
- */
- enum wxWebViewZoomType
- {
- /**
- The entire layout scales when zooming, including images
- */
- wxWEBVIEW_ZOOM_TYPE_LAYOUT,
- /**
- Only the text changes in size when zooming, images and other layout
- elements retain their initial size
- */
- wxWEBVIEW_ZOOM_TYPE_TEXT
- };
- /**
- Types of errors that can cause navigation to fail
- */
- enum wxWebViewNavigationError
- {
- /** Connection error (timeout, etc.) */
- wxWEBVIEW_NAV_ERR_CONNECTION,
- /** Invalid certificate */
- wxWEBVIEW_NAV_ERR_CERTIFICATE,
- /** Authentication required */
- wxWEBVIEW_NAV_ERR_AUTH,
- /** Other security error */
- wxWEBVIEW_NAV_ERR_SECURITY,
- /** Requested resource not found */
- wxWEBVIEW_NAV_ERR_NOT_FOUND,
- /** Invalid request/parameters (e.g. bad URL, bad protocol,
- unsupported resource type) */
- wxWEBVIEW_NAV_ERR_REQUEST,
- /** The user cancelled (e.g. in a dialog) */
- wxWEBVIEW_NAV_ERR_USER_CANCELLED,
- /** Another (exotic) type of error that didn't fit in other categories*/
- wxWEBVIEW_NAV_ERR_OTHER
- };
- /**
- Type of refresh
- */
- enum wxWebViewReloadFlags
- {
- /** Default reload, will access cache */
- wxWEBVIEW_RELOAD_DEFAULT,
- /** Reload the current view without accessing the cache */
- wxWEBVIEW_RELOAD_NO_CACHE
- };
- /**
- Find flags used when searching for text on page.
- */
- enum wxWebViewFindFlags
- {
- /** Causes the search to restart when end or beginning reached */
- wxWEBVIEW_FIND_WRAP = 0x0001,
- /** Matches an entire word when searching */
- wxWEBVIEW_FIND_ENTIRE_WORD = 0x0002,
- /** Match case, i.e. case sensitive searching */
- wxWEBVIEW_FIND_MATCH_CASE = 0x0004,
- /** Highlights the search results */
- wxWEBVIEW_FIND_HIGHLIGHT_RESULT = 0x0008,
- /** Searches for phrase in backward direction */
- wxWEBVIEW_FIND_BACKWARDS = 0x0010,
- /** The default flag, which is simple searching */
- wxWEBVIEW_FIND_DEFAULT = 0
- };
- /**
- @class wxWebViewHistoryItem
- A simple class that contains the URL and title of an element of the history
- of a wxWebView.
- @since 2.9.3
- @library{wxwebview}
- @category{webview}
- @see wxWebView
- */
- class wxWebViewHistoryItem
- {
- public:
- /**
- Construtor.
- */
- wxWebViewHistoryItem(const wxString& url, const wxString& title);
- /**
- @return The url of the page.
- */
- wxString GetUrl();
- /**
- @return The title of the page.
- */
- wxString GetTitle();
- };
- /**
- @class wxWebViewFactory
- An abstract factory class for creating wxWebView backends. Each
- implementation of wxWebView should have its own factory.
- @since 2.9.5
- @library{wxwebview}
- @category{webview}
- @see wxWebView
- */
- class wxWebViewFactory : public wxObject
- {
- public:
- /**
- Function to create a new wxWebView with two-step creation,
- wxWebView::Create should be called on the returned object.
- @return the created wxWebView
- */
- virtual wxWebView* Create() = 0;
- /**
- Function to create a new wxWebView with parameters.
- @param parent Parent window for the control
- @param id ID of this control
- @param url Initial URL to load
- @param pos Position of the control
- @param size Size of the control
- @param style
- Window style. For generic window styles, please see wxWindow.
- @param name Window name.
- @return the created wxWebView
- */
- virtual wxWebView* Create(wxWindow* parent,
- wxWindowID id,
- const wxString& url = wxWebViewDefaultURLStr,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = 0,
- const wxString& name = wxWebViewNameStr) = 0;
- };
- /**
- @class wxWebViewHandler
- The base class for handling custom schemes in wxWebView, for example to
- allow virtual file system support.
- @since 2.9.3
- @library{wxwebview}
- @category{webview}
- @see wxWebView
- */
- class wxWebViewHandler
- {
- public:
- /**
- Constructor. Takes the name of the scheme that will be handled by this
- class for example @c file or @c zip.
- */
- wxWebViewHandler(const wxString& scheme);
- /**
- @return A pointer to the file represented by @c uri.
- */
- virtual wxFSFile* GetFile(const wxString &uri) = 0;
- /**
- @return The name of the scheme, as passed to the constructor.
- */
- virtual wxString GetName() const;
- };
- /**
- @class wxWebView
- This control may be used to render web (HTML / CSS / javascript) documents.
- It is designed to allow the creation of multiple backends for each port,
- although currently just one is available. It differs from wxHtmlWindow in
- that each backend is actually a full rendering engine, Trident on MSW and
- Webkit on OSX and GTK. This allows the correct viewing complex pages with
- javascript and css.
- @section descriptions Backend Descriptions
- @par wxWEBVIEW_BACKEND_IE (MSW)
- The IE backend uses Microsoft's Trident rendering engine, specifically the
- version used by the locally installed copy of Internet Explorer. As such it
- is only available for the MSW port. By default recent versions of the
- <a href="http://msdn.microsoft.com/en-us/library/aa752085%28v=VS.85%29.aspx">WebBrowser</a>
- control, which this backend uses, emulate Internet Explorer 7. This can be
- changed with a registry setting, see
- <a href="http://msdn.microsoft.com/en-us/library/ee330730%28v=vs.85%29.aspx#browser_emulation">
- this</a> article for more information. This backend has full support for
- custom schemes and virtual file systems.
- @par wxWEBVIEW_WEBKIT (GTK)
- Under GTK the WebKit backend uses
- <a href="http://webkitgtk.org/">WebKitGTK+</a>. The current minimum version
- required is 1.3.1 which ships by default with Ubuntu Natty and Debian
- Wheezy and has the package name libwebkitgtk-dev. Custom schemes and
- virtual files systems are supported under this backend, however embedded
- resources such as images and stylesheets are currently loaded using the
- data:// scheme.
- @par wxWEBVIEW_WEBKIT (OSX)
- The OSX WebKit backend uses Apple's
- <a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/WebKit/Classes/WebView_Class/Reference/Reference.html#//apple_ref/doc/uid/20001903">WebView</a>
- class. This backend has full support for custom schemes and virtual file
- systems.
- @section async Asynchronous Notifications
- Many of the methods in wxWebView are asynchronous, i.e. they return
- immediately and perform their work in the background. This includes
- functions such as LoadURL() and Reload(). To receive notification of the
- progress and completion of these functions you need to handle the events
- that are provided. Specifically @c wxEVT_WEBVIEW_LOADED notifies
- when the page or a sub-frame has finished loading and
- @c wxEVT_WEBVIEW_ERROR notifies that an error has occurred.
- @section vfs Virtual File Systems and Custom Schemes
- wxWebView supports the registering of custom scheme handlers, for example
- @c file or @c http. To do this create a new class which inherits from
- wxWebViewHandler, where wxWebHandler::GetFile() returns a pointer to a
- wxFSFile which represents the given url. You can then register your handler
- with RegisterHandler() it will be called for all pages and resources.
- wxWebViewFSHandler is provided to access the virtual file system encapsulated by
- wxFileSystem. The wxMemoryFSHandler documentation gives an example of how this
- may be used.
- wxWebViewArchiveHandler is provided to allow the navigation of pages inside a zip
- archive. It supports paths of the form:
- @c scheme:///C:/example/docs.zip;protocol=zip/main.htm
- @beginEventEmissionTable{wxWebViewEvent}
- @event{EVT_WEBVIEW_NAVIGATING(id, func)}
- Process a @c wxEVT_WEBVIEW_NAVIGATING event, generated before trying
- to get a resource. This event may be vetoed to prevent navigating to this
- resource. Note that if the displayed HTML document has several frames, one
- such event will be generated per frame.
- @event{EVT_WEBVIEW_NAVIGATED(id, func)}
- Process a @c wxEVT_WEBVIEW_NAVIGATED event generated after it was
- confirmed that a resource would be requested. This event may not be vetoed.
- Note that if the displayed HTML document has several frames, one such event
- will be generated per frame.
- @event{EVT_WEBVIEW_LOADED(id, func)}
- Process a @c wxEVT_WEBVIEW_LOADED event generated when the document
- is fully loaded and displayed. Note that if the displayed HTML document has
- several frames, one such event will be generated per frame.
- @event{EVT_WEBVIEW_ERROR(id, func)}
- Process a @c wxEVT_WEBVIEW_ERROR event generated when a navigation
- error occurs.
- The integer associated with this event will be a wxWebNavigationError item.
- The string associated with this event may contain a backend-specific more
- precise error message/code.
- @event{EVT_WEBVIEW_NEWWINDOW(id, func)}
- Process a @c wxEVT_WEBVIEW_NEWWINDOW event, generated when a new
- window is created. You must handle this event if you want anything to
- happen, for example to load the page in a new window or tab.
- @event{EVT_WEBVIEW_TITLE_CHANGED(id, func)}
- Process a @c wxEVT_WEBVIEW_TITLE_CHANGED event, generated when
- the page title changes. Use GetString to get the title.
- @endEventTable
- @since 2.9.3
- @library{wxwebview}
- @category{ctrl,webview}
- @see wxWebViewHandler, wxWebViewEvent
- */
- class wxWebView : public wxControl
- {
- public:
- /**
- Creation function for two-step creation.
- */
- virtual bool Create(wxWindow* parent,
- wxWindowID id,
- const wxString& url = wxWebViewDefaultURLStr,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = 0,
- const wxString& name = wxWebViewNameStr) = 0;
- /**
- Factory function to create a new wxWebView with two-step creation,
- wxWebView::Create should be called on the returned object.
- @param backend The backend web rendering engine to use.
- @c wxWebViewBackendDefault, @c wxWebViewBackendIE and
- @c wxWebViewBackendWebKit are predefined where appropriate.
- @return The created wxWebView
- @since 2.9.5
- */
- static wxWebView* New(const wxString& backend = wxWebViewBackendDefault);
-
- /**
- Factory function to create a new wxWebView using a wxWebViewFactory.
- @param parent Parent window for the control
- @param id ID of this control
- @param url Initial URL to load
- @param pos Position of the control
- @param size Size of the control
- @param backend The backend web rendering engine to use.
- @c wxWebViewBackendDefault, @c wxWebViewBackendIE and
- @c wxWebViewBackendWebKit are predefined where appropriate.
- @param style
- Window style. For generic window styles, please see wxWindow.
- @param name Window name.
- @return The created wxWebView, or @c NULL if the requested backend
- is not available
- @since 2.9.5
- */
- static wxWebView* New(wxWindow* parent,
- wxWindowID id,
- const wxString& url = wxWebViewDefaultURLStr,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- const wxString& backend = wxWebViewBackendDefault,
- long style = 0,
- const wxString& name = wxWebViewNameStr);
- /**
- Allows the registering of new backend for wxWebView. @a backend can be
- used as an argument to New().
- @param backend The name for the new backend to be registered under
- @param factory A shared pointer to the factory which creates the
- appropriate backend.
- @since 2.9.5
- */
- static void RegisterFactory(const wxString& backend,
- wxSharedPtr<wxWebViewFactory> factory);
- /**
- Get the title of the current web page, or its URL/path if title is not
- available.
- */
- virtual wxString GetCurrentTitle() const = 0;
- /**
- Get the URL of the currently displayed document.
- */
- virtual wxString GetCurrentURL() const = 0;
- /**
- Return the pointer to the native backend used by this control.
- This method can be used to retrieve the pointer to the native rendering
- engine used by this control. The return value needs to be down-casted
- to the appropriate type depending on the platform: under Windows, it's
- a pointer to IWebBrowser2 interface, under OS X it's a WebView pointer
- and under GTK it's a WebKitWebView.
- For example, you could set the WebKit options using this method:
- @code
- #include <webkit/webkit.h>
- #ifdef __WXGTK__
- WebKitWebView*
- wv = static_cast<WebKitWebView*>(m_window->GetNativeBackend());
- WebKitWebSettings* settings = webkit_web_view_get_settings(wv);
- g_object_set(G_OBJECT(settings),
- "enable-frame-flattening", TRUE,
- NULL);
- #endif
- @endcode
- @since 2.9.5
- */
- virtual void* GetNativeBackend() const = 0;
- /**
- Get the HTML source code of the currently displayed document.
- @return The HTML source code, or an empty string if no page is currently
- shown.
- */
- virtual wxString GetPageSource() const = 0;
- /**
- Get the text of the current page.
- */
- virtual wxString GetPageText() const = 0;
- /**
- Returns whether the web control is currently busy (e.g.\ loading a page).
- */
- virtual bool IsBusy() const = 0;
- /**
- Returns whether the web control is currently editable
- */
- virtual bool IsEditable() const = 0;
- /**
- Load a web page from a URL
- @param url The URL of the page to be loaded.
- @note Web engines generally report errors asynchronously, so if you wish
- to know whether loading the URL was successful, register to receive
- navigation error events.
- */
- virtual void LoadURL(const wxString& url) = 0;
- /**
- Opens a print dialog so that the user may print the currently
- displayed page.
- */
- virtual void Print() = 0;
- /**
- Registers a custom scheme handler.
- @param handler A shared pointer to a wxWebHandler.
- */
- virtual void RegisterHandler(wxSharedPtr<wxWebViewHandler> handler) = 0;
- /**
- Reload the currently displayed URL.
- @param flags A bit array that may optionally contain reload options.
- */
- virtual void Reload(wxWebViewReloadFlags flags = wxWEBVIEW_RELOAD_DEFAULT) = 0;
- /**
- Runs the given javascript code.
- @note When using wxWEBVIEW_BACKEND_IE you must wait for the current
- page to finish loading before calling RunScript().
- */
- virtual void RunScript(const wxString& javascript) = 0;
- /**
- Set the editable property of the web control. Enabling allows the user
- to edit the page even if the @c contenteditable attribute is not set.
- The exact capabilities vary with the backend being used.
- */
- virtual void SetEditable(bool enable = true) = 0;
- /**
- Set the displayed page source to the contents of the given string.
- @param html The string that contains the HTML data to display.
- @param baseUrl URL assigned to the HTML data, to be used to resolve
- relative paths, for instance.
- @note When using @c wxWEBVIEW_BACKEND_IE you must wait for the current
- page to finish loading before calling SetPage(). The baseURL
- parameter is not used in this backend.
- */
- virtual void SetPage(const wxString& html, const wxString& baseUrl) = 0;
- /**
- Set the displayed page source to the contents of the given stream.
- @param html The stream to read HTML data from.
- @param baseUrl URL assigned to the HTML data, to be used to resolve
- relative paths, for instance.
- */
- virtual void SetPage(wxInputStream& html, wxString baseUrl);
- /**
- Stop the current page loading process, if any.
- May trigger an error event of type @c wxWEBVIEW_NAV_ERR_USER_CANCELLED.
- TODO: make @c wxWEBVIEW_NAV_ERR_USER_CANCELLED errors uniform across ports.
- */
- virtual void Stop() = 0;
- /**
- @name Clipboard
- */
- /**
- Returns @true if the current selection can be copied.
- @note This always returns @c true on the OSX WebKit backend.
- */
- virtual bool CanCopy() const = 0;
- /**
- Returns @true if the current selection can be cut.
- @note This always returns @c true on the OSX WebKit backend.
- */
- virtual bool CanCut() const = 0;
- /**
- Returns @true if data can be pasted.
- @note This always returns @c true on the OSX WebKit backend.
- */
- virtual bool CanPaste() const = 0;
- /**
- Copies the current selection.
- */
- virtual void Copy() = 0;
- /**
- Cuts the current selection.
- */
- virtual void Cut() = 0;
- /**
- Pastes the current data.
- */
- virtual void Paste() = 0;
- /**
- @name Context Menu
- */
- /**
- Enable or disable the right click context menu.
- By default the standard context menu is enabled, this method can be
- used to disable it or re-enable it later.
- @since 2.9.5
- */
- virtual void EnableContextMenu(bool enable = true);
- /**
- Returns @true if a context menu will be shown on right click.
- @since 2.9.5
- */
- virtual bool IsContextMenuEnabled() const;
- /**
- @name History
- */
- /**
- Returns @true if it is possible to navigate backward in the history of
- visited pages.
- */
- virtual bool CanGoBack() const = 0;
- /**
- Returns @true if it is possible to navigate forward in the history of
- visited pages.
- */
- virtual bool CanGoForward() const = 0;
- /**
- Clear the history, this will also remove the visible page.
- */
- virtual void ClearHistory() = 0;
- /**
- Enable or disable the history. This will also clear the history.
- */
- virtual void EnableHistory(bool enable = true) = 0;
- /**
- Returns a list of items in the back history. The first item in the
- vector is the first page that was loaded by the control.
- */
- virtual wxVector<wxSharedPtr<wxWebViewHistoryItem> > GetBackwardHistory() = 0;
- /**
- Returns a list of items in the forward history. The first item in the
- vector is the next item in the history with respect to the currently
- loaded page.
- */
- virtual wxVector<wxSharedPtr<wxWebViewHistoryItem> > GetForwardHistory() = 0;
- /**
- Navigate back in the history of visited pages.
- Only valid if CanGoBack() returns true.
- */
- virtual void GoBack() = 0;
- /**
- Navigate forward in the history of visited pages.
- Only valid if CanGoForward() returns true.
- */
- virtual void GoForward() = 0;
- /**
- Loads a history item.
- */
- virtual void LoadHistoryItem(wxSharedPtr<wxWebViewHistoryItem> item) = 0;
- /**
- @name Selection
- */
- /**
- Clears the current selection.
- */
- virtual void ClearSelection() = 0;
- /**
- Deletes the current selection. Note that for @c wxWEBVIEW_BACKEND_WEBKIT
- the selection must be editable, either through SetEditable or the
- correct HTML attribute.
- */
- virtual void DeleteSelection() = 0;
- /**
- Returns the currently selected source, if any.
- */
- virtual wxString GetSelectedSource() const = 0;
- /**
- Returns the currently selected text, if any.
- */
- virtual wxString GetSelectedText() const = 0;
- /**
- Returns @true if there is a current selection.
- */
- virtual bool HasSelection() const = 0;
- /**
- Selects the entire page.
- */
- virtual void SelectAll() = 0;
- /**
- @name Undo / Redo
- */
- /**
- Returns @true if there is an action to redo.
- */
- virtual bool CanRedo() const = 0;
- /**
- Returns @true if there is an action to undo.
- */
- virtual bool CanUndo() const = 0;
- /**
- Redos the last action.
- */
- virtual void Redo() = 0;
- /**
- Undos the last action.
- */
- virtual void Undo() = 0;
- /**
- @name Finding
- */
- /**
- Finds a phrase on the current page and if found, the control will
- scroll the phrase into view and select it.
- @param text The phrase to search for.
- @param flags The flags for the search.
- @return If search phrase was not found in combination with the flags
- then @c wxNOT_FOUND is returned. If called for the first time
- with search phrase then the total number of results will be
- returned. Then for every time its called with the same search
- phrase it will return the number of the current match.
- @note This function will restart the search if the flags
- @c wxWEBVIEW_FIND_ENTIRE_WORD or @c wxWEBVIEW_FIND_MATCH_CASE
- are changed, since this will require a new search. To reset the
- search, for example resetting the highlights call the function
- with an empty search phrase. This always returns @c wxNOT_FOUND
- on the OSX WebKit backend.
- @since 2.9.5
- */
- virtual long Find(const wxString& text, wxWebViewFindFlags flags = wxWEBVIEW_FIND_DEFAULT) = 0;
- /**
- @name Zoom
- */
- /**
- Retrieve whether the current HTML engine supports a zoom type.
- @param type The zoom type to test.
- @return Whether this type of zoom is supported by this HTML engine
- (and thus can be set through SetZoomType()).
- */
- virtual bool CanSetZoomType(wxWebViewZoomType type) const = 0;
- /**
- Get the zoom factor of the page.
- @return The current level of zoom.
- */
- virtual wxWebViewZoom GetZoom() const = 0;
- /**
- Get how the zoom factor is currently interpreted.
- @return How the zoom factor is currently interpreted by the HTML engine.
- */
- virtual wxWebViewZoomType GetZoomType() const = 0;
- /**
- Set the zoom factor of the page.
- @param zoom How much to zoom (scale) the HTML document.
- */
- virtual void SetZoom(wxWebViewZoom zoom) = 0;
- /**
- Set how to interpret the zoom factor.
- @param zoomType How the zoom factor should be interpreted by the
- HTML engine.
- @note invoke CanSetZoomType() first, some HTML renderers may not
- support all zoom types.
- */
- virtual void SetZoomType(wxWebViewZoomType zoomType) = 0;
- };
- /**
- @class wxWebViewEvent
- A navigation event holds information about events associated with
- wxWebView objects.
- @beginEventEmissionTable{wxWebViewEvent}
- @event{EVT_WEBVIEW_NAVIGATING(id, func)}
- Process a @c wxEVT_WEBVIEW_NAVIGATING event, generated before trying
- to get a resource. This event may be vetoed to prevent navigating to this
- resource. Note that if the displayed HTML document has several frames, one
- such event will be generated per frame.
- @event{EVT_WEBVIEW_NAVIGATED(id, func)}
- Process a @c wxEVT_WEBVIEW_NAVIGATED event generated after it was
- confirmed that a resource would be requested. This event may not be vetoed.
- Note that if the displayed HTML document has several frames, one such event
- will be generated per frame.
- @event{EVT_WEBVIEW_LOADED(id, func)}
- Process a @c wxEVT_WEBVIEW_LOADED event generated when the document
- is fully loaded and displayed. Note that if the displayed HTML document has
- several frames, one such event will be generated per frame.
- @event{EVT_WEBVIEW_ERROR(id, func)}
- Process a @c wxEVT_WEBVIEW_ERROR event generated when a navigation
- error occurs.
- The integer associated with this event will be a #wxWebViewNavigationError item.
- The string associated with this event may contain a backend-specific more
- precise error message/code.
- @event{EVT_WEBVIEW_NEWWINDOW(id, func)}
- Process a @c wxEVT_WEBVIEW_NEWWINDOW event, generated when a new
- window is created. You must handle this event if you want anything to
- happen, for example to load the page in a new window or tab.
- @event{EVT_WEBVIEW_TITLE_CHANGED(id, func)}
- Process a @c wxEVT_WEBVIEW_TITLE_CHANGED event, generated when
- the page title changes. Use GetString to get the title.
- @endEventTable
- @since 2.9.3
- @library{wxwebview}
- @category{events,webview}
- @see wxWebView
- */
- class wxWebViewEvent : public wxNotifyEvent
- {
- public:
- wxWebViewEvent();
- wxWebViewEvent(wxEventType type, int id, const wxString href,
- const wxString target);
- /**
- Get the name of the target frame which the url of this event
- has been or will be loaded into. This may return an empty string
- if the frame is not available.
- */
- const wxString& GetTarget() const;
- /**
- Get the URL being visited
- */
- const wxString& GetURL() const;
- };
- wxEventType wxEVT_WEBVIEW_NAVIGATING;
- wxEventType wxEVT_WEBVIEW_NAVIGATED;
- wxEventType wxEVT_WEBVIEW_LOADED;
- wxEventType wxEVT_WEBVIEW_ERROR;
- wxEventType wxEVT_WEBVIEW_NEWWINDOW;
- wxEventType wxEVT_WEBVIEW_TITLE_CHANGED;
|