]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/webview.h
Update of OpenVMS compile support
[wxWidgets.git] / include / wx / webview.h
index a58fd87f979aec202adba6d8c843f199f892363c..72f9f180de28759e2f9df6cb8ce81d587015151a 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef _WX_WEB_VIEW_H_
 #define _WX_WEB_VIEW_H_
 
-#include "wx/setup.h"
+#include "wx/defs.h"
 
 #if wxUSE_WEBVIEW
 
 #include "wx/sharedptr.h"
 #include "wx/vector.h"
 
-#include "wx/osx/webviewhistoryitem_webkit.h"
-#include "wx/gtk/webviewhistoryitem_webkit.h"
-#include "wx/msw/webviewhistoryitem_ie.h"
+#if defined(__WXOSX__)
+    #include "wx/osx/webviewhistoryitem_webkit.h"
+#elif defined(__WXGTK__)
+    #include "wx/gtk/webviewhistoryitem_webkit.h"
+#elif defined(__WXMSW__)
+    #include "wx/msw/webviewhistoryitem_ie.h"
+#else
+    #error "wxWebView not implemented on this platform."
+#endif
 
 class wxFSFile;
 class wxFileSystem;
@@ -59,7 +65,7 @@ enum wxWebViewReloadFlags
 {
     //Default, may access cache
     wxWEB_VIEW_RELOAD_DEFAULT,
-    wxWEB_VIEW_RELOAD_NO_CACHE 
+    wxWEB_VIEW_RELOAD_NO_CACHE
 };
 
 enum wxWebViewBackend
@@ -87,14 +93,15 @@ extern WXDLLIMPEXP_DATA_WEBVIEW(const char) wxWebViewDefaultURLStr[];
 class WXDLLIMPEXP_WEBVIEW wxWebView : public wxControl
 {
 public:
+    virtual ~wxWebView() {}
 
     virtual bool Create(wxWindow* parent,
            wxWindowID id,
-           const wxString& url,
-           const wxPoint& pos,
-           const wxSize& size,
-           long style,
-           const wxString& name) = 0;
+           const wxString& url = wxWebViewDefaultURLStr,
+           const wxPoint& pos = wxDefaultPosition,
+           const wxSize& size = wxDefaultSize,
+           long style = 0,
+           const wxString& name = wxWebViewNameStr) = 0;
 
     static wxWebView* New(wxWebViewBackend backend = wxWEB_VIEW_BACKEND_DEFAULT);
     static wxWebView* New(wxWindow* parent,
@@ -120,12 +127,15 @@ public:
     virtual void Reload(wxWebViewReloadFlags flags = wxWEB_VIEW_RELOAD_DEFAULT) = 0;
     virtual void RunScript(const wxString& javascript) = 0;
     virtual void SetEditable(bool enable = true) = 0;
-    virtual void SetPage(const wxString& html, const wxString& baseUrl) = 0;
-    virtual void SetPage(wxInputStream& html, wxString baseUrl)
+    void SetPage(const wxString& html, const wxString& baseUrl)
+    {
+        DoSetPage(html, baseUrl);
+    }
+    void SetPage(wxInputStream& html, wxString baseUrl)
     {
         wxStringOutputStream stream;
         stream.Write(html);
-        SetPage(stream.GetString(), baseUrl);
+        DoSetPage(stream.GetString(), baseUrl);
     }
     virtual void Stop() = 0;
 
@@ -169,6 +179,12 @@ 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;
+
     wxDECLARE_ABSTRACT_CLASS(wxWebView);
 };
 
@@ -218,7 +234,7 @@ typedef void (wxEvtHandler::*wxWebViewEventFunction)
     wx__DECLARE_EVT1(wxEVT_COMMAND_WEB_VIEW_LOADED, id, \
                      wxWebViewEventHandler(fn))
 
-#define EVT_WEB_VIEW_ERRROR(id, fn) \
+#define EVT_WEB_VIEW_ERROR(id, fn) \
     wx__DECLARE_EVT1(wxEVT_COMMAND_WEB_VIEW_ERROR, id, \
                      wxWebViewEventHandler(fn))