X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fa34bc533187f7b1521c3f207e955c92903fa552..7bd30a12ade503fd135c686ecc98a6f6d5fecbeb:/include/wx/html/webkit.h diff --git a/include/wx/html/webkit.h b/include/wx/html/webkit.h index 7abc5809d2..4f7a3dc8ec 100644 --- a/include/wx/html/webkit.h +++ b/include/wx/html/webkit.h @@ -19,12 +19,15 @@ #endif #include "wx/control.h" +DECLARE_WXCOCOA_OBJC_CLASS(WebView); // ---------------------------------------------------------------------------- // Web Kit Control // ---------------------------------------------------------------------------- -class wxWebKitCtrl : public wxControl +extern WXDLLIMPEXP_DATA_CORE(const char) wxWebKitCtrlNameStr[]; + +class WXDLLIMPEXP_CORE wxWebKitCtrl : public wxControl { public: DECLARE_DYNAMIC_CLASS(wxWebKitCtrl) @@ -36,7 +39,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxT("webkitctrl")) + const wxString& name = wxWebKitCtrlNameStr) { Create(parent, winID, strURL, pos, size, style, validator, name); }; @@ -46,7 +49,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxT("webkitctrl")); + const wxString& name = wxWebKitCtrlNameStr); virtual ~wxWebKitCtrl(); void LoadURL(const wxString &url); @@ -60,9 +63,9 @@ public: bool CanGetPageSource(); wxString GetPageSource(); void SetPageSource(const wxString& source, const wxString& baseUrl = wxEmptyString); - wxString GetPageURL(){ return m_currentURL; } + wxString GetPageURL(){ return m_currentURL; } void SetPageTitle(const wxString& title) { m_pageTitle = title; } - wxString GetPageTitle(){ return m_pageTitle; } + wxString GetPageTitle(){ return m_pageTitle; } // since these worked in 2.6, add wrappers void SetTitle(const wxString& title) { SetPageTitle(title); } @@ -75,9 +78,9 @@ public: bool CanDecreaseTextSize(); void DecreaseTextSize(); - void Print(bool showPrompt=FALSE); + void Print(bool showPrompt = false); - void MakeEditable(bool enable=TRUE); + void MakeEditable(bool enable = true); bool IsEditable(); wxString RunScript(const wxString& javascript); @@ -85,6 +88,12 @@ public: void SetScrollPos(int pos); int GetScrollPos(); + // don't hide base class virtuals + virtual void SetScrollPos( int orient, int pos, bool refresh = true ) + { return wxControl::SetScrollPos(orient, pos, refresh); } + virtual int GetScrollPos( int orient ) const + { return wxControl::GetScrollPos(orient); } + //we need to resize the webview when the control size changes void OnSize(wxSizeEvent &event); void OnMove(wxMoveEvent &event); @@ -99,13 +108,11 @@ private: wxString m_currentURL; wxString m_pageTitle; - struct objc_object *m_webView; + WX_WebView m_webView; // we may use this later to setup our own mouse events, // so leave it in for now. 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. }; // ---------------------------------------------------------------------------- @@ -133,7 +140,7 @@ enum { -class wxWebKitBeforeLoadEvent : public wxCommandEvent +class WXDLLIMPEXP_CORE wxWebKitBeforeLoadEvent : public wxCommandEvent { DECLARE_DYNAMIC_CLASS( wxWebKitBeforeLoadEvent ) @@ -145,7 +152,7 @@ public: void SetNavigationType(int navType) { m_navType = navType; } int GetNavigationType() { return m_navType; } - wxWebKitBeforeLoadEvent( wxWindow* win = (wxWindow*) NULL ); + wxWebKitBeforeLoadEvent( wxWindow* win = NULL ); wxEvent *Clone(void) const { return new wxWebKitBeforeLoadEvent(*this); } protected: @@ -154,7 +161,7 @@ protected: int m_navType; }; -class wxWebKitStateChangedEvent : public wxCommandEvent +class WXDLLIMPEXP_CORE wxWebKitStateChangedEvent : public wxCommandEvent { DECLARE_DYNAMIC_CLASS( wxWebKitStateChangedEvent ) @@ -164,7 +171,7 @@ public: wxString GetURL() { return m_url; } void SetURL(const wxString& url) { m_url = url; } - wxWebKitStateChangedEvent( wxWindow* win = (wxWindow*) NULL ); + wxWebKitStateChangedEvent( wxWindow* win = NULL ); wxEvent *Clone(void) const { return new wxWebKitStateChangedEvent(*this); } protected: @@ -173,9 +180,9 @@ protected: }; -class wxWebKitNewWindowEvent : public wxCommandEvent +class WXDLLIMPEXP_CORE wxWebKitNewWindowEvent : public wxCommandEvent { - DECLARE_DYNAMIC_CLASS( wxWebViewNewWindowEvent ) + DECLARE_DYNAMIC_CLASS( wxWebKitNewWindowEvent ) public: wxString GetURL() const { return m_url; } void SetURL(const wxString& url) { m_url = url; } @@ -194,33 +201,39 @@ typedef void (wxEvtHandler::*wxWebKitStateChangedEventFunction)(wxWebKitStateCha typedef void (wxEvtHandler::*wxWebKitBeforeLoadEventFunction)(wxWebKitBeforeLoadEvent&); typedef void (wxEvtHandler::*wxWebKitNewWindowEventFunction)(wxWebKitNewWindowEvent&); -extern const wxEventType wxEVT_WEBKIT_BEFORE_LOAD; -extern const wxEventType wxEVT_WEBKIT_STATE_CHANGED; -extern const wxEventType wxEVT_WEBKIT_NEW_WINDOW; +#define wxWebKitStateChangedEventHandler( func ) \ + wxEVENT_HANDLER_CAST( wxWebKitStateChangedEventFunction, func ) + +#define wxWebKitBeforeLoadEventHandler( func ) \ + wxEVENT_HANDLER_CAST( wxWebKitBeforeLoadEventFunction, func ) + +#define wxWebKitNewWindowEventHandler( func ) \ + wxEVENT_HANDLER_CAST( wxWebKitNewWindowEventFunction, func ) + +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_WEBKIT_STATE_CHANGED, wxWebKitStateChangedEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_WEBKIT_BEFORE_LOAD, wxWebKitBeforeLoadEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_WEBKIT_NEW_WINDOW, wxWebKitNewWindowEvent ); #define EVT_WEBKIT_STATE_CHANGED(func) \ - DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_STATE_CHANGED, \ + wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_STATE_CHANGED, \ wxID_ANY, \ wxID_ANY, \ - (wxObjectEventFunction) \ - (wxWebKitStateChangedEventFunction) & func, \ - (wxObject *) NULL ), + wxWebKitStateChangedEventHandler( func ), \ + NULL ), #define EVT_WEBKIT_BEFORE_LOAD(func) \ - DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_BEFORE_LOAD, \ + wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_BEFORE_LOAD, \ wxID_ANY, \ wxID_ANY, \ - (wxObjectEventFunction) \ - (wxWebKitBeforeLoadEventFunction) & func, \ - (wxObject *) NULL ), + wxWebKitBeforeLoadEventHandler( func ), \ + NULL ), #define EVT_WEBKIT_NEW_WINDOW(func) \ - DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_NEW_WINDOW, \ + wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_NEW_WINDOW, \ wxID_ANY, \ wxID_ANY, \ - (wxObjectEventFunction) \ - (wxWebKitNewWindowEventFunction) & func, \ - (wxObject *) NULL ), + wxWebKitNewWindowEventFunction( func ), \ + NULL ), #endif // wxUSE_WEBKIT #endif