diff options
Diffstat (limited to 'ds9/library/util.tcl')
-rw-r--r-- | ds9/library/util.tcl | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/ds9/library/util.tcl b/ds9/library/util.tcl index 3bf1339..09cbe48 100644 --- a/ds9/library/util.tcl +++ b/ds9/library/util.tcl @@ -217,11 +217,47 @@ proc ProcessCmdAppend {varname key value {cmd {}}} { } } -proc ProcessCmdCVAR {which value {cmd {}}} { +proc ProcessCmdCVAR {key value {cmd {}}} { global cvarname upvar #0 $cvarname cvar - set cvar($which) $value + set cvar($key) $value + if {$cmd != {}} { + eval $cmd $cvarname + } +} + +proc ProcessCmdCVAR2 {key value key2 value2 {cmd {}}} { + global cvarname + upvar #0 $cvarname cvar + + set cvar($key) $value + set cvar($key2) $value2 + if {$cmd != {}} { + eval $cmd $cvarname + } +} + +proc ProcessCmdCVAR3 {key value key2 value2 key3 value3 {cmd {}}} { + global cvarname + upvar #0 $cvarname cvar + + set cvar($key) $value + set cvar($key2) $value2 + set cvar($key3) $value3 + if {$cmd != {}} { + eval $cmd $cvarname + } +} + +proc ProcessCmdCVAR4 {key value key2 value2 key3 value3 key4 value4 {cmd {}}} { + global cvarname + upvar #0 $cvarname cvar + + set cvar($key) $value + set cvar($key2) $value2 + set cvar($key3) $value3 + set cvar($key4) $value4 if {$cmd != {}} { eval $cmd $cvarname } |