sub
icon {
my
(
$demo
) =
@_
;
$TOP
=
$MW
->WidgetDemo(
-name
=>
$demo
,
-text
=> [
'This window shows three ways of using bitmaps or images in radiobuttons and checkbuttons. On the left are two radiobuttons, each of which displays a bitmap and an indicator. In the middle is a checkbutton that displays a different image depending on whether it is selected or not. On the right is a checkbutton that displays a single bitmap but changes its background color to indicate whether or not it is selected.'
,
qw/-wraplength 5i/
],
-title
=>
'Iconic Button Demonstration'
,
-iconname
=>
'icon'
,
);
$TOP
->Bitmap(
'flagup'
,
-file
=> Tk->findINC(
'demos/images/flagup'
),
-maskfile
=> Tk->findINC(
'demos/images/flagup'
),
);
$TOP
->Bitmap(
'flagdown'
,
-file
=> Tk->findINC(
'demos/images/flagdown'
),
-maskfile
=> Tk->findINC(
'demos/images/flagdown'
),
);
my
$frame
=
$TOP
->Frame(
qw/-borderwidth 10/
);
$frame
->
pack
(
qw/-side top/
);
my
(
@pl
) =
qw/-side left -expand yes -padx 5m/
;
my
$frame_left
=
$frame
->Frame;
$frame_left
->
pack
(
@pl
);
my
$frame_b1
=
$frame
->Checkbutton(
-image
=>
'flagdown'
,
-selectimage
=>
'flagup'
,
-indicatoron
=> 0,
);
$frame_b1
->
pack
(
@pl
);
$frame_b1
->configure(
-selectcolor
=>
$frame_b1
->cget(-background));
my
$frame_b2
=
$frame
->Checkbutton(
-bitmap
=>
'@'
. Tk->findINC(
'demos/images/letters'
),
-indicatoron
=> 0,
-selectcolor
=>
'SeaGreen1'
,
);
$frame_b2
->
pack
(
@pl
);
my
$letters
=
''
;
@pl
=
qw/-side top -expand yes/
;
my
$frame_left_b3
=
$frame_left
->Radiobutton(
-bitmap
=>
'@'
. Tk->findINC(
'demos/images/letters'
),
-variable
=> \
$letters
,
-value
=>
'full'
,
);
$frame_left_b3
->
pack
(
@pl
);
my
$frame_left_b4
=
$frame_left
->Radiobutton(
-bitmap
=>
'@'
. Tk->findINC(
'demos/images/noletters'
),
-variable
=> \
$letters
,
-value
=>
'empty'
,
);
$frame_left_b4
->
pack
(
@pl
);
}
1;