]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/webview_webkit.h
Add support for loading resources in custom schemes for the WebKitGTK+ backend.
[wxWidgets.git] / include / wx / osx / webview_webkit.h
index 5a068d9b8f61a37e80def74226d170006c1f834e..cf873771a731369b277ef5c16d1f6a7b93f173c9 100644 (file)
@@ -15,7 +15,8 @@
 
 #include "wx/setup.h"
 
-#if wxUSE_WEBKIT && (defined(__WXMAC__) || defined(__WXCOCOA__))
+#if wxUSE_WEBVIEW_WEBKIT && (defined(__WXOSX_COCOA__) \
+                         ||  defined(__WXOSX_CARBON__))
 
 #include "wx/control.h"
 #include "wx/webview.h"
@@ -24,6 +25,9 @@
 // Web Kit Control
 // ----------------------------------------------------------------------------
 
+class wxMacControl;
+class wxWidgetCocoaImpl;
+
 class WXDLLIMPEXP_WEB wxWebViewWebKit : public wxWebView
 {
 public:
@@ -56,9 +60,12 @@ public:
     virtual void Reload(wxWebViewReloadFlags flags = wxWEB_VIEW_RELOAD_DEFAULT);
     virtual void Stop();
     virtual wxString GetPageSource();
+    virtual wxString GetPageText() { return ""; }
     virtual void SetPageTitle(const wxString& title) { m_pageTitle = title; }
     virtual wxString GetPageTitle(){ return m_pageTitle; }
 
+    //We do not want to hide the other overloads
+    using wxWebView::SetPage;
     virtual void SetPage(const wxString& html, const wxString& baseUrl);
 
     virtual void Print();
@@ -77,12 +84,12 @@ public:
     
     //History functions
     virtual void ClearHistory() {}
-    virtual void EnableHistory(bool enable = true) {}
+    virtual void EnableHistory(bool enable = true);
     virtual wxVector<wxSharedPtr<wxWebHistoryItem> > GetBackwardHistory()
-            { return wxVector<wxSharedPtr<wxWebHistoryItem> >() }
+            { return wxVector<wxSharedPtr<wxWebHistoryItem> >(); }
     virtual wxVector<wxSharedPtr<wxWebHistoryItem> > GetForwardHistory() 
-            { return wxVector<wxSharedPtr<wxWebHistoryItem> >() }
-    virtual void LoadHistoryItem(wxSharedPtr<wxWebHistoryItem> item) {}
+            { return wxVector<wxSharedPtr<wxWebHistoryItem> >(); }
+    virtual void LoadHistoryItem(wxSharedPtr<wxWebHistoryItem> WXUNUSED(item)) {}
     
     //Undo / redo functionality
     virtual bool CanUndo() { return false; }
@@ -97,20 +104,30 @@ public:
     virtual void Cut();
     virtual void Copy();
     virtual void Paste();
+    
+    //Editing functions
+    virtual void SetEditable(bool enable = true);
+    virtual bool IsEditable();
+    
+    //Selection
+    virtual void DeleteSelection();
+    virtual bool HasSelection();
+    virtual void SelectAll() {};
+    virtual wxString GetSelectedText();
+    virtual wxString GetSelectedSource() { return ""; }
+    virtual void ClearSelection() {}
+    
+    void RunScript(const wxString& javascript);
+    
+    //Virtual Filesystem Support
+    virtual void RegisterHandler(wxWebHandler* WXUNUSED(handler)) {};
 
     // ---- methods not from the parent (common) interface
-    wxString GetSelectedText();
-
-    wxString RunScript(const wxString& javascript);
-
     bool  CanGetPageSource();
 
     void  SetScrollPos(int pos);
     int   GetScrollPos();
 
-    void  MakeEditable(bool enable = true);
-    bool  IsEditable();
-
     wxString GetSelection();
 
     bool  CanIncreaseTextSize();
@@ -150,6 +167,12 @@ private:
     void* m_webKitCtrlEventHandler;
     //It should be WebView*, but WebView is an Objective-C class
     //TODO: look into using DECLARE_WXCOCOA_OBJC_CLASS rather than this.
+    
+#if wxOSX_USE_CARBON
+    wxMacControl *m_peer;
+#else
+    wxWidgetCocoaImpl *m_peer;
+#endif
 };
 
 #endif // wxUSE_WEBKIT