.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
.\" ========================================================================
.de Sh \" Subsection heading
.de Sp \" Vertical space (when we can't use .PP)
.de Vb \" Begin verbatim text
.de Ve \" End verbatim text
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
. tm Index:\\$1\t\\n%\t"\\$2"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. \" simple accents for nroff and troff
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
.\" ========================================================================
.TH ITEM 1 "2000-12-30" "perl v5.8.0" "User Contributed Perl Documentation"
Tk::Menu::Item \- Base class for Menu items
\& require Tk::Menu::Item;
\& my $but = $menu->Button(...);
\& my $what = $but->cget();
\& require Tk::Menu::Item;
\& @ISA = qw(Tk::Menu::Item);
\& my ($class,$menu,$info) = @_;
\& $info->{'-xxxxx'} = ...
\& my $y = delete $info->{'-yyyy'};
Tk::Menu::Item is the base class from which Tk::Menu::Button,
Tk::Menu::Cascade, Tk::Menu::Radiobutton and Tk::Menu::Checkbutton are derived.
There is also a Tk::Menu::Separator.
Constructors are declared so that \f(CW$menu\fR\->Button(...) etc. do what you would
The \f(CW\*(C`\-label\*(C'\fR option is pre-processed allowing ~ to be prefixed to the character
to derive a \f(CW\*(C`\-underline\*(C'\fR value. Thus
\& $menu->Button(-label => 'Goto ~Home',...)
\& $menu->Button(-label => 'Goto Home', -underline => 6, ...)
The \f(CW\*(C`Cascade\*(C'\fR menu item creates a sub-menu and accepts
.IP "\fB\-menuitems\fR" 4
A list of items for the sub\-menu.
Within this list (which is also accepted by Menu and Menubutton) the first
two elements of each item should be the \*(L"constructor\*(R" name and the label:
\& [Button => '~Quit', -command => [destroy => $mw]],
\& [Checkbutton => '~Oil', -variable => \e$oil],
.IP "\fB\-postcommand\fR" 4
A callback to be invoked before posting the menu.
Specifies whether sub-menu can be torn-off or not.
Scalar reference that will be set to the newly-created sub\-menu.
The returned object is currently a blessed reference to an array of two items:
the containing Menu and the 'label'.
Methods \f(CW\*(C`configure\*(C'\fR and \f(CW\*(C`cget\*(C'\fR are mapped onto underlying \f(CW\*(C`entryconfigure\*(C'\fR
and \f(CW\*(C`entrycget\*(C'\fR.
The main purpose of the \s-1OO\s0 interface is to allow derived item classes to
be defined which pre-set the options used to create a more basic item.
This \s-1OO\s0 interface is very new. Using the label as the \*(L"key\*(R" is a problem
for separaror items which don't have one. The alternative would be to
use an index into the menu but that is a problem if items are deleted
(or inserted other than at the end).
There should probably be a PostInit entry point too, or a more widget like