summaryrefslogtreecommitdiffstats
path: root/library/demos/radio.tcl
diff options
context:
space:
mode:
authorhobbs <hobbs>2004-02-18 00:40:23 (GMT)
committerhobbs <hobbs>2004-02-18 00:40:23 (GMT)
commitf349a3827b7c3d5876b0531780396c6acda15450 (patch)
tree7f16efd14fa17fc03ce82796e8314678aa3d6e1e /library/demos/radio.tcl
parent4549e3fbc8a24a6ba2228d48dcea4dba5e49c506 (diff)
downloadtk-f349a3827b7c3d5876b0531780396c6acda15450.zip
tk-f349a3827b7c3d5876b0531780396c6acda15450.tar.gz
tk-f349a3827b7c3d5876b0531780396c6acda15450.tar.bz2
* doc/checkbutton.n: TIP#110 implementation
* doc/radiobutton.n: Tristate Checkbutton and Radiobuttons * generic/tkButton.c: * generic/tkButton.h: * library/demos/check.tcl: * library/demos/radio.tcl: * macosx/tkMacOSXButton.c: * macosx/tkMacOSXDefault.h: * tests/button.test: * unix/tkUnixButton.c: * unix/tkUnixDefault.h: * win/tkWinButton.c: * win/tkWinDefault.h:
Diffstat (limited to 'library/demos/radio.tcl')
-rw-r--r--library/demos/radio.tcl23
1 files changed, 16 insertions, 7 deletions
diff --git a/library/demos/radio.tcl b/library/demos/radio.tcl
index a636cb8..f637865 100644
--- a/library/demos/radio.tcl
+++ b/library/demos/radio.tcl
@@ -3,7 +3,7 @@
# This demonstration script creates a toplevel window containing
# several radiobutton widgets.
#
-# RCS: @(#) $Id: radio.tcl,v 1.5 2003/08/20 23:02:18 hobbs Exp $
+# RCS: @(#) $Id: radio.tcl,v 1.6 2004/02/18 00:40:24 hobbs Exp $
if {![info exists widgetDemo]} {
error "This script should be run from the \"widget\" demo."
@@ -15,21 +15,27 @@ toplevel $w
wm title $w "Radiobutton Demonstration"
wm iconname $w "radio"
positionWindow $w
-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."
-pack $w.msg -side top
+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. When the 'Tristate' button is pressed, the radio buttons will display the tri-state mode. Selecting any radio button will return the buttons to their respective on/off state. Click the \"See Variables\" button to see the current values of the variables."
+grid $w.msg -row 0 -column 0 -columnspan 3 -sticky nsew
## See Code / Dismiss buttons
set btns [addSeeDismiss $w.buttons $w [list size color align]]
-pack $btns -side bottom -fill x
+grid $btns -row 3 -column 0 -columnspan 3 -sticky ew
labelframe $w.left -pady 2 -text "Point Size" -padx 2
labelframe $w.mid -pady 2 -text "Color" -padx 2
labelframe $w.right -pady 2 -text "Alignment" -padx 2
-pack $w.left $w.mid $w.right -side left -expand yes -pady .5c -padx .5c
+button $w.tristate -text Tristate -command "set size multi; set color multi" \
+ -pady 2 -padx 2
+
+grid $w.left -column 0 -row 1 -pady .5c -padx .5c -rowspan 2
+grid $w.mid -column 1 -row 1 -pady .5c -padx .5c -rowspan 2
+grid $w.right -column 2 -row 1 -pady .5c -padx .5c
+grid $w.tristate -column 2 -row 2 -pady .5c -padx .5c
foreach i {10 12 14 18 24} {
radiobutton $w.left.b$i -text "Point Size $i" -variable size \
- -relief flat -value $i
+ -relief flat -value $i -tristatevalue "multi"
pack $w.left.b$i -side top -pady 2 -anchor w -fill x
}
@@ -37,10 +43,12 @@ foreach c {Red Green Blue Yellow Orange Purple} {
set lower [string tolower $c]
radiobutton $w.mid.$lower -text $c -variable color \
-relief flat -value $lower -anchor w \
- -command "$w.mid configure -fg \$color"
+ -command "$w.mid configure -fg \$color" \
+ -tristatevalue "multi"
pack $w.mid.$lower -side top -pady 2 -fill x
}
+
label $w.right.l -text "Label" -bitmap questhead -compound left
$w.right.l configure -width [winfo reqwidth $w.right.l] -compound top
$w.right.l configure -height [winfo reqheight $w.right.l]
@@ -50,6 +58,7 @@ foreach a {Top Left Right Bottom} {
-relief flat -value $lower -indicatoron 0 -width 7 \
-command "$w.right.l configure -compound \$align"
}
+
grid x $w.right.top
grid $w.right.left $w.right.l $w.right.right
grid x $w.right.bottom