summaryrefslogtreecommitdiffstats
path: root/ds9/library/mview.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'ds9/library/mview.tcl')
-rw-r--r--ds9/library/mview.tcl358
1 files changed, 358 insertions, 0 deletions
diff --git a/ds9/library/mview.tcl b/ds9/library/mview.tcl
new file mode 100644
index 0000000..401b887
--- /dev/null
+++ b/ds9/library/mview.tcl
@@ -0,0 +1,358 @@
+# 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
+
+# Menus
+
+proc ViewMainMenu {} {
+ global ds9
+
+ menu $ds9(mb).view
+ $ds9(mb).view add radiobutton -label [msgcat::mc {Horizontal Layout}] \
+ -variable view(layout) -value horizontal -command {ViewHorzCmd}
+ $ds9(mb).view add radiobutton -label [msgcat::mc {Vertical Layout}] \
+ -variable view(layout) -value vertical -command {ViewVertCmd}
+ $ds9(mb).view add separator
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Information Panel}] \
+ -variable view(info) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Panner}] \
+ -variable view(panner) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Magnifier}] \
+ -variable view(magnifier) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Buttons}] \
+ -variable view(buttons) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Colorbar}] \
+ -variable view(colorbar) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Horizontal Graph}] \
+ -variable view(graph,horz) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Vertical Graph}] \
+ -variable view(graph,vert) -command UpdateView
+ $ds9(mb).view add separator
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Filename}] \
+ -variable view(info,filename) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Object}] \
+ -variable view(info,object) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Keyword}] \
+ -variable view(info,keyword) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Min Max}] \
+ -variable view(info,minmax) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Low High}] \
+ -variable view(info,lowhigh) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Units}] \
+ -variable view(info,bunit) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {WCS}] \
+ -variable view(info,wcs) -command UpdateView
+ $ds9(mb).view add cascade -label [msgcat::mc {Multiple WCS}] \
+ -menu $ds9(mb).view.mwcs
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Image}] \
+ -variable view(info,image) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Physical}] \
+ -variable view(info,physical) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Amplifier}] \
+ -variable view(info,amplifier) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Detector}] \
+ -variable view(info,detector) -command UpdateView
+ $ds9(mb).view add checkbutton -label [msgcat::mc {Frame Information}] \
+ -variable view(info,frame) -command UpdateView
+
+ # View Info Panel WCS
+ menu $ds9(mb).view.mwcs
+ 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} {
+ $ds9(mb).view.mwcs add checkbutton \
+ -label "[msgcat::mc {WCS}] $l" \
+ -variable "view(info,wcs$l)" \
+ -command UpdateView
+ }
+}
+
+proc PrefsDialogViewMenu {w} {
+ set f [ttk::labelframe $w.mview -text [msgcat::mc {View}]]
+
+ ttk::menubutton $f.menu -text [msgcat::mc {Menu}] -menu $f.menu.menu
+ PrefsDialogButtonbarView $f.buttonbar
+
+ grid $f.menu $f.buttonbar -padx 2 -pady 2
+
+ set m $f.menu.menu
+ menu $m
+ $m add radiobutton -label [msgcat::mc {Horizontal Layout}] \
+ -variable pview(layout) -value horizontal
+ $m add radiobutton -label [msgcat::mc {Vertical Layout}] \
+ -variable pview(layout) -value vertical
+ $m add separator
+ $m add checkbutton -label [msgcat::mc {Information Panel}] \
+ -variable pview(info)
+ $m add checkbutton -label [msgcat::mc {Panner}] \
+ -variable pview(panner)
+ $m add checkbutton -label [msgcat::mc {Magnifier}] \
+ -variable pview(magnifier)
+ $m add checkbutton -label [msgcat::mc {Buttons}] \
+ -variable pview(buttons)
+ $m add checkbutton -label [msgcat::mc {Colorbar}] \
+ -variable pview(colorbar)
+ $m add checkbutton -label [msgcat::mc {Horizontal Graph}] \
+ -variable pview(graph,horz)
+ $m add checkbutton -label [msgcat::mc {Vertical Graph}] \
+ -variable pview(graph,vert)
+ $m add separator
+ $m add checkbutton -label [msgcat::mc {Filename}] \
+ -variable pview(info,filename)
+ $m add checkbutton -label [msgcat::mc {Object}] \
+ -variable pview(info,object)
+ $m add checkbutton -label [msgcat::mc {Keyword}] \
+ -variable pview(info,keyword)
+ $m add checkbutton -label [msgcat::mc {Min Max}] \
+ -variable pview(info,minmax)
+ $m add checkbutton -label [msgcat::mc {Low High}] \
+ -variable pview(info,lowhigh)
+ $m add checkbutton -label [msgcat::mc {Units}] \
+ -variable pview(info,bunit)
+ $m add checkbutton -label [msgcat::mc {WCS}] \
+ -variable pview(info,wcs)
+ $m add cascade -label [msgcat::mc {Multiple WCS}] -menu $m.wcs
+ $m add checkbutton -label [msgcat::mc {Image}] \
+ -variable pview(info,image)
+ $m add checkbutton -label [msgcat::mc {Physical}] \
+ -variable pview(info,physical)
+ $m add checkbutton -label [msgcat::mc {Amplifier}] \
+ -variable pview(info,amplifier)
+ $m add checkbutton -label [msgcat::mc {Detector}] \
+ -variable pview(info,detector)
+ $m add checkbutton -label [msgcat::mc {Frame Information}]\
+ -variable pview(info,frame)
+
+ menu $m.wcs
+ 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} {
+ $m.wcs add checkbutton -label "[msgcat::mc {WCS}] $l" \
+ -variable "pview(info,wcs$l)"
+ }
+
+ pack $f -side top -fill both -expand true
+}
+
+proc PrefsDialogGraph {} {
+ global dprefs
+ global ds9
+ global pds9
+ global pmagnifier
+ global current
+
+ set w $dprefs(tab)
+
+ $dprefs(list) insert end [msgcat::mc {Graphs}]
+ lappend dprefs(tabs) [ttk::frame $w.graph]
+
+ set f [ttk::labelframe $w.graph.horz -text [msgcat::mc {Horizontal}]]
+
+ ttk::label $f.htitle -text [msgcat::mc {Default}]
+ ttk::checkbutton $f.hgrid -text [msgcat::mc {Grid}] \
+ -variable pgraph(horz,grid) -command UpdateGraphGrid
+ ttk::radiobutton $f.hlinear -text [msgcat::mc {Linear}] \
+ -variable pgraph(horz,log) -value false \
+ -command "UpdateGraphYAxis $current(frame)"
+ ttk::radiobutton $f.hlog -text [msgcat::mc {Log}] \
+ -variable pgraph(horz,log) -value true \
+ -command "UpdateGraphYAxis $current(frame)"
+
+ grid $f.htitle $f.hgrid $f.hlinear $f.hlog -padx 2 -pady 2 -sticky w
+
+ set f [ttk::labelframe $w.graph.vert -text [msgcat::mc {Vertical}]]
+
+ ttk::label $f.vtitle -text [msgcat::mc {Default}]
+ ttk::checkbutton $f.vgrid -text [msgcat::mc {Grid}] \
+ -variable pgraph(vert,grid) -command UpdateGraphGrid
+ ttk::radiobutton $f.vlinear -text [msgcat::mc {Linear}] \
+ -variable pgraph(vert,log) -value false \
+ -command "UpdateGraphYAxis $current(frame)"
+ ttk::radiobutton $f.vlog -text [msgcat::mc {Log}] \
+ -variable pgraph(vert,log) -value true \
+ -command "UpdateGraphYAxis $current(frame)"
+
+ grid $f.vtitle $f.vgrid $f.vlinear $f.vlog -padx 2 -pady 2 -sticky w
+
+ pack $w.graph.horz $w.graph.vert -side top -fill both -expand true
+}
+
+# Buttons
+
+proc ButtonsViewDef {} {
+ global pbuttons
+
+ array set pbuttons {
+ view,horizontal 0
+ view,vertical 0
+ view,info 1
+ view,panner 1
+ view,magnifier 1
+ view,buttons 1
+ view,colorbar 1
+ view,graphhorz 1
+ view,graphvert 1
+ view,filename 0
+ view,object 0
+ view,minmax 0
+ view,lowhigh 0
+ view,bunit 0
+ view,wcs 0
+ view,image 0
+ view,physical 0
+ view,amplifier 0
+ view,detector 0
+ view,frame 0
+ }
+}
+
+proc CreateButtonsView {} {
+ global buttons
+ global ds9
+ global view
+
+ ttk::frame $ds9(buttons).view
+
+ RadioButton $ds9(buttons).view.horizontal \
+ [string tolower [msgcat::mc {Layout Horz}]] \
+ view(layout) horizontal {ViewHorzCmd}
+ RadioButton $ds9(buttons).view.vertical \
+ [string tolower [msgcat::mc {Layout Vert}]] \
+ view(layout) vertical {ViewVertCmd}
+
+ CheckButton $ds9(buttons).view.info \
+ [string tolower [msgcat::mc {Information}]] \
+ view(info) UpdateView
+ CheckButton $ds9(buttons).view.panner \
+ [string tolower [msgcat::mc {Panner}]] \
+ view(panner) UpdateView
+ CheckButton $ds9(buttons).view.magnifier \
+ [string tolower [msgcat::mc {Magnifier}]] \
+ view(magnifier) UpdateView
+ CheckButton $ds9(buttons).view.buttons \
+ [string tolower [msgcat::mc {Buttons}]] \
+ view(buttons) UpdateView
+ CheckButton $ds9(buttons).view.colorbar \
+ [string tolower [msgcat::mc {Colorbar}]] \
+ view(colorbar) UpdateView
+ CheckButton $ds9(buttons).view.graphhorz \
+ [string tolower [msgcat::mc {Graph Horz}]] \
+ view(graph,horz) UpdateView
+ CheckButton $ds9(buttons).view.graphvert \
+ [string tolower [msgcat::mc {Graph Vert}]] \
+ view(graph,vert) UpdateView
+
+ CheckButton $ds9(buttons).view.filename \
+ [string tolower [msgcat::mc {Filename}]] \
+ view(info,filename) UpdateView
+ CheckButton $ds9(buttons).view.object \
+ [string tolower [msgcat::mc {Object}]] \
+ view(info,object) UpdateView
+ CheckButton $ds9(buttons).view.keyword \
+ [string tolower [msgcat::mc {Keyword}]] \
+ view(info,keyword) UpdateView
+ CheckButton $ds9(buttons).view.minmax \
+ [string tolower [msgcat::mc {Min Max}]] \
+ view(info,minmax) UpdateView
+ CheckButton $ds9(buttons).view.lowhigh \
+ [string tolower [msgcat::mc {Low High}]] \
+ view(info,lowhigh) UpdateView
+ CheckButton $ds9(buttons).view.bunit \
+ [string tolower [msgcat::mc {Units}]] \
+ view(info,bunit) UpdateView
+ CheckButton $ds9(buttons).view.wcs \
+ [string tolower [msgcat::mc {WCS}]] \
+ view(info,wcs) UpdateView
+ CheckButton $ds9(buttons).view.image \
+ [string tolower [msgcat::mc {Image}]] \
+ view(info,image) UpdateView
+ CheckButton $ds9(buttons).view.physical \
+ [string tolower [msgcat::mc {Physical}]] \
+ view(info,physical) UpdateView
+ CheckButton $ds9(buttons).view.amplifier \
+ [string tolower [msgcat::mc {Amplifier}]] \
+ view(info,amplifier) UpdateView
+ CheckButton $ds9(buttons).view.detector \
+ [string tolower [msgcat::mc {Detector}]] \
+ view(info,detector) UpdateView
+ CheckButton $ds9(buttons).view.frame \
+ [string tolower [msgcat::mc {Frame}]] \
+ view(info,frame) UpdateView
+
+ set buttons(view) "
+ $ds9(buttons).view.horizontal pbuttons(view,horizontal)
+ $ds9(buttons).view.vertical pbuttons(view,vertical)
+ $ds9(buttons).view.info pbuttons(view,info)
+ $ds9(buttons).view.panner pbuttons(view,panner)
+ $ds9(buttons).view.magnifier pbuttons(view,magnifier)
+ $ds9(buttons).view.buttons pbuttons(view,buttons)
+ $ds9(buttons).view.colorbar pbuttons(view,colorbar)
+ $ds9(buttons).view.graphhorz pbuttons(view,graphhorz)
+ $ds9(buttons).view.graphvert pbuttons(view,graphvert)
+ $ds9(buttons).view.filename pbuttons(view,filename)
+ $ds9(buttons).view.object pbuttons(view,object)
+ $ds9(buttons).view.minmax pbuttons(view,minmax)
+ $ds9(buttons).view.lowhigh pbuttons(view,lowhigh)
+ $ds9(buttons).view.bunit pbuttons(view,bunit)
+ $ds9(buttons).view.wcs pbuttons(view,wcs)
+ $ds9(buttons).view.image pbuttons(view,image)
+ $ds9(buttons).view.physical pbuttons(view,physical)
+ $ds9(buttons).view.amplifier pbuttons(view,amplifier)
+ $ds9(buttons).view.detector pbuttons(view,detector)
+ $ds9(buttons).view.frame pbuttons(view,frame)
+ "
+}
+
+proc PrefsDialogButtonbarView {f} {
+ global buttons
+ global pbuttons
+
+ ttk::menubutton $f -text [msgcat::mc {Buttonbar}] -menu $f.menu
+
+ set m $f.menu
+ menu $m
+ $m add checkbutton -label [msgcat::mc {Horizontal Layout}] \
+ -variable pbuttons(view,horizontal) \
+ -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Vertical Layout}] \
+ -variable pbuttons(view,vertical) \
+ -command {UpdateButtons buttons(view)}
+ $m add separator
+ $m add checkbutton -label [msgcat::mc {Information Panel}] \
+ -variable pbuttons(view,info) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Panner}] \
+ -variable pbuttons(view,panner) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Magnifier}] \
+ -variable pbuttons(view,magnifier) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Buttons}] \
+ -variable pbuttons(view,buttons) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Colorbar}] \
+ -variable pbuttons(view,colorbar) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Horizontal Graph}] \
+ -variable pbuttons(view,graphhorz) \
+ -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Vertical Graph}] \
+ -variable pbuttons(view,graphvert) \
+ -command {UpdateButtons buttons(view)}
+ $m add separator
+ $m add checkbutton -label [msgcat::mc {Filename}] \
+ -variable pbuttons(view,filename) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Object}] \
+ -variable pbuttons(view,object) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Min Max}] \
+ -variable pbuttons(view,minmax) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Low High}] \
+ -variable pbuttons(view,lowhigh) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Unists}] \
+ -variable pbuttons(view,bunit) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {WCS}] \
+ -variable pbuttons(view,wcs) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Image}] \
+ -variable pbuttons(view,image) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Physical}] \
+ -variable pbuttons(view,physical) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Amplifier}] \
+ -variable pbuttons(view,amplifier) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Detector}] \
+ -variable pbuttons(view,detector) -command {UpdateButtons buttons(view)}
+ $m add checkbutton -label [msgcat::mc {Frame Information}] \
+ -variable pbuttons(view,frame) -command {UpdateButtons buttons(view)}
+}