Viewing file: BtnBox.tcl (2.61 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- # # $Id: BtnBox.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $ # # BtnBox.tcl -- # # Implements the tixButtonBox widget # # Copyright (c) 1993-1999 Ioi Kim Lam. # Copyright (c) 2000-2001 Tix Project Group. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. #
tixWidgetClass tixButtonBox { -superclass tixPrimitive -classname TixButtonBox -method { add invoke button buttons } -flag { -orientation -orient -padx -pady -state } -static { -orientation } -configspec { {-orientation orientation Orientation horizontal} {-padx padX Pad 0} {-pady padY Pad 0} {-state state State normal} } -alias { {-orient -orientation} } -default { {.borderWidth 1} {.relief raised} {.padX 5} {.padY 10} {*Button.anchor c} {*Button.padX 5} } }
proc tixButtonBox:InitWidgetRec {w} { upvar #0 $w data
tixChainMethod $w InitWidgetRec
set data(g:buttons) "" }
#---------------------------------------------------------------------- # CONFIG OPTIONS #---------------------------------------------------------------------- proc tixButtonBox:config-padx {w arg} { upvar #0 $w data
foreach item $data(g:buttons) { pack configure $w.$item -padx $arg } }
proc tixButtonBox:config-pady {w arg} { upvar #0 $w data
foreach item $data(g:buttons) { pack configure $w.$item -pady $arg } }
proc tixButtonBox:config-state {w arg} { upvar #0 $w data
foreach item $data(g:buttons) { $w.$item config -state $arg } }
#---------------------------------------------------------------------- # Methods # WIDGET COMMANDS #---------------------------------------------------------------------- proc tixButtonBox:add {w name args} { upvar #0 $w data
eval button $w.$name $args if {$data(-orientation) == "horizontal"} { pack $w.$name -side left -expand yes -fill y\ -padx $data(-padx) -pady $data(-pady) } else { pack $w.$name -side top -expand yes -fill x\ -padx $data(-padx) -pady $data(-pady) }
# allow for subwidget access # lappend data(g:buttons) $name set data(w:$name) $w.$name
return $w.$name }
proc tixButtonBox:button {w name args} { return [eval tixCallMethod $w subwidget $name $args] }
proc tixButtonBox:buttons {w args} { return [eval tixCallMethod $w subwidgets -group buttons $args] }
# # call the command proc tixButtonBox:invoke {w name} { upvar #0 $w data
$w.$name invoke }
|