summaryrefslogtreecommitdiffstats
path: root/ds9/library/ar.tcl
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2016-10-27 19:01:15 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2016-10-27 19:01:15 (GMT)
commit12166aa342f7c8d905097e43a1f50e0775503069 (patch)
tree73a6e7296fbf9898633a02c2503a3e959789d8c3 /ds9/library/ar.tcl
parentd4d595fa7fb12903db9227d33d48b2b00120dbd1 (diff)
downloadblt-12166aa342f7c8d905097e43a1f50e0775503069.zip
blt-12166aa342f7c8d905097e43a1f50e0775503069.tar.gz
blt-12166aa342f7c8d905097e43a1f50e0775503069.tar.bz2
Initial commit
Diffstat (limited to 'ds9/library/ar.tcl')
-rw-r--r--ds9/library/ar.tcl208
1 files changed, 208 insertions, 0 deletions
diff --git a/ds9/library/ar.tcl b/ds9/library/ar.tcl
new file mode 100644
index 0000000..5864b9d
--- /dev/null
+++ b/ds9/library/ar.tcl
@@ -0,0 +1,208 @@
+# Copyright (C) 1999-2016
+# Smithsonian Astrophysical Observatory, Cambridge, MA, USA
+# For conditions of distribution and use, see copyright notice in "copyright"
+
+package provide DS9 1.0
+
+proc ARInit {varname next} {
+ upvar #0 $varname var
+ global $varname
+
+ set var(sync) 0
+ set var(proc,next) $next
+
+ set var(name) {}
+ set var(x) {}
+ set var(y) {}
+ set var(status) {}
+}
+
+proc ARApply {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ ARStatus $varname {}
+
+ $var(mb).file entryconfig [msgcat::mc {Retrieve}] -state disabled
+ $var(mb).file entryconfig [msgcat::mc {Cancel}] -state normal
+
+ $var(apply) configure -state disabled
+ $var(cancel) configure -state normal
+}
+
+proc ARCancel {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ # set state to 0 so that we don't process the finish proc
+ set var(active) 0
+
+ if {[info exists var(token)]} {
+ http::reset $var(token)
+ }
+}
+
+proc ARDestroy {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ ARCancel $varname
+
+ if {[winfo exists $var(top)]} {
+ destroy $var(top)
+ destroy $var(mb)
+ }
+
+ unset $varname
+}
+
+proc ARReset {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ set var(active) 0
+
+ if {[info exists var(token)]} {
+ http::cleanup $var(token)
+ unset var(token)
+ }
+
+ $var(mb).file entryconfig [msgcat::mc {Retrieve}] -state normal
+ $var(mb).file entryconfig [msgcat::mc {Cancel}] -state disabled
+
+ $var(apply) configure -state normal
+ $var(cancel) configure -state disabled
+}
+
+proc ARDone {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ set var(status) [msgcat::mc {Done}]
+ ARReset $varname
+}
+
+proc ARCancelled {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ set var(status) [msgcat::mc {Cancelled}]
+ ARReset $varname
+}
+
+proc ARError {varname message} {
+ upvar #0 $varname var
+ global $varname
+
+ set var(status) [string range $message 0 80]
+ ARReset $varname
+}
+
+proc ARStatus {varname message} {
+ upvar #0 $varname var
+ global $varname
+
+ set var(status) [string range $message 0 80]
+}
+
+proc ARClear {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ set var(name) {}
+ set var(x) {}
+ set var(y) {}
+ set var(status) {}
+}
+
+proc ARCoord {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ global ds9
+ global pds9
+
+ switch -- $var(sky) {
+ fk4 -
+ fk5 -
+ icrs {
+ $var(xname) configure -text "\u03b1" \
+ -font "$ds9(times) $pds9(font,size)"
+ $var(yname) configure -text "\u03b4" \
+ -font "$ds9(times) $pds9(font,size)"
+ }
+ galactic {
+ $var(xname) configure -text {l} \
+ -font "{$ds9(times)} $pds9(font,size) normal italic"
+ $var(yname) configure -text {b} \
+ -font "{$ds9(times)} $pds9(font,size) normal italic"
+ }
+ ecliptic {
+ $var(xname) configure -text "\u03bb" \
+ -font "$ds9(times) $pds9(font,size)"
+ $var(yname) configure -text "\u03b2" \
+ -font "$ds9(times) $pds9(font,size)"
+ }
+ }
+}
+
+proc AREditMenu {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ global ds9
+
+ $var(mb) add cascade -label [msgcat::mc {Edit}] -menu $var(mb).edit
+ EditMenu $var(mb) $varname
+ $var(mb).edit add separator
+ $var(mb).edit add command -label [msgcat::mc {Clear}] \
+ -command "ARClear $varname"
+}
+
+proc ARSkyFormat {w varname} {
+ upvar #0 $varname var
+ global $varname
+
+ set ${varname}(skyformat,msg) [msgcat::mc $var(skyformat)]
+ ttk::menubutton $w -textvariable ${varname}(skyformat,msg) -menu $w.menu
+ menu $w.menu
+ $w.menu add radiobutton -label [msgcat::mc {Degrees}] \
+ -variable ${varname}(skyformat) -value degrees \
+ -command "ARSkyFormatMenu $varname"
+ $w.menu add radiobutton -label {Sexagesimal} \
+ -variable ${varname}(skyformat) -value sexagesimal \
+ -command "ARSkyFormatMenu $varname"
+}
+
+proc ARSkyFormatMenu {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ set ${varname}(skyformat,msg) $var(skyformat)
+}
+
+proc ARRFormat {w varname} {
+ upvar #0 $varname var
+ global $varname
+
+ set ${varname}(rformat,msg) [msgcat::mc $var(rformat)]
+ ttk::menubutton $w -textvariable ${varname}(rformat,msg) -menu $w.menu
+ menu $w.menu
+ $w.menu add radiobutton -label [msgcat::mc {Degrees}] \
+ -variable ${varname}(rformat) -value degrees \
+ -command "ARRFormatMenu $varname"
+ $w.menu add radiobutton -label [msgcat::mc {ArcMin}] \
+ -variable ${varname}(rformat) -value arcmin \
+ -command "ARRFormatMenu $varname"
+ $w.menu add radiobutton -label [msgcat::mc {ArcSec}] \
+ -variable ${varname}(rformat) -value arcsec \
+ -command "ARRFormatMenu $varname"
+}
+
+proc ARRFormatMenu {varname} {
+ upvar #0 $varname var
+ global $varname
+
+ set ${varname}(rformat,msg) $var(rformat)
+}
+