// Created: 23.09.98
// RCS-ID: $Id$
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence: wxWindows license (part of wxExtra library)
+// Licence: wxWindows licence (part of wxExtra library)
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// for compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
-#include "wx/module.h"
#ifdef __BORLANDC__
- #pragma hdrstop
+ #pragma hdrstop
#endif
+#if wxUSE_MIMETYPE
+
#ifndef WX_PRECOMP
- #include "wx/defs.h"
+ #include "wx/module.h"
#endif
+// this one is needed for MSVC5
+#include "wx/module.h"
#ifndef WX_PRECOMP
#include "wx/string.h"
// wxFileTypeInfo
// ----------------------------------------------------------------------------
-wxFileTypeInfo::wxFileTypeInfo(const char *mimeType,
- const char *openCmd,
- const char *printCmd,
- const char *desc,
+wxFileTypeInfo::wxFileTypeInfo(const wxChar *mimeType,
+ const wxChar *openCmd,
+ const wxChar *printCmd,
+ const wxChar *desc,
...)
: m_mimeType(mimeType),
m_openCmd(openCmd),
for ( ;; )
{
- const char *ext = va_arg(argptr, const char *);
+ const wxChar *ext = va_arg(argptr, const wxChar *);
if ( !ext )
{
// NULL terminates the list
return m_impl->GetOpenCommand(openCmd, params);
}
+wxString wxFileType::GetOpenCommand(const wxString& filename) const
+{
+ wxString cmd;
+ if ( !GetOpenCommand(&cmd, filename) )
+ {
+ // return empty string to indicate an error
+ cmd.clear();
+ }
+
+ return cmd;
+}
+
bool
wxFileType::GetPrintCommand(wxString *printCmd,
const wxFileType::MessageParameters& params) const
{
#if defined(__WXMSW__)
return m_impl->Unassociate();
-#elif defined(__UNIX__)
+#elif defined(__UNIX__) && !defined(__WXPM__)
return m_impl->Unassociate(this);
#else
wxFAIL_MSG( _T("not implemented") ); // TODO
// VZ: should we do this?
// chris elliott : only makes sense in MS windows
if ( sTmp.empty() )
- GetOpenCommand(&sTmp, wxFileType::MessageParameters("", ""));
+ GetOpenCommand(&sTmp, wxFileType::MessageParameters(wxT(""), wxT("")));
#endif
wxCHECK_MSG( !sTmp.empty(), FALSE, _T("need the icon file") );
bool wxMimeTypesManager::Unassociate(wxFileType *ft)
{
-#if defined(__UNIX__)
+#if defined(__UNIX__) && !defined(__WXPM__) && !defined(__CYGWIN__) && !defined(__WINE__)
return m_impl->Unassociate(ft);
#else
return ft->Unassociate();
{
EnsureImpl();
-#if defined(__WXMSW__) || defined(__UNIX__)
+#if defined(__WXMSW__) || (defined(__UNIX__) && !defined(__WXPM__))
return m_impl->Associate(ftInfo);
#else // other platforms
wxFAIL_MSG( _T("not implemented") ); // TODO
void wxMimeTypesManager::Initialize(int mcapStyle,
const wxString& sExtraDir)
{
-#ifdef __UNIX__
+#if defined(__UNIX__) && !defined(__WXPM__) && !defined(__CYGWIN__) && !defined(__WINE__)
EnsureImpl();
m_impl->Initialize(mcapStyle, sExtraDir);
// and this function clears all the data from the manager
void wxMimeTypesManager::ClearData()
{
-#ifdef __UNIX__
+#if defined(__UNIX__) && !defined(__WXPM__) && !defined(__CYGWIN__) && !defined(__WINE__)
EnsureImpl();
m_impl->ClearData();
{
delete gs_mimeTypesManager.m_impl;
gs_mimeTypesManager.m_impl = NULL;
+ gs_mimeTypesManager.m_fallbacks.Clear();
}
}
};
IMPLEMENT_DYNAMIC_CLASS(wxMimeTypeCmnModule, wxModule)
+
+#endif // wxUSE_MIMETYPE