Rearrange code to make adding wxMimeTypesManagerFactory

at runtim possible.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2006-03-17 14:13:02 +00:00
parent 1d115baf4b
commit 2b850ae1a5
9 changed files with 1104 additions and 691 deletions

View File

@@ -453,6 +453,34 @@ bool wxFileType::SetDefaultIcon(const wxString& cmd, int index)
#endif
}
//----------------------------------------------------------------------------
// wxMimeTypesManagerFactory
//----------------------------------------------------------------------------
wxMimeTypesManagerFactory *wxMimeTypesManagerFactory::m_factory = NULL;
/* static */
void wxMimeTypesManagerFactory::SetFactory( wxMimeTypesManagerFactory *factory )
{
if (wxMimeTypesManagerFactory::m_factory)
delete wxMimeTypesManagerFactory::m_factory;
wxMimeTypesManagerFactory::m_factory = factory;
}
/* static */
wxMimeTypesManagerFactory *wxMimeTypesManagerFactory::GetFactory()
{
if (!wxMimeTypesManagerFactory::m_factory)
wxMimeTypesManagerFactory::m_factory = new wxMimeTypesManagerFactory;
return wxMimeTypesManagerFactory::m_factory;
}
wxMimeTypesManagerImpl *wxMimeTypesManagerFactory::CreateMimeTypesManagerImpl()
{
return new wxMimeTypesManagerImpl;
}
// ----------------------------------------------------------------------------
// wxMimeTypesManager
@@ -461,7 +489,7 @@ bool wxFileType::SetDefaultIcon(const wxString& cmd, int index)
void wxMimeTypesManager::EnsureImpl()
{
if ( !m_impl )
m_impl = new wxMimeTypesManagerImpl;
m_impl = wxMimeTypesManagerFactory::GetFactory()->CreateMimeTypesManagerImpl();
}
bool wxMimeTypesManager::IsOfType(const wxString& mimeType,