1# radio.tcl -- 2# 3# This demonstration script creates a toplevel window containing 4# several radiobutton widgets. 5# 6# RCS: @(#) $Id: radio.tcl,v 1.4 2001/11/12 14:32:50 dkf Exp $ 7 8if {![info exists widgetDemo]} { 9 error "This script should be run from the \"widget\" demo." 10} 11 12set w .radio 13catch {destroy $w} 14toplevel $w 15wm title $w "Radiobutton Demonstration" 16wm iconname $w "radio" 17positionWindow $w 18label $w.msg -font $font -wraplength 5i -justify left -text "Three 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 Tcl 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." 19pack $w.msg -side top 20 21frame $w.buttons 22pack $w.buttons -side bottom -fill x -pady 2m 23button $w.buttons.dismiss -text Dismiss -command "destroy $w" 24button $w.buttons.code -text "See Code" -command "showCode $w" 25button $w.buttons.vars -text "See Variables" \ 26 -command "showVars $w.dialog size color align" 27pack $w.buttons.dismiss $w.buttons.code $w.buttons.vars -side left -expand 1 28 29labelframe $w.left -pady 2 -text "Point Size" -padx 2 30labelframe $w.mid -pady 2 -text "Color" -padx 2 31labelframe $w.right -pady 2 -text "Alignment" -padx 2 32pack $w.left $w.mid $w.right -side left -expand yes -pady .5c -padx .5c 33 34foreach i {10 12 14 18 24} { 35 radiobutton $w.left.b$i -text "Point Size $i" -variable size \ 36 -relief flat -value $i 37 pack $w.left.b$i -side top -pady 2 -anchor w -fill x 38} 39 40foreach c {Red Green Blue Yellow Orange Purple} { 41 set lower [string tolower $c] 42 radiobutton $w.mid.$lower -text $c -variable color \ 43 -relief flat -value $lower -anchor w \ 44 -command "$w.mid configure -fg \$color" 45 pack $w.mid.$lower -side top -pady 2 -fill x 46} 47 48label $w.right.l -text "Label" -bitmap questhead -compound left 49$w.right.l configure -width [winfo reqwidth $w.right.l] -compound top 50$w.right.l configure -height [winfo reqheight $w.right.l] 51foreach a {Top Left Right Bottom} { 52 set lower [string tolower $a] 53 radiobutton $w.right.$lower -text $a -variable align \ 54 -relief flat -value $lower -indicatoron 0 -width 7 \ 55 -command "$w.right.l configure -compound \$align" 56} 57grid x $w.right.top 58grid $w.right.left $w.right.l $w.right.right 59grid x $w.right.bottom 60