]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/mimetype.h
avoid infinite recursion for richtooltops, (hopefully) fixes #15070
[wxWidgets.git] / interface / wx / mimetype.h
index 0a31361309124268af781cf8a11e281099a7cd70..3f41d444a388abccbb6fd5da14756b18c08f97a9 100644 (file)
@@ -97,6 +97,24 @@ public:
         necessary to convert the strings to the same case before calling it.
     */
     static bool IsOfType(const wxString& mimeType, const wxString& wildcard);
         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 +124,7 @@ public:
 wxMimeTypesManager* wxTheMimeTypesManager;
 
 
 wxMimeTypesManager* wxTheMimeTypesManager;
 
 
+
 /**
     @class wxFileType
 
 /**
     @class wxFileType
 
@@ -221,6 +240,35 @@ private:
     wxFileType();
 
 public:
     wxFileType();
 
 public:
+    /**
+        Class representing message parameters.
+
+        An object of this class may be passed to wxFileType::GetOpenCommand()
+        and GetPrintCommand() if more than the file name needs to be specified.
+     */
+    class MessageParameters
+    {
+    public:
+        /// Trivial default constructor.
+        MessageParameters();
+
+        /// Constructor taking a filename and a mime type.
+        MessageParameters(const wxString& filename,
+                          const wxString& mimetype = wxEmptyString);
+
+        /// Return the filename.
+        const wxString& GetFileName() const;
+
+        /// Return the MIME type.
+        const wxString& GetMimeType() const;
+
+        /// Overridable method for derived classes. Returns empty string by default.
+        virtual wxString GetParamValue(const wxString& name) const;
+
+        /// Trivial but virtual dtor as this class can be inherited from.
+        virtual ~MessageParameters();
+    };
+
     /**
         Copy ctor.
     */
     /**
         Copy ctor.
     */
@@ -332,8 +380,17 @@ public:
     */
     bool GetPrintCommand(wxString* command,
                          const MessageParameters& params) const;
     */
     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.
 
 /**
     Container of information about wxFileType.
 
@@ -377,6 +434,12 @@ public:
                    const wxString& description,
                    const wxString& extension,
                    ...);
                    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.
 
     /**
         Add another extension associated with this file type.
@@ -413,4 +476,55 @@ public:
         file type registration.
      */
     void SetShortDesc(const wxString& shortDesc);
         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;
+
 };
 };