aboutsummaryrefslogtreecommitdiff
path: root/vendor/x11iraf/guidemo/panel2.gui
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/x11iraf/guidemo/panel2.gui')
-rw-r--r--vendor/x11iraf/guidemo/panel2.gui820
1 files changed, 820 insertions, 0 deletions
diff --git a/vendor/x11iraf/guidemo/panel2.gui b/vendor/x11iraf/guidemo/panel2.gui
new file mode 100644
index 00000000..a4c997c3
--- /dev/null
+++ b/vendor/x11iraf/guidemo/panel2.gui
@@ -0,0 +1,820 @@
+# PANEL.GUI -- Test GUI for the frame and layout widgets.
+# This gui can be run as "cl> hello gui=panel.gui".
+
+reset-server
+
+appInitialize panel2 Panel2 {
+ *objects:\
+ toplevel Layout panel \
+ panel Group viewBox \
+ panel Group enhancementBox \
+ panel Group blinkBox \
+ panel Group optionsBox \
+ panel Frame controlBox \
+\
+ viewBox Layout view \
+ view Group frameSelect \
+ frameSelect Layout frame \
+ frame TextToggle frame1 \
+ frame TextToggle frame2 \
+ frame TextToggle frame3 \
+ frame TextToggle frame4 \
+ frame Command prevFrame \
+ frame Command nextFrame \
+ view Frame frameDataBox \
+ frameDataBox TextBox frameData \
+ view Group zoomBox \
+ zoomBox Layout zoom \
+ zoom TextButton toggleZoom \
+ zoom TextButton zoomIn \
+ zoom Command x1 \
+ zoom Command z2 \
+ zoom Command z3 \
+ zoom Command z4 \
+ zoom Command z5 \
+ zoom Command z8 \
+ zoom TextButton zoomOut \
+ zoom TextButton centerFrame \
+ zoom Command d2 \
+ zoom Command d3 \
+ zoom Command d4 \
+ zoom Command d5 \
+ zoom Command d8 \
+ view Layout viewButtons \
+ viewButtons Command clearFrame \
+ viewButtons Command flipX \
+ viewButtons Command flipY \
+ viewButtons Command flipXY \
+ viewButtons Command fitFrame \
+\
+ enhancementBox Layout enhancement \
+ enhancement Scrollbar2 colorlistScroll \
+ enhancement Frame colorlistFrame \
+ colorlistFrame Porthole colorlistPort \
+ colorlistPort MultiList colorlist \
+ enhancement Frame colordataFrame \
+ colordataFrame TextBox colordata \
+ enhancement Label contrastLabel \
+ enhancement Slider2d contrastSlider \
+ enhancement Label brightnessLabel \
+ enhancement Slider2d brightnessSlider \
+ enhancement Command invertButton \
+ enhancement Command optimizeButton \
+\
+ blinkBox Layout blink \
+ blink Label blinkFramesLabel \
+ blink Command blinkFrame1 \
+ blink Command blinkFrame2 \
+ blink Command blinkFrame3 \
+ blink Command blinkFrame4 \
+ blink Command blinkReset \
+ blink Label blinkRateLabel \
+ blink Frame BRframe \
+ BRframe Layout BRlayout \
+ BRlayout Arrow BRdecrease \
+ BRlayout TextBox BRtext \
+ BRlayout Arrow BRincrease \
+ blink Command registerButton \
+ blink Command matchButton \
+ blink Toggle blinkButton \
+\
+ optionsBox TextToggle pannerButton \
+ optionsBox TextToggle coordsBoxButton \
+ optionsBox TextToggle autoscaleButton \
+ optionsBox TextToggle antialiasButton \
+ optionsBox TextToggle tileFramesButton \
+ optionsBox TextToggle warningsButton \
+\
+ controlBox Layout control \
+ control Command initializeButton \
+ control Command normalizeButton \
+ control Command doneButton \
+\
+ toplevel TransientShell warning \
+ warning Layout warn \
+ warn Frame warnFrame \
+ warnFrame Layout WFlayout \
+ WFlayout Icon warnIcon \
+ WFlayout TextBox warnText \
+ warn TextButton warnOk \
+ warn TextButton warnCancel \
+ warn TextButton warnHelp
+
+ *background: gray
+ *foreground: black
+ *TextBox.background: gray60
+ *internalWidth: 0
+ *borderWidth: 0
+ *Command.highlightThickness: 0
+
+ *TextBox.font: 7x13bold
+ *TextToggle.font: -adobe-times-medium-r-normal-*-12-*-*-*-*-*-iso8859-1
+ *Command.font: -adobe-times-medium-r-normal-*-12-*-*-*-*-*-iso8859-1
+ *Toggle.font: -adobe-times-medium-r-normal-*-12-*-*-*-*-*-iso8859-1
+ *Label.font: -*-helvetica-medium-r-normal-*-12-*-iso8859-1
+ *MultiList.font: -adobe-times-medium-r-normal-*-12-*-*-*-*-*-iso8859-1
+ *toggleZoom.font: -*-helvetica-medium-r-normal-*-12-*-iso8859-1
+ *centerFrame.font: -*-helvetica-medium-r-normal-*-12-*-iso8859-1
+ *zoom*Command.font: 7x13bold
+ *blinkFrame1.font: 7x13bold
+ *blinkFrame2.font: 7x13bold
+ *blinkFrame3.font: 7x13bold
+ *blinkFrame4.font: 7x13bold
+
+ *panel.debug: False
+ *panel.layout: vertical { \
+ 5 < -5 > \
+ horizontal { \
+ -1 \
+ viewBox < +inf -inf * > \
+ -1 \
+ } \
+ 5 < -5 > \
+ horizontal { \
+ -1 \
+ enhancementBox < +inf -inf * +inf -inf > \
+ -1 \
+ vertical { \
+ -1 \
+ blinkBox < * +inf -inf > \
+ -1 \
+ optionsBox < * +inf -inf > \
+ -1 \
+ } \
+ -1 \
+ } \
+ controlBox < +inf * > \
+ }
+
+ ! VIEW
+ ! ------------------
+ *viewBox.label: View
+ *viewBox.location: 0 0 400 0
+ *viewBox.shrinkToFit: True
+ *viewBox.outerOffset: 5
+
+ *view.debug: False
+ *view.layout: vertical { \
+ 5 < +inf -5 > \
+ horizontal { \
+ -1 \
+ frameSelect \
+ -1 \
+ vertical { \
+ 5 < -5 > \
+ frameDataBox < +inff -100% * +inff -100% > \
+ 5 < -5 > \
+ } \
+ -1 \
+ zoomBox \
+ -1 \
+ } \
+ 1 < +inf > \
+ viewButtons < +inf -inf * +inf -inf > \
+ 5 < +inf -5 > \
+ }
+
+ *frameDataBox.frameType: sunken
+ *frameDataBox.frameWidth: 2
+ *frameData.width: 130
+ *frameData.height: 50
+ *frameData.label:\
+ -- Frame 1 --\nX center: 123.45\nY center: 345.67\nX scale: 4\nY scale: 4
+
+ *frameSelect.location: 0 0 72 0
+ *frameSelect.shrinkToFit: True
+ *frameSelect.outerOffset: 5
+ *frameSelect.innerOffset: 5
+ *frameSelect.frameWidth: 2
+ *frameSelect*offIcon: diamond0s
+ *frameSelect*onIcon: diamond1s
+ *frameSelect*highlightColor: blue
+ *frameSelect.label: Frame:
+
+ *frame.debug: False
+ *frame.layout: vertical { \
+ frame1 < +inf * > \
+ frame2 < +inf * > \
+ frame3 < +inf * > \
+ frame4 < +inf * > \
+ 10 < +inf -10 > \
+ horizontal { \
+ -1 \
+ prevFrame \
+ 10 < +inf -5 > \
+ nextFrame \
+ -1 \
+ } \
+ -1 \
+ }
+
+ *frame*location: 0 0 10 20
+ *frame*alignment: left
+ *frame*frameWidth: 0
+ *frame*highlightThickness: 0
+ *frame*frame1.label: \ 1\ \
+ *frame*frame2.label: \ 2\ \
+ *frame*frame3.label: \ 3\ \
+ *frame*frame4.label: \ 4\ \
+ *frame*Command.width: 24
+ *frame*prevFrame.label: xx
+ *frame*nextFrame.label: xx
+
+ *zoomBox.label: Zoom:
+ *zoomBox.location: 0 0 160 127
+ *zoomBox.outerOffset: 5
+ *zoomBox.shrinkToFit: True
+
+ *zoom.debug: False
+ *zoom*internalWidth: 4
+ *zoom.layout: vertical { \
+ space = ((50% of width zoom) - (50% of width z5)) \
+ 1 < +inf > \
+ horizontal { \
+ vertical { \
+ toggleZoom < +inf * +inf > \
+ 2 \
+ } \
+ 2 \
+ vertical { \
+ 2 < +inf > \
+ z5 \
+ 1 < +inf > \
+ z3 \
+ 0 < +inf > \
+ } \
+ 2 \
+ vertical { \
+ zoomIn < +inf * +inf > \
+ 2 \
+ } \
+ } \
+ 1 < +inf > \
+ horizontal { \
+ 2 < +inf > \
+ d8 d4 d2 x1 z2 z4 z8 \
+ 2 < +inf > \
+ } \
+ 1 < +inf > \
+ horizontal { \
+ vertical { \
+ 2 \
+ zoomOut < +inf * +inf > \
+ } \
+ 2 \
+ vertical { \
+ 0 < +inf > \
+ d3 \
+ 1 < +inf > \
+ d5 \
+ 2 < +inf > \
+ } \
+ 2 \
+ vertical { \
+ 2 \
+ centerFrame < +inf * +inf > \
+ } \
+ } \
+ 1 < +inf > \
+ }
+
+ *toggleZoom.label: Toggle\nZoom
+ *toggleZoom.outerOffset: 0
+ *toggleZoom.width: 30
+ *toggleZoom.height: 25
+
+ *zoomIn.label: Zoom\nIn
+ *zoomIn.outerOffset: 0
+ *zoomIn.width: 30
+ *zoomIn.height: 25
+
+ *x1.label: 1
+ *z2.label: 2
+ *z3.label: 3
+ *z4.label: 4
+ *z5.label: 5
+ *z8.label: 8
+
+ *zoomIn.foreground: royalBlue3
+ *z4.foreground: royalBlue3
+ *z5.foreground: royalBlue3
+ *z8.foreground: royalBlue3
+ *z2.foreground: royalBlue3
+ *z3.foreground: royalBlue3
+
+ *zoomOut.label: Zoom\nOut
+ *zoomOut.outerOffset: 0
+ *zoomOut.width: 30
+ *zoomOut.height: 25
+
+ *centerFrame.label: Center
+ *centerFrame.outerOffset: 0
+ *centerFrame.width: 30
+ *centerFrame.height: 25
+
+ *d2.label: 2
+ *d3.label: 3
+ *d4.label: 4
+ *d5.label: 5
+ *d8.label: 8
+
+ *zoomOut.foreground: mediumVioletRed
+ *d2.foreground: mediumVioletRed
+ *d3.foreground: mediumVioletRed
+ *d4.foreground: mediumVioletRed
+ *d5.foreground: mediumVioletRed
+ *d8.foreground: mediumVioletRed
+
+ *viewButtons.location: 0 0 100 80
+ *viewButtons.debug: False
+ *viewButtons.layout: horizontal { \
+ 5 < -2 > \
+ flipX < +inf * > \
+ 5 < -2 > \
+ flipY < +inf * > \
+ 5 < -2 > \
+ flipXY < +inf * > \
+ 5 < -2 > \
+ clearFrame < +inf * > \
+ 5 < -2 > \
+ fitFrame < +inf * > \
+ 5 < -2 > \
+ }
+
+ *nextFrame.label: Next Frame
+ *prevFrame.label: Previous Frame
+ *fitFrame.label: Fit Frame
+ *clearFrame.label: Clear Frame
+ *flipX.label: Flip X
+ *flipY.label: Flip Y
+ *flipXY.label: Flip XY
+
+
+ ! ENHANCEMENT
+ ! ------------------
+ *enhancementBox.label: Enhancement
+ *enhancementBox.location: 0 0 100 0
+ *enhancementBox.shrinkToFit: True
+ *enhancementBox.outerOffset: 5
+
+ *enhancement.debug: False
+ *enhancement.layout: vertical { \
+ 3 < -3 > \
+ horizontal { \
+ 2 < -2 > \
+ colorlistScroll < * +inf -inf > \
+ -1 \
+ colorlistFrame < +inf -inf * +inf -inf > \
+ 2 < -2 > \
+ } \
+ -1 \
+ horizontal { \
+ 2 < -2 > \
+ colordataFrame < +inf -inf * +inf -inf > \
+ 2 < -2 > \
+ } \
+ 5 < -5 > \
+ horizontal { \
+ 2 < -2 > \
+ vertical { \
+ -1 \
+ contrastLabel \
+ 3 < -3 > \
+ brightnessLabel \
+ -1 \
+ } \
+ 3 < -3 > \
+ vertical { \
+ -1 \
+ contrastSlider < +inf -inf * > \
+ 3 < -3 > \
+ brightnessSlider < +inf -inf * > \
+ -1 \
+ } \
+ 2 < -2 > \
+ } \
+ 5 < -5 > \
+ horizontal { \
+ 3 < -3 > \
+ invertButton < +inf -inf * > \
+ 5 < -5 > \
+ optimizeButton < +inf -inf * > \
+ 3 < -3 > \
+ } \
+ 3 < -3 > \
+ }
+
+ *enhancement*Minsize: 20
+ *enhancement*FrameType: sunken
+ *enhancement*FrameWidth: 2
+ *enhancement*BorderWidth: 0
+ *enhancement*Label.ShadowWidth: 0
+ *enhancement*thumbColor: gray
+
+ *colorlistScroll.location: 0 0 20 10
+ *colorlistScroll.vertical: True
+ *colorlist.width: 100
+ *colorlist.height: 78
+ *colordata.width: 100
+ *colordata.height: 45
+ *enhancement*colordata.frameWidth: 0
+ *contrastLabel.label: x
+ *contrastSlider.location: 0 0 100 20
+ *brightnessLabel.label: x
+ *brightnessSlider.location: 0 0 100 20
+ *invertButton.label: Invert
+ *optimizeButton.label: Optimize
+
+ ! BLINK
+ ! ---------------------
+ *blinkBox.label: Blink
+ *blinkBox.location: 0 0 230 0
+ *blinkBox.shrinkToFit: False
+ *blinkBox.outerOffset: 5
+
+
+ *blink.debug: False
+ *blink.layout: vertical { \
+ space = (width blinkFramesLabel - width blinkRateLabel) \
+ 3 < -3 > \
+ horizontal { \
+ 0 \
+ blinkFramesLabel \
+ 3 < +inf > \
+ blinkFrame1 < -50% * > \
+ blinkFrame2 < -50% * > \
+ blinkFrame3 < -50% * > \
+ blinkFrame4 < -50% * > \
+ 4 < +inf > \
+ blinkReset \
+ 2 \
+ } \
+ 5 < -5 > \
+ horizontal { \
+ $space \
+ blinkRateLabel \
+ 2 \
+ BRframe < +inf * > \
+ } \
+ 10 < +inf -100% > \
+ horizontal { \
+ 3 \
+ registerButton < +inf * > \
+ 5 < -5 > \
+ matchButton < +inf * > \
+ 5 < -5 > \
+ blinkButton < +inf * > \
+ 2 \
+ } \
+ 3 < -3 > \
+ }
+
+ *BRlayout.layout: horizontal { \
+ BRdecrease \
+ BRtext < +inf -100% * > \
+ BRincrease \
+ }
+
+ *blink.Label.borderWidth: 0
+ *blink.Label.shadowWidth: 0
+ *blink*internalWidth: 4
+ *blink*Arrow.background: gray60
+ *blink*Arrow.foreground: gray
+ *blink*Arrow.width: 16
+ *blink*Arrow.height: 25
+
+ *blinkFramesLabel.label: Blink Frames:
+ *blinkFrame1.label: 1
+ *blinkFrame2.label: 2
+ *blinkFrame3.label: 3
+ *blinkFrame4.label: 4
+ *blinkReset.label: Reset
+
+ *blinkRateLabel.label: Blink Rate:
+ *BRframe.frameType: sunken
+ *BRframe.frameWidth: 2
+ *BRtext.width: 40
+ *BRtext.height: 25
+ *BRdecrease.direction: left
+ *BRincrease.direction: right
+ *registerButton.label: Register
+ *matchButton.label: Match LUTs
+ *blinkButton.label: Blink
+
+ ! OPTIONS
+ ! ---------------------
+ *optionsBox.label: Options
+ *optionsBox.location: 0 0 220 0
+ *optionsBox.shrinkToFit: False
+ *optionsBox.outerOffset: 5
+ *optionsBox*offIcon: square0s
+ *optionsBox*onIcon: square1s
+ *optionsBox*selectionStyle: multi
+ *optionsBox*highlightColor: yellow
+ *optionsBox.TextToggle.location: 0 0 102 25
+ *optionsBox.TextToggle.frameWidth: 0
+ *optionsBox*alignment: left
+
+ *pannerButton.label: Panner
+ *coordsBoxButton.label: Coords Box
+ *autoscaleButton.label: Autoscale
+ *antialiasButton.label: Antialias
+ *tileFramesButton.label: Tile Frames
+ *warningsButton.label: Warnings
+
+ ! CONTROL
+ ! ----------------------
+ *controlBox.frameType: chiseled
+ *controlBox.frameWidth: 2
+ *controlBox.outerOffset: 5
+ *controlBox.innerOffset: 5
+ *controlBox.height: 30
+
+ *control.debug: False
+ *control.layout: horizontal { \
+ 1 \
+ initializeButton < +inf * > \
+ 5 < -5 > \
+ normalizeButton < +inf * > \
+ 80 < +inf -100% > \
+ doneButton < +inf * > \
+ 1 \
+ }
+
+ *initializeButton.label: Initialize
+ *normalizeButton.label: Normalize
+ *doneButton.label: Done
+
+ ! WARNING dialog.
+ ! ---------------------
+ *warning.geometry: +400+300
+ *warning*Layout.debug: False
+ *warning*TextBox.frameWidth: 0
+ *warning*TextBox.background: gray
+ *warning*TextButton.frameWidth: 2
+ *warning*TextButton.width: 40
+ *warning*TextButton.height: 25
+
+ *warn.layout: vertical { \
+ 5 < -5 > \
+ horizontal { \
+ 5 < -5 > \
+ warnFrame < +inf * +inf > \
+ 5 < -5 > \
+ } \
+ 1 < -1 > \
+ horizontal { \
+ 5 < -5 > \
+ warnOk < +inf * > \
+ 5 < +inf -5 > \
+ warnCancel < +inf * > \
+ 5 < +inf -5 > \
+ warnHelp < +inf * > \
+ 5 < -5 > \
+ } \
+ 1 < -1 > \
+ }
+
+ *WFlayout.layout: horizontal { \
+ 5 < -5 > \
+ vertical { \
+ 5 < +inf -5 > \
+ warnIcon \
+ 5 < +inf -5 > \
+ } \
+ 5 < -5 > \
+ warnText < +inf -inf * +inf -inf > \
+ 5 < -5 > \
+ }
+
+ *warnLabel.label: Warning
+ *warnLabel.width: 280
+ *warnLabel.height: 20
+ *warnFrame.frameType: sunken
+ *warnFrame.frameWidth: 2
+ *warnIcon.location: 0 0 40 40
+ *warnIcon.image: WARNING
+ *warnText.label: generic warning text
+ *warnText.width: 250
+ *warnText.height: 60
+ *warnOk.label: OK
+ *warnCancel.label: Cancel
+ *warnHelp.label: Help
+ *warnHelp.sensitive: False
+
+ *allowShellResize: true
+ *beNiceToColormap: False
+}
+
+# Start up the GUI.
+createObjects
+activate
+
+proc quit args { send client gkey q; deactivate unmap }
+send doneButton addCallback quit
+
+# Initialize icons.
+createBitmap larrow 16 16 {
+ 0x00, 0x00, 0x00, 0x03, 0x80, 0x03, 0xc0, 0x03, 0xe0, 0x1e, 0x70, 0x1e,
+ 0x38, 0x18, 0x1c, 0x18, 0x1c, 0x18, 0x38, 0x18, 0x70, 0x1e, 0xe0, 0x1e,
+ 0xc0, 0x03, 0x80, 0x03, 0x00, 0x03, 0x00, 0x00};
+
+createBitmap rarrow 16 16 {
+ 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x03, 0x78, 0x07, 0x78, 0x0e,
+ 0x18, 0x1c, 0x18, 0x38, 0x18, 0x38, 0x18, 0x1c, 0x78, 0x0e, 0x78, 0x07,
+ 0xc0, 0x03, 0xc0, 0x01, 0xc0, 0x00, 0x00, 0x00};
+
+createBitmap brightness 15 15 {
+ 0x00, 0x00, 0x80, 0x00, 0x84, 0x10, 0xe8, 0x0b, 0x10, 0x04, 0x08, 0x08,
+ 0x08, 0x08, 0x0e, 0x38, 0x08, 0x08, 0x08, 0x08, 0x10, 0x04, 0xe8, 0x0b,
+ 0x84, 0x10, 0x80, 0x00, 0x00, 0x00};
+
+createBitmap contrast 15 15 {
+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x30, 0x07, 0x08, 0x0f, 0x08, 0x0f,
+ 0x04, 0x1f, 0x04, 0x1f, 0x04, 0x1f, 0x08, 0x0f, 0x08, 0x0f, 0x30, 0x07,
+ 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00};
+
+send prevFrame set bitmap larrow
+send nextFrame set bitmap rarrow
+send contrastLabel set bitmap contrast
+send brightnessLabel set bitmap brightness
+
+# Initialize sliders.
+send contrastSlider resizeThumb 0.1 1.0
+send brightnessSlider resizeThumb 0.1 1.0
+send colorlistScroll setScrollbar 0.5 0.1
+
+
+# The following code doesn't do anything useful, but helps demonstrate the
+# GUI and tests various callbacks and other capabilities.
+
+# Frame selection.
+set frame 1
+
+proc setFrame {widget args} {
+ global frame
+ send frame$frame set on 0
+ set frame [expr [send $widget get label] + 1 - 1]
+ send frame$frame set on 1
+}
+proc nextFrame args {
+ global frame
+ send frame$frame set on 0
+ incr frame; if {$frame > 4} {set frame 1}
+ send frame$frame set on 1
+}
+proc prevFrame args {
+ global frame
+ send frame$frame set on 0
+ set frame [expr $frame - 1]
+ if {$frame < 1} {set frame 4}
+ send frame$frame set on 1
+}
+
+proc clearFrame args {
+ global warnings
+ if {$warnings} {
+ send warnText set label \
+ "Clearing the frame will destroy\n\
+ all data in the frame"
+ send warning map
+ }
+}
+proc warnDone args {
+ send warning unmap
+}
+
+send prevFrame addCallback prevFrame
+send nextFrame addCallback nextFrame
+send clearFrame addCallback clearFrame
+foreach w {warnOk warnCancel} { send $w addCallback warnDone }
+foreach i {1 2 3 4} { send frame$i addCallback setFrame }
+send frame1 set on 1
+
+
+# Enhancement stuff.
+set scrollHeight 0
+set colortable Grayscale
+set contrast 0
+set brightness 0
+
+proc resizeScrollbar {widget cbtype flags x y w h cw ch} {
+ global scrollHeight
+ set newHeight [expr $ch - $h]
+ if {$newHeight != $scrollHeight} {
+ send colorlistScroll setScrollbar 0.0 [expr double($h) / $ch]
+ set scrollHeight $newHeight
+ }
+}; send colorlistPort addCallback resizeScrollbar
+
+proc scrollColorlist {widget cbtype pos} {
+ global scrollHeight
+ send colorlist set y [expr -int($scrollHeight * $pos)]
+}; send colorlistScroll addCallback scrollColorlist scroll
+
+proc selectColor {widget cbtype selections indices} {
+ global colortable
+ foreach selection $selections {
+ set colortable $selection; updateColordata
+ }
+}; send colorlist addCallback selectColor
+
+proc scrollContrast {widget cbtype x y} {
+ global contrast; set contrast $x; updateColordata
+}; send contrastSlider addCallback scrollContrast
+
+proc scrollBrightness {widget cbtype x y} {
+ global brightness; set brightness $x; updateColordata
+}; send brightnessSlider addCallback scrollBrightness
+
+proc updateColordata args {
+ global colortable contrast brightness
+ send colordata set label [format "-- %s --\nCon %4.2f Brt %4.2f" \
+ $colortable $contrast $brightness]
+}
+
+set colortables {
+ "Grayscale"
+ "Heat"
+ "Halley"
+ "Spectrum"
+ "Random"
+ "Ramp1"
+ "Ramp2"
+}
+send colorlist setList $colortables resize
+updateColordata
+
+
+# Blink stuff.
+set blinkRate 2.0
+
+proc setBlinkRate {widget args} {
+ global blinkRate
+ if {$widget == "BRincrease"} {
+ if {$blinkRate < 0.01} {
+ set blinkRate 0.125
+ } else {
+ set blinkRate [expr $blinkRate * 2.0]
+ }
+ } else {
+ set blinkRate [expr $blinkRate / 2.0]
+ if {$blinkRate < 0.01} {
+ set blinkRate 0
+ }
+ }
+ send BRtext set label $blinkRate
+}
+foreach widget {BRincrease BRdecrease} {
+ send $widget addCallback setBlinkRate
+}
+
+proc setBlinkFrame {widget args} {
+ set frame [send $widget get label]
+ if {$frame == " "} {
+ set frame 1
+ } else {
+ incr frame
+ if {$frame > 4} {
+ set frame " "
+ }
+ }
+ send $widget set label $frame
+}
+foreach i {1 2 3 4} {
+ send blinkFrame$i addCallback setBlinkFrame
+}
+
+proc toggleBlink {widget args} {
+ global blinkRate
+ if {$blinkRate < 0.01} {
+ send $widget set state 0
+ }
+}
+
+proc resetBlink args {
+ global blinkRate
+ foreach i {1 2 3 4} {
+ send blinkFrame$i set label " "
+ }
+ set blinkRate 2.0
+ send BRtext set label $blinkRate
+}
+
+send blinkButton addCallback toggleBlink
+send blinkReset addCallback resetBlink
+send BRtext set label 2.0
+
+
+# Options stuff.
+set warnings 1
+
+proc setWarnings args {
+ global warnings
+ set warnings [send warningsButton get on]
+}
+
+send warningsButton addCallback setWarnings
+send warningsButton set on 1
+send coordsBoxButton set on 1
+send autoscaleButton set on 1