/usr/share/saods9/src/open.tcl is in saods9-data 7.2+dfsg-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | # Copyright (C) 1999-2012
# Smithsonian Astrophysical Observatory, Cambridge, MA, USA
# For conditions of distribution and use, see copyright notice in "copyright"
package provide DS9 1.0
proc Open {fn format layer mode sys} {
if {$fn == {}} {
return
}
StartLoad
switch -- $format {
fits {LoadFitsFile $fn $layer $mode}
mosaicimagewcs {LoadMosaicImageWCSFile $fn $layer $sys}
mosaicimageiraf {LoadMosaicImageIRAFFile $fn $layer}
mosaicimagewfpc2 {LoadMosaicImageWFPC2File $fn}
mosaicwcs {LoadMosaicWCSFile $fn $layer $sys}
mosaiciraf {LoadMosaicIRAFFile $fn $layer}
mecube {LoadMECubeFile $fn}
multiframe {LoadMultiFrameFile $fn}
rgbimage {LoadRGBImageFile $fn}
rgbcube {LoadRGBCubeFile $fn}
}
FinishLoad
}
# Support
proc OpenDialog {format {layer {}} {mode {}}} {
global current
global fitsfbox
set fn [OpenFileDialog fitsfbox]
# just in case (could be invoked via a menu keyshortcut)
if {$current(frame) == {}} {
CreateFrame
}
set sys wcs
if {$fn != {}} {
set ok 1
switch -- $format {
mosaicimagewcs {set ok [MosaicWCSDialog sys]}
mosaicwcs {set ok [MosaicWCSDialog sys]}
}
if {$ok} {
switch -- $layer {
mask {set ok [MaskLoad]}
}
}
if {$ok} {
Open $fn $format $layer $mode $sys
}
}
}
proc MosaicWCSDialog {varname} {
upvar $varname var
global ed
set w {.wcs}
set ed(ok) 0
set ed(sys) wcs
set ed(label) WCS
DialogCreate $w [msgcat::mc {Load Mosaic}] ed(ok)
# Param
set f [ttk::frame $w.param]
ttk::label $f.title -text [msgcat::mc {Select Coordinate System }]
ttk::menubutton $f.sys -textvariable ed(label) \
-menu $f.sys.m -width 10
menu $f.sys.m
$f.sys.m add radiobutton -label [msgcat::mc {WCS}] \
-variable ed(sys) -value "wcs" -command [list set ed(label) WCS]
$f.sys.m add separator
foreach l {a b c d e f g h i j k l m n o p q r s t u v w x y z} {
$f.sys.m add radiobutton -variable ed(sys) \
-label "[msgcat::mc {WCS}] $l" \
-value "wcs$l" \
-command [list set ed(label) "[msgcat::mc {WCS}] $l"]
}
grid $f.title $f.sys
# Buttons
set f [ttk::frame $w.buttons]
ttk::button $f.ok -text [msgcat::mc {OK}] -command {set ed(ok) 1} \
-default active
ttk::button $f.cancel -text [msgcat::mc {Cancel}] -command {set ed(ok) 0}
pack $f.ok $f.cancel -side left -expand true -padx 2 -pady 4
bind $w <Return> {set ed(ok) 1}
# Fini
ttk::separator $w.sep -orient horizontal
pack $w.buttons $w.sep -side bottom -fill x
pack $w.param -side top -fill both -expand true
DialogCenter $w
DialogWait $w ed(ok)
DialogDismiss $w
if {$ed(ok)} {
set var $ed(sys)
}
set rr $ed(ok)
unset ed
return $rr
}
|