git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52505
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
void EnableLongOptions(bool enable = true);
void DisableLongOptions() { EnableLongOptions(false); }
void EnableLongOptions(bool enable = true);
void DisableLongOptions() { EnableLongOptions(false); }
- bool AreLongOptionsEnabled();
+ bool AreLongOptionsEnabled() const;
// extra text may be shown by Usage() method if set by this function
void SetLogo(const wxString& logo);
// extra text may be shown by Usage() method if set by this function
void SetLogo(const wxString& logo);
int Parse(bool showUsage = true);
// give the usage message describing all program options
int Parse(bool showUsage = true);
// give the usage message describing all program options
// get the command line arguments
// ------------------------------
// get the command line arguments
// ------------------------------
private:
// get usage string
private:
// get usage string
- wxString GetUsageString();
+ wxString GetUsageString() const;
// common part of all ctors
void Init();
// common part of all ctors
void Init();
It has the following features:
It has the following features:
- distinguishes options, switches and parameters; allows option grouping
- allows both short and long options
- automatically generates the usage message from the command line description
- does type checks on the options values (number, date, ...).
+ - distinguishes options, switches and parameters
+ - allows option grouping
+ - allows both short and long options
+ - automatically generates the usage message from the command line description
+ - checks types of the options values (number, date, ...).
To use it you should follow these steps:
To use it you should follow these steps:
- @ref wxCmdLineParser::construction construct an object of this class
+ -# @ref wxCmdLineParser::construction construct an object of this class
giving it the command line to parse and optionally its description or use
@c AddXXX() functions later
giving it the command line to parse and optionally its description or use
@c AddXXX() functions later
- call @c Parse()
- use @c Found() to retrieve the results
+ -# call @c Parse()
+ -# use @c Found() to retrieve the results
In the documentation below the following terminology is used:
In the documentation below the following terminology is used:
This is a boolean option which can be given or not, but
which doesn't have any value. We use the word switch to distinguish such boolean
options from more generic options like those described below. For example,
@c -v might be a switch meaning "enable verbose mode".
This is a boolean option which can be given or not, but
which doesn't have any value. We use the word switch to distinguish such boolean
options from more generic options like those described below. For example,
@c -v might be a switch meaning "enable verbose mode".
Option for us here is something which comes with a value 0
unlike a switch. For example, @c -o:filename might be an option which allows
to specify the name of the output file.
Option for us here is something which comes with a value 0
unlike a switch. For example, @c -o:filename might be an option which allows
to specify the name of the output file.
This is a required program argument.
This is a required program argument.
@see EnableLongOptions()
*/
@see EnableLongOptions()
*/
- bool AreLongOptionsEnabled();
+ bool AreLongOptionsEnabled() const;
/**
Before Parse() can be called, the command line
/**
Before Parse() can be called, the command line
m_data->m_enableLongOptions = enable;
}
m_data->m_enableLongOptions = enable;
}
-bool wxCmdLineParser::AreLongOptionsEnabled()
+bool wxCmdLineParser::AreLongOptionsEnabled() const
{
return m_data->m_enableLongOptions;
}
{
return m_data->m_enableLongOptions;
}
// give the usage message
// ----------------------------------------------------------------------------
// give the usage message
// ----------------------------------------------------------------------------
-void wxCmdLineParser::Usage()
+void wxCmdLineParser::Usage() const
{
wxMessageOutput* msgOut = wxMessageOutput::Get();
if ( msgOut )
{
wxMessageOutput* msgOut = wxMessageOutput::Get();
if ( msgOut )
-wxString wxCmdLineParser::GetUsageString()
+wxString wxCmdLineParser::GetUsageString() const
{
wxString appname;
if ( m_data->m_arguments.empty() )
{
wxString appname;
if ( m_data->m_arguments.empty() )