summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authorpeter.spjuth@gmail.com <pspjuth>2001-09-26 21:36:19 (GMT)
committerpeter.spjuth@gmail.com <pspjuth>2001-09-26 21:36:19 (GMT)
commit72bb5a54ee281236f6a73f85b3daf239cd7c9abc (patch)
tree20c06e6412fd77d17f1141ae292692607300a6da /library
parent3975b43d917c7b0c0884dafbbabdc1b60e1ca175 (diff)
downloadtk-72bb5a54ee281236f6a73f85b3daf239cd7c9abc.zip
tk-72bb5a54ee281236f6a73f85b3daf239cd7c9abc.tar.gz
tk-72bb5a54ee281236f6a73f85b3daf239cd7c9abc.tar.bz2
Added labelframe widget. TIP#18.
Diffstat (limited to 'library')
-rw-r--r--library/demos/labelframe.tcl79
-rw-r--r--library/demos/radio.tcl6
-rw-r--r--library/demos/widget8
3 files changed, 89 insertions, 4 deletions
diff --git a/library/demos/labelframe.tcl b/library/demos/labelframe.tcl
new file mode 100644
index 0000000..89931cf
--- /dev/null
+++ b/library/demos/labelframe.tcl
@@ -0,0 +1,79 @@
+# labelframe.tcl --
+#
+# This demonstration script creates a toplevel window containing
+# several labelframe widgets.
+#
+# RCS: @(#) $Id: labelframe.tcl,v 1.1 2001/09/26 21:36:19 pspjuth Exp $
+
+if {![info exists widgetDemo]} {
+ error "This script should be run from the \"widget\" demo."
+}
+
+set w .labelframe
+catch {destroy $w}
+toplevel $w
+wm title $w "Labelframe Demonstration"
+wm iconname $w "labelframe"
+positionWindow $w
+
+# Some information
+
+label $w.msg -font $font -wraplength 4i -justify left -text "Labelframes are\
+typically used to group related widgets together."
+pack $w.msg -side top
+
+# The bottom buttons
+
+frame $w.buttons
+pack $w.buttons -side bottom -fill x -pady 2m
+button $w.buttons.dismiss -text Dismiss -command "destroy $w" -width 15
+button $w.buttons.code -text "See Code" -command "showCode $w" -width 15
+pack $w.buttons.dismiss $w.buttons.code -side left -expand 1
+
+# Demo area
+
+frame $w.f
+pack $w.f -side bottom -fill both -expand 1
+set w $w.f
+
+# A group of radiobuttons in a labelframe
+
+labelframe $w.f -text "Value" -padx 2 -pady 2
+grid $w.f -row 0 -column 0 -pady 2m -padx 2m
+
+foreach value {1 2 3 4} {
+ radiobutton $w.f.b$value -text $value -width 3 \
+ -variable lfdummy -value $value
+ pack $w.f.b$value -side top -fill x -pady 2
+}
+
+
+# Using a label window to control a group of options.
+
+proc lfEnableButtons {w} {
+ foreach child [winfo children $w] {
+ if {$child == "$w.cb"} continue
+ if {$::lfdummy2} {
+ $child configure -state normal
+ } else {
+ $child configure -state disabled
+ }
+ }
+}
+
+labelframe $w.f2 -pady 2 -padx 2
+checkbutton $w.f2.cb -text "Use this option." -variable lfdummy2 \
+ -command "lfEnableButtons $w.f2" -padx 0
+$w.f2 configure -labelwidget $w.f2.cb
+grid $w.f2 -row 0 -column 1 -pady 2m -padx 2m
+
+set t 0
+foreach str {Option1 Option2 Option3} {
+ checkbutton $w.f2.b$t -text $str
+ pack $w.f2.b$t -side top -fill x -pady 2
+ incr t
+}
+lfEnableButtons $w.f2
+
+
+grid columnconfigure $w {0 1} -weight 1
diff --git a/library/demos/radio.tcl b/library/demos/radio.tcl
index 85614fc..0788b90 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.2 1998/09/14 18:23:29 stanton Exp $
+# RCS: @(#) $Id: radio.tcl,v 1.3 2001/09/26 21:36:19 pspjuth Exp $
if {![info exists widgetDemo]} {
error "This script should be run from the \"widget\" demo."
@@ -26,8 +26,8 @@ button $w.buttons.vars -text "See Variables" \
-command "showVars $w.dialog size color"
pack $w.buttons.dismiss $w.buttons.code $w.buttons.vars -side left -expand 1
-frame $w.left
-frame $w.right
+labelframe $w.left -pady 2 -text "Point Size"
+labelframe $w.right -pady 2 -text "Color"
pack $w.left $w.right -side left -expand yes -pady .5c -padx .5c
foreach i {10 12 18 24} {
diff --git a/library/demos/widget b/library/demos/widget
index f01da90..7d0d662 100644
--- a/library/demos/widget
+++ b/library/demos/widget
@@ -11,7 +11,7 @@ exec wish "$0" "$@"
# ".tcl" files is this directory, which are sourced by this script
# as needed.
#
-# RCS: @(#) $Id: widget,v 1.2 1998/09/14 18:23:30 stanton Exp $
+# RCS: @(#) $Id: widget,v 1.3 2001/09/26 21:36:19 pspjuth Exp $
eval destroy [winfo child .]
wm title . "Widget Demonstration"
@@ -210,6 +210,12 @@ This application provides a front end for several short scripts that demonstrate
{demo demo-menubu}
.t insert end " \n " {demospace}
+.t insert end \n {} "Labelframes" title
+.t insert end " \n " {demospace}
+.t insert end "1. Labelframe." \
+ {demo demo-labelframe}
+.t insert end " \n " {demospace}
+
.t insert end \n {} "Common Dialogs" title
.t insert end " \n " {demospace}
.t insert end "1. Message boxes." {demo demo-msgbox}