diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/radio.pl')
-rw-r--r-- | Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/radio.pl | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/radio.pl b/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/radio.pl new file mode 100644 index 00000000000..bae8c9daf3e --- /dev/null +++ b/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/radio.pl @@ -0,0 +1,78 @@ +# radio.pl + +use Tk::widgets qw/LabFrame/; +use vars qw/$TOP/; + +sub radio { + + # Create a top-level window that displays a bunch of radio buttons. + + my($demo) = @_; + $TOP = $MW->WidgetDemo( + -name => $demo, + -text => ['Two groups of radiobuttons are displayed below. If you click on a button then the button will become selected exclusively among all the buttons in its group. A Perl variable is associated with each group to indicate which of the group\'s buttons is selected. Click the "See Variables" button to see the current values of the variables.', qw/-wraplength 5i/], + -title => 'Radiobutton Demonstration', + -iconname => 'radio', + ); + + my $var = $TOP->Button( + -text => 'See Variables', + -command => [\&see_vars, $TOP, [ + ['point size', \$POINT_SIZE], + ['color', \$COLOR], + ['alignment', \$ALIGN], + ] + ], + ); + $var->pack(qw/-side bottom -expand 1/); + + my @pl = qw/-side left -expand 1 -padx .5c -pady .5c/; + my $left = $TOP->LabFrame(-label => 'Point Size')->pack(@pl); + my $mid = $TOP->LabFrame(-label => 'Color')->pack(@pl); + my $right = $TOP->LabFrame(-label => 'Alignment')->pack(@pl); + + @pl = qw/-side top -pady 2 -anchor w/; + foreach my $p (10, 12, 18, 24) { + $left->Radiobutton( + -text => "Point Size $p", + -variable => \$POINT_SIZE, + -relief => 'flat', + -value => $p, + )->pack(@pl); + } + + foreach my $c (qw/Red Green Blue Yellow Orange Purple/) { + $mid->Radiobutton( + -text => $c, + -variable => \$COLOR, + -relief => 'flat', + -value => lc($c), + -command => sub {$mid->configure(-foreground => $c)}, + )->pack(@pl); + } + + my $l = $right->Label(qw/-text Label -bitmap questhead -compound left/); + $l->configure(-width => $l->reqwidth, -compound => 'top'); + $l->configure(-height => $l->reqheight); + my %w; + foreach my $a (qw/Top Left Right Bottom/) { + my $lower = lc $a; + $w{$lower} = $right->Radiobutton( + -text => $a, + -variable => \$ALIGN, + -relief => 'flat', + -value => $lower, + -indicatoron => 0, + -width => 7, + -command => sub { + $l->configure(-compound => $ALIGN); + }, + ); + } + Tk::grid('x', $w{'top'}); + $w{'left'}->grid($l, $w{'right'}); + Tk::grid('x', $w{'bottom'}); + +} # end radio + +1; |