diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2019-05-03 17:50:57 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2019-05-03 17:50:57 (GMT) |
commit | 617eb28f415b4ba0df09acd61e4c32c48ef02445 (patch) | |
tree | 9742e469acce35a72ce67d3259f286607155ac1f /ds9/library/info.tcl | |
parent | 039e12957d62da70dfa5f191b8a45fc112437fc4 (diff) | |
download | blt-617eb28f415b4ba0df09acd61e4c32c48ef02445.zip blt-617eb28f415b4ba0df09acd61e4c32c48ef02445.tar.gz blt-617eb28f415b4ba0df09acd61e4c32c48ef02445.tar.bz2 |
display 3d coordinates in infobox
Diffstat (limited to 'ds9/library/info.tcl')
-rw-r--r-- | ds9/library/info.tcl | 127 |
1 files changed, 85 insertions, 42 deletions
diff --git a/ds9/library/info.tcl b/ds9/library/info.tcl index c5785ea..931d8d3 100644 --- a/ds9/library/info.tcl +++ b/ds9/library/info.tcl @@ -115,9 +115,6 @@ proc CreateInfoPanel {} { ttk::label $ds9(info).physicalYLabel -text {y} ttk::label $ds9(info).physicalYValue -relief groove \ -textvariable infobox(physical,y) -anchor center - ttk::label $ds9(info).physicalZLabel -text {z} - ttk::label $ds9(info).physicalZValue -relief groove \ - -textvariable infobox(physical,z) -anchor center ttk::label $ds9(info).imageTitle -text [msgcat::mc {Image}] ttk::label $ds9(info).imageXLabel -text {x} @@ -142,16 +139,16 @@ proc CreateInfoPanel {} { -textvariable infobox(angle) -anchor center } -proc LayoutFrameInfoBox {which} { +proc LayoutFrameInfoBox {which type} { global ds9 global view global debug if {$debug(tcl,events)} { - puts stderr "LayoutFrameInfoBox" + puts stderr "LayoutFrameInfoBox $which $type" } - switch -- $which { + switch -- $type { base { grid forget $ds9(info).valueRTitle $ds9(info).valueR \ $ds9(info).valueGTitle $ds9(info).valueG \ @@ -162,20 +159,87 @@ proc LayoutFrameInfoBox {which} { grid $ds9(info).value \ -row $ds9(info,row,value) \ -column 1 -padx 2 -sticky w + + foreach ll {{} 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} { + if {$which != {} && $view(info,wcs$ll)} { + if {[$which has wcs 3d wcs$ll]} { + grid $ds9(info).wcsZLabel$ll \ + -row $ds9(info,row,wcs$ll) \ + -column 0 -sticky w + grid $ds9(info).wcsZValue$ll \ + -row $ds9(info,row,wcs$ll) \ + -column 1 -padx 2 + incr row + } else { + grid forget $ds9(info).wcsZLabel$ll + grid forget $ds9(info).wcsZValue$ll + } + } else { + grid forget $ds9(info).wcsZLabel$ll + grid forget $ds9(info).wcsZValue$ll + } + } + + if {$which != {} && $view(info,image)} { + if {[$which has fits cube]} { + grid $ds9(info).imageZLabel \ + -row $ds9(info,row,image) \ + -column 0 -sticky w + grid $ds9(info).imageZValue \ + -row $ds9(info,row,image) \ + -column 1 -padx 2 + } else { + grid forget $ds9(info).imageZLabel \ + $ds9(info).imageZValue + } + } else { + grid forget $ds9(info).imageZLabel \ + $ds9(info).imageZValue + } } horizontal { grid $ds9(info).value \ -row $ds9(info,row,value) \ -column 2 -padx 2 -sticky w - } - } - foreach ll {{} 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} { - grid forget $ds9(info).wcsZLabel$ll - grid forget $ds9(info).wcsZValue$ll + foreach ll {{} 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} { + if {$which != {} && $view(info,wcs$ll)} { + if {[$which has wcs 3d wcs$ll]} { + grid $ds9(info).wcsZLabel$ll \ + -row $ds9(info,row,wcs$ll) \ + -column 5 -sticky w + grid $ds9(info).wcsZValue$ll \ + -row $ds9(info,row,wcs$ll) \ + -column 6 -padx 2 + incr row + } else { + grid forget $ds9(info).wcsZLabel$ll + grid forget $ds9(info).wcsZValue$ll + } + } else { + grid forget $ds9(info).wcsZLabel$ll + grid forget $ds9(info).wcsZValue$ll + } + } + + if {$which != {} && $view(info,image)} { + if {[$which has fits cube]} { + grid $ds9(info).imageZLabel \ + -row $ds9(info,row,image) \ + -column 5 -sticky w + grid $ds9(info).imageZValue \ + -row $ds9(info,row,image) \ + -column 6 -padx 2 + } else { + grid forget $ds9(info).imageZLabel \ + $ds9(info).imageZValue + } + } else { + grid forget $ds9(info).imageZLabel \ + $ds9(info).imageZValue + } + } } - grid forget $ds9(info).physicalZLabel $ds9(info).physicalZValue - grid forget $ds9(info).imageZLabel $ds9(info).imageZValue } rgb { grid forget $ds9(info).value @@ -224,7 +288,6 @@ proc LayoutFrameInfoBox {which} { grid forget $ds9(info).wcsZLabel$ll grid forget $ds9(info).wcsZValue$ll } - grid forget $ds9(info).physicalZLabel $ds9(info).physicalZValue grid forget $ds9(info).imageZLabel $ds9(info).imageZValue } 3d { @@ -253,17 +316,6 @@ proc LayoutFrameInfoBox {which} { } } - if {$view(info,physical)} { - grid $ds9(info).physicalZLabel \ - -row $ds9(info,row,physical) \ - -column 0 -sticky w - grid $ds9(info).physicalZValue \ - -row $ds9(info,row,physical) \ - -column 1 -padx 2 - } else { - grid forget $ds9(info).physicalZLabel \ - $ds9(info).physicalZValue - } if {$view(info,image)} { grid $ds9(info).imageZLabel \ -row $ds9(info,row,image) \ @@ -296,17 +348,6 @@ proc LayoutFrameInfoBox {which} { } } - if {$view(info,physical)} { - grid $ds9(info).physicalZLabel \ - -row $ds9(info,row,physical) \ - -column 5 -sticky w - grid $ds9(info).physicalZValue \ - -row $ds9(info,row,physical) \ - -column 6 -padx 2 - } else { - grid forget $ds9(info).physicalZLabel \ - $ds9(info).physicalZValue - } if {$view(info,image)} { grid $ds9(info).imageZLabel \ -row $ds9(info,row,image) \ @@ -332,7 +373,7 @@ proc EnterInfoBox {which} { puts stderr "EnterInfoBox $which" } - LayoutFrameInfoBox [$which get type] + LayoutFrameInfoBox $which [$which get type] LayoutWCSInfoBox $which set infobox(frame) "[msgcat::mc {Frame}] [string range $which 5 end]" @@ -565,6 +606,7 @@ proc LayoutInfoPanel {} { proc LayoutInfoPanelHorz {} { global ds9 global view + global current set ww 12 set row 0 @@ -685,7 +727,6 @@ proc LayoutInfoPanelHorz {} { set ds9(info,row,value,green) $row set ds9(info,row,value,blue) $row incr row - LayoutFrameInfoBox base # unit if {$view(info,bunit)} { @@ -767,7 +808,6 @@ proc LayoutInfoPanelHorz {} { if {$view(info,physical)} { $ds9(info).physicalXValue configure -width $ww $ds9(info).physicalYValue configure -width $ww - $ds9(info).physicalZValue configure -width $ww grid $ds9(info).physicalTitle -row $row -column 0 -sticky w grid $ds9(info).physicalXLabel -row $row -column 1 -sticky w @@ -805,6 +845,8 @@ proc LayoutInfoPanelHorz {} { grid forget $ds9(info).imageYValue } + LayoutFrameInfoBox $current(frame) base + # frame, zoom, angle if {$view(info,frame)} { $ds9(info).zoomValue configure -width $ww @@ -831,6 +873,7 @@ proc LayoutInfoPanelHorz {} { proc LayoutInfoPanelVert {} { global ds9 global view + global current set ww 13 set row 0 @@ -950,8 +993,7 @@ proc LayoutInfoPanelVert {} { incr row set ds9(info,row,value,blue) $row incr row - LayoutFrameInfoBox base - + # units if {$view(info,bunit)} { $ds9(info).bunitValue configure -width $ww @@ -1042,7 +1084,6 @@ proc LayoutInfoPanelVert {} { if {$view(info,physical)} { $ds9(info).physicalXValue configure -width $ww $ds9(info).physicalYValue configure -width $ww - $ds9(info).physicalZValue configure -width $ww grid $ds9(info).physicalTitle -row $row -column 1 -sticky ew incr row @@ -1086,6 +1127,8 @@ proc LayoutInfoPanelVert {} { grid forget $ds9(info).imageYValue } + LayoutFrameInfoBox $current(frame) base + # frame, zoom, angle if {$view(info,frame)} { $ds9(info).zoomValue configure -width $ww |