[37] | 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 | |
---|
| 8 | if {![info exists widgetDemo]} { |
---|
| 9 | error "This script should be run from the \"widget\" demo." |
---|
| 10 | } |
---|
| 11 | |
---|
| 12 | set w .radio |
---|
| 13 | catch {destroy $w} |
---|
| 14 | toplevel $w |
---|
| 15 | wm title $w "Radiobutton Demonstration" |
---|
| 16 | wm iconname $w "radio" |
---|
| 17 | positionWindow $w |
---|
| 18 | label $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." |
---|
| 19 | pack $w.msg -side top |
---|
| 20 | |
---|
| 21 | frame $w.buttons |
---|
| 22 | pack $w.buttons -side bottom -fill x -pady 2m |
---|
| 23 | button $w.buttons.dismiss -text Dismiss -command "destroy $w" |
---|
| 24 | button $w.buttons.code -text "See Code" -command "showCode $w" |
---|
| 25 | button $w.buttons.vars -text "See Variables" \ |
---|
| 26 | -command "showVars $w.dialog size color align" |
---|
| 27 | pack $w.buttons.dismiss $w.buttons.code $w.buttons.vars -side left -expand 1 |
---|
| 28 | |
---|
| 29 | labelframe $w.left -pady 2 -text "Point Size" -padx 2 |
---|
| 30 | labelframe $w.mid -pady 2 -text "Color" -padx 2 |
---|
| 31 | labelframe $w.right -pady 2 -text "Alignment" -padx 2 |
---|
| 32 | pack $w.left $w.mid $w.right -side left -expand yes -pady .5c -padx .5c |
---|
| 33 | |
---|
| 34 | foreach 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 | |
---|
| 40 | foreach 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 | |
---|
| 48 | label $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] |
---|
| 51 | foreach 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 | } |
---|
| 57 | grid x $w.right.top |
---|
| 58 | grid $w.right.left $w.right.l $w.right.right |
---|
| 59 | grid x $w.right.bottom |
---|