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