glibmm 2.80.0
|
An OptionGroup defines the options in a single group. More...
#include <glibmm/optiongroup.h>
Public Types | |
using | SlotTranslate = sigc::slot< Glib::ustring(const Glib::ustring &)> |
For example Glib::ustring on_translate(const Glib::ustring& original);. | |
using | SlotOptionArgString = sigc::slot< bool(const Glib::ustring &, const Glib::ustring &, bool)> |
For example bool on_option_arg_string(const Glib::ustring& option_name,
const Glib::ustring& value, bool has_value);. | |
using | SlotOptionArgFilename = sigc::slot< bool(const Glib::ustring &, const std::string &, bool)> |
For example bool on_option_arg_filename(const Glib::ustring& option_name,
const std::string& value, bool has_value);. | |
using | vecustrings = std::vector< Glib::ustring > |
using | vecstrings = std::vector< std::string > |
Public Member Functions | |
OptionGroup (const Glib::ustring & name, const Glib::ustring &description, const Glib::ustring &help_description={}) | |
OptionGroup (GOptionGroup *castitem) | |
This always takes ownership of the underlying GOptionGroup, so it is only useful with C functions that return newly-allocated GOptionGroups. | |
OptionGroup (const OptionGroup &other)=delete | |
OptionGroup & | operator= (const OptionGroup &other)=delete |
OptionGroup (OptionGroup &&other)=delete | |
OptionGroup & | operator= (OptionGroup &&other)=delete |
virtual | ~OptionGroup () |
virtual bool | on_pre_parse (OptionContext &context) |
virtual bool | on_post_parse (OptionContext &context) |
virtual void | on_error (OptionContext &context, const Error &error) |
void | add_entry (const OptionEntry &entry) |
void | add_entry (const OptionEntry &entry, bool &arg) |
Add a boolean option entry. | |
void | add_entry (const OptionEntry &entry, int &arg) |
Add an integer option entry. | |
void | add_entry (const OptionEntry &entry, double &arg) |
Add a double option entry. | |
void | add_entry (const OptionEntry &entry, Glib::ustring &arg) |
Add a UTF-8 string option entry. | |
void | add_entry_filename (const OptionEntry &entry, std::string &arg) |
Add a filename string option entry. | |
void | add_entry (const OptionEntry &entry, vecustrings &arg) |
Add an option entry that provides a list of UTF-8 strings. | |
void | add_entry_filename (const OptionEntry &entry, vecstrings &arg) |
Add an option entry that provides a list of filename strings. | |
void | add_entry (const OptionEntry &entry, const SlotOptionArgString &slot) |
Add a string option entry, but let a callback slot parse the extra argument instead of just setting a variable to its value. | |
void | add_entry_filename (const OptionEntry &entry, const SlotOptionArgFilename &slot) |
Add a filename option entry, but let a callback slot parse the extra argument instead of just setting a variable to its value. | |
void | set_translate_func (const SlotTranslate &slot) |
Sets the function which is used to translate user-visible strings, for –help output. | |
void | set_translation_domain (const Glib::ustring & domain) |
A convenience function to use gettext() for translating user-visible strings. | |
GOptionGroup * | gobj () |
Provides access to the underlying C instance. | |
const GOptionGroup * | gobj () const |
Provides access to the underlying C instance. | |
GOptionGroup * | gobj_copy () const |
Provides access to the underlying C instance. The caller is responsible for unrefing it. | |
An OptionGroup defines the options in a single group.
Libraries which need to parse commandline options are expected to provide a function that allows their OptionGroups to be added to the application's OptionContext.
using Glib::OptionGroup::SlotOptionArgFilename = sigc::slot<bool(const Glib::ustring&, const std::string&, bool)> |
For example bool on_option_arg_filename(const Glib::ustring& option_name, const std::string& value, bool has_value);.
using Glib::OptionGroup::SlotOptionArgString = sigc::slot<bool(const Glib::ustring&, const Glib::ustring&, bool)> |
For example bool on_option_arg_string(const Glib::ustring& option_name, const Glib::ustring& value, bool has_value);.
using Glib::OptionGroup::SlotTranslate = sigc::slot<Glib::ustring(const Glib::ustring&)> |
For example Glib::ustring on_translate(const Glib::ustring& original);.
Glib::OptionGroup::OptionGroup | ( | const Glib::ustring & | name, |
const Glib::ustring & | description, | ||
const Glib::ustring & | help_description = {} |
||
) |
|
explicit |
This always takes ownership of the underlying GOptionGroup, so it is only useful with C functions that return newly-allocated GOptionGroups.
|
delete |
|
delete |
|
virtual |
void Glib::OptionGroup::add_entry | ( | const OptionEntry & | entry | ) |
void Glib::OptionGroup::add_entry | ( | const OptionEntry & | entry, |
bool & | arg | ||
) |
Add a boolean option entry.
If the option exists among the parsed arguments, the arg parameter will be set to true
or, if entry contains OptionEntry::FLAG_REVERSE, to false
after OptionContext::parse() has returned.
void Glib::OptionGroup::add_entry | ( | const OptionEntry & | entry, |
const SlotOptionArgString & | slot | ||
) |
Add a string option entry, but let a callback slot parse the extra argument instead of just setting a variable to its value.
void Glib::OptionGroup::add_entry | ( | const OptionEntry & | entry, |
double & | arg | ||
) |
Add a double option entry.
The arg parameter will be set to the option's extra argument after OptionContext::parse() has returned.
void Glib::OptionGroup::add_entry | ( | const OptionEntry & | entry, |
Glib::ustring & | arg | ||
) |
Add a UTF-8 string option entry.
The arg parameter will be set to the option's extra argument after OptionContext::parse() has returned.
As indicated by the Glib::ustring type, the string will be UTF-8 encoded.
void Glib::OptionGroup::add_entry | ( | const OptionEntry & | entry, |
int & | arg | ||
) |
Add an integer option entry.
The arg parameter will be set to the option's extra argument after OptionContext::parse() has returned.
void Glib::OptionGroup::add_entry | ( | const OptionEntry & | entry, |
vecustrings & | arg | ||
) |
Add an option entry that provides a list of UTF-8 strings.
The arg parameter will be set to the option's extra argument after OptionContext::parse() has returned.
As indicated by the Glib::ustring type, the strings will be UTF-8 encoded.
void Glib::OptionGroup::add_entry_filename | ( | const OptionEntry & | entry, |
const SlotOptionArgFilename & | slot | ||
) |
Add a filename option entry, but let a callback slot parse the extra argument instead of just setting a variable to its value.
void Glib::OptionGroup::add_entry_filename | ( | const OptionEntry & | entry, |
std::string & | arg | ||
) |
Add a filename string option entry.
The arg parameter will be set to the option's extra argument after OptionContext::parse() has returned.
The string will be in glib's filename encoding.
void Glib::OptionGroup::add_entry_filename | ( | const OptionEntry & | entry, |
vecstrings & | arg | ||
) |
Add an option entry that provides a list of filename strings.
The arg parameter will be set to the option's extra argument after OptionContext::parse() has returned.
The strings will be in glib's filename encoding.
|
inline |
Provides access to the underlying C instance.
|
inline |
Provides access to the underlying C instance.
GOptionGroup * Glib::OptionGroup::gobj_copy | ( | ) | const |
Provides access to the underlying C instance. The caller is responsible for unrefing it.
|
virtual |
|
virtual |
|
virtual |
|
delete |
|
delete |
void Glib::OptionGroup::set_translate_func | ( | const SlotTranslate & | slot | ) |
Sets the function which is used to translate user-visible strings, for –help output.
Different groups can use a different SlotTranslate. If a translate function is not set, strings are not translated.
If you are using gettext(), you only need to set the translation domain, see set_translation_domain().
slot | the slot to be used for translation. |
void Glib::OptionGroup::set_translation_domain | ( | const Glib::ustring & | domain | ) |
A convenience function to use gettext() for translating user-visible strings.
domain | The domain to use. |