]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/cmdlpars.tex
define _HPUX_SOURCE under HP-UX, otherwise many things are not defined in standard...
[wxWidgets.git] / docs / latex / wx / cmdlpars.tex
index 8b3d0252c9412b2fcedf4ba4ae0ea1a929526ff3..35d1ab1178145e1d65cd33d975d905a16084299e 100644 (file)
@@ -11,7 +11,7 @@
 
 \section{\class{wxCmdLineParser}}\label{wxcmdlineparser}
 
 
 \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:
 
 
 It has the following features:
 
@@ -150,6 +150,7 @@ console sample
 %%%%%%%%%%%%% Methods by group %%%%%%%%%%%%%
 \latexignore{\rtfignore{\wxheading{Function groups}}}
 
 %%%%%%%%%%%%% Methods by group %%%%%%%%%%%%%
 \latexignore{\rtfignore{\wxheading{Function groups}}}
 
+
 \membersection{Construction}\label{wxcmdlineparserconstruction}
 
 Before \helpref{Parse}{wxcmdlineparserparse} can be called, the command line
 \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
 
 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.
 
 {\tt AddXXX()} functions above might be preferable.
 
+
 \membersection{Customization}\label{wxcmdlineparsercustomization}
 
 wxCmdLineParser has several global options which may be changed by the
 \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.
 
 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
 \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
 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}
 
 
 \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 
 \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}{
 
 %%%%%%%%%%%%% 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}
 \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.
 
 Default constructor. You must use 
 \helpref{SetCmdLine}{wxcmdlineparsersetcmdlineargc} later.
 
+
 \membersection{wxCmdLineParser::wxCmdLineParser}\label{wxcmdlineparserwxcmdlineparserargc}
 
 \func{}{wxCmdLineParser}{\param{int }{argc}, \param{char** }{argv}}
 
 \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.
 
 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}}
 \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()}.
 
 {\it cmdline} has the same meaning as the corresponding parameter of 
 {\tt WinMain()}.
 
+
 \membersection{wxCmdLineParser::wxCmdLineParser}\label{wxcmdlineparserwxcmdlineparserdesc}
 
 \func{}{wxCmdLineParser}{\param{const wxCmdLineEntryDesc* }{desc}}
 \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}.
 
 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}}
 \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}.
 
 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}}
 \membersection{wxCmdLineParser::wxCmdLineParser}\label{wxcmdlineparserwxcmdlineparserdescstr}
 
 \func{}{wxCmdLineParser}{\param{const wxCmdLineEntryDesc* }{desc}, \param{const wxString\& }{cmdline}}
@@ -281,6 +298,7 @@ specifies the \helpref{command line description}{wxcmdlineparsersetdesc}.
 Same as \helpref{wxCmdLineParser}{wxcmdlineparserwxcmdlineparserstr}, but also
 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}}
 \membersection{wxCmdLineParser::ConvertStringToArgs}\label{wxcmdlineparserconvertstringtoargs}
 
 \func{static wxArrayString}{ConvertStringToArgs}{\param{const wxChar }{*cmdline}}
@@ -289,16 +307,21 @@ 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.
 
 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}}
 
 \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.
 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}
 
 
 \wxheading{See also}
 
 \helpref{wxCmdLineParser}{wxcmdlineparserwxcmdlineparserargc}
 
+
 \membersection{wxCmdLineParser::SetCmdLine}\label{wxcmdlineparsersetcmdlinestr}
 
 \func{void}{SetCmdLine}{\param{const wxString\& }{cmdline}}
 \membersection{wxCmdLineParser::SetCmdLine}\label{wxcmdlineparsersetcmdlinestr}
 
 \func{void}{SetCmdLine}{\param{const wxString\& }{cmdline}}
@@ -309,6 +332,7 @@ Set command line to parse after using one of the constructors which don't do it.
 
 \helpref{wxCmdLineParser}{wxcmdlineparserwxcmdlineparserstr}
 
 
 \helpref{wxCmdLineParser}{wxcmdlineparserwxcmdlineparserstr}
 
