diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2018-05-29 21:27:31 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2018-05-29 21:27:31 (GMT) |
commit | b8395e8e32cccb75565a170160772857087901de (patch) | |
tree | 2494425c02897874ba1a957a51224522c4a2e10a /ds9/library/plotprocess.tcl | |
parent | 41505b4129a005e96c6afc3344ccf61097884fbd (diff) | |
download | blt-b8395e8e32cccb75565a170160772857087901de.zip blt-b8395e8e32cccb75565a170160772857087901de.tar.gz blt-b8395e8e32cccb75565a170160772857087901de.tar.bz2 |
update parsers
Diffstat (limited to 'ds9/library/plotprocess.tcl')
-rw-r--r-- | ds9/library/plotprocess.tcl | 452 |
1 files changed, 12 insertions, 440 deletions
diff --git a/ds9/library/plotprocess.tcl b/ds9/library/plotprocess.tcl index c62f767..410520a 100644 --- a/ds9/library/plotprocess.tcl +++ b/ds9/library/plotprocess.tcl @@ -104,446 +104,18 @@ proc ProcessPlotCmd {xarname iname buf fn} { upvar $iname i global iap - global debug - if {$debug(tcl,parser)} { - set ref [lindex $iap(windows) end] - global cvarname - set cvarname $ref - global parse - set parse(buf) $buf - set parse(fn) $fn - set parse(tt) $iap(tt) - - plot::YY_FLUSH_BUFFER - plot::yy_scan_string [lrange $xar $i end] - plot::yyparse - incr i [expr $plot::yycnt-1] - } else { - - set varname $iap(tt) - set id 0 - - # check for next command line option - if {[string range [lindex $xar $i] 0 0] != {-}} { - - # determine which plot - switch -- [string tolower [lindex $xar $i]] { - {} - - bar - - scatter - - new {} - - data - - load - - save - - clear - - dup - - duplicate - - stats - - statistics - - list - - loadconfig - - saveconfig - - page - - pagesetup - - print - - close - - - mode - - axis - - legend - - font - - title - - show - - color - - fill - - fillcolor - - error - - errorbar - - barmode - - name - - shape - - relief - - smooth - - width - - dash - - dataset - - select - - - graph - - line - - view { - set varname [lindex $iap(windows) end] - set id [lsearch $iap(windows) $varname] - } - - default { - set varname [lindex $xar $i] - set id [lsearch $iap(windows) $varname] - incr i - } - } - } - - # we better have a tt by now - if {$id == -1} { - Error "[msgcat::mc {Unable to find plot window}] $varname" - return - } - - upvar #0 $varname var - global $varname - - # check for next command line option - if {[string range [lindex $xar $i] 0 0] != {-}} { - - # now, process plot command - switch -- [string tolower [lindex $xar $i]] { - {} - - bar - - scatter { - if {$buf != {}} { - ProcessPlotNew $varname $xarname $iname $buf - } elseif {$fn != {}} { - if {[file exists $fn]} { - set ch [open $fn r] - set txt [read $ch] - close $ch - ProcessPlotNew $varname $xarname $iname $txt - } - } else { - ProcessPlotNew $varname $xarname $iname {} - } - } - new { - incr i - switch -- [lindex $xar $i] { - name { - set varname [lindex $xar [expr $i+1]] - incr i 2 - } - } - if {$buf != {}} { - ProcessPlotNew $varname $xarname $iname $buf - } elseif {$fn != {}} { - if {[file exists $fn]} { - set ch [open $fn r] - set txt [read $ch] - close $ch - ProcessPlotNew $varname $xarname $iname $txt - } - } else { - ProcessPlotNew $varname $xarname $iname {} - } - } - data { - incr i - if {$buf != {}} { - ProcessPlotData $varname $xarname $iname $buf - } elseif {$fn != {}} { - if {[file exists $fn]} { - set ch [open $fn r] - set txt [read $ch] - close $ch - ProcessPlotData $varname $xarname $iname $txt - } - } - } - - load { - # File Menu - set ff [lindex $xar [expr $i+1]] - set dim [lindex $xar [expr $i+2]] - incr i 2 - PlotLoadDataFile $varname $ff $dim - FileLast apdatafbox $ff - } - save { - # File Menu - incr i - set ff [lindex $xar $i] - PlotSaveDataFile $varname $ff - FileLast apdatafbox $ff - } - clear { - # File Menu - PlotClearData $varname - } - dup - - duplicate { - # File Menu - incr i - set mm [lindex $xar $i] - if {$mm == {}} { - set mm 1 - } elseif {![string is integer $mm]} { - set mm 1 - incr i -1 - } - PlotDupData $varname $mm - } - stats - - statistics { - # File Menu - set var(stats) 1 - PlotStats $varname - } - list { - # File Menu - set var(list) 1 - PlotList $varname - } - loadconfig { - # File Menu - incr i - set ff [lindex $xar $i] - PlotLoadConfigFile $varname $ff - FileLast apconfigfbox $ff - } - saveconfig { - # File Menu - incr i - set ff [lindex $xar $i] - PlotSaveConfigFile $varname $ff - FileLast apconfigfbox $ff - } - page - - pagesetup { - # File Menu - incr i - ProcessPlotPageSetup $varname $xarname $iname - } - print { - # File Menu - incr i - ProcessPlotPrint $varname $xarname $iname - } - close { - # File Menu - PlotDestroy $varname - } - - mode { - # Edit Menu - incr i - set var(mode) [lindex $xar $i] - PlotChangeMode $varname - } - - axis { - # Graph Menu - incr i - ProcessPlotAxis $varname $xarname $iname - } - legend { - # Graph Menu - incr i - ProcessPlotLegend $varname $xarname $iname - } - font { - # Graph Menu - incr i - ProcessPlotFont $varname $xarname $iname - } - title { - # Graph Menu - incr i - ProcessPlotTitle $varname $xarname $iname - } - barmode { - incr i - set var(bar,mode) [lindex $xar $i] - $var(proc,updategraph) $varname - } - - show { - # Dataset Menu - incr i - set var(show) [FromYesNo [lindex $xar $i]] - $var(proc,updateelement) $varname - } - color { - incr i - ProcessPlotColor $varname $xarname $iname - } - fill { - incr i - set var(fill) [FromYesNo [lindex $xar $i]] - $var(proc,updateelement) $varname - } - fillcolor { - incr i - set var(fill,color) [lindex $xar $i] - $var(proc,updateelement) $varname - } - error - - errorbar { - # Dataset Menu - incr i - ProcessPlotErrorBar $varname $xarname $iname - } - name { - # Dataset Menu - incr i - set var(name) [lindex $xar $i] - $var(proc,updateelement) $varname - } - shape { - # Dataset Line Menu - incr i - ProcessPlotShape $varname $xarname $iname - } - relief { - # Dataset Bar Menu - incr i - set var(bar,relief) [lindex $xar $i] - $var(proc,updateelement) $varname - } - smooth { - # Dataset Line Menu - incr i - set var(smooth) [lindex $xar $i] - $var(proc,updateelement) $varname - } - width { - # Dataset Line Menu - incr i - set var(width) [lindex $xar $i] - $var(proc,updateelement) $varname - } - dash { - # Dataset Line Menu - incr i - set var(dash) [FromYesNo [lindex $xar $i]] - $var(proc,updateelement) $varname - } - - dataset - - select { - # Select Menu - incr i - set var(data,current) [lindex $xar $i] - PlotCurrentData $varname - } - - graph { - # backward compatibility - incr i - ProcessPlotGraph $varname $xarname $iname - } - line { - # backward compatibility - incr i - ProcessPlotLine $varname $xarname $iname - } - view { - # backward compatibility - incr i - ProcessPlotView $varname $xarname $iname - } - } - } else { - ProcessPlotNew $varname $xarname $iname {} - } - - # force update - update idletasks -} -} - -proc ProcessPlotNew {varname xarname iname buf} { - upvar #0 $varname var - global $varname - - upvar 2 $xarname xar - upvar 2 $iname i - - # check for next command line option - if {[string range [lindex $xar $i] 0 0] != {-}} { - switch -- [string tolower [lindex $xar $i]] { - line {incr i; ProcessPlotNewOne line $varname $xarname $iname $buf} - bar {incr i;ProcessPlotNewOne bar $varname $xarname $iname $buf} - scatter { - incr i - ProcessPlotNewOne scatter $varname $xarname $iname $buf - } - default {ProcessPlotNewOne line $varname $xarname $iname $buf} - } - } else { - PlotLine $varname {} {} {} {} xy $buf - incr i -1 - } -} - -proc ProcessPlotNewOne {which varname xarname iname buf} { - upvar #0 $varname var - global $varname - - upvar 3 $xarname xar - upvar 3 $iname i - - if {[string range [lindex $xar $i] 0 0] != {-}} { - switch -- [string tolower [lindex $xar $i]] { - stdin {incr i; AnalysisPlotStdin $which $varname {} $buf} - {} { - switch $which { - line {PlotLine $varname {} {} {} {} xy $buf} - bar {PlotBar $varname {} {} {} {} xy $buf} - scatter {PlotScatter $varname {} {} {} {} xy $buf} - } - } - default { - switch $which { - line { - PlotLine $varname {} \ - [lindex $xar $i] \ - [lindex $xar [expr $i+1]] \ - [lindex $xar [expr $i+2]] \ - [lindex $xar [expr $i+3]] \ - $buf - } - bar { - PlotBar $varname {} \ - [lindex $xar $i] \ - [lindex $xar [expr $i+1]] \ - [lindex $xar [expr $i+2]] \ - [lindex $xar [expr $i+3]] \ - $buf - } - scatter { - PlotScatter $varname {} \ - [lindex $xar $i] \ - [lindex $xar [expr $i+1]] \ - [lindex $xar [expr $i+2]] \ - [lindex $xar [expr $i+3]] \ - $buf - } - } - incr i 3 - } - } - } else { - switch $which { - line {PlotLine $varname {} {} {} {} xy $buf} - bar {PlotBar $varname {} {} {} {} xy $buf} - scatter {PlotScatter $varname {} {} {} {} xy $buf} - } - incr i -1 - } -} - -proc ProcessPlotData {varname xarname iname buf} { - global $varname - upvar #0 $varname var - - upvar 2 $xarname xar - upvar 2 $iname i - - PlotRaise $varname - PlotDataSet $varname [lindex $xar $i] $buf - $var(proc,updategraph) $varname - PlotStats $varname - PlotList $varname + set ref [lindex $iap(windows) end] + global cvarname + set cvarname $ref + global parse + set parse(buf) $buf + set parse(fn) $fn + set parse(tt) $iap(tt) + + plot::YY_FLUSH_BUFFER + plot::yy_scan_string [lrange $xar $i end] + plot::yyparse + incr i [expr $plot::yycnt-1] } proc PlotCmdCheck {} { |