]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/cmdlpars.tex
handlers added using AddHandler() last must have the highest priority (patch 1522807)
[wxWidgets.git] / docs / latex / wx / cmdlpars.tex
index 407a0707acb6d0ddd5f6720820c4355829ca6dbb..35d1ab1178145e1d65cd33d975d905a16084299e 100644 (file)
@@ -11,7 +11,7 @@
 
 \section{\class{wxCmdLineParser}}\label{wxcmdlineparser}
 
-wxCmdLineParser is a class for parsing command line.
+wxCmdLineParser is a class for parsing the command line.
 
 It has the following features:
 
@@ -150,6 +150,7 @@ console sample
 %%%%%%%%%%%%% Methods by group %%%%%%%%%%%%%
 \latexignore{\rtfignore{\wxheading{Function groups}}}
 
+
 \membersection{Construction}\label{wxcmdlineparserconstruction}
 
 Before \helpref{Parse}{wxcmdlineparserparse} can be called, the command line
@@ -178,9 +179,10 @@ combination of \helpref{AddSwitch}{wxcmdlineparseraddswitch},
 
 Using constructors or \helpref{SetDesc}{wxcmdlineparsersetdesc} uses a (usually 
 {\tt const static}) table containing the command line description. If you want
-to decide which options to acccept during the run-time, using one of the 
+to decide which options to accept during the run-time, using one of the 
 {\tt AddXXX()} functions above might be preferable.
 
+
 \membersection{Customization}\label{wxcmdlineparsercustomization}
 
 wxCmdLineParser has several global options which may be changed by the
@@ -205,6 +207,7 @@ Finally, \helpref{SetLogo}{wxcmdlineparsersetlogo} can be used to show some
 application-specific text before the explanation given by 
 \helpref{Usage}{wxcmdlineparserusage} function.
 
+
 \membersection{Parsing command line}\label{wxcmdlineparserparsing}
 
 After the command line description was constructed and the desired options were
@@ -215,7 +218,8 @@ terminate after this) or a positive number if there was an error during the
 command line parsing.
 
 In the latter case, the appropriate error message and usage information are
-logged by wxCmdLineParser itself using the standard wxWindows logging functions.
+logged by wxCmdLineParser itself using the standard wxWidgets logging functions.
+
 
 \membersection{Getting results}\label{wxcmdlineparsergettingresults}
 
@@ -227,8 +231,8 @@ For a simple switch, you will simply call
 \helpref{Found}{wxcmdlineparserfoundswitch} to determine if the switch was given
 or not, for an option or a parameter, you will call a version of {\tt Found()} 
 which also returns the associated value in the provided variable. All 
-{\tt Found()} functions return TRUE if the switch or option were found in the
-command line or FALSE if they were not specified.
+{\tt Found()} functions return true if the switch or option were found in the
+command line or false if they were not specified.
 
 %%%%%%%%%%%%% Methods in alphabetic order %%%%%%%%%%%%%
 \helponly{\insertatlevel{2}{
@@ -237,6 +241,7 @@ command line or FALSE if they were not specified.
 
 }}
 
+
 \membersection{wxCmdLineParser::wxCmdLineParser}\label{wxcmdlineparserwxcmdlineparserdef}
 
 \func{}{wxCmdLineParser}{\void}
@@ -244,14 +249,23 @@ command line or FALSE if they were not specified.
 Default constructor. You must use 
 \helpref{SetCmdLine}{wxcmdlineparsersetcmdlineargc} later.
 
+
 \membersection{wxCmdLineParser::wxCmdLineParser}\label{wxcmdlineparserwxcmdlineparserargc}
 
 \func{}{wxCmdLineParser}{\param{int }{argc}, \param{char** }{argv}}
 
+\func{}{wxCmdLineParser}{\param{int }{argc}, \param{wchar\_t** }{argv}}
+
 Constructor specifies the command line to parse. This is the traditional
 (Unix) command line format. The parameters {\it argc} and {\it argv} have the
 same meaning as for {\tt main()} function.
 
+The second overloaded constructor is only available in Unicode build. The
+first one is available in both ANSI and Unicode modes because under some
+platforms the command line arguments are passed as ASCII strings even to
+Unicode programs.
+
+
 \membersection{wxCmdLineParser::wxCmdLineParser}\label{wxcmdlineparserwxcmdlineparserstr}
 
 \func{}{wxCmdLineParser}{\param{const wxString\& }{cmdline}}
@@ -260,6 +274,7 @@ Constructor specifies the command line to parse in Windows format. The parameter
 {\it cmdline} has the same meaning as the corresponding parameter of 
 {\tt WinMain()}.
 
+
 \membersection{wxCmdLineParser::wxCmdLineParser}\label{wxcmdlineparserwxcmdlineparserdesc}
 
 \func{}{wxCmdLineParser}{\param{const wxCmdLineEntryDesc* }{desc}}
@@ -267,6 +282,7 @@ Constructor specifies the command line to parse in Windows format. The parameter
 Same as \helpref{wxCmdLineParser}{wxcmdlineparserwxcmdlineparserdef}, but also
 specifies the \helpref{command line description}{wxcmdlineparsersetdesc}.
 
