]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/mimetype.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / mimetype.h
index 3c9576e0ed819aa9dd405b9d4f2a645df94d78b7..0e5125abf366703bd609320651b9e867f63e8290 100644 (file)
@@ -2,7 +2,6 @@
 // Name:        mimetype.h
 // Purpose:     interface of wxMimeTypesManager
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -97,6 +96,24 @@ public:
         necessary to convert the strings to the same case before calling it.
     */
     static bool IsOfType(const wxString& mimeType, const wxString& wildcard);
+
+
+    /**
+       Create a new association using the fields of wxFileTypeInfo (at least
+       the MIME type and the extension should be set).
+    */
+    wxFileType *Associate(const wxFileTypeInfo& ftInfo);
+
+    /**
+       Undo Associate().
+    */
+    bool Unassociate(wxFileType *ft) ;
+
+    /**
+       Enumerate all known file types.  Returns the number of retrieved items.
+     */
+    size_t EnumAllFileTypes(wxArrayString& mimetypes);
+
 };
 
 
@@ -106,6 +123,7 @@ public:
 wxMimeTypesManager* wxTheMimeTypesManager;
 
 
+
 /**
     @class wxFileType
 
@@ -230,8 +248,8 @@ public:
     class MessageParameters
     {
     public:
-        /// Constructor
-        MessageParameters() { }
+        /// Trivial default constructor.
+        MessageParameters();
 
         /// Constructor taking a filename and a mime type.
         MessageParameters(const wxString& filename,
@@ -247,7 +265,7 @@ public:
         virtual wxString GetParamValue(const wxString& name) const;
 
         /// Trivial but virtual dtor as this class can be inherited from.
-        virtual ~MessageParameters() { }
+        virtual ~MessageParameters();
     };
 
     /**
@@ -361,8 +379,17 @@ public:
     */
     bool GetPrintCommand(wxString* command,
                          const MessageParameters& params) const;
+
+    /**
+       Returns the number of commands for this mime type, and fills the verbs
+       and commands arrays with the command information.
+     */
+    size_t GetAllCommands(wxArrayString *verbs, wxArrayString *commands,
+                          const wxFileType::MessageParameters& params) const;
 };
 
+
+
 /**
     Container of information about wxFileType.
 
@@ -406,6 +433,12 @@ public:
                    const wxString& description,
                    const wxString& extension,
                    ...);
+    
+    /**
+       Constuctor using an array of string elements corresponding to the
+       parameters of the ctor above in the same order.
+    */
+    wxFileTypeInfo(const wxArrayString& sArray);
 
     /**
         Add another extension associated with this file type.
@@ -442,4 +475,55 @@ public:
         file type registration.
      */
     void SetShortDesc(const wxString& shortDesc);
+
+    /**
+       Set the icon information.
+    */
+    void SetIcon(const wxString& iconFile, int iconIndex = 0);
+
+    /**
+       Get the MIME type
+    */
+    const wxString& GetMimeType() const;
+    
+    /**
+       Get the open command
+    */
+    const wxString& GetOpenCommand() const;
+
+    /**
+       Get the print command
+    */
+    const wxString& GetPrintCommand() const;
+    
+    /**
+       Get the short description (only used under Win32 so far)
+    */
+    const wxString& GetShortDesc() const;
+    
+    /**
+       Get the long, user visible description
+    */
+    const wxString& GetDescription() const;
+    
+    /**
+       Get the array of all extensions
+    */
+    const wxArrayString& GetExtensions() const;
+
+    /**
+       Get the number of extensions.
+    */
+    size_t GetExtensionsCount() const;
+    
+    /**
+       Get the icon filename
+    */
+    const wxString& GetIconFile() const;
+
+    /**
+       Get the index of the icon within the icon file.
+    */
+    int GetIconIndex() const;
+
 };