summaryrefslogtreecommitdiffstats
path: root/ds9/library
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2019-05-24 19:06:06 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2019-05-24 19:06:06 (GMT)
commit79863bb9370298d3a853558c24c579444afc72cb (patch)
tree434a8d6c766c849519461e1539fb08c0b40381df /ds9/library
parentc79a0b8a9aadd5d43cb9366cada358e6fa20ce30 (diff)
downloadblt-79863bb9370298d3a853558c24c579444afc72cb.zip
blt-79863bb9370298d3a853558c24c579444afc72cb.tar.gz
blt-79863bb9370298d3a853558c24c579444afc72cb.tar.bz2
add strip plot support
Diffstat (limited to 'ds9/library')
-rw-r--r--ds9/library/plot.tcl93
-rw-r--r--ds9/library/plotbar.tcl5
-rw-r--r--ds9/library/plotline.tcl5
-rw-r--r--ds9/library/plotscatter.tcl5
4 files changed, 59 insertions, 49 deletions
diff --git a/ds9/library/plot.tcl b/ds9/library/plot.tcl
index 706ba86..48c71b9 100644
--- a/ds9/library/plot.tcl
+++ b/ds9/library/plot.tcl
@@ -83,6 +83,24 @@ proc PlotDef {} {
set pap(bar,mode) normal
}
+# Canvas
+proc PlotLayoutCanvas {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ set tt $var(graph,total)
+ set cc $var(graph,current)
+
+ for {set ii 1} {$ii<=$tt} {incr ii} {
+ pack forget $var(graph$ii)
+ }
+
+ for {set ii 1} {$ii<=$tt} {incr ii} {
+ pack $var(graph$ii) -side top -expand yes -fill both
+ }
+}
+
+# Graph
proc PlotAddGraph {varname} {
upvar #0 $varname var
global $varname
@@ -105,8 +123,6 @@ proc PlotAddGraph {varname} {
set var(graph) $var(graph$cc)
set var(type) $var(type$cc)
- pack $var(graph) -expand yes -fill both
-
# set up zoom stack, assuming mode is zoom
global ds9
switch $ds9(wm) {
@@ -114,6 +130,8 @@ proc PlotAddGraph {varname} {
win32 {Blt_ZoomStack $var(graph) -mode release}
aqua {Blt_ZoomStack $var(graph) -mode release -button "ButtonPress-2"}
}
+
+ PlotLayoutCanvas $varname
}
proc PlotDeleteGraph {varname} {
@@ -135,6 +153,39 @@ proc PlotDeleteGraph {varname} {
}
}
+# Data
+proc PlotAddData {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ # warning: uses current vars
+ if {$var(data,total) == 0} {
+ return
+ }
+
+ # delete current elements
+ set nn $var(data,current)
+ foreach el [$var(graph) element names] {
+ set f [split $el -]
+ if {[lindex $f 1] == $nn} {
+ $var(graph) element delete $el
+ }
+ }
+
+ global $var(xdata) $var(ydata)
+ $var(graph) element create "d-${nn}" -xdata $var(xdata) -ydata $var(ydata)
+ if {$var(xedata) != {}} {
+ if {[$var(xedata) length] != 0} {
+ $var(graph) element configure "d-${nn}" -xerror $var(xedata)
+ }
+ }
+ if {$var(yedata) != {}} {
+ if {[$var(yedata) length] != 0} {
+ $var(graph) element configure "d-${nn}" -yerror $var(yedata)
+ }
+ }
+}
+
proc PlotAxisFormat {varname axis w nn} {
upvar #0 $varname var
global $varname
@@ -487,7 +538,7 @@ proc PlotDataSetOne {varname dim data} {
-variable ${varname}(data,current) -value $nn \
-command [list PlotCurrentData $varname]
- PlotCreateElement $varname
+ PlotAddData $varname
$var(proc,updateelement) $varname
}
@@ -563,7 +614,7 @@ proc PlotDupData {varname mm} {
PlotSetVar $varname $nn
- PlotCreateElement $varname
+ PlotAddData $varname
$var(proc,updateelement) $varname
$var(proc,updategraph) $varname
PlotStats $varname
@@ -650,7 +701,7 @@ proc PlotExternal {varname} {
-variable ${varname}(data,current) -value $nn \
-command "PlotCurrentData $varname"
- PlotCreateElement $varname
+ PlotAddData $varname
}
proc PlotList {varname} {
@@ -1196,38 +1247,6 @@ proc PlotUpdateGraph {varname} {
-titlefont "{$ds9($var(legend,title,family))} $var(legend,title,size) $var(legend,title,weight) $var(legend,title,slant)"
}
-proc PlotCreateElement {varname} {
- upvar #0 $varname var
- global $varname
-
- # warning: uses current vars
- if {$var(data,total) == 0} {
- return
- }
-
- # delete current elements
- set nn $var(data,current)
- foreach el [$var(graph) element names] {
- set f [split $el -]
- if {[lindex $f 1] == $nn} {
- $var(graph) element delete $el
- }
- }
-
- global $var(xdata) $var(ydata)
- $var(graph) element create "d-${nn}" -xdata $var(xdata) -ydata $var(ydata)
- if {$var(xedata) != {}} {
- if {[$var(xedata) length] != 0} {
- $var(graph) element configure "d-${nn}" -xerror $var(xedata)
- }
- }
- if {$var(yedata) != {}} {
- if {[$var(yedata) length] != 0} {
- $var(graph) element configure "d-${nn}" -yerror $var(yedata)
- }
- }
-}
-
proc PlotColorMenu {w varname color cmd} {
upvar #0 $varname var
global $varname
diff --git a/ds9/library/plotbar.tcl b/ds9/library/plotbar.tcl
index 8b5e5da..bd56406 100644
--- a/ds9/library/plotbar.tcl
+++ b/ds9/library/plotbar.tcl
@@ -29,10 +29,7 @@ proc PlotBar {tt wtt title xaxis yaxis dim data} {
upvar #0 $varname var
global $varname
- PlotBarProc $varname
- PlotDialog $varname $wtt $title $xaxis $yaxis
- PlotDialogBar $varname
- PlotAddGraph $varname
+ PlotBarDialog $varname $wtt $title $xaxis $yaxis
PlotDataSet $varname $dim $data
$var(proc,updategraph) $varname
diff --git a/ds9/library/plotline.tcl b/ds9/library/plotline.tcl
index 1ef9ab4..cc51682 100644
--- a/ds9/library/plotline.tcl
+++ b/ds9/library/plotline.tcl
@@ -29,10 +29,7 @@ proc PlotLine {tt wtt title xaxis yaxis dim data} {
upvar #0 $varname var
global $varname
- PlotLineProc $varname
- PlotDialog $varname $wtt $title $xaxis $yaxis
- PlotDialogLine $varname
- PlotAddGraph $varname
+ PlotLineDialog $varname $wtt $title $xaxis $yaxis
PlotDataSet $varname $dim $data
$var(proc,updategraph) $varname
diff --git a/ds9/library/plotscatter.tcl b/ds9/library/plotscatter.tcl
index 3b3dfa7..2e9f457 100644
--- a/ds9/library/plotscatter.tcl
+++ b/ds9/library/plotscatter.tcl
@@ -29,10 +29,7 @@ proc PlotScatter {tt wtt title xaxis yaxis dim data} {
upvar #0 $varname var
global $varname
- PlotScatterProc $varname
- PlotDialog $varname $wtt $title $xaxis $yaxis
- PlotDialogScatter $varname
- PlotAddGraph $varname
+ PlotScatterDialog $varname $wtt $title $xaxis $yaxis
PlotDataSet $varname $dim $data
$var(proc,updategraph) $varname