Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | |
2 | ||
3 | sub mkListbox2 { | |
4 | ||
5 | # Create a top-level window containing a listbox showing a bunch of colors from the X color database. | |
6 | ||
7 | $mkListbox2->destroy if Exists($mkListbox2); | |
8 | $mkListbox2 = $top->Toplevel(); | |
9 | my $w = $mkListbox2; | |
10 | dpos $w; | |
11 | $w->title('Listbox Demonstration (colors)'); | |
12 | $w->iconname('Listbox'); | |
13 | $w->minsize(1, 1); | |
14 | ||
15 | my $w_msg = $w->Label(-font => '-Adobe-times-medium-r-normal--*-180-*-*-*-*-*-*', -justify => 'left', | |
16 | -wraplength => '4i', -text => 'A listbox containing several color values is displayed below, along ' . | |
17 | 'with a scrollbar. You can scan the list either using the scrollbar or by dragging in the ' . | |
18 | 'listbox window with button 2 pressed. If you double-click button 1 on a color, then the ' . | |
19 | 'background for the window will be changed to that color. Click the "OK" button when you\'ve ' . | |
20 | 'seen enough.'); | |
21 | my $w_frame = $w->Frame(-borderwidth => 10); | |
22 | my $w_ok = $w->Button(-text => 'OK', -width => 8, -command => ['destroy', $w]); | |
23 | $w_msg->pack(-side => 'top'); | |
24 | $w_ok->pack(-side => 'bottom'); | |
25 | $w_frame->pack(-side => 'top', -expand => 'yes', -fill => 'y'); | |
26 | ||
27 | my $w_frame_scroll = $w_frame->Scrollbar(); | |
28 | my $w_frame_list = $w_frame->Listbox(-yscrollcommand => ['set', $w_frame_scroll], -width => 20, -height => 20, | |
29 | -setgrid => 1); | |
30 | $w_frame_scroll->configure(-command => ['yview', $w_frame_list]); | |
31 | $w_frame_list->pack(-side => 'left', -fill => 'y'); | |
32 | $w_frame_scroll->pack(-side => 'left', -fill => 'y'); | |
33 | ||
34 | $w_frame_list->insert(0, qw(snow1 snow2 snow3 snow4 seashell1 seashell2 seashell3 seashell4 AntiqueWhite1 AntiqueWhite2 | |
35 | AntiqueWhite3 AntiqueWhite4 bisque1 bisque2 bisque3 bisque4 PeachPuff1 PeachPuff2 PeachPuff3 | |
36 | PeachPuff4 NavajoWhite1 NavajoWhite2 NavajoWhite3 NavajoWhite4 LemonChiffon1 LemonChiffon2 | |
37 | LemonChiffon3 LemonChiffon4 cornsilk1 cornsilk2 cornsilk3 cornsilk4 ivory1 ivory2 ivory3 ivory4 | |
38 | honeydew1 honeydew2 honeydew3 honeydew4 LavenderBlush1 LavenderBlush2 LavenderBlush3 | |
39 | LavenderBlush4 MistyRose1 MistyRose2 MistyRose3 MistyRose4 azure1 azure2 azure3 azure4 | |
40 | SlateBlue1 SlateBlue2 SlateBlue3 SlateBlue4 RoyalBlue1 RoyalBlue2 RoyalBlue3 RoyalBlue4 blue1 | |
41 | blue2 blue3 blue4 DodgerBlue1 DodgerBlue2 DodgerBlue3 DodgerBlue4 SteelBlue1 SteelBlue2 | |
42 | SteelBlue3 SteelBlue4 DeepSkyBlue1 DeepSkyBlue2 DeepSkyBlue3 DeepSkyBlue4 SkyBlue1 SkyBlue2 | |
43 | SkyBlue3 SkyBlue4 LightSkyBlue1 LightSkyBlue2 LightSkyBlue3 LightSkyBlue4 SlateGray1 SlateGray2 | |
44 | SlateGray3 SlateGray4 LightSteelBlue1 LightSteelBlue2 LightSteelBlue3 LightSteelBlue4 | |
45 | LightBlue1 LightBlue2 LightBlue3 LightBlue4 LightCyan1 LightCyan2 LightCyan3 LightCyan4 | |
46 | PaleTurquoise1 PaleTurquoise2 PaleTurquoise3 PaleTurquoise4 CadetBlue1 CadetBlue2 CadetBlue3 | |
47 | CadetBlue4 turquoise1 turquoise2 turquoise3 turquoise4 cyan1 cyan2 cyan3 cyan4 DarkSlateGray1 | |
48 | DarkSlateGray2 DarkSlateGray3 DarkSlateGray4 aquamarine1 aquamarine2 aquamarine3 aquamarine4 | |
49 | DarkSeaGreen1 DarkSeaGreen2 DarkSeaGreen3 DarkSeaGreen4 SeaGreen1 SeaGreen2 SeaGreen3 SeaGreen4 | |
50 | PaleGreen1 PaleGreen2 PaleGreen3 PaleGreen4 SpringGreen1 SpringGreen2 SpringGreen3 SpringGreen4 | |
51 | green1 green2 green3 green4 chartreuse1 chartreuse2 chartreuse3 chartreuse4 OliveDrab1 | |
52 | OliveDrab2 OliveDrab3 OliveDrab4 DarkOliveGreen1 DarkOliveGreen2 DarkOliveGreen3 DarkOliveGreen4 | |
53 | khaki1 khaki2 khaki3 khaki4 LightGoldenrod1 LightGoldenrod2 LightGoldenrod3 LightGoldenrod4 | |
54 | LightYellow1 LightYellow2 LightYellow3 LightYellow4 yellow1 yellow2 yellow3 yellow4 gold1 gold2 | |
55 | gold3 gold4 goldenrod1 goldenrod2 goldenrod3 goldenrod4 DarkGoldenrod1 DarkGoldenrod2 | |
56 | DarkGoldenrod3 DarkGoldenrod4 RosyBrown1 RosyBrown2 RosyBrown3 RosyBrown4 IndianRed1 IndianRed2 | |
57 | IndianRed3 IndianRed4 sienna1 sienna2 sienna3 sienna4 burlywood1 burlywood2 burlywood3 | |
58 | burlywood4 wheat1 wheat2 wheat3 wheat4 tan1 tan2 tan3 tan4 chocolate1 chocolate2 chocolate3 | |
59 | chocolate4 firebrick1 firebrick2 firebrick3 firebrick4 brown1 brown2 brown3 brown4 salmon1 | |
60 | salmon2 salmon3 salmon4 LightSalmon1 LightSalmon2 LightSalmon3 LightSalmon4 orange1 orange2 | |
61 | orange3 orange4 DarkOrange1 DarkOrange2 DarkOrange3 DarkOrange4 coral1 coral2 coral3 coral4 | |
62 | tomato1 tomato2 tomato3 tomato4 OrangeRed1 OrangeRed2 OrangeRed3 OrangeRed4 red1 red2 red3 red4 | |
63 | DeepPink1 DeepPink2 DeepPink3 DeepPink4 HotPink1 HotPink2 HotPink3 HotPink4 pink1 pink2 pink3 | |
64 | pink4 LightPink1 LightPink2 LightPink3 LightPink4 PaleVioletRed1 PaleVioletRed2 PaleVioletRed3 | |
65 | PaleVioletRed4 maroon1 maroon2 maroon3 maroon4 VioletRed1 VioletRed2 VioletRed3 VioletRed4 | |
66 | magenta1 magenta2 magenta3 magenta4 orchid1 orchid2 orchid3 orchid4 plum1 plum2 plum3 plum4 | |
67 | MediumOrchid1 MediumOrchid2 MediumOrchid3 MediumOrchid4 DarkOrchid1 DarkOrchid2 DarkOrchid3 | |
68 | DarkOrchid4 purple1 purple2 purple3 purple4 MediumPurple1 MediumPurple2 MediumPurple3 | |
69 | MediumPurple4 thistle1 thistle2 thistle3 thistle4)); | |
70 | ||
71 | $w_frame_list->bind('<Double-1>', [ | |
72 | sub { | |
73 | my ($w, $w2, $w3, $w4) = @_; | |
74 | my @c = split(' ',$w->get('active')); | |
75 | my $c = $c[0]; | |
76 | $w2->configure(-background => $c); | |
77 | $w3->configure(-background => $c); | |
78 | $w4->configure(-background => $c); | |
79 | }, $w, $w_frame, $w_msg]); | |
80 | ||
81 | } # end mkListbox2 | |
82 | ||
83 | ||
84 | 1; |