+
+
+/**
+ Container of information about wxFileType.
+
+ This class simply stores information associated with the file type. It
+ doesn't do anything on its own and is used only to allow constructing
+ wxFileType from it (instead of specifying all the constituent pieces
+ separately) and also with wxMimeTypesManager::AddFallbacks().
+ */
+class wxFileTypeInfo
+{
+public:
+ /**
+ Default constructor creates an invalid file type info object.
+
+ Such invalid/empty object should be used to terminate the list of file
+ types passed to wxMimeTypesManager::AddFallbacks().
+ */
+ wxFileTypeInfo();
+
+ /**
+ Constructor specifying just the MIME type name.
+
+ Use the various setter methods below to fully initialize the object.
+
+ @since 2.9.2
+ */
+ wxFileTypeInfo(const wxString& mimeType);
+
+ /**
+ Constructor allowing to specify all the fields at once.
+
+ This is a vararg constructor taking an arbitrary number of extensions
+ after the first four required parameters. The list must be terminated
+ by @c wxNullPtr, notice that @c NULL can't be used here in portable
+ code (C++0x @c nullptr can be used as well if your compiler supports
+ it).
+ */
+ wxFileTypeInfo(const wxString& mimeType,
+ const wxString& openCmd,
+ const wxString& printCmd,
+ 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.
+
+ @since 2.9.2
+ */
+ void AddExtension(const wxString& ext);
+
+ /**
+ Set the file type description.
+
+ @since 2.9.2
+ */
+ void SetDescription(const wxString& description);
+
+ /**
+ Set the command to be used for opening files of this type.
+
+ @since 2.9.2
+ */
+ void SetOpenCommand(const wxString& command);
+
+ /**
+ Set the command to be used for printing files of this type.
+
+ @since 2.9.2
+ */
+ void SetPrintCommand(const wxString& command);
+
+ /**
+ Set the short description for the files of this type.
+
+ This is only used under MSW for some of the registry keys used for the
+ 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;
+
+};