man-pages/man3/Glib::OptionGroup.3pm.html
2021-03-31 01:06:50 +01:00

386 lines
8.0 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of Glib::OptionGroup</TITLE>
</HEAD><BODY>
<H1>Glib::OptionGroup</H1>
Section: User Contributed Perl Documentation (3pm)<BR>Updated: 2020-02-18<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
Glib::OptionGroup - group of options for command line option parsing
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<PRE>
my ($verbose, $source, $filenames) = ('', undef, []);
my $entries = [
{ long_name =&gt; 'verbose',
short_name =&gt; 'v',
arg_type =&gt; 'none',
arg_value =&gt; \$verbose,
description =&gt; 'be verbose' },
{ long_name =&gt; 'source',
short_name =&gt; 's',
arg_type =&gt; 'string',
arg_value =&gt; \$source,
description =&gt; 'set the source',
arg_description =&gt; 'source' },
[ 'filenames', 'f', 'filename-array', \$filenames ],
];
my $context = Glib::OptionContext-&gt;new ('- urgsify your life');
$context-&gt;add_main_entries ($entries, 'C');
$context-&gt;parse ();
# $verbose, $source, and $filenames are now updated according to the
# command line options given
</PRE>
<A NAME="lbAD">&nbsp;</A>
<H2>HIERARCHY</H2>
<PRE>
Glib::Boxed
+----Glib::OptionGroup
</PRE>
<A NAME="lbAE">&nbsp;</A>
<H2>METHODS</H2>
<A NAME="lbAF">&nbsp;</A>
<H3>optioncontext = Glib::OptionContext-&gt;<B>new</B> ($parameter_string)</H3>
<DL COMPACT>
<DT id="1">&bull;<DD>
<TT>$parameter_string</TT> (string)
</DL>
<A NAME="lbAG">&nbsp;</A>
<H3>optiongroup = Glib::OptionGroup-&gt;<B>new</B> (key =&gt; value, ...)</H3>
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:
<P>
<PRE>
my $group = Glib::OptionGroup-&gt;new (
name =&gt; 'urgs',
description =&gt; 'Urgs Urgs Urgs',
help_description =&gt; 'Help with Urgs',
entries =&gt; \@entries);
</PRE>
<P>
An option entry is a hash reference like this:
<P>
<PRE>
{ long_name =&gt; 'verbose',
short_name =&gt; 'v',
flags =&gt; [qw/reverse hidden in-main/],
arg_type =&gt; 'none',
arg_value =&gt; \$verbose,
description =&gt; 'verbose desc.',
arg_description =&gt; 'verbose arg desc.' }
</PRE>
<P>
Of those keys only long_name, arg_type, and arg_value are required. So this is
a valid option entry too:
<P>
<PRE>
{ long_name =&gt; 'package-names',
arg_type =&gt; 'string-array',
arg_value =&gt; \$package_names }
</PRE>
<P>
For convenience, option entries can also be specified as array references
containing long_name, short_name, arg_type, and arg_value:
<P>
<PRE>
[ 'filenames', 'f', 'filename-array', \$filenames ]
</PRE>
<P>
If you don't want an option to have a short name, specify undef for it:
<P>
<PRE>
[ 'filenames', undef, 'filename-array', \$filenames ]
</PRE>
<A NAME="lbAH">&nbsp;</A>
<H3>$context-&gt;<B>add_group</B> ($group)</H3>
<DL COMPACT>
<DT id="2">&bull;<DD>
<TT>$group</TT> (Glib::OptionGroup)
</DL>
<A NAME="lbAI">&nbsp;</A>
<H3>$context-&gt;<B>add_main_entries</B> ($entries, $translation_domain)</H3>
<DL COMPACT>
<DT id="3">&bull;<DD>
<TT>$entries</TT> (scalar) reference to an array of option entries
<DT id="4">&bull;<DD>
<TT>$translation_domain</TT> (string)
</DL>
<A NAME="lbAJ">&nbsp;</A>
<H3>boolean = $context-&gt;<B>get_help_enabled</B></H3>
<A NAME="lbAK">&nbsp;</A>
<H3>$context-&gt;<B>set_help_enabled</B> ($help_enabled)</H3>
<DL COMPACT>
<DT id="5">&bull;<DD>
<TT>$help_enabled</TT> (boolean)
</DL>
<A NAME="lbAL">&nbsp;</A>
<H3>boolean = $context-&gt;<B>get_ignore_unknown_options</B></H3>
<A NAME="lbAM">&nbsp;</A>
<H3>$context-&gt;<B>set_ignore_unknown_options</B> ($ignore_unknown)</H3>
<DL COMPACT>
<DT id="6">&bull;<DD>
<TT>$ignore_unknown</TT> (boolean)
</DL>
<A NAME="lbAN">&nbsp;</A>
<H3>optiongroup = $context-&gt;<B>get_main_group</B></H3>
<A NAME="lbAO">&nbsp;</A>
<H3>$context-&gt;<B>set_main_group</B> ($group)</H3>
<DL COMPACT>
<DT id="7">&bull;<DD>
<TT>$group</TT> (Glib::OptionGroup)
</DL>
<A NAME="lbAP">&nbsp;</A>
<H3>boolean = $context-&gt;<B>parse</B></H3>
This method works directly on <I></I>@ARGV<I></I>.
<P>
May croak with a Glib::Error in $@ on failure.
<A NAME="lbAQ">&nbsp;</A>
<H3>$group-&gt;<B>set_translate_func</B> ($func, $data=undef)</H3>
<DL COMPACT>
<DT id="8">&bull;<DD>
<TT>$func</TT> (scalar)
<DT id="9">&bull;<DD>
<TT>$data</TT> (scalar)
</DL>
<A NAME="lbAR">&nbsp;</A>
<H3>$group-&gt;<B>set_translation_domain</B> ($domain)</H3>
<DL COMPACT>
<DT id="10">&bull;<DD>
<TT>$domain</TT> (string)
</DL>
<A NAME="lbAS">&nbsp;</A>
<H2>ENUMS AND FLAGS</H2>
<A NAME="lbAT">&nbsp;</A>
<H3>enum Glib::OptionArg</H3>
<DL COMPACT>
<DT id="11">&bull;<DD>
'none' / 'G_OPTION_ARG_NONE'
<DT id="12">&bull;<DD>
'string' / 'G_OPTION_ARG_STRING'
<DT id="13">&bull;<DD>
'int' / 'G_OPTION_ARG_INT'
<DT id="14">&bull;<DD>
'callback' / 'G_OPTION_ARG_CALLBACK'
<DT id="15">&bull;<DD>
'filename' / 'G_OPTION_ARG_FILENAME'
<DT id="16">&bull;<DD>
'string-array' / 'G_OPTION_ARG_STRING_ARRAY'
<DT id="17">&bull;<DD>
'filename-array' / 'G_OPTION_ARG_FILENAME_ARRAY'
<DT id="18">&bull;<DD>
'double' / 'G_OPTION_ARG_DOUBLE'
<DT id="19">&bull;<DD>
'int64' / 'G_OPTION_ARG_INT64'
</DL>
<A NAME="lbAU">&nbsp;</A>
<H3>flags Glib::OptionFlags</H3>
<DL COMPACT>
<DT id="20">&bull;<DD>
'hidden' / 'G_OPTION_FLAG_HIDDEN'
<DT id="21">&bull;<DD>
'in-main' / 'G_OPTION_FLAG_IN_MAIN'
<DT id="22">&bull;<DD>
'reverse' / 'G_OPTION_FLAG_REVERSE'
<DT id="23">&bull;<DD>
'no-arg' / 'G_OPTION_FLAG_NO_ARG'
<DT id="24">&bull;<DD>
'filename' / 'G_OPTION_FLAG_FILENAME'
<DT id="25">&bull;<DD>
'optional-arg' / 'G_OPTION_FLAG_OPTIONAL_ARG'
<DT id="26">&bull;<DD>
'noalias' / 'G_OPTION_FLAG_NOALIAS'
</DL>
<A NAME="lbAV">&nbsp;</A>
<H2>SEE ALSO</H2>
Glib, Glib::Boxed
<A NAME="lbAW">&nbsp;</A>
<H2>COPYRIGHT</H2>
Copyright (C) 2003-2011 by the gtk2-perl team.
<P>
This software is licensed under the <FONT SIZE="-1">LGPL.</FONT> See Glib for a full notice.
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="27"><A HREF="#lbAB">NAME</A><DD>
<DT id="28"><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT id="29"><A HREF="#lbAD">HIERARCHY</A><DD>
<DT id="30"><A HREF="#lbAE">METHODS</A><DD>
<DL>
<DT id="31"><A HREF="#lbAF">optioncontext = Glib::OptionContext-&gt;<B>new</B> ($parameter_string)</A><DD>
<DT id="32"><A HREF="#lbAG">optiongroup = Glib::OptionGroup-&gt;<B>new</B> (key =&gt; value, ...)</A><DD>
<DT id="33"><A HREF="#lbAH">$context-&gt;<B>add_group</B> ($group)</A><DD>
<DT id="34"><A HREF="#lbAI">$context-&gt;<B>add_main_entries</B> ($entries, $translation_domain)</A><DD>
<DT id="35"><A HREF="#lbAJ">boolean = $context-&gt;<B>get_help_enabled</B></A><DD>
<DT id="36"><A HREF="#lbAK">$context-&gt;<B>set_help_enabled</B> ($help_enabled)</A><DD>
<DT id="37"><A HREF="#lbAL">boolean = $context-&gt;<B>get_ignore_unknown_options</B></A><DD>
<DT id="38"><A HREF="#lbAM">$context-&gt;<B>set_ignore_unknown_options</B> ($ignore_unknown)</A><DD>
<DT id="39"><A HREF="#lbAN">optiongroup = $context-&gt;<B>get_main_group</B></A><DD>
<DT id="40"><A HREF="#lbAO">$context-&gt;<B>set_main_group</B> ($group)</A><DD>
<DT id="41"><A HREF="#lbAP">boolean = $context-&gt;<B>parse</B></A><DD>
<DT id="42"><A HREF="#lbAQ">$group-&gt;<B>set_translate_func</B> ($func, $data=undef)</A><DD>
<DT id="43"><A HREF="#lbAR">$group-&gt;<B>set_translation_domain</B> ($domain)</A><DD>
</DL>
<DT id="44"><A HREF="#lbAS">ENUMS AND FLAGS</A><DD>
<DL>
<DT id="45"><A HREF="#lbAT">enum Glib::OptionArg</A><DD>
<DT id="46"><A HREF="#lbAU">flags Glib::OptionFlags</A><DD>
</DL>
<DT id="47"><A HREF="#lbAV">SEE ALSO</A><DD>
<DT id="48"><A HREF="#lbAW">COPYRIGHT</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:05:45 GMT, March 31, 2021
</BODY>
</HTML>