summaryrefslogtreecommitdiffstats
path: root/ds9
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2019-07-22 19:07:33 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2019-07-22 19:07:33 (GMT)
commit4b9f920960a1ea2ef35eabdf05d5d0e934c572df (patch)
treef76d7f6ccf8dba8821f92ac6ca84ac8f5297fefc /ds9
parentdedcb860ee7ce12f5061b5bd5bda054b22ed75f3 (diff)
downloadblt-4b9f920960a1ea2ef35eabdf05d5d0e934c572df.zip
blt-4b9f920960a1ea2ef35eabdf05d5d0e934c572df.tar.gz
blt-4b9f920960a1ea2ef35eabdf05d5d0e934c572df.tar.bz2
support multiple graphs per plot
Diffstat (limited to 'ds9')
-rw-r--r--ds9/library/catcmd.tcl8
-rw-r--r--ds9/library/catplot.tcl21
-rw-r--r--ds9/library/plot.tcl10
-rw-r--r--ds9/library/plotprocess.tcl14
-rw-r--r--ds9/library/plotscatter.tcl17
5 files changed, 37 insertions, 33 deletions
diff --git a/ds9/library/catcmd.tcl b/ds9/library/catcmd.tcl
index dbc5b76..e033f51 100644
--- a/ds9/library/catcmd.tcl
+++ b/ds9/library/catcmd.tcl
@@ -120,7 +120,7 @@ proc CATSelectBrowseCmd {varname ss rc} {
# plot
if {$var(plot)} {
- PlotCmdHighliteElement $var(plot,var) $rowlist
+ CATPlotHighliteElement $varname $rowlist
}
# samp
@@ -196,7 +196,7 @@ proc CATSelectRows {varname src rowlist} {
switch $src {
samp {
if {$var(plot)} {
- PlotCmdHighliteElement $var(plot,var) $rowlist
+ CATPlotHighliteElement $varname $rowlist
}
}
plot {
@@ -748,7 +748,7 @@ proc CATRelease {which x y} {
CATStatusRows $varname $rowlist
# plot
if {$var(plot)} {
- PlotCmdHighliteElement $var(plot,var) $rowlist
+ CATPlotHighliteElement $varname 1 1 $rowlist
}
# samp
if {[info exists samp]} {
@@ -773,7 +773,7 @@ proc CATRelease {which x y} {
CATStatusRows $varname $rowlist
#plot
if {$var(plot)} {
- PlotCmdHighliteElement $var(plot,var) $rowlist
+ CATPlotHighliteElement $varname $rowlist
}
# samp
if {[info exists samp]} {
diff --git a/ds9/library/catplot.tcl b/ds9/library/catplot.tcl
index ade9f34..c42d29b 100644
--- a/ds9/library/catplot.tcl
+++ b/ds9/library/catplot.tcl
@@ -218,3 +218,24 @@ proc CATPlotDialogColsMenu {varname f ww} {
}
}
}
+
+# used by CATALOG
+proc CATPlotHighliteElement {varname rowlist} {
+ upvar #0 $varname var
+ global $varname
+
+ set vvarname $var(plot,var)
+ upvar #0 $vvarname vvar
+ global $vvarname
+
+ # rowlist starts at 1
+ set result {}
+ foreach rr $rowlist {
+ append result "[expr $rr-1] "
+ }
+
+ if {[info exists vvar(1,graph)]} {
+ $vvar(1,proc,highlite) $vvarname 1 1 $result
+ }
+}
+
diff --git a/ds9/library/plot.tcl b/ds9/library/plot.tcl
index 25c6eab..0f00da8 100644
--- a/ds9/library/plot.tcl
+++ b/ds9/library/plot.tcl
@@ -146,19 +146,19 @@ proc PlotAddGraph {varname type} {
line {
PlotLineAddGraph $varname
set var(graph,proc,updateelement) PlotLineUpdateElement
- set var(graph,proc,highlite) PlotHighLiteElement
+ set var(graph,proc,highlite) PlotHighliteElement
set var(graph,proc,button) PlotButton
}
bar {
PlotBarAddGraph $varname
set var(graph,proc,updateelement) PlotBarUpdateElement
- set var(graph,proc,highlite) PlotHighLiteElement
+ set var(graph,proc,highlite) PlotHighliteElement
set var(graph,proc,button) PlotButton
}
scatter {
PlotScatterAddGraph $varname
set var(graph,proc,updateelement) PlotScatterUpdateElement
- set var(graph,proc,highlite) PlotScatterHighLiteElement
+ set var(graph,proc,highlite) PlotScatterHighliteElement
set var(graph,proc,button) PlotScatterButton
}
}
@@ -673,11 +673,13 @@ proc PlotButtonInvoke {varname x y} {
proc PlotButton {varname x y} {
upvar #0 $varname var
global $varname
+# no-op
}
-proc PlotHighliteElement {varname rowlist} {
+proc PlotHighliteElement {varname cc nn rowlist} {
upvar #0 $varname var
global $varname
+# no-op
}
# menus
diff --git a/ds9/library/plotprocess.tcl b/ds9/library/plotprocess.tcl
index 571fa74..62ffbaf 100644
--- a/ds9/library/plotprocess.tcl
+++ b/ds9/library/plotprocess.tcl
@@ -330,20 +330,6 @@ proc PlotCmdExport {format fn} {
PlotExport $cvarname $fn $format
}
-# used by SAMP and CATALOG
-proc PlotCmdHighliteElement {varname rowlist} {
- upvar #0 $varname var
- global $varname
-
- # rowlist starts at 1
- set result {}
- foreach rr $rowlist {
- append result "[expr $rr-1] "
- }
-
- $var(graph,proc,highlite) $varname $result
-}
-
proc ProcessSendPlotCmd {proc id param {sock {}} {fn {}}} {
global iap
global parse
diff --git a/ds9/library/plotscatter.tcl b/ds9/library/plotscatter.tcl
index d9d6029..167ccc6 100644
--- a/ds9/library/plotscatter.tcl
+++ b/ds9/library/plotscatter.tcl
@@ -155,18 +155,14 @@ proc PlotScatterUpdateElement {varname} {
PlotSaveState $varname
-# DumpCallStack
-
set cc $var(graph,current)
if {[llength $var($cc,dss)] == 0} {
return
}
-# puts "***$var(graph,ds,shape,symbol)"
if {$var(graph,ds,shape,symbol) == "none"} {
set var(graph,ds,shape,symbol) circle
}
-# puts "=$var(graph,ds,shape,symbol)"
if {$var(graph,ds,shape,fill)} {
set clr $var(graph,ds,shape,color)
@@ -206,6 +202,8 @@ proc PlotScatterButton {varname x y} {
upvar #0 $varname var
global $varname
+ puts "PlotScatterButton $varname $x $y"
+
set cc $var(graph,current)
if {[llength $var($cc,dss)] == 0} {
@@ -233,22 +231,19 @@ proc PlotScatterButton {varname x y} {
}
}
-proc PlotScatterHighliteElement {varname rowlist} {
+proc PlotScatterHighliteElement {varname cc nn rowlist} {
upvar #0 $varname var
global $varname
- set cc $var(graph,current)
- set nn $var(graph,ds,current)
-
if {[llength $var($cc,dss)] == 0} {
return
}
- if {$var(graph,ds,show)} {
- $var(graph) element deactivate $nn
+ if {$var($cc,$nn,show)} {
+ $var($cc,graph) element deactivate $nn
if {$rowlist != {}} {
# can have multiple rows
- eval "$var(graph) element activate $nn $rowlist"
+ eval "$var($cc,graph) element activate $nn $rowlist"
}
}
}