+
 \membersection{wxCmdLineParser::wxCmdLineParser}\label{wxcmdlineparserwxcmdlineparserdescargc}
 
 \func{}{wxCmdLineParser}{\param{const wxCmdLineEntryDesc* }{desc}, \param{int }{argc}, \param{char** }{argv}}
@@ -274,6 +290,7 @@ specifies the \helpref{command line description}{wxcmdlineparsersetdesc}.
 Same as \helpref{wxCmdLineParser}{wxcmdlineparserwxcmdlineparserargc}, but also
 specifies the \helpref{command line description}{wxcmdlineparsersetdesc}.
 
+
 \membersection{wxCmdLineParser::wxCmdLineParser}\label{wxcmdlineparserwxcmdlineparserdescstr}
 
 \func{}{wxCmdLineParser}{\param{const wxCmdLineEntryDesc* }{desc}, \param{const wxString\& }{cmdline}}
@@ -281,16 +298,30 @@ specifies the \helpref{command line description}{wxcmdlineparsersetdesc}.
 Same as \helpref{wxCmdLineParser}{wxcmdlineparserwxcmdlineparserstr}, but also
 specifies the \helpref{command line description}{wxcmdlineparsersetdesc}.
 
+
+\membersection{wxCmdLineParser::ConvertStringToArgs}\label{wxcmdlineparserconvertstringtoargs}
+
+\func{static wxArrayString}{ConvertStringToArgs}{\param{const wxChar }{*cmdline}}
+
+Breaks down the string containing the full command line in words. The words are
+separated by whitespace. The quotes can be used in the input string to quote
+the white space and the back slashes can be used to quote the quotes.
+
+
 \membersection{wxCmdLineParser::SetCmdLine}\label{wxcmdlineparsersetcmdlineargc}
 
 \func{void}{SetCmdLine}{\param{int }{argc}, \param{char** }{argv}}
 
+\func{void}{SetCmdLine}{\param{int }{argc}, \param{wchar\_t** }{argv}}
+
 Set command line to parse after using one of the constructors which don't do it.
+The second overload of this function is only available in Unicode build.
 
 \wxheading{See also}
 
 \helpref{wxCmdLineParser}{wxcmdlineparserwxcmdlineparserargc}
 
+
 \membersection{wxCmdLineParser::SetCmdLine}\label{wxcmdlineparsersetcmdlinestr}
 
 \func{void}{SetCmdLine}{\param{const wxString\& }{cmdline}}
@@ -301,6 +332,7 @@ Set command line to parse after using one of the constructors which don't do it.
 
 \helpref{wxCmdLineParser}{wxcmdlineparserwxcmdlineparserstr}
 
+
 \membersection{wxCmdLineParser::\destruct{wxCmdLineParser}}\label{wxcmdlineparserdtor}
 
 \func{}{\destruct{wxCmdLineParser}}{\void}
@@ -309,6 +341,7 @@ Frees resources allocated by the object.
 
 {\bf NB:} destructor is not virtual, don't use this class polymorphically.
 
+
 \membersection{wxCmdLineParser::SetSwitchChars}\label{wxcmdlineparsersetswitchchars}
 
 \func{void}{SetSwitchChars}{\param{const wxString\& }{switchChars}}
@@ -316,9 +349,10 @@ Frees resources allocated by the object.
 {\it switchChars} contains all characters with which an option or switch may
 start. Default is {\tt "-"} for Unix, {\tt "-/"} for Windows.
 
+
 \membersection{wxCmdLineParser::EnableLongOptions}\label{wxcmdlineparserenablelongoptions}
 
-\func{void}{EnableLongOptions}{\param{bool }{enable = TRUE}}
+\func{void}{EnableLongOptions}{\param{bool }{enable = true}}
 
 Enable or disable support for the long options.
 
@@ -327,13 +361,26 @@ them.
 
 \wxheading{See also}
 
-\helpref{Customization}{wxcmdlineparsercustomization}
+\helpref{Customization}{wxcmdlineparsercustomization} and \helpref{AreLongOptionsEnabled}{wxcmdlineparserarelongoptionsenabled}
+
 
 \membersection{wxCmdLineParser::DisableLongOptions}\label{wxcmdlineparserdisablelongoptions}
 
 \func{void}{DisableLongOptions}{\void}
 
-Ientical to \helpref{EnableLongOptions(FALSE)}{wxcmdlineparserenablelongoptions}.
+Identical to \helpref{EnableLongOptions(false)}{wxcmdlineparserenablelongoptions}.
+
+
+\membersection{wxCmdLineParser::AreLongOptionsEnabled}\label{wxcmdlineparserarelongoptionsenabled}
+
+\func{bool}{AreLongOptionsEnabled}{\void}
+
+Returns true if long options are enabled, otherwise false.
+
+\wxheading{See also}
+
+\helpref{EnableLongOptions}{wxcmdlineparserenablelongoptions}
+
 
 \membersection{wxCmdLineParser::SetLogo}\label{wxcmdlineparsersetlogo}
 
