| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 
 | 
=head1 NAME
Tk::Optionmenu - Let the user select one of some predefined options values
=for pm Tk/Optionmenu.pm
=for category Tk Widget Classes
=head1 SYNOPSIS
    use Tk::Optionmenu;
    $opt = $w->Optionmenu(
			-options => REFERENCE_to_OPTIONLIST,
			-command => CALLBACK,
			-variable => SCALAR_REF,
			);
    $opt->addOptions( OPTIONLIST );
    # OPTION LIST is
    #   a)  $val1, $val2, $val3,...
    #   b)  [ $lab1=>$val1], [$lab2=>val2], ... ]
    #   c)  combination of a) and b), e.g.,
    #       val1, [$lab2=>val2], val3, val4, [...], ...
=head1 DESCRIPTION
The B<Optionmenu> widget allows the user chose between a given set
of options.
If the user should be able to change the available option have a look
at L<Tk::BrowseEntry>.
=head1 OPTIONS
=over 4
=item -options
(Re)sets the list of options presented.
=item -command
Defines the L<callback|Tk::callbacks> that is invokes when a new option
is selected.
=item -variable
Reference to a scalar that contains the current value of the
selected option.
=item -textvariable
Reference to a scalar that contains the text label of the current value of the
selected option.
=back
=head1 METHODS
=over 4
=item addOptions
Adds OPTION_LIST to the already available options.
=back
=head1 EXAMPLE
 use Tk;
 my $mw = MainWindow->new();
 my ($var, $tvar);
 my $opt = $mw->Optionmenu(
        -options => [[jan=>1], [feb=>2], [mar=>3], [apr=>4]],
        -command => sub { print "got: ", shift, "\n" },
        -variable => \$var,
        -textvariable => \$tvar
       )->pack;
 $opt->addOptions([may=>5],[jun=>6],[jul=>7],[aug=>8]);
 my $f = $mw->Frame(-relief=>'groove', -borderwidth => 2)->pack;
 $f->Label(-textvariable=>\$tvar)->pack(-side => 'left');
 $f->Label(-text => " -> ")->pack(-side => 'left');
 $f->Label(-textvariable=>\$var)->pack(-side => 'left');
 $mw->Button(-text=>'Exit', -command=>sub{$mw->destroy})->pack;
 MainLoop;
=head1 SEE ALSO
L<Tk::Menubutton>, L<Tk::BrowseEntry>
=cut
 |