# states.tcl -- # # This demonstration script creates a listbox widget that displays # the names of the 50 states in the United States of America. # # RCS: @(#) $Id: states.tcl,v 1.2 1998/09/14 18:23:30 stanton Exp $ our $widgetDemo; unless ($widgetDemo) { die "This script should be run from the \"widget\" demo." } my $w = '.states'; $interp->call('destroy', $w); toplevel $w; wm('title', $w, "Listbox Demonstration (50 states)"); wm('iconname', $w, "states"); positionWindow($w); label "$w.msg", -font=>$font, -wraplength=>'4i', -justify=>'left', -text=>"A listbox containing the 50 states is displayed below, along with a scrollbar. You can scan the list either using the scrollbar or by scanning. To scan, press button 2 in the widget and drag up or down."; tkpack "$w.msg", -side=>'top'; frame "$w.buttons"; tkpack "$w.buttons", -side=>'bottom', -fill=>'x', -pady=>'2m'; button "$w.buttons.dismiss", -text=>'Dismiss', -command=>"destroy $w"; button "$w.buttons.code", -text=>"See Code", -command=>"showCode $w"; tkpack "$w.buttons.dismiss", "$w.buttons.code", -side=>'left', -expand=>1; frame "$w.frame", qw/-borderwidth .5c/; tkpack "$w.frame", qw/-side top -expand yes -fill y/; scrollbar "$w.frame.scroll", -command=>"$w.frame.list yview"; listbox "$w.frame.list", -yscroll=>"$w.frame.scroll set", qw/-setgrid 1 -height 12/; tkpack "$w.frame.scroll", qw/-side right -fill y/; tkpack "$w.frame.list", qw/-side left -expand 1 -fill both/; widget("$w.frame.list")->insert(0, map {local $_=$_;s/_/ /g;$_} qw/Alabama Alaska Arizona Arkansas California Colorado Connecticut Delaware Florida Georgia Hawaii Idaho Illinois Indiana Iowa Kansas Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri Montana Nebraska Nevada New_Hampshire New_Jersey New_Mexico New_York North_Carolina North_Dakota Ohio Oklahoma Oregon Pennsylvania Rhode_Island South_Carolina South_Dakota Tennessee Texas Utah Vermont Virginia Washington West_Virginia Wisconsin Wyoming/);