Add wxWebView::GetNativeBackend() method.
This allows to use platform-specific methods in user code. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -114,6 +114,8 @@ public:
|
||||
virtual void RegisterHandler(wxSharedPtr<wxWebViewHandler> handler);
|
||||
virtual wxVector<wxSharedPtr<wxWebViewHandler> > GetHandlers() { return m_handlerList; }
|
||||
|
||||
virtual void* GetNativeBackend() const { return m_web_view; }
|
||||
|
||||
/** TODO: check if this can be made private
|
||||
* The native control has a getter to check for busy state, but except in
|
||||
* very recent versions of webkit this getter doesn't say everything we need
|
||||
|
@@ -337,6 +337,8 @@ public:
|
||||
//Virtual Filesystem Support
|
||||
virtual void RegisterHandler(wxSharedPtr<wxWebViewHandler> handler);
|
||||
|
||||
virtual void* GetNativeBackend() const { return m_webBrowser; }
|
||||
|
||||
// ---- IE-specific methods
|
||||
|
||||
// FIXME: I seem to be able to access remote webpages even in offline mode...
|
||||
|
@@ -111,6 +111,8 @@ public:
|
||||
//Virtual Filesystem Support
|
||||
virtual void RegisterHandler(wxSharedPtr<wxWebViewHandler> handler);
|
||||
|
||||
virtual void* GetNativeBackend() const { return m_webView; }
|
||||
|
||||
// ---- methods not from the parent (common) interface
|
||||
bool CanGetPageSource() const;
|
||||
|
||||
|
@@ -179,6 +179,9 @@ public:
|
||||
virtual void Undo() = 0;
|
||||
virtual void Redo() = 0;
|
||||
|
||||
//Get the pointer to the underlying native engine.
|
||||
virtual void* GetNativeBackend() const = 0;
|
||||
|
||||
protected:
|
||||
virtual void DoSetPage(const wxString& html, const wxString& baseUrl) = 0;
|
||||
|
||||
|
@@ -304,6 +304,34 @@ public:
|
||||
*/
|
||||
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
|
||||
|
Reference in New Issue
Block a user