summaryrefslogtreecommitdiffstats
path: root/ds9/library/contour.tcl
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2018-03-16 16:48:21 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2018-03-16 16:48:21 (GMT)
commitf6362e12a6c080c84c2f102ad5dc44e2fb63357a (patch)
tree239f3dfe781705a5e0a2505220b166f990bbc6f2 /ds9/library/contour.tcl
parente1f5a6a2b516116e280c01e383a73c4ca12df423 (diff)
downloadblt-f6362e12a6c080c84c2f102ad5dc44e2fb63357a.zip
blt-f6362e12a6c080c84c2f102ad5dc44e2fb63357a.tar.gz
blt-f6362e12a6c080c84c2f102ad5dc44e2fb63357a.tar.bz2
add ds9 contour parsers
Diffstat (limited to 'ds9/library/contour.tcl')
-rw-r--r--ds9/library/contour.tcl246
1 files changed, 162 insertions, 84 deletions
diff --git a/ds9/library/contour.tcl b/ds9/library/contour.tcl
index 8fd8468..b4851f7 100644
--- a/ds9/library/contour.tcl
+++ b/ds9/library/contour.tcl
@@ -1051,12 +1051,20 @@ proc ProcessContourCmd {varname iname} {
upvar $varname var
upvar $iname i
- global contour
- global current
-
# we need to be realized
ProcessRealizeDS9
+ global debug
+ if {$debug(tcl,parser)} {
+ contour::YY_FLUSH_BUFFER
+ contour::yy_scan_string [lrange $var $i end]
+ contour::yyparse
+ incr i [expr $contour::yycnt-1]
+ } else {
+
+ global contour
+ global current
+
switch -- [string tolower [lindex $var $i]] {
open {ContourDialog}
close {ContourDestroyDialog}
@@ -1150,133 +1158,68 @@ proc ProcessContourCmd {varname iname} {
set dash [lindex $var $i]
incr i [ProcessContourFix sys sky color width dash]
- if {$current(frame) != {} && $contour(copy) != {}} {
- set cc [$contour(copy) get contour $sys $sky]
- $current(frame) contour paste cc $color $width $dash
- }
+ ContourCmdPaste $sys $sky $color $width $dash
}
-
color {
- ContourDialog
-
incr i
- set contour(color) [lindex $var $i]
- UpdateContour
+ ContourCmdColor [lindex $var $i]
}
width {
- ContourDialog
-
incr i
- set contour(width) [lindex $var $i]
- UpdateContour
+ ContourCmdWidth [lindex $var $i]
}
dash {
- ContourDialog
-
incr i
- set contour(dash) [FromYesNo [lindex $var $i]]
- UpdateContour
+ ContourCmdDash [FromYesNo [lindex $var $i]]
}
-
smooth {
- ContourDialog
-
incr i
- set contour(smooth) [lindex $var $i]
- ContourGenerateDialog
- UpdateContour
+ ContourCmdSmooth [lindex $var $i]
}
method {
- ContourDialog
-
incr i
- set contour(method) [lindex $var $i]
- ContourGenerateDialog
- UpdateContour
+ ContourCmdMethod [lindex $var $i]
}
-
nlevels {
- ContourDialog
-
incr i
- set contour(numlevel) [lindex $var $i]
- ContourGenerateDialog
- UpdateContour
+ ContourCmdNLevels [lindex $var $i]
}
scale {
- set contour(init,scale) 1
- ContourDialog
-
incr i
- set contour(scale) [string tolower [lindex $var $i]]
- ContourGenerateDialog
- UpdateContour
+ ContourCmdScale [lindex $var $i]
}
log {
- set contour(init,scale) 1
- ContourDialog
-
incr i
switch -- [string tolower [lindex $var $i]] {
exp {
incr i
- set contour(log) [string tolower [lindex $var $i]]
+ ContourCmdLog [lindex $var $i]
}
default {
- incr i -1
- set contour(log) [string tolower [lindex $var $i]]
+ ContourCmdLog [lindex $var $i]
}
}
- ContourGenerateDialog
- UpdateContour
}
mode {
- set contour(init,mode) 1
- ContourDialog
-
incr i
- set contour(mode) [lindex $var $i]
- ContourModeDialog
- ContourGenerateDialog
- UpdateContour
+ ContourCmdMode [lindex $var $i]
}
scope {
- set contour(init,scope) 1
- ContourDialog
-
incr i
- set contour(scope) [lindex $var $i]
- ContourModeDialog
- ContourGenerateDialog
- UpdateContour
+ ContourCmdScope [lindex $var $i]
}
limits {
- set contour(init,limits) 1
- ContourDialog
-
- incr i
- set contour(min) [lindex $var $i]
- incr i
- set contour(max) [lindex $var $i]
- ContourGenerateDialog
- UpdateContour
+ ContourCmdLimits [lindex $var [expr $i+1]] [lindex $var [expr $i+2]]
+ incr i 2
}
levels {
- ContourDialog
-
- global dcontour
- $dcontour(txt) delete 1.0 end
incr i
- $dcontour(txt) insert end [lindex $var $i]
- UpdateContour
+ ContourCmdLevels [lindex $var $i]
}
generate {
- ContourDialog
-
- ContourGenerateDialog
- UpdateContour
+ ContourCmdGenerate
}
yes -
@@ -1298,6 +1241,141 @@ proc ProcessContourCmd {varname iname} {
}
}
}
+}
+
+proc ContourCmdPaste {sys sky color width dash} {
+ global current
+ global contour
+
+ if {$current(frame) != {} && $contour(copy) != {}} {
+ set cc [$contour(copy) get contour $sys $sky]
+ $current(frame) contour paste cc $color $width $dash
+ }
+}
+
+proc ContourCmdColor {color} {
+ global contour
+
+ ContourDialog
+ set contour(color) $color
+ UpdateContour
+}
+
+proc ContourCmdWidth {width} {
+ global contour
+
+ ContourDialog
+ set contour(width) $width
+ UpdateContour
+}
+
+proc ContourCmdDash {dash} {
+ global contour
+
+ ContourDialog
+ set contour(dash) $dash
+ UpdateContour
+}
+
+proc ContourCmdSmooth {smooth} {
+ global contour
+
+ ContourDialog
+ set contour(smooth) $smooth
+ ContourGenerateDialog
+ UpdateContour
+}
+
+proc ContourCmdMethod {method} {
+ global contour
+
+ ContourDialog
+ set contour(method) $method
+ ContourGenerateDialog
+ UpdateContour
+}
+
+proc ContourCmdNLevels {num} {
+ global contour
+
+ ContourDialog
+ set contour(numlevel) $num
+ ContourGenerateDialog
+ UpdateContour
+}
+
+proc ContourCmdScale {scale} {
+ global contour
+
+ set contour(init,scale) 1
+ ContourDialog
+
+ set contour(scale) $scale
+ ContourGenerateDialog
+ UpdateContour
+}
+
+proc ContourCmdLog {exp} {
+ global contour
+
+ set contour(init,scale) 1
+ ContourDialog
+
+ set contour(log) $exp
+ ContourGenerateDialog
+ UpdateContour
+}
+
+proc ContourCmdMode {mode} {
+ global contour
+
+ set contour(init,mode) 1
+ ContourDialog
+
+ set contour(mode) $mode
+ ContourModeDialog
+ ContourGenerateDialog
+ UpdateContour
+}
+
+proc ContourCmdScope {scope} {
+ global contour
+
+ set contour(init,scope) 1
+ ContourDialog
+
+ set contour(scope) $scope
+ ContourModeDialog
+ ContourGenerateDialog
+ UpdateContour
+}
+
+proc ContourCmdLimits {min max} {
+ global contour
+
+ set contour(init,limits) 1
+ ContourDialog
+
+ set contour(min) $min
+ set contour(max) $max
+ ContourGenerateDialog
+ UpdateContour
+}
+
+proc ContourCmdLevels {str} {
+ global dcontour
+
+ ContourDialog
+ $dcontour(txt) delete 1.0 end
+ $dcontour(txt) insert end $str
+ UpdateContour
+}
+
+proc ContourCmdGenerate {} {
+ ContourDialog
+ ContourGenerateDialog
+ UpdateContour
+}
proc ProcessContourFix {sysname skyname colorname widthname dashname} {
upvar $sysname sys