X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7eb8c6ee3e90554c94d05dc06e6826f832640927..2a32f1733dd39882d58627d5cb22dbdeb54eb693:/include/wx/html/webkit.h diff --git a/include/wx/html/webkit.h b/include/wx/html/webkit.h index f007cf5302..4b7b2fc795 100755 --- a/include/wx/html/webkit.h +++ b/include/wx/html/webkit.h @@ -12,10 +12,12 @@ #ifndef _WX_WEBKIT_H #define _WX_WEBKIT_H -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "webkit.h" #endif +#if wxUSE_WEBKIT + #if !defined(__WXMAC__) && !defined(__WXCOCOA__) #error "wxWebKitCtrl not implemented for this platform" #endif @@ -32,53 +34,56 @@ class wxWebKitCtrl : public wxControl { public: - DECLARE_DYNAMIC_CLASS(wxWebKitCtrl) + DECLARE_DYNAMIC_CLASS(wxWebKitCtrl) - wxWebKitCtrl() {}; + wxWebKitCtrl() {}; wxWebKitCtrl(wxWindow *parent, - wxWindowID winID, + wxWindowID winID, const wxString& strURL, const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxT("webkitctrl")) + const wxSize& size = wxDefaultSize, long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxT("webkitctrl")) { Create(parent, winID, strURL, pos, size, style, validator, name); }; - bool Create(wxWindow *parent, + bool Create(wxWindow *parent, wxWindowID winID, const wxString& strURL, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxT("webkitctrl")); - virtual ~wxWebKitCtrl(); - + virtual ~wxWebKitCtrl(); + void LoadURL(const wxString &url); - + bool CanGoBack(); bool CanGoForward(); bool GoBack(); bool GoForward(); - void Reload(); + void Reload(); void Stop(); bool CanGetPageSource(); wxString GetPageSource(); void SetPageSource(wxString& source, const wxString& baseUrl = wxEmptyString); - + wxString GetPageURL(){ return m_currentURL; } + wxString GetPageTitle(){ return m_pageTitle; } + //we need to resize the webview when the control size changes - //void OnSize(wxSizeEvent &event); + void OnSize(wxSizeEvent &event); protected: - DECLARE_EVENT_TABLE() + DECLARE_EVENT_TABLE() + void MacVisibilityChanged(); private: wxWindow *m_parent; wxWindowID m_windowID; wxString m_currentURL; wxString m_pageTitle; - void* m_webView; - //It should be WebView, but WebView is Cocoa only, so any class which included - //this header would have to link to Cocoa, so for now use void* instead. + struct objc_object *m_webView; + //It should be WebView*, but WebView is an Objective-C class + //TODO: look into using DECLARE_WXCOCOA_OBJC_CLASS rather than this. }; // ---------------------------------------------------------------------------- @@ -86,11 +91,11 @@ private: // ---------------------------------------------------------------------------- enum { - wxWEBKIT_STATE_START = 1, - wxWEBKIT_STATE_NEGOTIATING = 2, - wxWEBKIT_STATE_REDIRECTING = 4, - wxWEBKIT_STATE_TRANSFERRING = 8, - wxWEBKIT_STATE_STOP = 16, + wxWEBKIT_STATE_START = 1, + wxWEBKIT_STATE_NEGOTIATING = 2, + wxWEBKIT_STATE_REDIRECTING = 4, + wxWEBKIT_STATE_TRANSFERRING = 8, + wxWEBKIT_STATE_STOP = 16, wxWEBKIT_STATE_FAILED = 32 }; @@ -99,31 +104,33 @@ class wxWebKitStateChangedEvent : public wxCommandEvent DECLARE_DYNAMIC_CLASS( wxWebKitStateChangedEvent ) public: - int GetState() { return m_state; } - void SetState(const int state) { m_state = state; } - wxString GetURL() { return m_url; } - void SetURL(const wxString& url) { m_url = url; } + int GetState() { return m_state; } + void SetState(const int state) { m_state = state; } + wxString GetURL() { return m_url; } + void SetURL(const wxString& url) { m_url = url; } wxWebKitStateChangedEvent( wxWindow* win = (wxWindow*) NULL ); - wxEvent *Clone(void) const { return new wxWebKitStateChangedEvent(*this); } + wxEvent *Clone(void) const { return new wxWebKitStateChangedEvent(*this); } protected: - int m_state; - wxString m_url; + int m_state; + wxString m_url; }; typedef void (wxEvtHandler::*wxWebKitStateChangedEventFunction)(wxWebKitStateChangedEvent&); BEGIN_DECLARE_EVENT_TYPES() - DECLARE_LOCAL_EVENT_TYPE(wxEVT_WEBKIT_STATE_CHANGED, -1) + DECLARE_LOCAL_EVENT_TYPE(wxEVT_WEBKIT_STATE_CHANGED, wxID_ANY) END_DECLARE_EVENT_TYPES() #define EVT_WEBKIT_STATE_CHANGED(func) \ DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_STATE_CHANGED, \ - -1, \ - -1, \ + wxID_ANY, \ + wxID_ANY, \ (wxObjectEventFunction) \ (wxWebKitStateChangedEventFunction) & func, \ (wxObject *) NULL ), +#endif // wxUSE_WEBKIT + #endif // _WX_WEBKIT_H_