+
 \membersection{wxCmdLineParser::\destruct{wxCmdLineParser}}\label{wxcmdlineparserdtor}
 
 \func{}{\destruct{wxCmdLineParser}}{\void}
 \membersection{wxCmdLineParser::\destruct{wxCmdLineParser}}\label{wxcmdlineparserdtor}
 
 \func{}{\destruct{wxCmdLineParser}}{\void}
@@ -317,6 +341,7 @@ Frees resources allocated by the object.
 
 {\bf NB:} destructor is not virtual, don't use this class polymorphically.
 
 
 {\bf NB:} destructor is not virtual, don't use this class polymorphically.
 
+
 \membersection{wxCmdLineParser::SetSwitchChars}\label{wxcmdlineparsersetswitchchars}
 
 \func{void}{SetSwitchChars}{\param{const wxString\& }{switchChars}}
 \membersection{wxCmdLineParser::SetSwitchChars}\label{wxcmdlineparsersetswitchchars}
 
 \func{void}{SetSwitchChars}{\param{const wxString\& }{switchChars}}
@@ -324,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.
 
 {\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}
 
 \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.
 
 
 Enable or disable support for the long options.
 
@@ -335,13 +361,26 @@ them.
 
 \wxheading{See also}
 
 
 \wxheading{See also}
 
-\helpref{Customization}{wxcmdlineparsercustomization}
+\helpref{Customization}{wxcmdlineparsercustomization} and \helpref{AreLongOptionsEnabled}{wxcmdlineparserarelongoptionsenabled}
+
 
 \membersection{wxCmdLineParser::DisableLongOptions}\label{wxcmdlineparserdisablelongoptions}
 
 \func{void}{DisableLongOptions}{\void}
 
 
 \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}
 
 
 \membersection{wxCmdLineParser::SetLogo}\label{wxcmdlineparsersetlogo}
 
@@ -350,6 +389,7 @@ Ientical to \helpref{EnableLongOptions(FALSE)}{wxcmdlineparserenablelongoptions}
 {\it logo} is some extra text which will be shown by 
 \helpref{Usage}{wxcmdlineparserusage} method.
 
 {\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}}
 \membersection{wxCmdLineParser::SetDesc}\label{wxcmdlineparsersetdesc}
 
 \func{void}{SetDesc}{\param{const wxCmdLineEntryDesc* }{desc}}
@@ -381,6 +421,7 @@ wxCmdLineParser parser;
 parser.SetDesc(cmdLineDesc);
 \end{verbatim}
 
 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}}
 \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}}
@@ -389,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.
 
 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}}
 \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}}
@@ -397,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.
 
 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::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}
 
 \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
 
 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}
 
 
 \membersection{wxCmdLineParser::Usage}\label{wxcmdlineparserusage}
 
@@ -423,33 +476,38 @@ will not be helpful to the user unless the descriptions were indeed specified.
 
 \helpref{SetLogo}{wxcmdlineparsersetlogo}
 
 
 \helpref{SetLogo}{wxcmdlineparsersetlogo}
 
+
 \membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfoundswitch}
 
 \constfunc{bool}{Found}{\param{const wxString\& }{name}}
 
 \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}}
 
 
 \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).
 
 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}}
 
 \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).
 
 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}}
 
 \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).
 
 value in the provided pointer (which should not be NULL).
 
+
 \membersection{wxCmdLineParser::GetParamCount}\label{wxcmdlineparsergetparamcount}
 
 \constfunc{size\_t}{GetParamCount}{\void}
 \membersection{wxCmdLineParser::GetParamCount}\label{wxcmdlineparsergetparamcount}
 
 \constfunc{size\_t}{GetParamCount}{\void}
@@ -457,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.
 
 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}}
 \membersection{wxCmdLineParser::GetParam}\label{wxcmdlineparsergetparam}
 
 \constfunc{wxString}{GetParam}{\param{size\_t }{n = 0u}}