X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/448f8f12b9db091bafd27ed8a13829dd850d7bb7..d8812c6e0e780fb2dae99bc352c5061f58793e14:/include/wx/html/webkit.h diff --git a/include/wx/html/webkit.h b/include/wx/html/webkit.h old mode 100755 new mode 100644 index 432082f09f..42f0442873 --- a/include/wx/html/webkit.h +++ b/include/wx/html/webkit.h @@ -60,28 +60,28 @@ 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); } wxString GetTitle() { return GetPageTitle(); } - + wxString GetSelection(); - + bool CanIncreaseTextSize(); void IncreaseTextSize(); bool CanDecreaseTextSize(); void DecreaseTextSize(); - + void Print(bool showPrompt=FALSE); - + void MakeEditable(bool enable=TRUE); bool IsEditable(); - + wxString RunScript(const wxString& javascript); - + void SetScrollPos(int pos); int GetScrollPos(); @@ -98,9 +98,9 @@ private: wxWindowID m_windowID; wxString m_currentURL; wxString m_pageTitle; - + struct objc_object *m_webView; - + // we may use this later to setup our own mouse events, // so leave it in for now. void* m_webKitCtrlEventHandler; @@ -136,7 +136,7 @@ enum { class wxWebKitBeforeLoadEvent : public wxCommandEvent { DECLARE_DYNAMIC_CLASS( wxWebKitBeforeLoadEvent ) - + public: bool IsCancelled() { return m_cancelled; } void Cancel(bool cancel = true) { m_cancelled = cancel; } @@ -172,30 +172,61 @@ protected: wxString m_url; }; + +class wxWebKitNewWindowEvent : public wxCommandEvent +{ + DECLARE_DYNAMIC_CLASS( wxWebViewNewWindowEvent ) +public: + wxString GetURL() const { return m_url; } + void SetURL(const wxString& url) { m_url = url; } + wxString GetTargetName() const { return m_targetName; } + void SetTargetName(const wxString& name) { m_targetName = name; } + + wxWebKitNewWindowEvent( wxWindow* win = (wxWindow*)(NULL)); + wxEvent *Clone(void) const { return new wxWebKitNewWindowEvent(*this); } + +private: + wxString m_url; + wxString m_targetName; +}; + typedef void (wxEvtHandler::*wxWebKitStateChangedEventFunction)(wxWebKitStateChangedEvent&); typedef void (wxEvtHandler::*wxWebKitBeforeLoadEventFunction)(wxWebKitBeforeLoadEvent&); +typedef void (wxEvtHandler::*wxWebKitNewWindowEventFunction)(wxWebKitNewWindowEvent&); + +#define wxWebKitStateChangedEventHandler( func ) \ + wxEVENT_HANDLER_CAST( wxWebKitStateChangedEventFunction, func ) -BEGIN_DECLARE_EVENT_TYPES() - DECLARE_LOCAL_EVENT_TYPE(wxEVT_WEBKIT_BEFORE_LOAD, wxID_ANY) - DECLARE_LOCAL_EVENT_TYPE(wxEVT_WEBKIT_STATE_CHANGED, wxID_ANY) -END_DECLARE_EVENT_TYPES() +#define wxWebKitBeforeLoadEventHandler( func ) \ + wxEVENT_HANDLER_CAST( wxWebKitBeforeLoadEventFunction, func ) + +#define wxWebKitNewWindowEventHandler( func ) \ + wxEVENT_HANDLER_CAST( wxWebKitNewWindowEventFunction, func ) + +wxDECLARE_EVENT( wxEVT_WEBKIT_STATE_CHANGED, wxWebKitStateChangedEvent ) +wxDECLARE_EVENT( wxEVT_WEBKIT_BEFORE_LOAD, wxWebKitBeforeLoadEvent ) +wxDECLARE_EVENT( wxEVT_WEBKIT_NEW_WINDOW, wxWebKitNewWindowEvent ) #define EVT_WEBKIT_STATE_CHANGED(func) \ DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_STATE_CHANGED, \ wxID_ANY, \ wxID_ANY, \ - (wxObjectEventFunction) \ - (wxWebKitStateChangedEventFunction) & func, \ + wxWebKitStateChangedEventHandler( func ), \ (wxObject *) NULL ), - + #define EVT_WEBKIT_BEFORE_LOAD(func) \ DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_BEFORE_LOAD, \ wxID_ANY, \ wxID_ANY, \ - (wxObjectEventFunction) \ - (wxWebKitBeforeLoadEventFunction) & func, \ + wxWebKitBeforeLoadEventHandler( func ), \ (wxObject *) NULL ), +#define EVT_WEBKIT_NEW_WINDOW(func) \ + DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_NEW_WINDOW, \ + wxID_ANY, \ + wxID_ANY, \ + wxWebKitNewWindowEventFunction( func ), \ + (wxObject *) NULL ), #endif // wxUSE_WEBKIT #endif