@@ -342,6 +389,7 @@ Ientical to \helpref{EnableLongOptions(FALSE)}{wxcmdlineparserenablelongoptions}
 {\it logo} is some extra text which will be shown by 
 \helpref{Usage}{wxcmdlineparserusage} method.
 
+
 \membersection{wxCmdLineParser::SetDesc}\label{wxcmdlineparsersetdesc}
 
 \func{void}{SetDesc}{\param{const wxCmdLineEntryDesc* }{desc}}
@@ -373,6 +421,7 @@ wxCmdLineParser parser;
 parser.SetDesc(cmdLineDesc);
 \end{verbatim}
 
+
 \membersection{wxCmdLineParser::AddSwitch}\label{wxcmdlineparseraddswitch}
 
 \func{void}{AddSwitch}{\param{const wxString\& }{name}, \param{const wxString\& }{lng = wxEmptyString}, \param{const wxString\& }{desc = wxEmptyString}, \param{int }{flags = 0}}
@@ -381,6 +430,7 @@ Add a switch {\it name} with an optional long name {\it lng} (no long name if it
 is empty, which is default), description {\it desc} and flags {\it flags} to the
 command line description.
 
+
 \membersection{wxCmdLineParser::AddOption}\label{wxcmdlineparseraddoption}
 
 \func{void}{AddOption}{\param{const wxString\& }{name}, \param{const wxString\& }{lng = wxEmptyString}, \param{const wxString\& }{desc = wxEmptyString}, \param{wxCmdLineParamType }{type = wxCMD\_LINE\_VAL\_STRING}, \param{int }{flags = 0}}
@@ -389,19 +439,30 @@ Add an option {\it name} with an optional long name {\it lng} (no long name if
 it is empty, which is default) taking a value of the given type (string by
 default) to the command line description.
 
+
 \membersection{wxCmdLineParser::AddParam}\label{wxcmdlineparseraddparam}
 
 \func{void}{AddParam}{\param{const wxString\& }{desc = wxEmptyString}, \param{wxCmdLineParamType }{type = wxCMD\_LINE\_VAL\_STRING}, \param{int }{flags = 0}}
 
 Add a parameter of the given {\it type} to the command line description.
 
+
 \membersection{wxCmdLineParser::Parse}\label{wxcmdlineparserparse}
 
-\func{int}{Parse}{\void}
+\func{int}{Parse}{\param{bool }{giveUsage = {\tt true}}}
 
 Parse the command line, return $0$ if ok, $-1$ if {\tt "-h"} or {\tt "--help"} 
 option was encountered and the help message was given or a positive value if a
-syntax error occured.
+syntax error occurred.
+
+\wxheading{Parameters}
+
+\docparam{giveUsage}{If {\tt true} (default), the usage message is given if a
+syntax error was encountered while parsing the command line or if help was
+requested. If {\tt false}, only error messages about possible syntax errors
+are given, use \helpref{Usage}{wxcmdlineparserusage} to show the usage message
+from the caller if needed.}
+
 
 \membersection{wxCmdLineParser::Usage}\label{wxcmdlineparserusage}
 
@@ -415,33 +476,38 @@ will not be helpful to the user unless the descriptions were indeed specified.
 
 \helpref{SetLogo}{wxcmdlineparsersetlogo}
 
+
 \membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfoundswitch}
 
 \constfunc{bool}{Found}{\param{const wxString\& }{name}}
 
-Returns TRUE if the given switch was found, FALSE otherwise.
+Returns true if the given switch was found, false otherwise.
+
 
 \membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfoundstringoption}
 
 \constfunc{bool}{Found}{\param{const wxString\& }{name}, \param{wxString* }{value}}
 
-Returns TRUE if an option taking a string value was found and stores the
+Returns true if an option taking a string value was found and stores the
 value in the provided pointer (which should not be NULL).
 
+
 \membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfoundintoption}
 
 \constfunc{bool}{Found}{\param{const wxString\& }{name}, \param{long* }{value}}
 
-Returns TRUE if an option taking an integer value was found and stores
+Returns true if an option taking an integer value was found and stores
 the value in the provided pointer (which should not be NULL).
 
+
 \membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfounddateoption}
 
 \constfunc{bool}{Found}{\param{const wxString\& }{name}, \param{wxDateTime* }{value}}
 
-Returns TRUE if an option taking a date value was found and stores the
+Returns true if an option taking a date value was found and stores the
 value in the provided pointer (which should not be NULL).
 
+
 \membersection{wxCmdLineParser::GetParamCount}\label{wxcmdlineparsergetparamcount}
 
 \constfunc{size\_t}{GetParamCount}{\void}
@@ -449,6 +515,7 @@ value in the provided pointer (which should not be NULL).
 Returns the number of parameters found. This function makes sense mostly if you
 had used {\tt wxCMD\_LINE\_PARAM\_MULTIPLE} flag.
 
+
 \membersection{wxCmdLineParser::GetParam}\label{wxcmdlineparsergetparam}
 
 \constfunc{wxString}{GetParam}{\param{size\_t }{n = 0u}}