X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b813b73cd79cfb4d275e9628811f379e8c5ee39..b76f0023ae275de2d71ed735a95d2ecb81d4ea74:/include/wx/mimetype.h diff --git a/include/wx/mimetype.h b/include/wx/mimetype.h index 0f5b78819b..5aa2438f8c 100644 --- a/include/wx/mimetype.h +++ b/include/wx/mimetype.h @@ -7,13 +7,13 @@ // Created: 23.09.98 // RCS-ID: $Id$ // Copyright: (c) 1998 Vadim Zeitlin -// Licence: wxWindows license (part of wxExtra library) +// Licence: wxWindows licence (part of wxExtra library) ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_MIMETYPE_H_ #define _WX_MIMETYPE_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "mimetypebase.h" #endif // __GNUG__ @@ -23,14 +23,16 @@ #include "wx/defs.h" +#if wxUSE_MIMETYPE + // the things we really need #include "wx/string.h" #include "wx/dynarray.h" // fwd decls -class WXDLLEXPORT wxIcon; -class WXDLLEXPORT wxFileTypeImpl; -class WXDLLEXPORT wxMimeTypesManagerImpl; +class WXDLLIMPEXP_BASE wxIconLocation; +class WXDLLIMPEXP_BASE wxFileTypeImpl; +class WXDLLIMPEXP_BASE wxMimeTypesManagerImpl; // these constants define the MIME informations source under UNIX and are used // by wxMimeTypesManager::Initialize() @@ -47,7 +49,7 @@ enum wxMailcapStyle /* TODO: would it be more convenient to have this class? -class WXDLLEXPORT wxMimeType : public wxString +class WXDLLIMPEXP_BASE wxMimeType : public wxString { public: // all string ctors here @@ -74,15 +76,15 @@ public: // This class is used with wxMimeTypesManager::AddFallbacks() and Associate() // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxFileTypeInfo +class WXDLLIMPEXP_BASE wxFileTypeInfo { public: // ctors // a normal item - wxFileTypeInfo(const char *mimeType, - const char *openCmd, - const char *printCmd, - const char *desc, + wxFileTypeInfo(const wxChar *mimeType, + const wxChar *openCmd, + const wxChar *printCmd, + const wxChar *desc, // the other parameters form a NULL terminated list of // extensions ...); @@ -147,7 +149,8 @@ private: #endif // 0 }; -WX_DECLARE_EXPORTED_OBJARRAY(wxFileTypeInfo, wxArrayFileTypeInfo); +WX_DECLARE_USER_EXPORTED_OBJARRAY(wxFileTypeInfo, wxArrayFileTypeInfo, + WXDLLIMPEXP_BASE); // ---------------------------------------------------------------------------- // wxFileType: gives access to all information about the files of given type. @@ -160,9 +163,9 @@ WX_DECLARE_EXPORTED_OBJARRAY(wxFileTypeInfo, wxArrayFileTypeInfo); // the accessors *must* be checked! // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxFileType +class WXDLLIMPEXP_BASE wxFileType { -friend class WXDLLEXPORT wxMimeTypesManagerImpl; // it has access to m_impl +friend class WXDLLIMPEXP_BASE wxMimeTypesManagerImpl; // it has access to m_impl public: // An object of this class must be passed to Get{Open|Print}Command. The @@ -174,7 +177,8 @@ public: public: // ctors MessageParameters() { } - MessageParameters(const wxString& filename, const wxString& mimetype) + MessageParameters(const wxString& filename, + const wxString& mimetype = wxEmptyString) : m_filename(filename), m_mimetype(mimetype) { } // accessors (called by GetOpenCommand) @@ -206,12 +210,10 @@ public: // fill passed in array with all extensions associated with this file // type bool GetExtensions(wxArrayString& extensions); - // get the icon corresponding to this file type, the name of the file - // where the icon resides is return in iconfile if !NULL and its index - // in this file (Win-only) is in iconIndex - bool GetIcon(wxIcon *icon, - wxString *iconFile = NULL, - int *iconIndex = NULL) const; + // get the icon corresponding to this file type and of the given size + bool GetIcon(wxIconLocation *iconloc) const; + bool GetIcon(wxIconLocation *iconloc, + const MessageParameters& params) const; // get a brief file type description ("*.txt" => "text document") bool GetDescription(wxString *desc) const; @@ -219,6 +221,9 @@ public: // get the command to execute the file of given type bool GetOpenCommand(wxString *openCmd, const MessageParameters& params) const; + // a simpler to use version of GetOpenCommand() -- it only takes the + // filename and returns an empty string on failure + wxString GetOpenCommand(const wxString& filename) const; // get the command to print the file of given type bool GetPrintCommand(wxString *printCmd, const MessageParameters& params) const; @@ -276,7 +281,7 @@ private: // given type) about them. // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxMimeTypesManager +class WXDLLIMPEXP_BASE wxMimeTypesManager { public: // static helper functions @@ -299,7 +304,7 @@ public: // // use the extraDir parameter if you want to look for files in another // directory - void Initialize(int mailcapStyle = wxMAILCAP_STANDARD, + void Initialize(int mailcapStyle = wxMAILCAP_ALL, const wxString& extraDir = wxEmptyString); // and this function clears all the data from the manager @@ -383,7 +388,9 @@ private: // ---------------------------------------------------------------------------- // the default mime manager for wxWindows programs -WXDLLEXPORT_DATA(extern wxMimeTypesManager *) wxTheMimeTypesManager; +WXDLLIMPEXP_DATA_BASE(extern wxMimeTypesManager *) wxTheMimeTypesManager; + +#endif // wxUSE_MIMETYPE #endif //_WX_MIMETYPE_H_