summaryrefslogtreecommitdiffstats
path: root/ds9/library/plotconfig.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'ds9/library/plotconfig.tcl')
-rw-r--r--ds9/library/plotconfig.tcl280
1 files changed, 280 insertions, 0 deletions
diff --git a/ds9/library/plotconfig.tcl b/ds9/library/plotconfig.tcl
new file mode 100644
index 0000000..4755d93
--- /dev/null
+++ b/ds9/library/plotconfig.tcl
@@ -0,0 +1,280 @@
+# 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 PlotLoadConfig {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ PlotLoadConfigFile $varname [OpenFileDialog apconfigfbox]
+}
+
+# used by backup
+proc PlotLoadConfigFile {varname filename} {
+ upvar #0 $varname var
+ global $varname
+
+ set cc $var(graph,current)
+
+ if {$filename == {}} {
+ return
+ }
+
+ source $filename
+
+ set var(graph,title,family) $analysisplot(graph,title,family)
+ set var(graph,title,size) $analysisplot(graph,title,size)
+ set var(graph,title,weight) $analysisplot(graph,title,weight)
+ set var(graph,title,slant) $analysisplot(graph,title,slant)
+
+ set var(legend,title,family) $analysisplot(legend,title,family)
+ set var(legend,title,size) $analysisplot(legend,title,size)
+ set var(legend,title,weight) $analysisplot(legend,title,weight)
+ set var(legend,title,slant) $analysisplot(legend,title,slant)
+ set var(legend,font,family) $analysisplot(legend,font,family)
+ set var(legend,font,size) $analysisplot(legend,font,size)
+ set var(legend,font,weight) $analysisplot(legend,font,weight)
+ set var(legend,font,slant) $analysisplot(legend,font,slant)
+
+ set var(axis,title,family) $analysisplot(axis,title,family)
+ set var(axis,title,size) $analysisplot(axis,title,size)
+ set var(axis,title,weight) $analysisplot(axis,title,weight)
+ set var(axis,title,slant) $analysisplot(axis,title,slant)
+
+ set var(axis,font,family) $analysisplot(axis,font,family)
+ set var(axis,font,size) $analysisplot(axis,font,size)
+ set var(axis,font,weight) $analysisplot(axis,font,weight)
+ set var(axis,font,slant) $analysisplot(axis,font,slant)
+
+ # per Graph
+ set var(graph,title) $analysisplot(graph,title)
+
+ set var(graph,legend) $analysisplot(legend)
+ set var(graph,legend,title) $analysisplot(legend,title)
+ set var(graph,legend,position) $analysisplot(legend,position)
+
+ set var(graph,axis,x,title) $analysisplot(axis,x,title)
+ set var(graph,axis,x,grid) $analysisplot(axis,x,grid)
+ set var(graph,axis,x,log) $analysisplot(axis,x,log)
+ set var(graph,axis,x,flip) $analysisplot(axis,x,flip)
+ set var(graph,axis,x,auto) $analysisplot(axis,x,auto)
+ set var(graph,axis,x,min) $analysisplot(axis,x,min)
+ set var(graph,axis,x,max) $analysisplot(axis,x,max)
+ set var(graph,axis,x,format) $analysisplot(axis,x,format)
+
+ set var(graph,axis,y,title) $analysisplot(axis,y,title)
+ set var(graph,axis,y,grid) $analysisplot(axis,y,grid)
+ set var(graph,axis,y,log) $analysisplot(axis,y,log)
+ set var(graph,axis,y,flip) $analysisplot(axis,y,flip)
+ set var(graph,axis,y,auto) $analysisplot(axis,y,auto)
+ set var(graph,axis,y,min) $analysisplot(axis,y,min)
+ set var(graph,axis,y,max) $analysisplot(axis,y,max)
+ set var(graph,axis,y,format) $analysisplot(axis,y,format)
+
+ # per Dataset
+ set var(graph,ds,show) $analysisplot(show)
+ set var(graph,ds,smooth) $analysisplot(smooth)
+ set var(graph,ds,color) $analysisplot(color)
+ set var(graph,ds,fill) $analysisplot(fill)
+ set var(graph,ds,fill,color) $analysisplot(fill,color)
+ set var(graph,ds,width) $analysisplot(width)
+ set var(graph,ds,dash) $analysisplot(dash)
+
+ set var(graph,ds,shape,symbol) $analysisplot(shape,symbol)
+ set var(graph,ds,shape,fill) $analysisplot(shape,fill)
+ set var(graph,ds,shape,color) $analysisplot(shape,color)
+
+ set var(graph,ds,error) $analysisplot(error)
+ set var(graph,ds,error,cap) $analysisplot(error,cap)
+ set var(graph,ds,error,color) $analysisplot(error,color)
+ set var(graph,ds,error,width) $analysisplot(error,width)
+
+ set var(graph,ds,bar,relief) $analysisplot(bar,relief)
+
+ unset analysisplot
+
+ # backward compatibility
+ FixVar ${varname}(graph,title,family) ${varname}(titleFont)
+ FixVar ${varname}(graph,title,size) ${varname}(titleSize)
+ FixVar ${varname}(graph,title,weight) ${varname}(titleWeight)
+ FixVar ${varname}(graph,title,slant) ${varname}(titleSlant)
+
+ FixVar ${varname}(axis,title,family) ${varname}(textlabFont)
+ FixVar ${varname}(axis,title,size) ${varname}(textlabSize)
+ FixVar ${varname}(axis,title,weight) ${varname}(textlabWeight)
+ FixVar ${varname}(axis,title,slant) ${varname}(textlabSlant)
+
+ FixVar ${varname}(axis,font,family) ${varname}(numlabFont)
+ FixVar ${varname}(axis,font,size) ${varname}(numlabSize)
+ FixVar ${varname}(axis,font,weight) ${varname}(numlabWeight)
+ FixVar ${varname}(axis,font,slant) ${varname}(numlabSlant)
+
+ FixVar ${varname}(graph,ds,show) ${varname}(linear)
+ FixVar ${varname}(graph,ds,width) ${varname}(linear,width)
+ FixVar ${varname}(graph,ds,color) ${varname}(linear,color)
+ if {[info exists ${varname}(linear,dash)]} {
+ set var(linear,dash) [FromYesNo $var(linear,dash)]
+ }
+ FixVar ${varname}(graph,ds,dash) ${varname}(linear,dash)
+
+ FixVar ${varname}(graph,ds,shape,color) ${varname}(discrete,color)
+ FixVar ${varname}(graph,ds,shape,fill) ${varname}(discrete,fill)
+
+ if {[info exists ${varname}(discrete)]} {
+ if {$var(discrete)} {
+ FixVar ${varname}(graph,ds,shape,symbol) \
+ ${varname}(discrete,symbol)
+ } else {
+ FixVarRm ${varname}(discrete,symbol)
+ }
+ }
+
+ FixVarRm ${varname}(bar)
+ FixVarRm ${varname}(bar,color)
+
+ FixVarRm ${varname}(discrete)
+
+ FixVarRm ${varname}(quadratic)
+ FixVarRm ${varname}(quadratic,width)
+ FixVarRm ${varname}(quadratic,color)
+ FixVarRm ${varname}(quadratic,dash)
+
+ FixVarRm ${varname}(step)
+ FixVarRm ${varname}(step,color)
+ FixVarRm ${varname}(step,dash)
+ FixVarRm ${varname}(step,width)
+
+ if {[info exists var(grid)]} {
+ set var(graph,axis,x,grid) $var(grid)
+ set var(graph,axis,y,grid) $var(grid)
+ unset var(grid)
+ }
+ if {[info exists var(format)]} {
+ set var(graph,format) $var(format)
+ set var(graph,axis,x,format) $var(format,x)
+ set var(graph,axis,y,format) $var(format,y)
+ unset var(format)
+ unset var(format,x)
+ unset var(format,y)
+ }
+
+ if {[info exists var(grid,log)]} {
+ switch $var(grid,log) {
+ linearlinear {
+ set var(graph,axis,x,log) 0
+ set var(graph,axis,y,log) 0
+ }
+ linearlog {
+ set var(graph,axis,x,log) 0
+ set var(graph,axis,y,log) 1
+ }
+ loglinear {
+ set var(graph,axis,x,log) 1
+ set var(graph,axis,y,log) 0
+ }
+ loglog {
+ set var(graph,axis,x,log) 1
+ set var(graph,axis,y,log) 1
+ }
+ }
+ unset var(grid,log)
+ }
+
+ $var(proc,updategraph) $varname
+ $var(proc,updateelement) $varname
+}
+
+proc PlotSaveConfig {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ PlotSaveConfigFile $varname [SaveFileDialog apconfigfbox]
+}
+
+proc PlotSaveConfigFile {varname filename} {
+ upvar #0 $varname var
+ global $varname
+
+ set cc $var(graph,current)
+
+ if {$filename == {}} {
+ return
+ }
+
+ set ch [open $filename w]
+
+ set analysisplot(graph,title,family) $var(graph,title,family)
+ set analysisplot(graph,title,size) $var(graph,title,size)
+ set analysisplot(graph,title,weight) $var(graph,title,weight)
+ set analysisplot(graph,title,slant) $var(graph,title,slant)
+
+ set analysisplot(legend,title,family) $var(legend,title,family)
+ set analysisplot(legend,title,size) $var(legend,title,size)
+ set analysisplot(legend,title,weight) $var(legend,title,weight)
+ set analysisplot(legend,title,slant) $var(legend,title,slant)
+ set analysisplot(legend,font,family) $var(legend,font,family)
+ set analysisplot(legend,font,size) $var(legend,font,size)
+ set analysisplot(legend,font,weight) $var(legend,font,weight)
+ set analysisplot(legend,font,slant) $var(legend,font,slant)
+
+ set analysisplot(axis,title,family) $var(axis,title,family)
+ set analysisplot(axis,title,size) $var(axis,title,size)
+ set analysisplot(axis,title,weight) $var(axis,title,weight)
+ set analysisplot(axis,title,slant) $var(axis,title,slant)
+
+ set analysisplot(axis,font,family) $var(axis,font,family)
+ set analysisplot(axis,font,size) $var(axis,font,size)
+ set analysisplot(axis,font,weight) $var(axis,font,weight)
+ set analysisplot(axis,font,slant) $var(axis,font,slant)
+
+ # per Graph
+ set analysisplot(graph,title) $var(graph,title)
+
+ set analysisplot(legend) $var(graph,legend)
+ set analysisplot(legend,title) $var(graph,legend,title)
+ set analysisplot(legend,position) $var(graph,legend,position)
+
+ set analysisplot(axis,x,title) $var(graph,axis,x,title)
+ set analysisplot(axis,x,grid) $var(graph,axis,x,grid)
+ set analysisplot(axis,x,log) $var(graph,axis,x,log)
+ set analysisplot(axis,x,flip) $var(graph,axis,x,flip)
+ set analysisplot(axis,x,auto) $var(graph,axis,x,auto)
+ set analysisplot(axis,x,min) $var(graph,axis,x,min)
+ set analysisplot(axis,x,max) $var(graph,axis,x,max)
+ set analysisplot(axis,x,format) $var(graph,axis,x,format)
+
+ set analysisplot(axis,y,title) $var(graph,axis,y,title)
+ set analysisplot(axis,y,grid) $var(graph,axis,y,grid)
+ set analysisplot(axis,y,log) $var(graph,axis,y,log)
+ set analysisplot(axis,y,flip) $var(graph,axis,y,flip)
+ set analysisplot(axis,y,auto) $var(graph,axis,y,auto)
+ set analysisplot(axis,y,min) $var(graph,axis,y,min)
+ set analysisplot(axis,y,max) $var(graph,axis,y,max)
+ set analysisplot(axis,y,format) $var(graph,axis,y,format)
+
+ # per Dataset
+ set analysisplot(show) $var(graph,ds,show)
+ set analysisplot(smooth) $var(graph,ds,smooth)
+ set analysisplot(color) $var(graph,ds,color)
+ set analysisplot(fill) $var(graph,ds,fill)
+ set analysisplot(fill,color) $var(graph,ds,fill,color)
+ set analysisplot(width) $var(graph,ds,width)
+ set analysisplot(dash) $var(graph,ds,dash)
+
+ set analysisplot(shape,symbol) $var(graph,ds,shape,symbol)
+ set analysisplot(shape,fill) $var(graph,ds,shape,fill)
+ set analysisplot(shape,color) $var(graph,ds,shape,color)
+
+ set analysisplot(error) $var(graph,ds,error)
+ set analysisplot(error,cap) $var(graph,ds,error,cap)
+ set analysisplot(error,color) $var(graph,ds,error,color)
+ set analysisplot(error,width) $var(graph,ds,error,width)
+
+ set analysisplot(bar,relief) $var(graph,ds,bar,relief)
+
+ puts $ch "array set analysisplot \{ [array get analysisplot] \}"
+ close $ch
+}
+