From 9e0b470e3269dfbebb93ae9ec66839aab9689568 Mon Sep 17 00:00:00 2001 From: William Joye Date: Fri, 30 Mar 2018 13:22:24 -0400 Subject: update ds9 grid parser --- ds9/library/crosshair.tcl | 8 +++++--- ds9/library/grid.tcl | 12 ++++-------- ds9/parsers/crosshairparser.tac | 2 +- ds9/parsers/gridparser.tac | 12 ++++++------ 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/ds9/library/crosshair.tcl b/ds9/library/crosshair.tcl index 6b76b04..69bf46a 100644 --- a/ds9/library/crosshair.tcl +++ b/ds9/library/crosshair.tcl @@ -296,11 +296,13 @@ proc ProcessCrosshairCmd {varname iname} { } } -proc CrosshairCmdLock {sys} { +proc CrosshairCmdSet {which value {cmd {}}} { global crosshair - set crosshair(lock) $sys - LockCrosshairCurrent + set crosshair($which) $value + if {$cmd != {}} { + eval $cmd + } } proc ProcessSendCrosshairCmd {proc id param} { diff --git a/ds9/library/grid.tcl b/ds9/library/grid.tcl index 00eb9cd..5ba0ca5 100644 --- a/ds9/library/grid.tcl +++ b/ds9/library/grid.tcl @@ -1415,17 +1415,13 @@ proc ProcessGridCmd {varname iname} { } } -proc GridCmdSet {which value} { +proc GridCmdSet {which value {cmd {}}} { global grid set grid($which) $value -} - -proc GridCmdCurrent {which value} { - global grid - - set grid($which) $value - GridUpdateCurrent + if {$cmd != {}} { + eval $cmd + } } proc GridCmdFontStyle {which value} { diff --git a/ds9/parsers/crosshairparser.tac b/ds9/parsers/crosshairparser.tac index fa16124..3284291 100644 --- a/ds9/parsers/crosshairparser.tac +++ b/ds9/parsers/crosshairparser.tac @@ -23,7 +23,7 @@ command : crosshair ; crosshair : MATCH_ match {MatchCrosshairCurrent $2} - | LOCK_ lock {CrosshairCmdLock $2} + | LOCK_ lock {CrosshairCmdSet lock $2 LockCrosshairCurrent} | numeric numeric {CrosshairTo $1 $2 physical fk5} | numeric numeric coordsys {CrosshairTo $1 $2 $3 fk5} | numeric numeric wcssys {CrosshairTo $1 $2 $3 fk5} diff --git a/ds9/parsers/gridparser.tac b/ds9/parsers/gridparser.tac index 2e15dac..20a37f0 100644 --- a/ds9/parsers/gridparser.tac +++ b/ds9/parsers/gridparser.tac @@ -82,17 +82,17 @@ interiortype : INTERIOR_ {set _ interior} | EXTERIOR_ {set _ exterior} ; -grid : yesno {GridCmdCurrent view $1} +grid : yesno {GridCmdSet view $1 GridUpdateCurrent} | OPEN_ {GridDialog} | CLOSE_ {GridDestroyDialog} # backward compatible | TYPE_ type {GridUpdateCurrent} - | SYSTEM_ system {GridCmdCurrent system $2} - | SKYFRAME_ skyframe {GridCmdCurrent sky $2} - | SKYFORMAT_ skyformat {GridCmdCurrent skyformat $2} + | SYSTEM_ system {GridCmdSet system $2 GridUpdateCurrent} + | SKYFRAME_ skyframe {GridCmdSet sky $2 GridUpdateCurrent} + | SKYFORMAT_ skyformat {GridCmdSet skyformat $2 GridUpdateCurrent} | GRID_ gridgrid {GridUpdateCurrent} - | FORMAT1_ STRING_ {GridCmdCurrent format1 $2} - | FORMAT2_ STRING_ {GridCmdCurrent format2 $2} + | FORMAT1_ STRING_ {GridCmdSet format1 $2 GridUpdateCurrent} + | FORMAT2_ STRING_ {GridCmdSet format2 $2 GridUpdateCurrent} | AXES_ axes {GridUpdateCurrent} | TICKMARKS_ tickmarks {GridUpdateCurrent} | BORDER_ border {GridUpdateCurrent} -- cgit v0.12