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
- •
-
'none' / 'G_OPTION_FLAG_NONE'
- •
-
'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.