From 0532a2588121690115f4629cdcbc41d2049e50c0 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 5 Aug 2002 18:49:38 +0000 Subject: [PATCH] added a more convenient version of wxFileType::GetOpenCommand() git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/filetype.tex | 31 ++++++++++++++++++++----------- include/wx/mimetype.h | 6 +++++- src/common/mimecmn.cpp | 12 ++++++++++++ 3 files changed, 37 insertions(+), 12 deletions(-) diff --git a/docs/latex/wx/filetype.tex b/docs/latex/wx/filetype.tex index 18f91aab5a..9c9db0fcc8 100644 --- a/docs/latex/wx/filetype.tex +++ b/docs/latex/wx/filetype.tex @@ -7,7 +7,7 @@ object may be created in several different ways: the program might know the file extension and wish to find out the corresponding MIME type or, conversely, it might want to find the right extension for the file to which it writes the contents of given MIME type. Depending on how it was created some fields may be -unknown so the return value of all the accessors {\bf must} be checked: FALSE +unknown so the return value of all the accessors {\bf must} be checked: {\tt FALSE} will be returned if the corresponding information couldn't be found. The objects of this class are never created by the application code but are @@ -122,7 +122,7 @@ The destructor of this class is not virtual, so it should not be derived from. \func{bool}{GetMimeType}{\param{wxString*}{ mimeType}} -If the function returns TRUE, the string pointed to by {\it mimeType} is filled +If the function returns {\tt TRUE}, the string pointed to by {\it mimeType} is filled with full MIME type specification for this file type: for example, "text/plain". \membersection{wxFileType::GetMimeTypes}\label{wxfiletypegetmimetypes} @@ -139,14 +139,14 @@ mime.types. \func{bool}{GetExtensions}{\param{wxArrayString\&}{ extensions}} -If the function returns TRUE, the array {\it extensions} is filled +If the function returns {\tt TRUE}, the array {\it extensions} is filled with all extensions associated with this file type: for example, it may contain the following two elements for the MIME type "text/html" (notice the absence of the leading dot): "html" and "htm". {\bf Windows:} This function is currently not implemented: there is no (efficient) way to retrieve associated extensions from the given MIME type on -this platform, so it will only return TRUE if the wxFileType object was created +this platform, so it will only return {\tt TRUE} if the wxFileType object was created by \helpref{GetFileTypeFromExtension}{wxmimetypesmanagergetfiletypefromextension} function in the first place. @@ -154,7 +154,7 @@ function in the first place. \func{bool}{GetIcon}{\param{wxIcon*}{ icon}} -If the function returns TRUE, the icon associated with this file type will be +If the function returns {\tt TRUE}, the icon associated with this file type will be created and assigned to the {\it icon} parameter. {\bf Unix:} MIME manager gathers information about icons from GNOME @@ -165,7 +165,7 @@ of these desktop environments. \func{bool}{GetDescription}{\param{wxString*}{ desc}} -If the function returns TRUE, the string pointed to by {\it desc} is filled +If the function returns {\tt TRUE}, the string pointed to by {\it desc} is filled with a brief description for this file type: for example, "text document" for the "text/plain" MIME type. @@ -173,16 +173,25 @@ the "text/plain" MIME type. \func{bool}{GetOpenCommand}{\param{wxString*}{ command}, \param{MessageParameters\&}{ params}} -If the function returns TRUE, the string pointed to by {\it command} is filled -with the command which must be executed (see \helpref{wxExecute}{wxexecute}) in -order to open the file of the given type. The name of the file is -retrieved from \helpref{MessageParameters}{wxfiletypemessageparameters} class. +\func{wxString}{GetOpenCommand}{\param{const wxString\&}{ filename}} + +With the first version of this method, if the {\tt TRUE} is returned, the +string pointed to by {\it command} is filled with the command which must be +executed (see \helpref{wxExecute}{wxexecute}) in order to open the file of the +given type. In this case, the name of the file as well as any other parameters +is retrieved from \helpref{MessageParameters}{wxfiletypemessageparameters} +class. + +In the second case, only the filename is specified and the command to be used +to open this kind of file is returned directly. An empty string is returned to +indicate that an error occured (typically meaning that there is no standard way +to open this kind of files). \membersection{wxFileType::GetPrintCommand}\label{wxfiletypegetprintcommand} \func{bool}{GetPrintCommand}{\param{wxString*}{ command},\param{MessageParameters\&}{ params}} -If the function returns TRUE, the string pointed to by {\it command} is filled +If the function returns {\tt TRUE}, the string pointed to by {\it command} is filled with the command which must be executed (see \helpref{wxExecute}{wxexecute}) in order to print the file of the given type. The name of the file is retrieved from \helpref{MessageParameters}{wxfiletypemessageparameters} class. diff --git a/include/wx/mimetype.h b/include/wx/mimetype.h index 2b7219d771..773d4a7672 100644 --- a/include/wx/mimetype.h +++ b/include/wx/mimetype.h @@ -176,7 +176,8 @@ public: public: // ctors MessageParameters() { } - MessageParameters(const wxString& filename, const wxString& mimetype) + MessageParameters(const wxString& filename, + const wxString& mimetype = _T("")) : m_filename(filename), m_mimetype(mimetype) { } // accessors (called by GetOpenCommand) @@ -221,6 +222,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; diff --git a/src/common/mimecmn.cpp b/src/common/mimecmn.cpp index a760575ad9..ec2f6695a4 100644 --- a/src/common/mimecmn.cpp +++ b/src/common/mimecmn.cpp @@ -328,6 +328,18 @@ wxFileType::GetOpenCommand(wxString *openCmd, 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 -- 2.45.2