diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2016-10-27 19:01:15 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2016-10-27 19:01:15 (GMT) |
commit | 12166aa342f7c8d905097e43a1f50e0775503069 (patch) | |
tree | 73a6e7296fbf9898633a02c2503a3e959789d8c3 /ds9/library/markerbasepandarect.tcl | |
parent | d4d595fa7fb12903db9227d33d48b2b00120dbd1 (diff) | |
download | blt-12166aa342f7c8d905097e43a1f50e0775503069.zip blt-12166aa342f7c8d905097e43a1f50e0775503069.tar.gz blt-12166aa342f7c8d905097e43a1f50e0775503069.tar.bz2 |
Initial commit
Diffstat (limited to 'ds9/library/markerbasepandarect.tcl')
-rw-r--r-- | ds9/library/markerbasepandarect.tcl | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/ds9/library/markerbasepandarect.tcl b/ds9/library/markerbasepandarect.tcl new file mode 100644 index 0000000..320cb73 --- /dev/null +++ b/ds9/library/markerbasepandarect.tcl @@ -0,0 +1,130 @@ +# 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 MarkerBasePandaRectDialog {varname} { + upvar #0 $varname var + global $varname + + # base panda dialog + MarkerBasePandaDialog $varname + + # callbacks + $var(frame) marker $var(id) callback rotate \ + MarkerBaseCenterRotateCB $varname + + set f $var(top).param + + # Radius + ttk::label $f.tmajor -text [msgcat::mc {Major}] + ttk::label $f.tminor -text [msgcat::mc {Minor}] + ttk::label $f.touter -text [msgcat::mc {Outer}] + ttk::entry $f.radius1 -textvariable ${varname}(radius1) -width 13 + ttk::entry $f.radius2 -textvariable ${varname}(radius2) -width 13 + DistMenuButton $f.uradius $varname dcoord 1 dformat \ + [list $var(proc,distCB) $varname] + DistMenuEnable $f.uradius.menu $varname dcoord 1 dformat + ttk::label $f.tinner -text [msgcat::mc {Inner}] + ttk::entry $f.radius3 -textvariable ${varname}(radius3) -width 13 + + # Annuli + ttk::label $f.tannuli -text [msgcat::mc {Annuli}] + ttk::entry $f.annuli -textvariable ${varname}(annuli) -width 13 + + grid x $f.tmajor $f.tminor -padx 2 -pady 2 -sticky w + grid $f.touter $f.radius1 $f.radius2 $f.uradius -padx 2 -pady 2 -sticky w + grid $f.tinner $f.radius3 -padx 2 -pady 2 -sticky w + grid $f.tannuli $f.annuli -padx 2 -pady 2 -sticky w + + # Angle + ttk::label $f.tangle -text [msgcat::mc {Angle}] + ttk::entry $f.angle -textvariable ${varname}(angle) -width 13 + ttk::label $f.uangle -text [msgcat::mc {Degrees}] + + grid $f.tangle $f.angle $f.uangle -padx 2 -pady 2 -sticky w + + # init - do this last + $var(proc,distCB) $varname + MarkerBaseCenterRotateCB $varname +} + +# actions + +proc MarkerBasePandaRectClose {varname} { + upvar #0 $varname var + global $varname + + $var(frame) marker $var(id) delete callback rotate MarkerBaseCenterRotateCB + + MarkerBasePandaClose $varname +} + +proc MarkerBasePandaRectApply {varname} { + upvar #0 $varname var + global $varname + + MarkerBasePandaApply $varname + MarkerBaseCenterRotate $varname +} + +# callbacks + +proc MarkerBasePandaRectCoordCB {varname {dummy {}}} { + upvar #0 $varname var + global $varname + + global debug + if {$debug(tcl,marker)} { + puts stderr "MarkerBasePandaRectCoordCB" + } + + MarkerBasePandaCoordCB $varname + MarkerBaseCenterRotateCB $varname +} + +proc MarkerBasePandaRectEditCB {varname {dummy {}}} { + upvar #0 $varname var + global $varname + + global debug + if {$debug(tcl,marker)} { + puts stderr "MarkerBasePandaRectEditCB" + } + + set t [$var(frame) get marker $var(id) $var(which) radius \ + $var(dcoord) $var(dformat)] + + set last [llength $t] + set var(annuli) [expr $last/2-1] + set var(radius1) [lindex $t [expr $last-2]] + set var(radius2) [lindex $t [expr $last-1]] + set var(radius3) [lindex $t 0] + + $var(annulitxt) delete 1.0 end + $var(annulitxt) insert end "$t" + + set a [$var(frame) get marker $var(id) $var(which) angle \ + $var(system) $var(sky)] + + set last [expr [llength $a]-1] + set var(ang1) [lindex $a 0] + set var(ang2) [lindex $a $last] + set var(angnum) $last + + $var(angtxt) delete 1.0 end + $var(angtxt) insert end "$a" +} + +proc MarkerBasePandaRectDistCB {varname {dummy {}}} { + upvar #0 $varname var + global $varname + + global debug + if {$debug(tcl,marker)} { + puts stderr "MarkerBasePandaRectDistCB" + } + + MarkerBasePandaDistCB $varname +} |