blob: 9a44ae613df3b70415b917ac2413ac7b6dc0b7b5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Copyright (C) 1999-2017
# 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
}
|