summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/browseentry2.pl
blob: 5c8f9919847ae8017be7e1ffc5865159e63b13ae (plain)
1
2
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
# BrowseEntry, another example.
#
# Chris Dean <ctdean@cogit.com>

use strict;
use Tk;
use Tk::BrowseEntry;

my $top = new MainWindow( -title => "BrowseEntry 2" );
main( $top );
MainLoop();

sub main {
    my( $top ) = @_;

    my @countries = qw( America Belize Canada Denmark Egypt Fruitopia );
    my @states = qw( normal readonly disabled );
    foreach my $i (0..$#states) {
        my $state = $states[$i];
        my $var = $countries[$i];
        my $f = $top->Frame->pack( qw/-side left/ );
        my $be = $f->BrowseEntry( -variable => \$var,
                                  -choices => \@countries,
                                  -state => $state )->pack;
        if( $state eq "disabled" ) {
            $be->configure( -arrowimage => $f->Getimage( "balArrow" ) )
        }
        foreach my $s (@states) {
            $f->Radiobutton( -text => $s,
                             -value => $s,
                             -variable => \$state,
                             -command => sub {
                                 $be->configure( -state => $state ); }
                           )->pack( qw/-anchor w/ );
        }
        $f->Button( -text => "Print value", -command => sub {
                        print "$var\n" } )->pack;
    }
}