X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3544f421d8d2be85eb020f6f79eed57eb00198f5..c13d6ac1ea199d1e3908d40d129e2fd5a4d82df7:/src/common/webview.cpp diff --git a/src/common/webview.cpp b/src/common/webview.cpp index 492745a6b8..525feeddd9 100644 --- a/src/common/webview.cpp +++ b/src/common/webview.cpp @@ -3,69 +3,67 @@ // Purpose: Common interface and events for web view component // Author: Marianne Gagnon // Id: $Id$ -// Copyright: (c) 2010 Marianne Gagnon +// Copyright: (c) 2010 Marianne Gagnon, 2011 Steven Lamerton // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" +#if wxUSE_WEB + #if defined(__BORLANDC__) #pragma hdrstop #endif #include "wx/webview.h" -#include "wx/osx/webview.h" -#include "wx/gtk/webview.h" -#include "wx/msw/webviewie.h" +#include "wx/osx/webview_webkit.h" +#include "wx/gtk/webview_webkit.h" +#include "wx/msw/webview_ie.h" // DLL options compatibility check: #include "wx/app.h" WX_CHECK_BUILD_OPTIONS("wxWEB") -extern WXDLLEXPORT_DATA(const char) wxWebViewNameStr[] = "wxWebView"; -extern WXDLLEXPORT_DATA(const char) wxWebViewDefaultURLStr[] = "about:blank"; +extern WXDLLIMPEXP_DATA_WEB(const char) wxWebViewNameStr[] = "wxWebView"; +extern WXDLLIMPEXP_DATA_WEB(const char) wxWebViewDefaultURLStr[] = "about:blank"; -IMPLEMENT_DYNAMIC_CLASS(wxWebNavigationEvent, wxCommandEvent) +wxIMPLEMENT_ABSTRACT_CLASS(wxWebView, wxControl); +wxIMPLEMENT_DYNAMIC_CLASS(wxWebViewEvent, wxCommandEvent); -wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_NAVIGATING, wxWebNavigationEvent ); -wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_NAVIGATED, wxWebNavigationEvent ); -wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_LOADED, wxWebNavigationEvent ); -wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_ERROR, wxWebNavigationEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_NAVIGATING, wxWebViewEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_NAVIGATED, wxWebViewEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_LOADED, wxWebViewEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_ERROR, wxWebViewEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_NEWWINDOW, wxWebViewEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_TITLE_CHANGED, wxWebViewEvent ); // static wxWebView* wxWebView::New(wxWebViewBackend backend) { switch (backend) { - #if wxHAVE_WEB_BACKEND_OSX_WEBKIT - case wxWEB_VIEW_BACKEND_OSX_WEBKIT: - return new wxOSXWebKitCtrl(); - #endif - - #if wxHAVE_WEB_BACKEND_GTK_WEBKIT - case wxWEB_VIEW_BACKEND_GTK_WEBKIT: - return new wxGtkWebKitCtrl(); + #if defined(wxUSE_WEBVIEW_WEBKIT) && \ + (defined(__WXGTK__) || defined(__WXOSX__)) + case wxWEB_VIEW_BACKEND_WEBKIT: + return new wxWebViewWebKit(); #endif - #if wxHAVE_WEB_BACKEND_IE - case wxWEB_VIEW_BACKEND_IE: - return new wxIEPanel(); + #if wxUSE_WEBVIEW_IE + case wxWEB_VIEW_BACKEND_IE: + return new wxWebViewIE(); #endif case wxWEB_VIEW_BACKEND_DEFAULT: - #if wxHAVE_WEB_BACKEND_OSX_WEBKIT - return new wxOSXWebKitCtrl(); - #endif - - #if wxHAVE_WEB_BACKEND_GTK_WEBKIT - return new wxGtkWebKitCtrl(); + #if defined(wxUSE_WEBVIEW_WEBKIT) && \ + (defined(__WXGTK__) || defined(__WXOSX__)) + return new wxWebViewWebKit(); #endif - #if wxHAVE_WEB_BACKEND_IE - return new wxIEPanel(); + #if wxUSE_WEBVIEW_IE + return new wxWebViewIE(); #endif // fall-through intended @@ -86,35 +84,26 @@ wxWebView* wxWebView::New(wxWindow* parent, { switch (backend) { - #if wxHAVE_WEB_BACKEND_OSX_WEBKIT - case wxWEB_VIEW_BACKEND_OSX_WEBKIT: - return new wxOSXWebKitCtrl(parent, id, url, pos, size, style, - name); + #if defined(wxUSE_WEBVIEW_WEBKIT) && \ + (defined(__WXGTK__) || defined(__WXOSX__)) + case wxWEB_VIEW_BACKEND_WEBKIT: + return new wxWebViewWebKit(parent, id, url, pos, size, style, name); #endif - #if wxHAVE_WEB_BACKEND_GTK_WEBKIT - case wxWEB_VIEW_BACKEND_GTK_WEBKIT: - return new wxGtkWebKitCtrl(parent, id, url, pos, size, style, - name); - #endif - - #if wxHAVE_WEB_BACKEND_IE - case wxWEB_VIEW_BACKEND_IE: - return new wxIEPanel(parent, id, url, pos, size, style, name); + #if wxUSE_WEBVIEW_IE + case wxWEB_VIEW_BACKEND_IE: + return new wxWebViewIE(parent, id, url, pos, size, style, name); #endif case wxWEB_VIEW_BACKEND_DEFAULT: - #if wxHAVE_WEB_BACKEND_OSX_WEBKIT - return new wxOSXWebKitCtrl(parent, id, url, pos, size, style, name); + #if defined(wxUSE_WEBVIEW_WEBKIT) && \ + (defined(__WXGTK__) || defined(__WXOSX__)) + return new wxWebViewWebKit(parent, id, url, pos, size, style, name); #endif - #if wxHAVE_WEB_BACKEND_GTK_WEBKIT - return new wxGtkWebKitCtrl(parent, id, url, pos, size, style, name); - #endif - - #if wxHAVE_WEB_BACKEND_IE - return new wxIEPanel(parent, id, url, pos, size, style, name); + #if wxUSE_WEBVIEW_IE + return new wxWebViewIE(parent, id, url, pos, size, style, name); #endif // fall-through intended @@ -122,3 +111,5 @@ wxWebView* wxWebView::New(wxWindow* parent, return NULL; } } + +#endif // wxUSE_WEB