]>
Commit | Line | Data |
---|---|---|
f6bcfd97 BP |
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
2 | %% Name: cmdlpars.tex | |
3 | %% Purpose: wxCmdLineParser documentation | |
4 | %% Author: Vadim Zeitlin | |
5 | %% Modified by: | |
6 | %% Created: 27.03.00 | |
7 | %% RCS-ID: $Id$ | |
8 | %% Copyright: (c) Vadim Zeitlin | |
8795498c | 9 | %% License: wxWindows license |
f6bcfd97 BP |
10 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
11 | ||
12 | \section{\class{wxCmdLineParser}}\label{wxcmdlineparser} | |
13 | ||
dceb1c09 | 14 | wxCmdLineParser is a class for parsing the command line. |
f6bcfd97 BP |
15 | |
16 | It has the following features: | |
5e0e6ceb JS |
17 | |
18 | \begin{enumerate}\itemsep=0pt | |
f6bcfd97 BP |
19 | \item distinguishes options, switches and parameters; allows option grouping |
20 | \item allows both short and long options | |
21 | \item automatically generates the usage message from the command line description | |
22 | \item does type checks on the options values (number, date, $\ldots$). | |
23 | \end{enumerate} | |
24 | ||
25 | To use it you should follow these steps: | |
5e0e6ceb JS |
26 | |
27 | \begin{enumerate}\itemsep=0pt | |
f6bcfd97 BP |
28 | \item \helpref{construct}{wxcmdlineparserconstruction} an object of this class |
29 | giving it the command line to parse and optionally its description or use | |
30 | {\tt AddXXX()} functions later | |
31 | \item call {\tt Parse()} | |
32 | \item use {\tt Found()} to retrieve the results | |
33 | \end{enumerate} | |
34 | ||
35 | In the documentation below the following terminology is used: | |
36 | ||
37 | \begin{twocollist}\itemsep=0pt | |
38 | \twocolitem{switch}{This is a boolean option which can be given or not, but | |
39 | which doesn't have any value. We use the word switch to distinguish such boolean | |
40 | options from more generic options like those described below. For example, | |
41 | {\tt -v} might be a switch meaning "enable verbose mode".} | |
42 | \twocolitem{option}{Option for us here is something which comes with a value 0 | |
43 | unlike a switch. For example, {\tt -o:filename} might be an option which allows | |
44 | to specify the name of the output file.} | |
45 | \twocolitem{parameter}{This is a required program argument.} | |
46 | \end{twocollist} | |
47 | ||
48 | \wxheading{Derived from} | |
49 | ||
50 | No base class | |
51 | ||
52 | \wxheading{Include files} | |
53 | ||
54 | <wx/cmdline.h> | |
55 | ||
56 | \wxheading{Constants} | |
57 | ||
58 | The structure wxCmdLineEntryDesc is used to describe the one command | |
59 | line switch, option or parameter. An array of such structures should be passed | |
60 | to \helpref{SetDesc()}{wxcmdlineparsersetdesc}. Also, the meanings of parameters | |
61 | of the {\tt AddXXX()} functions are the same as of the corresponding fields in | |
62 | this structure: | |
63 | ||
64 | \begin{verbatim} | |
65 | struct wxCmdLineEntryDesc | |
66 | { | |
67 | wxCmdLineEntryType kind; | |
68 | const wxChar *shortName; | |
69 | const wxChar *longName; | |
70 | const wxChar *description; | |
71 | wxCmdLineParamType type; | |
72 | int flags; | |
73 | }; | |
74 | \end{verbatim} | |
75 | ||
76 | The type of a command line entity is in the {\tt kind} field and may be one of | |
77 | the following constants: | |
5e0e6ceb JS |
78 | |
79 | {\small% | |
80 | \begin{verbatim} | |
f6bcfd97 BP |
81 | enum wxCmdLineEntryType |
82 | { | |
a66abda9 GT |
83 | wxCMD_LINE_SWITCH, |
84 | wxCMD_LINE_OPTION, | |
85 | wxCMD_LINE_PARAM, | |
86 | wxCMD_LINE_NONE // use this to terminate the list | |
f6bcfd97 | 87 | } |
c57e060d JS |
88 | \end{verbatim} |
89 | } | |
f6bcfd97 BP |
90 | |
91 | The field {\tt shortName} is the usual, short, name of the switch or the option. | |
92 | {\tt longName} is the corresponding long name or NULL if the option has no long | |
93 | name. Both of these fields are unused for the parameters. Both the short and | |
94 | long option names can contain only letters, digits and the underscores. | |
95 | ||
96 | {\tt description} is used by the \helpref{Usage()}{wxcmdlineparserusage} method | |
97 | to construct a help message explaining the syntax of the program. | |
98 | ||
99 | The possible values of {\tt type} which specifies the type of the value accepted | |
100 | by an option or parameter are: | |
5e0e6ceb JS |
101 | |
102 | {\small% | |
103 | \begin{verbatim} | |
f6bcfd97 BP |
104 | enum wxCmdLineParamType |
105 | { | |
a66abda9 GT |
106 | wxCMD_LINE_VAL_STRING, // default |
107 | wxCMD_LINE_VAL_NUMBER, | |
108 | wxCMD_LINE_VAL_DATE, | |
109 | wxCMD_LINE_VAL_NONE | |
f6bcfd97 | 110 | } |
c57e060d JS |
111 | \end{verbatim} |
112 | } | |
f6bcfd97 BP |
113 | |
114 | Finally, the {\tt flags} field is a combination of the following bit masks: | |
5e0e6ceb JS |
115 | |
116 | {\small% | |
117 | \begin{verbatim} | |
f6bcfd97 BP |
118 | enum |
119 | { | |
a66abda9 GT |
120 | wxCMD_LINE_OPTION_MANDATORY = 0x01, // this option must be given |
121 | wxCMD_LINE_PARAM_OPTIONAL = 0x02, // the parameter may be omitted | |
122 | wxCMD_LINE_PARAM_MULTIPLE = 0x04, // the parameter may be repeated | |
123 | wxCMD_LINE_OPTION_HELP = 0x08, // this option is a help request | |
124 | wxCMD_LINE_NEEDS_SEPARATOR = 0x10, // must have sep before the value | |
f6bcfd97 | 125 | } |
c57e060d JS |
126 | \end{verbatim} |
127 | } | |
f6bcfd97 BP |
128 | |
129 | Notice that by default (i.e. if flags are just $0$), options are optional (sic) | |
130 | and each call to \helpref{AddParam()}{wxcmdlineparseraddparam} allows one more | |
131 | parameter - this may be changed by giving non-default flags to it, i.e. use | |
132 | {\tt wxCMD\_LINE\_OPTION\_MANDATORY} to require that the option is given and | |
133 | {\tt wxCMD\_LINE\_PARAM\_OPTIONAL} to make a parameter optional. Also, | |
134 | {\tt wxCMD\_LINE\_PARAM\_MULTIPLE} may be specified if the programs accepts a | |
135 | variable number of parameters - but it only can be given for the last parameter | |
136 | in the command line description. If you use this flag, you will probably need to | |
137 | use \helpref{GetParamCount}{wxcmdlineparsergetparamcount} to retrieve the number | |
138 | of parameters effectively specified after calling | |
139 | \helpref{Parse}{wxcmdlineparserparse}. | |
140 | ||
141 | The last flag {\tt wxCMD\_LINE\_NEEDS\_SEPARATOR} can be specified to require a | |
142 | separator (either a colon, an equal sign or white space) between the option | |
143 | name and its value. By default, no separator is required. | |
144 | ||
145 | \wxheading{See also} | |
146 | ||
147 | \helpref{wxApp::argc}{wxappargc} and \helpref{wxApp::argv}{wxappargv}\\ | |
148 | console sample | |
149 | ||
150 | %%%%%%%%%%%%% Methods by group %%%%%%%%%%%%% | |
151 | \latexignore{\rtfignore{\wxheading{Function groups}}} | |
152 | ||
ff1ce997 | 153 | |
f6bcfd97 BP |
154 | \membersection{Construction}\label{wxcmdlineparserconstruction} |
155 | ||
156 | Before \helpref{Parse}{wxcmdlineparserparse} can be called, the command line | |
157 | parser object must have the command line to parse and also the rules saying | |
158 | which switches, options and parameters are valid - this is called command line | |
159 | description in what follows. | |
160 | ||
161 | You have complete freedom of choice as to when specify the required information, | |
162 | the only restriction is that it must be done before calling | |
163 | \helpref{Parse}{wxcmdlineparserparse}. | |
164 | ||
165 | To specify the command line to parse you may use either one of constructors | |
a9c95884 VZ |
166 | accepting it (\tt{wxCmdLineParser(argc, argv)} or \tt{wxCmdLineParser(const wxString&)} usually) |
167 | or, if you use the default constructor, you can do it later by calling | |
168 | \helpref{SetCmdLine}{wxcmdlineparsersetcmdline}. | |
f6bcfd97 BP |
169 | |
170 | The same holds for command line description: it can be specified either in | |
659f4d76 VZ |
171 | the constructor (\helpref{without\ command\ line}{wxcmdlineparserwxcmdlineparser} or |
172 | \helpref{together\ with\ it}{wxcmdlineparserwxcmdlineparserdescargc}) or | |
f6bcfd97 BP |
173 | constructed later using either \helpref{SetDesc}{wxcmdlineparsersetdesc} or |
174 | combination of \helpref{AddSwitch}{wxcmdlineparseraddswitch}, | |
175 | \helpref{AddOption}{wxcmdlineparseraddoption} and | |
176 | \helpref{AddParam}{wxcmdlineparseraddparam} methods. | |
177 | ||
178 | Using constructors or \helpref{SetDesc}{wxcmdlineparsersetdesc} uses a (usually | |
179 | {\tt const static}) table containing the command line description. If you want | |
2edb0bde | 180 | to decide which options to accept during the run-time, using one of the |
f6bcfd97 BP |
181 | {\tt AddXXX()} functions above might be preferable. |
182 | ||
ff1ce997 | 183 | |
f6bcfd97 BP |
184 | \membersection{Customization}\label{wxcmdlineparsercustomization} |
185 | ||
186 | wxCmdLineParser has several global options which may be changed by the | |
187 | application. All of the functions described in this section should be called | |
188 | before \helpref{Parse}{wxcmdlineparserparse}. | |
189 | ||
190 | First global option is the support for long (also known as GNU-style) options. | |
191 | The long options are the ones which start with two dashes ({\tt "--"}) and look | |
192 | like this: {\tt --verbose}, i.e. they generally are complete words and not some | |
193 | abbreviations of them. As long options are used by more and more applications, | |
194 | they are enabled by default, but may be disabled with | |
195 | \helpref{DisableLongOptions}{wxcmdlineparserdisablelongoptions}. | |
196 | ||
197 | Another global option is the set of characters which may be used to start an | |
198 | option (otherwise, the word on the command line is assumed to be a parameter). | |
199 | Under Unix, {\tt '-'} is always used, but Windows has at least two common | |
200 | choices for this: {\tt '-'} and {\tt '/'}. Some programs also use {\tt '+'}. | |
201 | The default is to use what suits most the current platform, but may be changed | |
202 | with \helpref{SetSwitchChars}{wxcmdlineparsersetswitchchars} method. | |
203 | ||
204 | Finally, \helpref{SetLogo}{wxcmdlineparsersetlogo} can be used to show some | |
205 | application-specific text before the explanation given by | |
206 | \helpref{Usage}{wxcmdlineparserusage} function. | |
207 | ||
ff1ce997 | 208 | |
f6bcfd97 BP |
209 | \membersection{Parsing command line}\label{wxcmdlineparserparsing} |
210 | ||
97d59046 | 211 | After the command line description was constructed and the desired options were |
f6bcfd97 BP |
212 | set, you can finally call \helpref{Parse}{wxcmdlineparserparse} method. |
213 | It returns $0$ if the command line was correct and was parsed, $-1$ if the help | |
214 | option was specified (this is a separate case as, normally, the program will | |
215 | terminate after this) or a positive number if there was an error during the | |
216 | command line parsing. | |
217 | ||
218 | In the latter case, the appropriate error message and usage information are | |
fc2171bd | 219 | logged by wxCmdLineParser itself using the standard wxWidgets logging functions. |
f6bcfd97 | 220 | |
ff1ce997 | 221 | |
f6bcfd97 BP |
222 | \membersection{Getting results}\label{wxcmdlineparsergettingresults} |
223 | ||
224 | After calling \helpref{Parse}{wxcmdlineparserparse} (and if it returned $0$), | |
225 | you may access the results of parsing using one of overloaded {\tt Found()} | |
226 | methods. | |
227 | ||
228 | For a simple switch, you will simply call | |
a9c95884 | 229 | \helpref{Found}{wxcmdlineparserfound} to determine if the switch was given |
f6bcfd97 BP |
230 | or not, for an option or a parameter, you will call a version of {\tt Found()} |
231 | which also returns the associated value in the provided variable. All | |
cc81d32f VS |
232 | {\tt Found()} functions return true if the switch or option were found in the |
233 | command line or false if they were not specified. | |
f6bcfd97 BP |
234 | |
235 | %%%%%%%%%%%%% Methods in alphabetic order %%%%%%%%%%%%% | |
236 | \helponly{\insertatlevel{2}{ | |
237 | ||
238 | \wxheading{Members} | |
239 | ||
240 | }} | |
241 | ||
ff1ce997 | 242 | |
a9c95884 | 243 | \membersection{wxCmdLineParser::wxCmdLineParser}\label{wxcmdlineparserwxcmdlineparser} |
f6bcfd97 BP |
244 | |
245 | \func{}{wxCmdLineParser}{\void} | |
246 | ||
247 | Default constructor. You must use | |
a9c95884 | 248 | \helpref{SetCmdLine}{wxcmdlineparsersetcmdline} later. |
f6bcfd97 | 249 | |
659f4d76 VZ |
250 | \membersection{wxCmdLineParser::wxCmdLineParser}\label{wxcmdlineparserwxcmdlineparserdescargc} |
251 | ||
f6bcfd97 BP |
252 | \func{}{wxCmdLineParser}{\param{int }{argc}, \param{char** }{argv}} |
253 | ||
ff1ce997 VZ |
254 | \func{}{wxCmdLineParser}{\param{int }{argc}, \param{wchar\_t** }{argv}} |
255 | ||
a9c95884 | 256 | Constructors which specify the command line to parse. This is the traditional |
f6bcfd97 BP |
257 | (Unix) command line format. The parameters {\it argc} and {\it argv} have the |
258 | same meaning as for {\tt main()} function. | |
259 | ||
ff1ce997 VZ |
260 | The second overloaded constructor is only available in Unicode build. The |
261 | first one is available in both ANSI and Unicode modes because under some | |
262 | platforms the command line arguments are passed as ASCII strings even to | |
263 | Unicode programs. | |
264 | ||
f6bcfd97 BP |
265 | \func{}{wxCmdLineParser}{\param{const wxString\& }{cmdline}} |
266 | ||
a9c95884 | 267 | Constructor which specify the command line to parse in Windows format. The parameter |
f6bcfd97 BP |
268 | {\it cmdline} has the same meaning as the corresponding parameter of |
269 | {\tt WinMain()}. | |
270 | ||
f6bcfd97 BP |
271 | \func{}{wxCmdLineParser}{\param{const wxCmdLineEntryDesc* }{desc}} |
272 | ||
a9c95884 VZ |
273 | Specifies the \helpref{command line description}{wxcmdlineparsersetdesc} but not the |
274 | command line. You must use \helpref{SetCmdLine}{wxcmdlineparsersetcmdline} later. | |
f6bcfd97 BP |
275 | |
276 | \func{}{wxCmdLineParser}{\param{const wxCmdLineEntryDesc* }{desc}, \param{int }{argc}, \param{char** }{argv}} | |
277 | ||
a9c95884 VZ |
278 | Specifies both the command line (in Unix format) and the |
279 | \helpref{command line description}{wxcmdlineparsersetdesc}. | |
f6bcfd97 BP |
280 | |
281 | \func{}{wxCmdLineParser}{\param{const wxCmdLineEntryDesc* }{desc}, \param{const wxString\& }{cmdline}} | |
282 | ||
a9c95884 VZ |
283 | Specifies both the command line (in Windows format) and the |
284 | \helpref{command line description}{wxcmdlineparsersetdesc}. | |
ff1ce997 | 285 | |
83a2e3c5 VZ |
286 | \membersection{wxCmdLineParser::ConvertStringToArgs}\label{wxcmdlineparserconvertstringtoargs} |
287 | ||
288 | \func{static wxArrayString}{ConvertStringToArgs}{\param{const wxChar }{*cmdline}} | |
289 | ||
290 | Breaks down the string containing the full command line in words. The words are | |
291 | separated by whitespace. The quotes can be used in the input string to quote | |
292 | the white space and the back slashes can be used to quote the quotes. | |
293 | ||
ff1ce997 | 294 | |
a9c95884 | 295 | \membersection{wxCmdLineParser::SetCmdLine}\label{wxcmdlineparsersetcmdline} |
f6bcfd97 BP |
296 | |
297 | \func{void}{SetCmdLine}{\param{int }{argc}, \param{char** }{argv}} | |
298 | ||
ff1ce997 VZ |
299 | \func{void}{SetCmdLine}{\param{int }{argc}, \param{wchar\_t** }{argv}} |
300 | ||
f6bcfd97 | 301 | Set command line to parse after using one of the constructors which don't do it. |
ff1ce997 | 302 | The second overload of this function is only available in Unicode build. |
f6bcfd97 | 303 | |
f6bcfd97 BP |
304 | \func{void}{SetCmdLine}{\param{const wxString\& }{cmdline}} |
305 | ||
306 | Set command line to parse after using one of the constructors which don't do it. | |
307 | ||
f6bcfd97 | 308 | |
ff1ce997 | 309 | |
f6bcfd97 BP |
310 | \membersection{wxCmdLineParser::\destruct{wxCmdLineParser}}\label{wxcmdlineparserdtor} |
311 | ||
312 | \func{}{\destruct{wxCmdLineParser}}{\void} | |
313 | ||
314 | Frees resources allocated by the object. | |
315 | ||
316 | {\bf NB:} destructor is not virtual, don't use this class polymorphically. | |
317 | ||
ff1ce997 | 318 | |
f6bcfd97 BP |
319 | \membersection{wxCmdLineParser::SetSwitchChars}\label{wxcmdlineparsersetswitchchars} |
320 | ||
321 | \func{void}{SetSwitchChars}{\param{const wxString\& }{switchChars}} | |
322 | ||
323 | {\it switchChars} contains all characters with which an option or switch may | |
324 | start. Default is {\tt "-"} for Unix, {\tt "-/"} for Windows. | |
325 | ||
ff1ce997 | 326 | |
f6bcfd97 BP |
327 | \membersection{wxCmdLineParser::EnableLongOptions}\label{wxcmdlineparserenablelongoptions} |
328 | ||
cc81d32f | 329 | \func{void}{EnableLongOptions}{\param{bool }{enable = true}} |
f6bcfd97 BP |
330 | |
331 | Enable or disable support for the long options. | |
332 | ||
333 | As long options are not (yet) POSIX-compliant, this option allows to disable | |
334 | them. | |
335 | ||
336 | \wxheading{See also} | |
337 | ||
250b589f | 338 | \helpref{Customization}{wxcmdlineparsercustomization} and \helpref{AreLongOptionsEnabled}{wxcmdlineparserarelongoptionsenabled} |
f6bcfd97 | 339 | |
ff1ce997 | 340 | |
f6bcfd97 BP |
341 | \membersection{wxCmdLineParser::DisableLongOptions}\label{wxcmdlineparserdisablelongoptions} |
342 | ||
343 | \func{void}{DisableLongOptions}{\void} | |
344 | ||
cc81d32f | 345 | Identical to \helpref{EnableLongOptions(false)}{wxcmdlineparserenablelongoptions}. |
250b589f | 346 | |
ff1ce997 | 347 | |
250b589f JS |
348 | \membersection{wxCmdLineParser::AreLongOptionsEnabled}\label{wxcmdlineparserarelongoptionsenabled} |
349 | ||
350 | \func{bool}{AreLongOptionsEnabled}{\void} | |
351 | ||
cc81d32f | 352 | Returns true if long options are enabled, otherwise false. |
250b589f JS |
353 | |
354 | \wxheading{See also} | |
355 | ||
356 | \helpref{EnableLongOptions}{wxcmdlineparserenablelongoptions} | |
f6bcfd97 | 357 | |
ff1ce997 | 358 | |
f6bcfd97 BP |
359 | \membersection{wxCmdLineParser::SetLogo}\label{wxcmdlineparsersetlogo} |
360 | ||
361 | \func{void}{SetLogo}{\param{const wxString\& }{logo}} | |
362 | ||
363 | {\it logo} is some extra text which will be shown by | |
364 | \helpref{Usage}{wxcmdlineparserusage} method. | |
365 | ||
ff1ce997 | 366 | |
f6bcfd97 BP |
367 | \membersection{wxCmdLineParser::SetDesc}\label{wxcmdlineparsersetdesc} |
368 | ||
369 | \func{void}{SetDesc}{\param{const wxCmdLineEntryDesc* }{desc}} | |
370 | ||
371 | Construct the command line description | |
372 | ||
373 | Take the command line description from the wxCMD\_LINE\_NONE terminated table. | |
374 | ||
375 | Example of usage: | |
376 | ||
377 | \begin{verbatim} | |
378 | static const wxCmdLineEntryDesc cmdLineDesc[] = | |
379 | { | |
380 | { wxCMD_LINE_SWITCH, "v", "verbose", "be verbose" }, | |
381 | { wxCMD_LINE_SWITCH, "q", "quiet", "be quiet" }, | |
382 | ||
383 | { wxCMD_LINE_OPTION, "o", "output", "output file" }, | |
384 | { wxCMD_LINE_OPTION, "i", "input", "input dir" }, | |
385 | { wxCMD_LINE_OPTION, "s", "size", "output block size", wxCMD_LINE_VAL_NUMBER }, | |
386 | { wxCMD_LINE_OPTION, "d", "date", "output file date", wxCMD_LINE_VAL_DATE }, | |
387 | ||
388 | { wxCMD_LINE_PARAM, NULL, NULL, "input file", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE }, | |
389 | ||
390 | { wxCMD_LINE_NONE } | |
391 | }; | |
392 | ||
393 | wxCmdLineParser parser; | |
394 | ||
395 | parser.SetDesc(cmdLineDesc); | |
396 | \end{verbatim} | |
397 | ||
ff1ce997 | 398 | |
f6bcfd97 BP |
399 | \membersection{wxCmdLineParser::AddSwitch}\label{wxcmdlineparseraddswitch} |
400 | ||
401 | \func{void}{AddSwitch}{\param{const wxString\& }{name}, \param{const wxString\& }{lng = wxEmptyString}, \param{const wxString\& }{desc = wxEmptyString}, \param{int }{flags = 0}} | |
402 | ||
403 | Add a switch {\it name} with an optional long name {\it lng} (no long name if it | |
404 | is empty, which is default), description {\it desc} and flags {\it flags} to the | |
405 | command line description. | |
406 | ||
ff1ce997 | 407 | |
f6bcfd97 BP |
408 | \membersection{wxCmdLineParser::AddOption}\label{wxcmdlineparseraddoption} |
409 | ||
410 | \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}} | |
411 | ||
412 | Add an option {\it name} with an optional long name {\it lng} (no long name if | |
413 | it is empty, which is default) taking a value of the given type (string by | |
414 | default) to the command line description. | |
415 | ||
ff1ce997 | 416 | |
f6bcfd97 BP |
417 | \membersection{wxCmdLineParser::AddParam}\label{wxcmdlineparseraddparam} |
418 | ||
419 | \func{void}{AddParam}{\param{const wxString\& }{desc = wxEmptyString}, \param{wxCmdLineParamType }{type = wxCMD\_LINE\_VAL\_STRING}, \param{int }{flags = 0}} | |
420 | ||
421 | Add a parameter of the given {\it type} to the command line description. | |
422 | ||
ff1ce997 | 423 | |
f6bcfd97 BP |
424 | \membersection{wxCmdLineParser::Parse}\label{wxcmdlineparserparse} |
425 | ||
cc81d32f | 426 | \func{int}{Parse}{\param{bool }{giveUsage = {\tt true}}} |
f6bcfd97 BP |
427 | |
428 | Parse the command line, return $0$ if ok, $-1$ if {\tt "-h"} or {\tt "--help"} | |
429 | option was encountered and the help message was given or a positive value if a | |
43e8916f | 430 | syntax error occurred. |
f6bcfd97 | 431 | |
be03c0ec VZ |
432 | \wxheading{Parameters} |
433 | ||
cc81d32f | 434 | \docparam{giveUsage}{If {\tt true} (default), the usage message is given if a |
be03c0ec | 435 | syntax error was encountered while parsing the command line or if help was |
cc81d32f | 436 | requested. If {\tt false}, only error messages about possible syntax errors |
be03c0ec VZ |
437 | are given, use \helpref{Usage}{wxcmdlineparserusage} to show the usage message |
438 | from the caller if needed.} | |
439 | ||
ff1ce997 | 440 | |
f6bcfd97 BP |
441 | \membersection{wxCmdLineParser::Usage}\label{wxcmdlineparserusage} |
442 | ||
443 | \func{void}{Usage}{\void} | |
444 | ||
445 | Give the standard usage message describing all program options. It will use the | |
446 | options and parameters descriptions specified earlier, so the resulting message | |
447 | will not be helpful to the user unless the descriptions were indeed specified. | |
448 | ||
449 | \wxheading{See also} | |
450 | ||
451 | \helpref{SetLogo}{wxcmdlineparsersetlogo} | |
452 | ||
ff1ce997 | 453 | |
a9c95884 | 454 | \membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfound} |
f6bcfd97 BP |
455 | |
456 | \constfunc{bool}{Found}{\param{const wxString\& }{name}} | |
457 | ||
a9c95884 | 458 | Returns \true if the given switch was found, false otherwise. |
f6bcfd97 BP |
459 | |
460 | \constfunc{bool}{Found}{\param{const wxString\& }{name}, \param{wxString* }{value}} | |
461 | ||
a9c95884 | 462 | Returns \true if an option taking a string value was found and stores the |
f6bcfd97 BP |
463 | value in the provided pointer (which should not be NULL). |
464 | ||
f6bcfd97 BP |
465 | \constfunc{bool}{Found}{\param{const wxString\& }{name}, \param{long* }{value}} |
466 | ||
a9c95884 | 467 | Returns \true if an option taking an integer value was found and stores |
f6bcfd97 BP |
468 | the value in the provided pointer (which should not be NULL). |
469 | ||
f6bcfd97 BP |
470 | \constfunc{bool}{Found}{\param{const wxString\& }{name}, \param{wxDateTime* }{value}} |
471 | ||
a9c95884 | 472 | Returns \true if an option taking a date value was found and stores the |
f6bcfd97 BP |
473 | value in the provided pointer (which should not be NULL). |
474 | ||
ff1ce997 | 475 | |
f6bcfd97 BP |
476 | \membersection{wxCmdLineParser::GetParamCount}\label{wxcmdlineparsergetparamcount} |
477 | ||
478 | \constfunc{size\_t}{GetParamCount}{\void} | |
479 | ||
480 | Returns the number of parameters found. This function makes sense mostly if you | |
481 | had used {\tt wxCMD\_LINE\_PARAM\_MULTIPLE} flag. | |
482 | ||
ff1ce997 | 483 | |
f6bcfd97 BP |
484 | \membersection{wxCmdLineParser::GetParam}\label{wxcmdlineparsergetparam} |
485 | ||
486 | \constfunc{wxString}{GetParam}{\param{size\_t }{n = 0u}} | |
487 | ||
a9c95884 | 488 | Returns the value of Nth parameter (as string only). |
f6bcfd97 BP |
489 | |
490 | \wxheading{See also} | |
491 | ||
492 | \helpref{GetParamCount}{wxcmdlineparsergetparamcount} | |
493 |