]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/webview.h
Initial work on virtual file system support for the WebKitGTK+ backend. It now suppor...
[wxWidgets.git] / include / wx / webview.h
index da306c1be1d5cf38b0b23cb063afb7c5c98ec2d2..0bc9f8547e4992ac60ecf873c4ab0a784ba062c3 100644 (file)
 #include "wx/sharedptr.h"
 #include "wx/vector.h"
 
+#include "wx/osx/webhistoryitem_webkit.h"
+#include "wx/gtk/webhistoryitem_webkit.h"
+#include "wx/msw/webhistoryitem_ie.h"
+
 class wxFSFile;
 class wxFileSystem;
 
-class WXDLLIMPEXP_WEB wxWebHistoryItem
-{
-public:
-    wxWebHistoryItem(const wxString& url, const wxString& title) : 
-                     m_url(url), m_title(title) {}
-    wxString GetUrl() { return m_url; }
-    wxString GetTitle() { return m_title; }
-
-private:
-    wxString m_url, m_title;
-};
 
 /**
  * Zoom level in web view component
@@ -107,29 +100,15 @@ enum wxWebViewBackend
     wxWEB_VIEW_BACKEND_IE
 };
 
-//Base class for custom protocol handlers
-class WXDLLIMPEXP_WEB wxWebProtocolHandler
+//Base class for custom scheme handlers
+class WXDLLIMPEXP_WEB wxWebHandler
 {
 public:
-    virtual wxString GetProtocol() = 0;
+    virtual wxString GetName() const = 0;
     virtual wxFSFile* GetFile(const wxString &uri) = 0;
     virtual wxString CombineURIs(const wxString &baseuri, const wxString &newuri) = 0;
 };
 
-//Loads from uris such as file:///C:/example/example.html or archives such as
-//file:///C:/example/example.zip?protocol=zip;path=example.html 
-class WXDLLIMPEXP_WEB wxWebFileProtocolHandler : public wxWebProtocolHandler
-{
-public:
-    wxWebFileProtocolHandler();
-    virtual wxString GetProtocol() { return m_protocol; }
-    virtual wxFSFile* GetFile(const wxString &uri);
-    virtual wxString CombineURIs(const wxString &baseuri, const wxString &newuri);
-private:
-    wxString m_protocol;
-    wxFileSystem* m_fileSystem;
-};
-
 extern WXDLLIMPEXP_DATA_WEB(const char) wxWebViewNameStr[];
 extern WXDLLIMPEXP_DATA_WEB(const char) wxWebViewDefaultURLStr[];
 
@@ -361,7 +340,9 @@ public:
     virtual void Redo() = 0;
 
     //Virtual Filesystem Support
-    virtual void RegisterProtocol(wxWebProtocolHandler* handler) = 0;
+    virtual void RegisterHandler(wxWebHandler* handler) = 0;
+
+    wxDECLARE_ABSTRACT_CLASS(wxWebView);
 };
 
 class WXDLLIMPEXP_WEB wxWebNavigationEvent : public wxCommandEvent