Provided by: libglib-perl_1.329.3-3_amd64
NAME
Glib::OptionGroup - group of options for command line option parsing
SYNOPSIS
my ($verbose, $source, $filenames) = ('', undef, []); my $entries = [ { long_name => 'verbose', short_name => 'v', arg_type => 'none', arg_value => \$verbose, description => 'be verbose' }, { long_name => 'source', short_name => 's', arg_type => 'string', arg_value => \$source, description => 'set the source', arg_description => 'source' }, [ 'filenames', 'f', 'filename-array', \$filenames ], ]; my $context = Glib::OptionContext->new ('- urgsify your life'); $context->add_main_entries ($entries, 'C'); $context->parse (); # $verbose, $source, and $filenames are now updated according to the # command line options given
HIERARCHY
Glib::Boxed +----Glib::OptionGroup
METHODS
optioncontext = Glib::OptionContext->new ($parameter_string) • $parameter_string (string) optiongroup = Glib::OptionGroup->new (key => value, ...) Creates a new option group from the given key-value pairs. The valid keys are name, description, help_description, and entries. The first three specify strings while the last one, entries, specifies an array reference of option entries. Example: my $group = Glib::OptionGroup->new ( name => 'urgs', description => 'Urgs Urgs Urgs', help_description => 'Help with Urgs', entries => \@entries); An option entry is a hash reference like this: { long_name => 'verbose', short_name => 'v', flags => [qw/reverse hidden in-main/], arg_type => 'none', arg_value => \$verbose, description => 'verbose desc.', arg_description => 'verbose arg desc.' } Of those keys only long_name, arg_type, and arg_value are required. So this is a valid option entry too: { long_name => 'package-names', arg_type => 'string-array', arg_value => \$package_names } For convenience, option entries can also be specified as array references containing long_name, short_name, arg_type, and arg_value: [ 'filenames', 'f', 'filename-array', \$filenames ] If you don't want an option to have a short name, specify undef for it: [ 'filenames', undef, 'filename-array', \$filenames ] $context->add_group ($group) • $group (Glib::OptionGroup) $context->add_main_entries ($entries, $translation_domain) • $entries (scalar) reference to an array of option entries • $translation_domain (string) boolean = $context->get_help_enabled $context->set_help_enabled ($help_enabled) • $help_enabled (boolean) boolean = $context->get_ignore_unknown_options $context->set_ignore_unknown_options ($ignore_unknown) • $ignore_unknown (boolean) optiongroup = $context->get_main_group $context->set_main_group ($group) • $group (Glib::OptionGroup) boolean = $context->parse This method works directly on @ARGV. May croak with a Glib::Error in $@ on failure. $group->set_translate_func ($func, $data=undef) • $func (scalar) • $data (scalar) $group->set_translation_domain ($domain) • $domain (string)
ENUMS AND FLAGS
enum Glib::OptionArg • 'none' / 'G_OPTION_ARG_NONE' • 'string' / 'G_OPTION_ARG_STRING' • 'int' / 'G_OPTION_ARG_INT' • 'callback' / 'G_OPTION_ARG_CALLBACK' • 'filename' / 'G_OPTION_ARG_FILENAME' • 'string-array' / 'G_OPTION_ARG_STRING_ARRAY' • 'filename-array' / 'G_OPTION_ARG_FILENAME_ARRAY' • 'double' / 'G_OPTION_ARG_DOUBLE' • 'int64' / 'G_OPTION_ARG_INT64' flags Glib::OptionFlags • 'hidden' / 'G_OPTION_FLAG_HIDDEN' • 'in-main' / 'G_OPTION_FLAG_IN_MAIN' • 'reverse' / 'G_OPTION_FLAG_REVERSE' • 'no-arg' / 'G_OPTION_FLAG_NO_ARG' • 'filename' / 'G_OPTION_FLAG_FILENAME' • 'optional-arg' / 'G_OPTION_FLAG_OPTIONAL_ARG' • 'noalias' / 'G_OPTION_FLAG_NOALIAS'
SEE ALSO
Glib, Glib::Boxed
COPYRIGHT
Copyright (C) 2003-2011 by the gtk2-perl team. This software is licensed under the LGPL. See Glib for a full notice.