]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/webview_webkit.h
removing NSWindow based mouse tracking in favour of 10.5+ trackingArea implementation
[wxWidgets.git] / include / wx / osx / webview_webkit.h
index 047f6c7eb8a493d1b55dcca1e7a5e269bc06536c..7fea5243a78d533bd5e6002e60a679f329be3c3c 100644 (file)
@@ -15,8 +15,8 @@
 
 #include "wx/setup.h"
 
-#if wxUSE_WEBVIEW_WEBKIT && (defined(__WXOSX_COCOA__) \
-                         ||  defined(__WXOSX_CARBON__))
+#if wxUSE_WEBVIEW && wxUSE_WEBVIEW_WEBKIT && (defined(__WXOSX_COCOA__) \
+                                          ||  defined(__WXOSX_CARBON__))
 
 #include "wx/control.h"
 #include "wx/webview.h"
 // Web Kit Control
 // ----------------------------------------------------------------------------
 
-class wxMacControl;
-class wxWidgetCocoaImpl;
-
-class WXDLLIMPEXP_WEB wxWebViewWebKit : public wxWebView
+class WXDLLIMPEXP_WEBVIEW wxWebViewWebKit : public wxWebView
 {
 public:
     wxDECLARE_DYNAMIC_CLASS(wxWebViewWebKit);
@@ -51,18 +48,14 @@ public:
                 const wxString& name = wxWebViewNameStr);
     virtual ~wxWebViewWebKit();
 
-    void InternalLoadURL(const wxString &url);
-
-    virtual bool CanGoBack();
-    virtual bool CanGoForward();
+    virtual bool CanGoBack() const;
+    virtual bool CanGoForward() const;
     virtual void GoBack();
     virtual void GoForward();
     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; }
+    virtual wxString GetPageSource() const;
+    virtual wxString GetPageText() const;
 
     //We do not want to hide the other overloads
     using wxWebView::SetPage;
@@ -70,72 +63,68 @@ public:
 
     virtual void Print();
 
-    virtual void LoadUrl(const wxString& url);
-    virtual wxString GetCurrentURL();
-    virtual wxString GetCurrentTitle();
-    virtual wxWebViewZoom GetZoom();
+    virtual void LoadURL(const wxString& url);
+    virtual wxString GetCurrentURL() const;
+    virtual wxString GetCurrentTitle() const;
+    virtual wxWebViewZoom GetZoom() const;
     virtual void SetZoom(wxWebViewZoom zoom);
 
     virtual void SetZoomType(wxWebViewZoomType zoomType);
     virtual wxWebViewZoomType GetZoomType() const;
     virtual bool CanSetZoomType(wxWebViewZoomType type) const;
 
-    virtual bool IsBusy() { return m_busy; }
+    virtual bool IsBusy() const { return m_busy; }
     
     //History functions
-    virtual void ClearHistory() {}
+    virtual void ClearHistory();
     virtual void EnableHistory(bool enable = true);
-    virtual wxVector<wxSharedPtr<wxWebHistoryItem> > GetBackwardHistory()
-            { return wxVector<wxSharedPtr<wxWebHistoryItem> >(); }
-    virtual wxVector<wxSharedPtr<wxWebHistoryItem> > GetForwardHistory() 
-            { return wxVector<wxSharedPtr<wxWebHistoryItem> >(); }
-    virtual void LoadHistoryItem(wxSharedPtr<wxWebHistoryItem> WXUNUSED(item)) {}
+    virtual wxVector<wxSharedPtr<wxWebViewHistoryItem> > GetBackwardHistory();
+    virtual wxVector<wxSharedPtr<wxWebViewHistoryItem> > GetForwardHistory();
+    virtual void LoadHistoryItem(wxSharedPtr<wxWebViewHistoryItem> item);
     
     //Undo / redo functionality
-    virtual bool CanUndo();
-    virtual bool CanRedo();
+    virtual bool CanUndo() const;
+    virtual bool CanRedo() const;
     virtual void Undo();
     virtual void Redo();
 
     //Clipboard functions
-    virtual bool CanCut() { return false; }
-    virtual bool CanCopy() { return false; }
-    virtual bool CanPaste() { return false; }
+    virtual bool CanCut() const { return true; }
+    virtual bool CanCopy() const { return true; }
+    virtual bool CanPaste() const { return true; }
     virtual void Cut();
     virtual void Copy();
     virtual void Paste();
     
     //Editing functions
     virtual void SetEditable(bool enable = true);
-    virtual bool IsEditable();
+    virtual bool IsEditable() const;
     
     //Selection
     virtual void DeleteSelection();
-    virtual bool HasSelection();
-    virtual void SelectAll() {};
-    virtual wxString GetSelectedText();
-    virtual wxString GetSelectedSource() { return ""; }
-    virtual void ClearSelection() {}
+    virtual bool HasSelection() const;
+    virtual void SelectAll();
+    virtual wxString GetSelectedText() const;
+    virtual wxString GetSelectedSource() const;
+    virtual void ClearSelection();
     
     void RunScript(const wxString& javascript);
     
     //Virtual Filesystem Support
-    virtual void RegisterHandler(wxWebHandler* WXUNUSED(handler)) {};
+    virtual void RegisterHandler(wxSharedPtr<wxWebViewHandler> handler);
 
     // ---- methods not from the parent (common) interface
-    bool  CanGetPageSource();
+    bool  CanGetPageSource() const;
 
     void  SetScrollPos(int pos);
     int   GetScrollPos();
 
-    wxString GetSelection();
-
-    bool  CanIncreaseTextSize();
+    bool  CanIncreaseTextSize() const;
     void  IncreaseTextSize();
-    bool  CanDecreaseTextSize();
+    bool  CanDecreaseTextSize() const;
     void  DecreaseTextSize();
 
-    float GetWebkitZoom();
+    float GetWebkitZoom() const;
     void  SetWebkitZoom(float zoom);
 
     // don't hide base class virtuals
@@ -167,14 +156,8 @@ 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
+#endif // wxUSE_WEBVIEW && wxUSE_WEBVIEW_WEBKIT 
 
 #endif // _WX_WEBKIT_H_