diff options
author | peter.spjuth@gmail.com <pspjuth> | 2001-09-26 21:36:19 (GMT) |
---|---|---|
committer | peter.spjuth@gmail.com <pspjuth> | 2001-09-26 21:36:19 (GMT) |
commit | 72bb5a54ee281236f6a73f85b3daf239cd7c9abc (patch) | |
tree | 20c06e6412fd77d17f1141ae292692607300a6da /library | |
parent | 3975b43d917c7b0c0884dafbbabdc1b60e1ca175 (diff) | |
download | tk-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.tcl | 79 | ||||
-rw-r--r-- | library/demos/radio.tcl | 6 | ||||
-rw-r--r-- | library/demos/widget | 8 |
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} |