summaryrefslogtreecommitdiffstats
path: root/ds9
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2019-05-27 19:07:13 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2019-05-27 19:07:13 (GMT)
commit8cc618eb28ea86eb10d6febd94a0d07ea1807c46 (patch)
treeef80d2a776ab9554534dac4bfc8d5491c6950a2e /ds9
parentd180078a75bf8d0b3090d564dbdb48d79ba43947 (diff)
downloadblt-8cc618eb28ea86eb10d6febd94a0d07ea1807c46.zip
blt-8cc618eb28ea86eb10d6febd94a0d07ea1807c46.tar.gz
blt-8cc618eb28ea86eb10d6febd94a0d07ea1807c46.tar.bz2
add strip plot support
Diffstat (limited to 'ds9')
-rw-r--r--ds9/library/ime.tcl611
-rw-r--r--ds9/library/markeranalysishist.tcl7
-rw-r--r--ds9/library/markeranalysisplot2d.tcl7
-rw-r--r--ds9/library/markeranalysisplot3d.tcl7
-rw-r--r--ds9/library/markeranalysisradial.tcl7
-rw-r--r--ds9/library/plot.tcl64
6 files changed, 55 insertions, 648 deletions
diff --git a/ds9/library/ime.tcl b/ds9/library/ime.tcl
deleted file mode 100644
index 9cf3493..0000000
--- a/ds9/library/ime.tcl
+++ /dev/null
@@ -1,611 +0,0 @@
-# Copyright (C) 1999-2018
-# Smithsonian Astrophysical Observatory, Cambridge, MA, USA
-# For conditions of distribution and use, see copyright notice in "copyright"
-
-package provide DS9 1.0
-
-proc IMEDef {} {
- global iime
- global ime
- global pime
-
- set ime(task) stats
- set ime(shape) circle
-
- array set pime [array get ime]
-}
-
-proc IMEChangeTask {} {
- global current
-
- if {$current(frame) == {}} {
- return
- }
-
- if {$current(mode) != {analysis}} {
- return
- }
-
- UpdateTaskMenu
- IMEChangeShape
-}
-
-proc IMEChangeShape {} {
- global ime
- global ds9
- global current
-
- switch $ime(task) {
- stats -
- hist {
- switch $ime(shape) {
- circle -
- ellipse -
- box -
- polygon {}
- default {set ime(shape) circle}
- }
- }
- radial {
- switch $ime(shape) {
- annulus -
- ellipseannulus -
- boxannulus {}
- default {set ime(shape) annulus}
- }
- }
- plot2d {}
- plot3d {
- switch $ime(shape) {
- circle -
- ellipse -
- box -
- polygon -
- point {}
- default {set ime(shape) point}
- }
- }
- }
-
- foreach ff $ds9(frames) {
- $ff marker analysis unselect all
- set coord [$ff get crosshair canvas]
- set XX [lindex $coord 0]
- set YY [lindex $coord 1]
-
- $ff analysis shape $ime(shape) $XX $YY
-
- if {$current(frame) == $ff} {
- IMEDoTask $current(frame)
- }
- }
-}
-
-proc IMEDoTask {which} {
- global ime
-
- if {![$which has fits]} {
- return
- }
-
- switch $ime(task) {
- stats {IMEStatsTask $which}
- hist {IMEHistTask $which}
- radial {IMERadialTask $which}
- plot2d {IMEPlot2DTask $which}
- plot3d {IMEPlot3DTask $which}
- }
-}
-
-proc IMEKey {which K xx yy} {
- global ime
-
- # always available
- switch $K {
- question {
- IMEHelp
- return
- }
- }
-
- if {![$which has fits]} {
- return
- }
-
- switch $K {
- a {
- # FWHM (Aperture Sum)
- }
- b {
- # Box Coords?
- }
- c {
- # Column Cut
- }
- d {
- # remap (Load Display)
- set ime(task) plot3d
- IMEKeyTask $which $xx $yy
- }
- e {
- # remap (Contour)
- }
- f {
- # remap (Redraw)
- }
- g {
- # remap (Graphics Cursor)
- }
- h {
- set ime(task) hist
- IMEKeyTask $which $xx $yy
- }
- i {
- # remap (Image Cursor)
- }
- j {
- # Line Guassian Fit
- }
- k {
- # Col Gaussian Fit
- }
- l {
- # Line Cut
- }
- m {
- set ime(task) stats
- IMEKeyTask $which $xx $yy
- }
- n {
- # remap (Next Frame)
- }
- o {
- # remap (Overplot)
- }
- p {
- # remap (Prev Frame)
- }
- q {
- # remap (Quit)
- }
- r {
- set ime(task) radial
- IMEKeyTask $which $xx $yy
- }
- s {
- # Surface Plot
- }
- t {
- # remap (Output Image)
- }
- u {
- # Vector Plot
- }
- v {
- set ime(task) plot2d
- IMEKeyTask $which $xx $yy
- }
- w {
- # remap (Toggle Logfile)
- }
- x {
- # Print coords/values
- }
- y {
- # remap (Set Origin)
- }
- z {
- # Print value grid
- }
- , {
- # Quick Profile Photometry
- }
- . {
- # Quick Radial Profile Plot and Fit
- }
- }
-}
-
-proc IMEKeyTask {which xx yy} {
- global ime
-
- $which crosshair canvas $xx $yy
-
- $which analysis shape $ime(shape) $xx $yy
- IMEDoTask $which
-
- UpdateColormapLevelMosaic $which $xx $yy canvas
- UpdateInfoBox $which $xx $yy canvas
- UpdatePixelTableDialog $which $xx $yy canvas
- UpdateGraphLayout $which
- UpdateGraphAxis $which
- UpdateGraphData $which $xx $yy canvas
-}
-
-proc IMEButton {which xx yy} {
- global ime
- global imarker
-
- global debug
- if {$debug(tcl,ime)} {
- puts stderr "IMEButton $which $xx $yy"
- }
-
- # see if we are on a handle
- set hh [$which get marker analysis handle $xx $yy]
- set id [lindex $hh 0]
- set imarker(handle) [lindex $hh 1]
-
- if {$imarker(handle)} {
- $which marker analysis $id edit begin $imarker(handle)
- set imarker(motion) beginEdit
- return
- }
-
- # else, see if we are on a segment of a polygon
- set hh [$which get marker analysis polygon segment $xx $yy]
- set id [lindex $hh 0]
- set segment [lindex $hh 1]
- if {$segment} {
- $which marker analysis $id create polygon vertex $segment $xx $yy
- $which marker analysis $id edit begin $imarker(handle)
- set imarker(handle) [expr 4+$segment+1]
- set imarker(motion) beginEdit
- return
- }
-
- # see if any markers are selected
- if {[$which get marker analysis select number]>0} {
- # else, see if we are on a marker
- if {[$which get marker analysis id $xx $yy]} {
- $which marker analysis $id move begin
- set imarker(motion) beginMove
- return
- } else {
- $which marker analysis unselect all
- set imarker(motion) none
- return
- }
- }
-
- $which marker analysis $id move begin
- set imarker(motion) beginMove
-
- $which crosshair canvas $xx $yy
- $which analysis shape $ime(shape) $xx $yy
- IMEDoTask $which
-}
-
-proc IMEShift {which xx yy} {
- global ime
- global imarker
-
- global debug
- if {$debug(tcl,ime)} {
- puts stderr "IMEShift $which $xx $yy"
- }
-
- # see if we are on a handle
- set hh [$which get marker analysis handle $xx $yy]
- set id [lindex $hh 0]
- set imarker(handle) [lindex $hh 1]
-
- if {$imarker(handle)} {
- $which marker analysis $id rotate begin
- set imarker(motion) beginRotate
- }
-}
-
-proc IMEDouble {which xx yy} {
- global ime
- global imarker
-
- global debug
- if {$debug(tcl,ime)} {
- puts stderr "IMEDouble $which $xx $yy"
- }
-
- if {[$which get marker analysis id $xx $yy]} {
- $which marker analysis select only $xx $yy
- }
-}
-
-proc IMEMotion {which xx yy} {
- global ime
- global imarker
-
- global debug
- if {$debug(tcl,ime)} {
- puts stderr "IMEMotion $which $xx $yy"
- }
-
- switch -- $imarker(motion) {
- none {}
- beginMove -
- move {
- $which marker analysis move motion $x $y
- set imarker(motion) move
- $which crosshair canvas $xx $yy
- $which analysis shape $ime(shape) $xx $yy
- IMEDoTask $which
- }
- beginEdit -
- edit {
- set imarker(motion) edit
- $which marker analysis edit motion $xx $yy $imarker(handle)
- IMEDoTask $which
- }
- beginRotate -
- rotate {
- set imarker(motion) rotate
- $which marker analysis rotate motion $xx $yy $imarker(handle)
- IMEDoTask $which
- }
- region -
- shiftregion {}
- }
-}
-
-proc IMERelease {which xx yy} {
- global ime
- global imarker
-
- global debug
- if {$debug(tcl,ime)} {
- puts stderr "IMERelease $which $xx $yy"
- }
-
- switch -- $imarker(motion) {
- none {}
- beginMove -
- beginRotate {}
- beginEdit {}
- move {
- $which marker analysis move end
- IMEDoTask $which
- }
- edit {
- $which marker analysis edit end
- IMEDoTask $which
- }
- rotate {
- $which marker analysis rotate end
- IMEDoTask $which
- }
- region -
- shiftregion {}
- }
-
- set imarker(motion) none
- set imarker(handle) -1
-}
-
-proc IMEArrowKey {which xx yy} {
- global ime
- global ds9
-
- global debug
- if {$debug(tcl,ime)} {
- puts stderr "IMEArrow $which $xx $yy"
- }
-
- $which crosshair warp $xx $yy
-
- set coord [$which get crosshair canvas]
- set XX [lindex $coord 0]
- set YY [lindex $coord 1]
-
- $which analysis shape $ime(shape) $XX $YY
- IMEDoTask $which
-
- UpdateColormapLevelMosaic $which $XX $YY canvas
- UpdateInfoBox $which $XX $YY canvas
- UpdatePixelTableDialog $which $XX $YY canvas
- UpdateGraphData $which $XX $YY canvas
-}
-
-proc IMEHelp {} {
- global ime
-
- set rr "\tAnalysis Help\n\n?\tPrint Help\nd\tPlot 3D\nm\tStatistics\nv\tPlot 2D\n"
-
- SimpleTextDialog imehlp "Analysis Help" 80 20 insert top $rr
-}
-
-proc IMEStatsTask {which} {
- global ime
-
- set rr [$which get marker analysis hide analysis stats physical fk5]
-
- SimpleTextDialog "imestat" "Statistics" 80 20 insert top $rr
-}
-
-proc IMEHistTask {which} {
- global iime
- global ime
-
- set id 0
-
- set varname imehist
- global $varname
- upvar #0 $varname var
-
- set vvarname analysishist
- upvar #0 $vvarname vvar
- global $vvarname
-
- set xdata ${vvarname}x
- set ydata ${vvarname}y
- global $xdata $ydata
-
- set ping [PlotPing $vvarname]
-
- if {!$ping} {
- PlotLineDialog $vvarname Histogram {} Values Counts
-
- set vvar(manage) 0
- set vvar(dim) xy
- set vvar(xdata) $xdata
- set vvar(ydata) $ydata
- blt::vector create $xdata $ydata
- }
-
- $which get marker analysis hide analysis histogram $xdata $ydata 512
-
- if {!$ping} {
- PlotExternal $vvarname
- set vvar(smooth) step
- set vvar(fill) 1
- $vvar(proc,updateelement) $vvarname
- $vvar(proc,updategraph) $vvarname
- }
-
- PlotStats $vvarname
- PlotList $vvarname
-}
-
-proc IMERadialTask {which} {
- global iime
- global ime
-
- set varname imerad
- global $varname
- upvar #0 $varname var
-
- set vvarname analysisrad
- upvar #0 $vvarname vvar
- global $vvarname
-
- set vvar(system) physical
-
- set xdata ${vvarname}x
- set ydata ${vvarname}y
- set yedata ${vvarname}ye
- global $xdata $ydata $yedata
-
- set ping [PlotPing $vvarname]
-
- if {!$ping} {
- PlotLineDialog $vvarname "Radial Profile" {} physical {}
- MarkerAnalysisRadialAxisTitle $vvarname
-
- set vvar(manage) 0
- set vvar(dim) xyey
- set vvar(xdata) $xdata
- set vvar(ydata) $ydata
- set vvar(yedata) $yedata
- blt::vector create $xdata $ydata $yedata
- }
-
- $which get marker analysis hide analysis radial $xdata $ydata $yedata physical
-
- if {!$ping} {
- PlotExternal $vvarname
- $vvar(proc,updateelement) $vvarname
- $vvar(proc,updategraph) $vvarname
- }
-
- PlotStats $vvarname
- PlotList $vvarname
-}
-
-proc IMEPlot2DTask {which} {
- global iime
- global ime
-
- set varname imeplot2d
- global $varname
- upvar #0 $varname var
-
- set vvarname analysisplot2d
- upvar #0 $vvarname vvar
- global $vvarname
-
- set vvar(system) physical
- set vvar(sky) fk5
- set vvar(method) average
-
- set xdata ${vvarname}x
- set ydata ${vvarname}y
- set xcdata ${vvarname}xc
- set ycdata ${vvarname}yc
- global $xdata $ydata $xcdata $ycdata
-
- set ping [PlotPing $vvarname]
-
- if {!$ping} {
- PlotLineDialog $vvarname Plot2D {} physical Counts
- MarkerAnalysisPlot2dXAxisTitle $vvarname
- MarkerAnalysisPlot2dYAxisTitle $vvarname
-
- # setup our own formatting
- set vvar(graph,format) 0
- set vvar(xcdata) $xcdata
- set vvar(ycdata) $ycdata
- $vvar(graph) xaxis configure \
- -command "MarkerAnalysisPlot2dXAxis $vvarname"
-
- set vvar(manage) 0
- set vvar(dim) xy
- set vvar(xdata) $xdata
- set vvar(ydata) $ydata
- blt::vector create $xdata $ydata $xcdata $ycdata
- }
-
- $which get marker analysis hide analysis plot2d $xdata $ydata $xcdata $ycdata physical fk5 average
-
- if {!$ping} {
- PlotExternal $vvarname
- $vvar(proc,updateelement) $vvarname
- $vvar(proc,updategraph) $vvarname
- }
-
- PlotStats $vvarname
- PlotList $vvarname
-}
-
-proc IMEPlot3DTask {which} {
- global iime
- global ime
-
- set varname imeplot3d
- global $varname
- upvar #0 $varname var
-
- set vvarname analysisplot3d
- upvar #0 $vvarname vvar
- global $vvarname
-
- set vvar(system) image
- set vvar(method) average
-
- set xdata ${vvarname}x
- set ydata ${vvarname}y
- global $xdata $ydata
-
- set ping [PlotPing $vvarname]
-
- if {!$ping} {
- PlotLineDialog $vvarname Plot3D {} image Counts
- MarkerAnalysisPlot3dXAxisTitle $vvarname
- MarkerAnalysisPlot3dYAxisTitle $vvarname
-
- set vvar(manage) 0
- set vvar(dim) xy
- set vvar(xdata) $xdata
- set vvar(ydata) $ydata
- blt::vector create $xdata $ydata
- }
-
- $which get marker analysis hide analysis plot3d $xdata $ydata physical fk5 average
-
- if {!$ping} {
- PlotExternal $vvarname
- $vvar(proc,updateelement) $vvarname
- $vvar(proc,updategraph) $vvarname
- }
-
- PlotStats $vvarname
- PlotList $vvarname
-}
-
diff --git a/ds9/library/markeranalysishist.tcl b/ds9/library/markeranalysishist.tcl
index 83d57a9..1fb1970 100644
--- a/ds9/library/markeranalysishist.tcl
+++ b/ds9/library/markeranalysishist.tcl
@@ -80,8 +80,11 @@ proc MarkerAnalysisHistogramCB {frame id} {
}
PlotLineDialog $vvarname $tt Histogram $bunit Counts
- set vvar(manage) 0
- set vvar(dim) xy
+ set tt $vvar(graph,total)
+ set cc $vvar(graph,current)
+
+ set vvar(graph$cc,manage) 0
+ set vvar(graph$cc,dim) xy
set vvar(xdata) $xdata
set vvar(ydata) $ydata
blt::vector create $xdata $ydata
diff --git a/ds9/library/markeranalysisplot2d.tcl b/ds9/library/markeranalysisplot2d.tcl
index a8fdf1d..e257601 100644
--- a/ds9/library/markeranalysisplot2d.tcl
+++ b/ds9/library/markeranalysisplot2d.tcl
@@ -169,8 +169,11 @@ proc MarkerAnalysisPlot2dCB {frame id} {
$vvar(graph) xaxis configure \
-command "MarkerAnalysisPlot2dXAxis $vvarname"
- set vvar(manage) 0
- set vvar(dim) xy
+ set tt $vvar(graph,total)
+ set cc $vvar(graph,current)
+
+ set vvar(graph$cc,manage) 0
+ set vvar(graph$cc,dim) xy
set vvar(xdata) $xdata
set vvar(ydata) $ydata
blt::vector create $xdata $ydata $xcdata $ycdata
diff --git a/ds9/library/markeranalysisplot3d.tcl b/ds9/library/markeranalysisplot3d.tcl
index 2b93cbc..272d1ed 100644
--- a/ds9/library/markeranalysisplot3d.tcl
+++ b/ds9/library/markeranalysisplot3d.tcl
@@ -174,8 +174,11 @@ proc MarkerAnalysisPlot3dCB {frame id} {
set vvar(mode) pointer
PlotChangeMode $vvarname
- set vvar(manage) 0
- set vvar(dim) xy
+ set tt $vvar(graph,total)
+ set cc $vvar(graph,current)
+
+ set vvar(graph$cc,manage) 0
+ set vvar(graph$cc,dim) xy
set vvar(xdata) $xdata
set vvar(ydata) $ydata
blt::vector create $xdata $ydata
diff --git a/ds9/library/markeranalysisradial.tcl b/ds9/library/markeranalysisradial.tcl
index 45a552d..56df594 100644
--- a/ds9/library/markeranalysisradial.tcl
+++ b/ds9/library/markeranalysisradial.tcl
@@ -107,8 +107,11 @@ proc MarkerAnalysisRadialCB {frame id} {
PlotLineDialog $vvarname $tt "Radial Profile" $sys {}
MarkerAnalysisRadialAxisTitle $vvarname
- set vvar(manage) 0
- set vvar(dim) xyey
+ set tt $vvar(graph,total)
+ set cc $vvar(graph,current)
+
+ set vvar(graph$cc,manage) 0
+ set vvar(graph$cc,dim) xyey
set vvar(xdata) $xdata
set vvar(ydata) $ydata
set vvar(yedata) $yedata
diff --git a/ds9/library/plot.tcl b/ds9/library/plot.tcl
index 445a970..74ff7af 100644
--- a/ds9/library/plot.tcl
+++ b/ds9/library/plot.tcl
@@ -222,10 +222,10 @@ proc PlotDeleteData {varname} {
}
# first set can be external
- set clear $var(1,manage)
+ set clear $var(graph$cc,1,manage)
for {set nn 1} {$nn<=$var(graph$cc,data,total)} {incr nn} {
- if {$var($nn,manage)} {
+ if {$var(graph$cc,$nn,manage)} {
# delete elements
foreach el [$var(graph$cc) element names] {
set f [split $el -]
@@ -236,7 +236,7 @@ proc PlotDeleteData {varname} {
# destroy vectors
blt::vector destroy $var($nn,xdata) $var($nn,ydata)
- switch $var($nn,dim) {
+ switch $var(graph$cc,$nn,dim) {
xy {}
xyex {blt::vector destroy $var($nn,xedata)}
xyey {blt::vector destroy $var($nn,yedata)}
@@ -298,8 +298,8 @@ proc PlotCurrentData {varname} {
if {$var(graph$cc,data,total) > 0} {
set nn $var(graph$cc,data,current)
- set var(manage) $var($nn,manage)
- set var(dim) $var($nn,dim)
+ set var(graph$cc,manage) $var(graph$cc,$nn,manage)
+ set var(graph$cc,dim) $var(graph$cc,$nn,dim)
set var(xdata) $var($nn,xdata)
set var(ydata) $var($nn,ydata)
@@ -373,7 +373,7 @@ proc PlotDataSetOne {varname dim data} {
set yedata ap${varname}ye${nn}
# basics xy
- set var(manage) 1
+ set var(graph$cc,manage) 1
set var(name) "Dataset $nn"
set var(xdata) $xdata
set var(ydata) $ydata
@@ -392,7 +392,7 @@ proc PlotDataSetOne {varname dim data} {
switch -- $dim {
2 -
xy {
- set var(dim) xy
+ set var(graph$cc,dim) xy
set var(xedata) {}
set var(yedata) {}
@@ -405,7 +405,7 @@ proc PlotDataSetOne {varname dim data} {
}
xyex {
- set var(dim) xyex
+ set var(graph$cc,dim) xyex
set var(xedata) $xedata
set var(yedata) {}
@@ -424,7 +424,7 @@ proc PlotDataSetOne {varname dim data} {
3 -
xyey {
- set var(dim) xyey
+ set var(graph$cc,dim) xyey
set var(xedata) {}
set var(yedata) $yedata
@@ -442,7 +442,7 @@ proc PlotDataSetOne {varname dim data} {
}
xyexey {
- set var(dim) xyexey
+ set var(graph$cc,dim) xyexey
set var(xedata) $xedata
set var(yedata) $yedata
@@ -462,7 +462,7 @@ proc PlotDataSetOne {varname dim data} {
}
4.1 {
- set var(dim) xyey
+ set var(graph$cc,dim) xyey
set var(xedata) {}
set var(yedata) $yedata
@@ -480,7 +480,7 @@ proc PlotDataSetOne {varname dim data} {
}
4.2 {
- set var(dim) xy
+ set var(graph$cc,dim) xy
set var(xedata) {}
set var(yedata) {}
@@ -493,7 +493,7 @@ proc PlotDataSetOne {varname dim data} {
}
5.1 {
- set var(dim) xyey
+ set var(graph$cc,dim) xyey
set var(xedata) {}
set var(yedata) $yedata
@@ -511,7 +511,7 @@ proc PlotDataSetOne {varname dim data} {
}
5.2 {
- set var(dim) xyey
+ set var(graph$cc,dim) xyey
set var(xedata) {}
set var(yedata) $yedata
@@ -529,8 +529,8 @@ proc PlotDataSetOne {varname dim data} {
}
}
- set var($nn,manage) 1
- set var($nn,dim) $var(dim)
+ set var(graph$cc,$nn,manage) 1
+ set var(graph$cc,$nn,dim) $var(graph$cc,dim)
set var($nn,xdata) $var(xdata)
set var($nn,ydata) $var(ydata)
@@ -586,8 +586,8 @@ proc PlotDupData {varname mm} {
set var($nn,yedata) {}
}
- set var($nn,manage) 1
- set var($nn,dim) $var($mm,dim)
+ set var(graph$cc,$nn,manage) 1
+ set var(graph$cc,$nn,dim) $var(graph$cc,$mm,dim)
set var($nn,show) $var($mm,show)
set var($nn,shape,symbol) $var($mm,shape,symbol)
@@ -613,8 +613,8 @@ proc PlotDupData {varname mm} {
# make current
set var(graph$cc,data,current) $nn
- set var(manage) $var($nn,manage)
- set var(dim) $var($nn,dim)
+ set var(graph$cc,manage) $var(graph$cc,$nn,manage)
+ set var(graph$cc,dim) $var(graph$cc,$nn,dim)
set var(xdata) $var($nn,xdata)
set var(ydata) $var($nn,ydata)
@@ -645,7 +645,7 @@ proc PlotDestroy {varname} {
}
for {set nn 1} {$nn<=$var(graph$cc,data,total)} {incr nn} {
- switch $var($nn,dim) {
+ switch $var(graph$cc,$nn,dim) {
xy {
blt::vector destroy $var($nn,xdata) $var($nn,ydata)
}
@@ -700,8 +700,8 @@ proc PlotExternal {varname} {
set var(name) "Dataset $nn"
- set var($nn,manage) $var(manage)
- set var($nn,dim) $var(dim)
+ set var(graph$cc,$nn,manage) $var(graph$cc,manage)
+ set var(graph$cc,$nn,dim) $var(graph$cc,dim)
set var($nn,xdata) $var(xdata)
set var($nn,ydata) $var(ydata)
@@ -736,6 +736,9 @@ proc PlotListGenerate {varname} {
upvar #0 $varname var
global $varname
+ set tt $var(graph,total)
+ set cc $var(graph,current)
+
set rr {}
if {$var(xdata) != {}} {
global $var(xdata) $var(ydata) $var(xedata) $var(yedata)
@@ -743,7 +746,7 @@ proc PlotListGenerate {varname} {
set xx [$var(xdata) range]
set yy [$var(ydata) range]
- switch $var(dim) {
+ switch $var(graph$cc,dim) {
xy {
for {set ii 0} {$ii<$ll} {incr ii} {
append rr "[lindex $xx $ii] [lindex $yy $ii]\n"
@@ -1065,6 +1068,9 @@ proc PlotSaveDataFile {varname filename} {
upvar #0 $varname var
global $varname
+ set tt $var(graph,total)
+ set cc $var(graph,current)
+
if {$var(xdata) == {}} {
return
}
@@ -1079,7 +1085,7 @@ proc PlotSaveDataFile {varname filename} {
set yy [$var(ydata) range]
set ch [open $filename w]
- switch $var(dim) {
+ switch $var(graph$cc,dim) {
xy {
for {set ii 0} {$ii<$ll} {incr ii} {
puts $ch "[lindex $xx $ii] [lindex $yy $ii]"
@@ -1223,12 +1229,12 @@ proc PlotUpdateGraph {varname} {
$var(mb).file entryconfig [msgcat::mc {Statistics}] -state normal
$var(mb).file entryconfig [msgcat::mc {List Data}] -state normal
- if {$var(1,manage)} {
+ if {$var(graph$cc,1,manage)} {
$var(mb).file entryconfig [msgcat::mc {Duplicate Data}] \
- -state disabled
+ -state normal
} else {
$var(mb).file entryconfig [msgcat::mc {Duplicate Data}] \
- -state normal
+ -state disable
}
} else {
$var(mb).file entryconfig "[msgcat::mc {Save Data}]..." -state disabled
@@ -1375,7 +1381,7 @@ proc PlotBackup {ch dir} {
PlotSaveDataFile $varname "$fdir/plot$ii.dat"
PlotSaveConfigFile $varname "$fdir/plot$ii.plt"
- puts $ch "PlotLoadDataFile $varname $fdir/plot$ii.dat $var(dim)"
+ puts $ch "PlotLoadDataFile $varname $fdir/plot$ii.dat $var(graph$cc,dim)"
puts $ch "PlotLoadConfigFile $varname $fdir/plot$ii.plt"
}
set ${varname}(graph$cc,data,current) $save