1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Common interface and events for web view component
4 // Author: Marianne Gagnon
6 // Copyright: (c) 2010 Marianne Gagnon
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
10 // For compilers that support precompilation, includes "wx.h".
11 #include "wx/wxprec.h"
13 #if defined(__BORLANDC__)
17 #include "wx/webview.h"
19 #include "wx/osx/webview.h"
20 #include "wx/gtk/webview.h"
21 #include "wx/msw/webviewie.h"
23 extern WXDLLEXPORT_DATA(const char) wxWebViewNameStr
[] = "wxWebView";
24 extern WXDLLEXPORT_DATA(const char) wxWebViewDefaultURLStr
[] = "about:blank";
26 IMPLEMENT_DYNAMIC_CLASS(wxWebNavigationEvent
, wxCommandEvent
)
28 wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_NAVIGATING
, wxWebNavigationEvent
);
29 wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_NAVIGATED
, wxWebNavigationEvent
);
30 wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_LOADED
, wxWebNavigationEvent
);
31 wxDEFINE_EVENT( wxEVT_COMMAND_WEB_VIEW_ERROR
, wxWebNavigationEvent
);
34 wxWebView
* wxWebView::New(wxWebViewBackend backend
)
38 #if wxHAVE_WEB_BACKEND_OSX_WEBKIT
39 case wxWEB_VIEW_BACKEND_OSX_WEBKIT
:
40 return new wxOSXWebKitCtrl();
43 #if wxHAVE_WEB_BACKEND_GTK_WEBKIT
44 case wxWEB_VIEW_BACKEND_GTK_WEBKIT
:
45 return new wxGtkWebKitCtrl();
48 #if wxHAVE_WEB_BACKEND_IE
49 case wxWEB_VIEW_BACKEND_IE
:
50 return new wxIEPanel();
53 case wxWEB_VIEW_BACKEND_DEFAULT
:
55 #if wxHAVE_WEB_BACKEND_OSX_WEBKIT
56 return new wxOSXWebKitCtrl();
59 #if wxHAVE_WEB_BACKEND_GTK_WEBKIT
60 return new wxGtkWebKitCtrl();
63 #if wxHAVE_WEB_BACKEND_IE
64 return new wxIEPanel();
67 // fall-through intended
74 wxWebView
* wxWebView::New(wxWindow
* parent
,
79 wxWebViewBackend backend
,
85 #if wxHAVE_WEB_BACKEND_OSX_WEBKIT
86 case wxWEB_VIEW_BACKEND_OSX_WEBKIT
:
87 return new wxOSXWebKitCtrl(parent
, id
, url
, pos
, size
, style
,
91 #if wxHAVE_WEB_BACKEND_GTK_WEBKIT
92 case wxWEB_VIEW_BACKEND_GTK_WEBKIT
:
93 return new wxGtkWebKitCtrl(parent
, id
, url
, pos
, size
, style
,
97 #if wxHAVE_WEB_BACKEND_IE
98 case wxWEB_VIEW_BACKEND_IE
:
99 return new wxIEPanel(parent
, id
, url
, pos
, size
, style
, name
);
102 case wxWEB_VIEW_BACKEND_DEFAULT
:
104 #if wxHAVE_WEB_BACKEND_OSX_WEBKIT
105 return new wxOSXWebKitCtrl(parent
, id
, url
, pos
, size
, style
, name
);
108 #if wxHAVE_WEB_BACKEND_GTK_WEBKIT
109 return new wxGtkWebKitCtrl(parent
, id
, url
, pos
, size
, style
, name
);
112 #if wxHAVE_WEB_BACKEND_IE
113 return new wxIEPanel(parent
, id
, url
, pos
, size
, style
, name
);
116 // fall-through intended