From 10c86811d11ab892d38928f353575afb5875ab88 Mon Sep 17 00:00:00 2001 From: William Joye Date: Thu, 31 May 2018 16:05:36 -0400 Subject: update ds9 parsers --- ds9/library/cat.tcl | 46 --------------------------------------- ds9/library/util.tcl | 11 +++++++++- ds9/parsers/catparser.tac | 50 +++++++++++++++++++++---------------------- ds9/parsers/contourparser.tac | 10 ++++----- 4 files changed, 40 insertions(+), 77 deletions(-) diff --git a/ds9/library/cat.tcl b/ds9/library/cat.tcl index 81da9ad..c97c12e 100644 --- a/ds9/library/cat.tcl +++ b/ds9/library/cat.tcl @@ -1300,35 +1300,6 @@ proc CatalogCmdRef {ref} { } } -proc CatalogCmdIcat {which value} { - global icat - - set icat($which) $value -} - -proc CatalogCmdSet {which value} { - global cvarname - upvar #0 $cvarname cvar - - set cvar($which) $value -} - -proc CatalogCmdGenerate {which value} { - global cvarname - upvar #0 $cvarname cvar - - set cvar($which) $value - CATGenerate $cvarname -} - -proc CatalogCmdEdit {value} { - global cvarname - upvar #0 $cvarname cvar - - set cvar(edit) $value - CATEdit $cvarname -} - proc CatalogCmdCoord {xx yy skyframe} { global cvarname upvar #0 $cvarname cvar @@ -1354,14 +1325,6 @@ proc CatalogCmdFilterLoad {fn} { } } -proc CatalogCmdFilter {filter} { - global cvarname - upvar #0 $cvarname cvar - - set cvar(filter) $filter - CATTable $cvarname -} - proc CatalogCmdLoad {fn reader} { global icat @@ -1477,15 +1440,6 @@ proc CatalogCmdSystem {sys} { CoordMenuButtonCmd $cvarname system sky [list CATWCSMenuUpdate $cvarname] } -proc CatalogCmdSort {col dir} { - global cvarname - upvar #0 $cvarname cvar - - set cvar(sort) $col - set cvar(sort,dir) $dir - CATTable $cvarname -} - proc CatalogCmdSymbol {col value} { global cvarname upvar #0 $cvarname cvar diff --git a/ds9/library/util.tcl b/ds9/library/util.tcl index 6ac644b..bd27680 100644 --- a/ds9/library/util.tcl +++ b/ds9/library/util.tcl @@ -167,7 +167,6 @@ proc UpdateMain {} { } proc ProcessCmdSet {varname key value {cmd {}}} { - upvar #0 $varname var global $varname set ${varname}($key) $value @@ -176,6 +175,16 @@ proc ProcessCmdSet {varname key value {cmd {}}} { } } +proc ProcessCmdCVAR {which value {cmd {}}} { + global cvarname + upvar #0 $cvarname cvar + + set cvar($which) $value + if {$cmd != {}} { + eval $cmd $cvarname + } +} + proc ProcessSendCmdGet {varname key} { upvar #0 $varname var global $varname diff --git a/ds9/parsers/catparser.tac b/ds9/parsers/catparser.tac index f3328c4..97dd79c 100644 --- a/ds9/parsers/catparser.tac +++ b/ds9/parsers/catparser.tac @@ -125,47 +125,47 @@ catalog : NEW_ {CATTool} ; catCmd : coordinate - | ALLCOLS_ yesno {CatalogCmdSet allcols $2} - | ALLROWS_ yesno {CatalogCmdSet allrows $2} + | ALLCOLS_ yesno {ProcessCmdCVAR allcols $2} + | ALLROWS_ yesno {ProcessCmdCVAR allrows $2} | CANCEL_ {global cvarname; ARCancel $cvarname} | CLEAR_ {global cvarname; CATOff $cvarname} | CLOSE_ {global cvarname; CATDestroy $cvarname} # backward compatibilty | COORDINATE_ coordinate | CROSSHAIR_ {global cvarname; CATCrosshair $cvarname} - | EDIT_ yesno {CatalogCmdEdit $2} + | EDIT_ yesno {ProcessCmdCVAR edit $2 CATEdit} | EXPORT_ writer STRING_ {CatalogCmdSave $3 $2} | FILTER_ filter | HEADER_ {global cvarname; CATHeader $cvarname} # backward compatibilty - | HIDE_ {CatalogCmdGenerate show 0} - | LOCATION_ INT_ {CatalogCmdGenerate loc $2} + | HIDE_ {ProcessCmdCVAR show 0 CATGenerate} + | LOCATION_ INT_ {ProcessCmdCVAR loc $2 CATGenerate} | MATCH_ match - | MAXROWS_ INT_ {CatalogCmdSet max $2} - | NAME_ STRING_ {CatalogCmdSet name $2} - | PANTO_ yesno {CatalogCmdSet panto $2} + | MAXROWS_ INT_ {ProcessCmdCVAR max $2} + | NAME_ STRING_ {ProcessCmdCVAR name $2} + | PANTO_ yesno {ProcessCmdCVAR panto $2} | PLOT_ STRING_ STRING_ STRING_ STRING_ {CatalogCmdPlot $2 $3 $4 $5} | PRINT_ {global cvarname; CATPrint $cvarname} - | PSKY_ skyframe {CatalogCmdGenerate psky $2} - | PSYSTEM_ wcssys {CatalogCmdGenerate psystem $2} + | PSKY_ skyframe {ProcessCmdCVAR psky $2 CATGenerate} + | PSYSTEM_ wcssys {ProcessCmdCVAR psystem $2 CATGenerate} | REGIONS_ {global cvarname; CATGenerateRegions $cvarname} | RETRIEVE_ {global cvarname; CATApply $cvarname 1} | SAMP_ samp | SAVE_ STRING_ {CatalogCmdSave $2 VOTWrite} - | SERVER_ server {CatalogCmdSet server $2} - | SHOW_ yesno {CatalogCmdGenerate show $2} + | SERVER_ server {ProcessCmdCVAR server $2} + | SHOW_ yesno {ProcessCmdCVAR show $2 CATGenerate} | SIZE_ numeric numeric rformat {CatalogCmdSize $2 $3 $4} | SKY_ skyframe {CatalogCmdSkyframe $2} - | SKYFORMAT_ skyformat {CatalogCmdSet skyformat $2} + | SKYFORMAT_ skyformat {ProcessCmdCVAR skyformat $2} | SORT_ sort - | SYMBOL_ {CatalogCmdSet row 1} symbol + | SYMBOL_ {ProcessCmdCVAR row 1} symbol | SYMBOL_ INT_ {CagtalogCmdCat row $2} symbol | SYSTEM_ wcssys {CatalogCmdSystem $2} | UPDATE_ {global cvarname; CATUpdate $cvarname} - | 'x' STRING_ {CatalogCmdGenerate colx $2} - | RA_ STRING_ {CatalogCmdGenerate colx $2} - | 'y' STRING_ {CatalogCmdGenerate coly $2} - | DEC_ STRING_ {CatalogCmdGenerate coly $2} + | 'x' STRING_ {ProcessCmdCVAR colx $2 CATGenerate} + | RA_ STRING_ {ProcessCmdCVAR colx $2 CATGenerate} + | 'y' STRING_ {ProcessCmdCVAR coly $2 CATGenerate} + | DEC_ STRING_ {ProcessCmdCVAR coly $2 CATGenerate} ; coordinate : numeric numeric {CatalogCmdCoord $1 $2 fk5} @@ -174,15 +174,15 @@ coordinate : numeric numeric {CatalogCmdCoord $1 $2 fk5} | SEXSTR_ SEXSTR_ skyframe {CatalogCmdCoord $1 $2 $3} ; -filter : LOAD_ STRING_ {CatalogCmdFilterLoad $2} - | STRING_ {CatalogCmdFilter $1} +filter : LOAD_ STRING_ {ProcessCmdCVAR filter $2 CATTable} + | STRING_ {ProcessCmdCVAR filter $1 CATTable} ; match : {CatalogCmdMatch} | ERROR_ numeric rformat {CatalogCmdMatchError $2 $3} - | FUNCTION_ matchFunction {CatalogCmdIcat function $2} - | UNIQUE_ yesno {CatalogCmdIcat unique $2} - | RETURN_ matchReturn {CatalogCmdIcat return $2} + | FUNCTION_ matchFunction {ProcessCmdSet icat function $2} + | UNIQUE_ yesno {ProcessCmdSet icat unique $2} + | RETURN_ matchReturn {ProcessCmdSet icat return $2} | STRING_ STRING_ {CatalogCmdMatchParams "cat$1" "cat$2"} ; @@ -220,8 +220,8 @@ server : CDS_ {set _ cds} | SAAO_ {set _ saao} ; -sort : STRING_ {CatalogCmdSort $1 "-increasing"} - | STRING_ sortDir {CatalogCmdSort $1 $2} +sort : STRING_ {ProcessCmdCVAR sort $1; ProcessCmdCVAR sort,dir "-increasing" CATTable} + | STRING_ sortDir {ProcessCmdCVAR sort $1; ProcessCmdCVAR sort,dir $2 CATTable} ; sortDir : INCR_ {set _ "-increasing"} diff --git a/ds9/parsers/contourparser.tac b/ds9/parsers/contourparser.tac index c95fa75..01406d7 100644 --- a/ds9/parsers/contourparser.tac +++ b/ds9/parsers/contourparser.tac @@ -56,7 +56,7 @@ command : contour | contour {yyclearin; YYACCEPT} STRING_ ; -contour : yesno {ProcessCmdSet contour view $1; UpdateContour} +contour : yesno {ProcessCmdSet contour view $1 UpdateContour} | OPEN_ {ContourDialog} | CLOSE_ {ContourDestroyDialog} | CLEAR_ {ContourOffDialog} @@ -71,9 +71,9 @@ contour : yesno {ProcessCmdSet contour view $1; UpdateContour} | COPY_ {ContourCCopyDialog} | PASTE_ paste - | COLOR_ STRING_ {ContourDialog; ProcessCmdSet contour color $2; UpdateContour} - | WIDTH_ INT_ {ContourDialog; ProcessCmdSet contour width $2; UpdateContour} - | DASH_ yesno {ContourDialog; ProcessCmdSet contour dash $2; UpdateContour} + | COLOR_ STRING_ {ContourDialog; ProcessCmdSet contour color $2 UpdateContour} + | WIDTH_ INT_ {ContourDialog; ProcessCmdSet contour width $2 UpdateContour} + | DASH_ yesno {ContourDialog; ProcessCmdSet contour dash $2 UpdateContour} | SMOOTH_ INT_ {ContourCmdGenerateDialog smooth $2} | METHOD_ method {ContourCmdGenerateDialog method $2} | NLEVELS_ INT_ {ContourCmdGenerateDialog nlevel $2} @@ -83,7 +83,7 @@ contour : yesno {ProcessCmdSet contour view $1; UpdateContour} | SCOPE_ scope {ContourCmdMode scope $2} | LIMITS_ numeric numeric {ContourCmdLimits $2 $3} | LEVELS_ STRING_ {ContourCmdLevels $2} - | GENERATE_ {ContourCmdGenerate} + | GENERATE_ {ContourDialog; ContourGenerateDialog; UpdateContour} ; load : STRING_ {ContourCmdLoad $1} -- cgit v0.12