states.tcl 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # states.tcl --
  2. #
  3. # This demonstration script creates a listbox widget that displays
  4. # the names of the 50 states in the United States of America.
  5. if {![info exists widgetDemo]} {
  6. error "This script should be run from the \"widget\" demo."
  7. }
  8. package require Tk
  9. set w .states
  10. catch {destroy $w}
  11. toplevel $w
  12. wm title $w "Listbox Demonstration (50 states)"
  13. wm iconname $w "states"
  14. positionWindow $w
  15. 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."
  16. pack $w.msg -side top
  17. labelframe $w.justif -text Justification
  18. foreach c {Left Center Right} {
  19. set lower [string tolower $c]
  20. radiobutton $w.justif.$lower -text $c -variable just \
  21. -relief flat -value $lower -anchor w \
  22. -command "$w.frame.list configure -justify \$just" \
  23. -tristatevalue "multi"
  24. pack $w.justif.$lower -side left -pady 2 -fill x
  25. }
  26. pack $w.justif
  27. ## See Code / Dismiss buttons
  28. set btns [addSeeDismiss $w.buttons $w]
  29. pack $btns -side bottom -fill x
  30. frame $w.frame -borderwidth .5c
  31. pack $w.frame -side top -expand yes -fill y
  32. ttk::scrollbar $w.frame.scroll -command "$w.frame.list yview"
  33. listbox $w.frame.list -yscroll "$w.frame.scroll set" -setgrid 1 -height 12
  34. pack $w.frame.scroll -side right -fill y
  35. pack $w.frame.list -side left -expand 1 -fill both
  36. $w.frame.list insert 0 Alabama Alaska Arizona Arkansas California \
  37. Colorado Connecticut Delaware Florida Georgia Hawaii Idaho Illinois \
  38. Indiana Iowa Kansas Kentucky Louisiana Maine Maryland \
  39. Massachusetts Michigan Minnesota Mississippi Missouri \
  40. Montana Nebraska Nevada "New Hampshire" "New Jersey" "New Mexico" \
  41. "New York" "North Carolina" "North Dakota" \
  42. Ohio Oklahoma Oregon Pennsylvania "Rhode Island" \
  43. "South Carolina" "South Dakota" \
  44. Tennessee Texas Utah Vermont Virginia Washington \
  45. "West Virginia" Wisconsin Wyoming