|
|
|
|
|
|
|
|
|
|
|
if {![info exists widgetDemo]} { |
|
error "This script should be run from the \"widget\" demo." |
|
} |
|
|
|
package require Tk |
|
|
|
set w .labelframe |
|
catch {destroy $w} |
|
toplevel $w |
|
wm title $w "Labelframe Demonstration" |
|
wm iconname $w "labelframe" |
|
positionWindow $w |
|
|
|
|
|
|
|
label $w.msg -font $font -wraplength 4i -justify left -text "Labelframes are\ |
|
used to group related widgets together. The label may be either \ |
|
plain text or another widget." |
|
pack $w.msg -side top |
|
|
|
|
|
set btns [addSeeDismiss $w.buttons $w] |
|
pack $btns -side bottom -fill x |
|
|
|
|
|
|
|
frame $w.f |
|
pack $w.f -side bottom -fill both -expand 1 |
|
set w $w.f |
|
|
|
|
|
|
|
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 "This is value $value" \ |
|
-variable lfdummy -value $value |
|
pack $w.f.b$value -side top -fill x -pady 2 |
|
} |
|
|
|
|
|
|
|
|
|
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 |
|
|