diff options
-rw-r--r-- | ds9/doc/release/r8.0.html | 1 | ||||
-rw-r--r-- | ds9/library/cat.tcl | 37 | ||||
-rw-r--r-- | ds9/library/layout.tcl | 82 | ||||
-rw-r--r-- | ds9/library/source.tcl | 4 | ||||
-rw-r--r-- | ds9/library/util.tcl | 8 | ||||
-rw-r--r-- | ds9/parsers/catparser.tac | 2 | ||||
-rw-r--r-- | ds9/parsers/catsendlex.fcl | 13 | ||||
-rw-r--r-- | ds9/parsers/catsendparser.tac | 28 | ||||
-rw-r--r-- | ds9/parsers/viewlex.fcl | 2 | ||||
-rw-r--r-- | ds9/parsers/viewparser.tac | 2 | ||||
-rw-r--r-- | ds9/parsers/viewsendlex.fcl | 39 | ||||
-rw-r--r-- | ds9/parsers/viewsendparser.tac | 76 |
12 files changed, 215 insertions, 79 deletions
diff --git a/ds9/doc/release/r8.0.html b/ds9/doc/release/r8.0.html index 121fd81..8486a2a 100644 --- a/ds9/doc/release/r8.0.html +++ b/ds9/doc/release/r8.0.html @@ -14,6 +14,7 @@ <ol> <ol> <li><tt>04.18.2018 GUI: fixed an issue with loading gzipped multiple extension fits files with the -multiframe option.</tt></li> + <li><tt>05.25.2018 MMT: updated Binospec template. </tt></li> <li><tt><b>xx.xx.2018 RELEASE version 8.0b1</b></tt></li> </ol> </ol> diff --git a/ds9/library/cat.tcl b/ds9/library/cat.tcl index c97c12e..0fc90fa 100644 --- a/ds9/library/cat.tcl +++ b/ds9/library/cat.tcl @@ -1541,8 +1541,24 @@ proc CatalogCmdSymbolSave {fn} { } proc ProcessSendCatalogCmd {proc id param sock fn} { + if {1} { + global parse + set parse(proc) $proc + set parse(id) $id + set parse(sock) $sock + set parse(fn) $fn + global icat + set ref [lindex $icat(cats) end] + global cvarname + set cvarname $ref + + catsend::YY_FLUSH_BUFFER + catsend::yy_scan_string $param + catsend::yyparse + } else { + global icat set cc [lindex $icat(cats) end] switch -- [string tolower [lindex $param 0]] { header {} @@ -1557,3 +1573,24 @@ proc ProcessSendCatalogCmd {proc id param sock fn} { header {ProcessSend $proc $id $sock $fn {.txt} "[CATGetHeader $cc]\n"} } } +} + +proc CatalogSendCmdRef {ref} { + global icat + global cvarname + + # backward compatibility + if {$ref == "catcxc"} { + set ref catcsc + } + + # look for reference in current list + if {[lsearch $icat(cats) $ref] < 0} { + Error "[msgcat::mc {Unable to find catalog window}] $ref" + return 0 + } + + set cvarname $ref + return [CatalogCmdCheck] +} + diff --git a/ds9/library/layout.tcl b/ds9/library/layout.tcl index 6fe2630..9165d1b 100644 --- a/ds9/library/layout.tcl +++ b/ds9/library/layout.tcl @@ -87,7 +87,6 @@ proc ViewDef {} { set view(info,keyvalue) {} set view(info,keyword) 0 set view(info,minmax) 0 - set view(info,minmax,xy) 0 set view(info,lowhigh) 0 set view(info,bunit) 0 set view(info,wcs) 1 @@ -859,79 +858,12 @@ proc ProcessViewCmd {varname iname} { } proc ProcessSendViewCmd {proc id param {sock {}} {fn {}}} { - global view - - switch -- [string tolower [lindex $param 0]] { - layout {$proc $id "$view(layout)\n"} - keyvalue {$proc $id "$view(info,keyvalue)\n"} - info {$proc $id [ToYesNo $view(info)]} - panner {$proc $id [ToYesNo $view(panner)]} - magnifier {$proc $id [ToYesNo $view(magnifier)]} - buttons {$proc $id [ToYesNo $view(buttons)]} - colorbar {$proc $id [ToYesNo $view(colorbar)]} - colorbarnumerics { - # backward compatibility - $proc $id [ToYesNo $colorbar(numerics)] - } - graph { - switch -- [string tolower [lindex $param 1]] { - horizontal {$proc $id [ToYesNo $view(graph,horz)]} - vertical {$proc $id [ToYesNo $view(graph,vert)]} - } - } - horzgraph { - # backward compatibility - $proc $id [ToYesNo $view(graph,horz)] - } - vertgraph { - # backward compatibility - $proc $id [ToYesNo $view(graph,vert)] - } + global parse + set parse(proc) $proc + set parse(id) $id - filename {$proc $id [ToYesNo $view(info,filename)]} - object {$proc $id [ToYesNo $view(info,object)]} - keyword {$proc $id [ToYesNo $view(info,keyword)]} - minmax {$proc $id [ToYesNo $view(info,minmax)]} - minmaxxy {$proc $id [ToYesNo $view(info,minmax,xy)]} - lowhigh {$proc $id [ToYesNo $view(info,lowhigh)]} - units {$proc $id [ToYesNo $view(info,bunit)]} - - detector {$proc $id [ToYesNo $view(info,detector)]} - amplifier {$proc $id [ToYesNo $view(info,amplifier)]} - physical {$proc $id [ToYesNo $view(info,physical)]} - image {$proc $id [ToYesNo $view(info,image)]} - wcs {$proc $id [ToYesNo $view(info,wcs)]} - wcsa {$proc $id [ToYesNo $view(info,wcsa)]} - wcsb {$proc $id [ToYesNo $view(info,wcsb)]} - wcsc {$proc $id [ToYesNo $view(info,wcsc)]} - wcsd {$proc $id [ToYesNo $view(info,wcsd)]} - wcse {$proc $id [ToYesNo $view(info,wcse)]} - wcsf {$proc $id [ToYesNo $view(info,wcsf)]} - wcsg {$proc $id [ToYesNo $view(info,wcsg)]} - wcsh {$proc $id [ToYesNo $view(info,wcsh)]} - wcsi {$proc $id [ToYesNo $view(info,wcsi)]} - wcsj {$proc $id [ToYesNo $view(info,wcsj)]} - wcsk {$proc $id [ToYesNo $view(info,wcsk)]} - wcsl {$proc $id [ToYesNo $view(info,wcsl)]} - wcsm {$proc $id [ToYesNo $view(info,wcsm)]} - wcsn {$proc $id [ToYesNo $view(info,wcsn)]} - wcso {$proc $id [ToYesNo $view(info,wcso)]} - wcsp {$proc $id [ToYesNo $view(info,wcsp)]} - wcsq {$proc $id [ToYesNo $view(info,wcsq)]} - wcsr {$proc $id [ToYesNo $view(info,wcsr)]} - wcss {$proc $id [ToYesNo $view(info,wcss)]} - wcst {$proc $id [ToYesNo $view(info,wcst)]} - wcsu {$proc $id [ToYesNo $view(info,wcsu)]} - wcsv {$proc $id [ToYesNo $view(info,wcsv)]} - wcsw {$proc $id [ToYesNo $view(info,wcsw)]} - wcsx {$proc $id [ToYesNo $view(info,wcsx)]} - wcsy {$proc $id [ToYesNo $view(info,wcsy)]} - wcsz {$proc $id [ToYesNo $view(info,wcsz)]} - - frame {$proc $id [ToYesNo $view(info,frame)]} - default { - # backward compatibility - $proc $id "$view(layout)\n" - } - } + viewsend::YY_FLUSH_BUFFER + viewsend::yy_scan_string $param + viewsend::yyparse } + diff --git a/ds9/library/source.tcl b/ds9/library/source.tcl index d1b2d17..2f8ba4f 100644 --- a/ds9/library/source.tcl +++ b/ds9/library/source.tcl @@ -210,6 +210,8 @@ source $ds9(root)/library/blocksendparser.tcl source $ds9(root)/library/blocksendlex.tcl source $ds9(root)/library/catparser.tcl source $ds9(root)/library/catlex.tcl +source $ds9(root)/library/catsendparser.tcl +source $ds9(root)/library/catsendlex.tcl source $ds9(root)/library/cmapparser.tcl source $ds9(root)/library/cmaplex.tcl source $ds9(root)/library/colorbarparser.tcl @@ -366,6 +368,8 @@ source $ds9(root)/library/urlfitsparser.tcl source $ds9(root)/library/urlfitslex.tcl source $ds9(root)/library/viewparser.tcl source $ds9(root)/library/viewlex.tcl +source $ds9(root)/library/viewsendparser.tcl +source $ds9(root)/library/viewsendlex.tcl source $ds9(root)/library/vlaparser.tcl source $ds9(root)/library/vlalex.tcl source $ds9(root)/library/vlssparser.tcl diff --git a/ds9/library/util.tcl b/ds9/library/util.tcl index de85100..e8e82fa 100644 --- a/ds9/library/util.tcl +++ b/ds9/library/util.tcl @@ -218,7 +218,12 @@ proc ProcessSendCmdSend {ext cmd} { return } - set rr [$current(frame) $cmd] + ProcessSendCmdResult $ext [$current(frame) $cmd] +} + +proc ProcessSendCmdResult {ext rr} { + global parse + if {$parse(sock) != {}} { # not implemented } elseif {$parse(fn) != {}} { @@ -232,6 +237,7 @@ proc ProcessSendCmdSend {ext cmd} { } } +# old proc ProcessSend {proc id sock fn ext rr} { if {$sock != {}} { # not implemented diff --git a/ds9/parsers/catparser.tac b/ds9/parsers/catparser.tac index 97dd79c..b5f9f40 100644 --- a/ds9/parsers/catparser.tac +++ b/ds9/parsers/catparser.tac @@ -174,7 +174,7 @@ coordinate : numeric numeric {CatalogCmdCoord $1 $2 fk5} | SEXSTR_ SEXSTR_ skyframe {CatalogCmdCoord $1 $2 $3} ; -filter : LOAD_ STRING_ {ProcessCmdCVAR filter $2 CATTable} +filter : LOAD_ STRING_ {CatalogCmdFilterLoad $2} | STRING_ {ProcessCmdCVAR filter $1 CATTable} ; diff --git a/ds9/parsers/catsendlex.fcl b/ds9/parsers/catsendlex.fcl new file mode 100644 index 0000000..3f1c5e5 --- /dev/null +++ b/ds9/parsers/catsendlex.fcl @@ -0,0 +1,13 @@ +#tab catsendparser.tab.tcl + +%{ +%} + +#include defs.fin + +%% + +header {return $HEADER_} + +#include string.fin +%% diff --git a/ds9/parsers/catsendparser.tac b/ds9/parsers/catsendparser.tac new file mode 100644 index 0000000..6c36111 --- /dev/null +++ b/ds9/parsers/catsendparser.tac @@ -0,0 +1,28 @@ +%{ +%} + +#include string.tin + +%token HEADER_ + +%start catsend + +%% + +catsend : {if {![CatalogCmdCheck]} {cat::YYABORT}} catsendCmd + | STRING_ {if {![CatalogSendCmdRef cat${1}]} {plot::YYABORT}} catsendCmd + ; + +catsendCmd : {ProcessSendCmdGet icat cats} + | HEADER_ {global cvarname; ProcessSendCmdResult {.txt} [CATGetHeader $cvarname]} + ; + +%% + +proc catsend::yyerror {msg} { + variable yycnt + variable yy_current_buffer + variable index_ + + ParserError $msg $yycnt $yy_current_buffer $index_ +} diff --git a/ds9/parsers/viewlex.fcl b/ds9/parsers/viewlex.fcl index 1fe719c..f980b7d 100644 --- a/ds9/parsers/viewlex.fcl +++ b/ds9/parsers/viewlex.fcl @@ -10,7 +10,7 @@ blue {return $BLUE_} buttons {return $BUTTONS_} colorbar {return $COLORBAR_} -colorbarnumerics {return $COLORBARNUMERICS_} +colorbarnumerics {return $COLORBARNUMERICS_} filename {return $FILENAME_} frame {return $FRAME_} graph {return $GRAPH_} diff --git a/ds9/parsers/viewparser.tac b/ds9/parsers/viewparser.tac index 283b954..f7bbfcc 100644 --- a/ds9/parsers/viewparser.tac +++ b/ds9/parsers/viewparser.tac @@ -64,7 +64,7 @@ view : layout | KEYWORD_ yesno {ProcessCmdSet view info,keyword $2 UpdateView} | MINMAX_ yesno {ProcessCmdSet view info,minmax $2 UpdateView} | LOWHIGH_ yesno {ProcessCmdSet view info,lowhigh $2 UpdateView} - | UNITS_ yesno {ProcessCmdSet view info,units $2 UpdateView} + | UNITS_ yesno {ProcessCmdSet view info,bunit $2 UpdateView} | coordsys yesno {ProcessCmdSet view info,$1 $2 UpdateView} | wcssys yesno {ProcessCmdSet view info,$1 $2 UpdateView} | FRAME_ yesno {ProcessCmdSet view info,frame $2 UpdateView} diff --git a/ds9/parsers/viewsendlex.fcl b/ds9/parsers/viewsendlex.fcl new file mode 100644 index 0000000..9cd0469 --- /dev/null +++ b/ds9/parsers/viewsendlex.fcl @@ -0,0 +1,39 @@ +#tab viewsendparser.tab.tcl + +%{ +%} + +#include defs.fin + +%% + +blue {return $BLUE_} +buttons {return $BUTTONS_} +colorbar {return $COLORBAR_} +colorbarnumerics {return $COLORBARNUMERICS_} +filename {return $FILENAME_} +frame {return $FRAME_} +graph {return $GRAPH_} +green {return $GREEN_} +horz {return $HORIZONTAL_} +horizontal {return $HORIZONTAL_} +horzgraph {return $HORZGRAPH_} +info {return $INFO_} +keyvalue {return $KEYVALUE_} +keyword {return $KEYWORD_} +layout {return $LAYOUT_} +lowhigh {return $LOWHIGH_} +magnifier {return $MAGNIFIER_} +minmax {return $MINMAX_} +object {return $OBJECT_} +panner {return $PANNER_} +red {return $RED_} +units {return $UNITS_} +vert {return $VERTICAL_} +vertical {return $VERTICAL_} +vertgraph {return $VERTGRAPH_} + +#include coords.fin +#include string.fin + +%% diff --git a/ds9/parsers/viewsendparser.tac b/ds9/parsers/viewsendparser.tac new file mode 100644 index 0000000..e39b556 --- /dev/null +++ b/ds9/parsers/viewsendparser.tac @@ -0,0 +1,76 @@ +%{ +%} + +#include coords.tin +#include string.tin + +%start viewsend + +%token BUTTONS_ +%token COLORBAR_ +%token COLORBARNUMERICS_ +%token FILENAME_ +%token FRAME_ +%token GRAPH_ +%token HORIZONTAL_ +%token HORZGRAPH_ +%token INFO_ +%token KEYWORD_ +%token KEYVALUE_ +%token LAYOUT_ +%token LOWHIGH_ +%token MAGNIFIER_ +%token MINMAX_ +%token OBJECT_ +%token PANNER_ +%token UNITS_ +%token VERTGRAPH_ +%token VERTICAL_ + +%% + +#include coords.trl + +viewsend : + | LAYOUT_ {ProcessSendCmdGet view layout} + | KEYVALUE_ {ProcessSendCmdGet view info,keyvalue} + | INFO_ {ProcessSendCmdYesNo view info} + | PANNER_ {ProcessSendCmdYesNo view panner} + | MAGNIFIER_ {ProcessSendCmdYesNo view magnifier} + | BUTTONS_ {ProcessSendCmdYesNo view buttons} + | COLORBAR_ {ProcessSendCmdYesNo view colorbar} +# backward compatibility + | COLORBARNUMERICS_ {ProcessSendCmdYesNo colorbar numerics} + | GRAPH_ graph +# backward compatibility + | HORZGRAPH_ {ProcessSendCmdYesNo view graph,horz} +# backward compatibility + | VERTGRAPH_ {ProcessSendCmdYesNo view graph,graph} + + | FILENAME_ {ProcessSendCmdYesNo view info,filename} + | OBJECT_ {ProcessSendCmdYesNo view info,object} + | KEYWORD_ {ProcessSendCmdYesNo view info,keyword} + | MINMAX_ {ProcessSendCmdYesNo view info,minmax} + | LOWHIGH_ {ProcessSendCmdYesNo view info,lowhigh} + | UNITS_ {ProcessSendCmdYesNo view info,bunit} + + | coordsys {ProcessSendCmdYesNo view info,$1} + | wcssys {ProcessSendCmdYesNo view info,$1} + + | FRAME_ {ProcessSendCmdYesNo view info,frame} + ; + +graph : + | HORIZONTAL_ {ProcessSendCmdYesNo view graph,horz} + | VERTICAL_ {ProcessSendCmdYesNo view graph,vert} + ; + +%% + +proc viewsend::yyerror {msg} { + variable yycnt + variable yy_current_buffer + variable index_ + + ParserError $msg $yycnt $yy_current_buffer $index_ +} |