// Name: webview.cpp
// Purpose: Common interface and events for web view component
// Author: Marianne Gagnon
-// Id: $Id$
// Copyright: (c) 2010 Marianne Gagnon, 2011 Steven Lamerton
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
wxIMPLEMENT_ABSTRACT_CLASS(wxWebView, wxControl);
wxIMPLEMENT_DYNAMIC_CLASS(wxWebViewEvent, wxCommandEvent);
-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 );
+wxDEFINE_EVENT( wxEVT_WEBVIEW_NAVIGATING, wxWebViewEvent );
+wxDEFINE_EVENT( wxEVT_WEBVIEW_NAVIGATED, wxWebViewEvent );
+wxDEFINE_EVENT( wxEVT_WEBVIEW_LOADED, wxWebViewEvent );
+wxDEFINE_EVENT( wxEVT_WEBVIEW_ERROR, wxWebViewEvent );
+wxDEFINE_EVENT( wxEVT_WEBVIEW_NEWWINDOW, wxWebViewEvent );
+wxDEFINE_EVENT( wxEVT_WEBVIEW_TITLE_CHANGED, wxWebViewEvent );
wxStringWebViewFactoryMap wxWebView::m_factoryMap;
// static
wxStringWebViewFactoryMap::iterator wxWebView::FindFactory(const wxString &backend)
{
- // Initialise the map if needed
- if(m_factoryMap.empty())
- InitFactoryMap();
+ // Initialise the map, it checks internally for existing factories
+ InitFactoryMap();
return m_factoryMap.find(backend);
}
void wxWebView::InitFactoryMap()
{
#ifdef __WXMSW__
- RegisterFactory(wxWebViewBackendIE, wxSharedPtr<wxWebViewFactory>
+ if(m_factoryMap.find(wxWebViewBackendIE) == m_factoryMap.end())
+ RegisterFactory(wxWebViewBackendIE, wxSharedPtr<wxWebViewFactory>
(new wxWebViewFactoryIE));
#else
- RegisterFactory(wxWebViewBackendWebKit, wxSharedPtr<wxWebViewFactory>
+ if(m_factoryMap.find(wxWebViewBackendWebKit) == m_factoryMap.end())
+ RegisterFactory(wxWebViewBackendWebKit, wxSharedPtr<wxWebViewFactory>
(new wxWebViewFactoryWebKit));
#endif
}