+++ /dev/null
-#!../src/bltwish
-
-package require BLT
-# --------------------------------------------------------------------------
-# Starting with Tcl 8.x, the BLT commands are stored in their own
-# namespace called "blt". The idea is to prevent name clashes with
-# Tcl commands and variables from other packages, such as a "table"
-# command in two different packages.
-#
-# You can access the BLT commands in a couple of ways. You can prefix
-# all the BLT commands with the namespace qualifier "blt::"
-#
-# blt::graph .g
-# blt::table . .g -resize both
-#
-# or you can import all the command into the global namespace.
-#
-# namespace import blt::*
-# graph .g
-# table . .g -resize both
-#
-# --------------------------------------------------------------------------
-if { $tcl_version >= 8.0 } {
- namespace import blt::*
- namespace import -force blt::tile::*
-}
-#source scripts/demo.tcl
-
-option add *takeFocus 0
-
-set file1 ../demos/images/chalk.gif
-set file2 ../demos/images/tan_paper.gif
-image create photo texture1 -file $file1
-image create photo texture2 -file $file2
-option add *Frame.Tile texture1
-option add *Toplevel.Tile texture1
-option add *Label.Tile texture1
-option add *Scrollbar.tile texture1
-#option add *Scrollbar.activeTile texture2
-option add *Button.tile texture1
-#option add *Button.activeTile texture2
-option add *HighlightThickness 0
-option add *Entry.highlightThickness 2
-
-#
-# Initialization of global variables and Tk resource database
-#
-#
-# Resources available
-#
-# Tk.normalBgColor:
-# Tk.normalFgColor:
-# Tk.focusHighlightColor:
-# Tk.statusFont:
-# Tk.titleFont:
-# Tk.headingFont:
-# Tk.subheadingFont:
-# Tk.entryFont:
-# Tk.textFont:
-#
-
-#debug 50
-bitmap define attlogo { { 60 30 } {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x7e, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xf8, 0x03,
- 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x83, 0xf9, 0x87, 0x7f, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0xf9, 0x87, 0x7f, 0x00, 0x40, 0x00, 0xf0, 0xc7,
- 0xc3, 0x38, 0x0c, 0x00, 0xc0, 0xff, 0xff, 0xc7, 0xc3, 0x7c, 0x0c, 0x00,
- 0x00, 0x00, 0x00, 0x40, 0xc2, 0x6c, 0x0c, 0x00, 0x40, 0x00, 0xf8, 0x67,
- 0xc6, 0x9c, 0x0d, 0x00, 0xc0, 0xff, 0xff, 0xe7, 0xc7, 0xf8, 0x0d, 0x00,
- 0x00, 0x00, 0x00, 0xe0, 0xc7, 0xec, 0x0c, 0x00, 0x80, 0x01, 0xfe, 0x33,
- 0xcc, 0xfc, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x33, 0xcc, 0xb8, 0x0d, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
-}
-
-bitmap define globe_00 { { 32 32 } {
- 00 40 02 00 00 1c 3c 00 00 01 fe 00 80 80 fe 03 60 00 ff 07 10 c0 f1 0f
- 00 80 c0 1f 00 c0 07 3f 00 c0 ff 3f 00 f0 ff 4f 02 f0 ff 5d 00 f0 ff 1b
- 00 f0 ff 8f 02 f0 ff 0f 06 e0 fc 0f 0e 00 f8 0f 0f 00 f8 07 3f 00 f8 03
- 7e 00 f0 03 7e 00 f0 03 3e 00 f0 0b 3c 00 f0 09 3c 00 f0 01 18 00 f0 00
- 18 00 70 00 10 00 00 00 10 00 00 00 20 00 00 00 40 00 00 00 00 00 00 00
- 00 00 00 00 00 00 1f 00 }
-}
-
-bitmap define globe_01 { { 32 32 } {
- 00 c0 00 00 00 34 38 00 00 02 e8 00 80 01 fa 03 e0 00 fc 07 30 00 e6 0f
- 10 00 86 1f 08 00 3e 3c 04 00 ff 3f 04 80 ff 5f 02 80 ff 3f 00 80 ff 2f
- 00 80 ff 3f 0c 00 ff 3f 1c 00 ee 3f 3c 00 c0 3f 7e 00 c0 1f fe 01 80 1f
- fc 03 80 1f fc 01 80 1f fc 01 80 2f f8 01 80 0f f0 00 80 17 f0 00 80 03
- f0 00 80 03 60 00 00 00 60 00 00 00 40 00 00 00 80 00 00 00 00 00 00 00
- 00 00 00 00 00 00 1e 00 }
-}
-
-bitmap define globe_02 { { 32 32 } {
- 00 c0 01 00 00 60 30 00 00 04 f0 00 80 07 e0 03 e0 01 f0 07 f0 00 38 0f
- 30 00 10 1e 18 00 f0 30 04 00 f8 3f 10 00 f8 7f 12 00 fc 7f 02 00 fc 7f
- 04 00 fc 7f 74 00 f8 7f f0 00 70 7f f8 01 00 7e f8 03 00 7e f8 0f 00 7c
- f8 1f 00 3c f0 1f 00 3c f0 0f 00 3e e0 0f 00 5e c0 07 00 1c c0 03 00 0e
- c0 03 00 04 80 01 00 00 80 01 00 00 80 01 00 00 00 01 00 00 00 00 00 00
- 00 00 00 00 00 10 1c 00 }
-}
-
-bitmap define globe_03 { { 32 32 } {
- 00 c0 01 00 00 dc 20 00 00 09 c0 00 80 1f a0 03 e0 07 c0 07 f0 01 c0 0c
- f8 00 40 18 78 00 c0 23 08 00 c0 3f 04 00 e0 7f 54 00 e0 7f 0c 00 c0 7f
- 10 00 c0 ff d0 01 c0 ff c0 03 80 fb e0 0f 00 f0 e0 1f 00 f0 e0 ff 00 f0
- e0 ff 00 70 c0 ff 00 70 c0 7f 00 70 00 7f 00 70 00 3f 00 30 00 1f 00 38
- 00 1f 00 18 00 0e 00 00 00 06 00 00 00 02 00 00 00 04 00 00 00 00 00 00
- 00 00 00 00 00 20 18 00 }
-}
-
-bitmap define globe_04 { { 32 32 } {
- 00 c0 03 00 00 7c 03 00 00 13 00 00 80 7f c0 03 c0 1f 00 07 e0 0f 00 0d
- f0 03 00 10 f0 01 00 0e 38 01 00 3e 10 00 00 7f 50 00 00 7f 30 00 00 7f
- 40 00 00 ff 00 1e 00 fe 00 3f 00 ec 00 7f 00 c0 00 ff 00 c0 00 ff 07 c0
- 00 ff 0f c0 00 fe 07 c0 00 fe 07 c0 00 f8 03 40 00 f8 01 60 00 f8 00 20
- 00 f8 00 20 00 38 00 00 00 18 00 00 00 18 00 00 00 18 00 00 00 00 00 00
- 00 00 00 00 00 40 10 00 }
-}
-
-bitmap define globe_05 { { 32 32 } {
- 00 c0 03 00 00 bc 06 00 00 cf 00 00 80 ff 01 02 c0 7f 00 06 c0 3f 00 0e
- e0 1f 00 14 e0 0f 00 18 e0 00 00 38 60 00 00 78 40 08 00 78 c0 01 00 78
- 00 02 00 f8 00 f0 00 f0 00 f0 01 b0 00 f8 07 80 00 f8 0f 80 00 f8 3f 00
- 00 f8 7f 00 00 f0 3f 80 00 f0 3f 80 00 c0 1f 00 00 c0 0f 00 00 c0 07 40
- 00 c0 07 00 00 c0 01 00 00 e0 00 00 00 60 00 00 00 40 00 00 00 00 00 00
- 00 00 00 00 00 80 10 00 }
-}
-
-bitmap define globe_06 { { 32 32 } {
- 00 80 07 00 00 7c 0d 00 00 9f 03 00 00 ff 07 02 00 ff 03 04 80 ff 00 08
- c0 7f 00 00 80 3f 00 30 80 07 00 20 00 03 00 60 00 03 00 60 00 0e 00 60
- 00 10 00 e0 00 80 07 c0 00 80 0f c0 00 80 3f 00 00 c0 7f 00 00 c0 ff 01
- 00 c0 ff 03 00 80 ff 01 00 80 ff 01 00 00 fe 00 00 00 7e 00 00 00 3e 00
- 00 00 1f 00 00 00 0f 00 00 00 03 00 00 00 03 00 00 00 01 00 00 00 00 00
- 00 00 00 00 00 00 01 00 }
-}
-
-bitmap define globe_07 { { 32 32 } {
- 00 80 07 00 00 fc 1a 00 00 7d 02 00 00 fe 1f 00 00 fe 0f 00 00 fe 07 00
- 00 ff 03 00 00 fe 01 20 00 1c 01 00 00 1c 00 40 00 18 00 40 00 70 00 00
- 00 80 00 80 00 00 39 80 00 00 7c 00 00 00 fc 01 00 00 fe 03 00 00 fe 0f
- 00 00 fc 0f 00 00 fc 0f 00 00 f8 07 00 00 f0 07 00 00 f0 03 00 00 f0 01
- 00 00 f8 00 00 00 38 00 00 00 18 00 00 00 0c 00 00 00 04 00 00 00 00 00
- 00 00 00 00 00 00 02 00 }
-}
-
-bitmap define globe_08 { { 32 32 } {
- 00 00 07 00 00 fc 25 00 00 f8 19 00 00 f8 7f 00 00 f8 3f 00 00 f8 1f 00
- 00 f8 1f 00 00 f8 0f 00 00 f0 08 00 00 f0 00 00 00 c0 04 00 00 80 03 00
- 00 00 0c 00 00 00 c8 01 00 00 e0 03 00 00 e0 0f 00 00 e0 0f 00 00 f0 3f
- 00 00 e0 3f 00 00 e0 3f 00 00 c0 1f 00 00 80 1f 00 00 80 0f 00 00 c0 07
- 00 00 c0 03 00 00 c0 01 00 00 60 00 00 00 30 00 00 00 10 00 00 00 00 00
- 00 00 00 00 00 00 04 00 }
-}
-
-bitmap define globe_09 { { 32 32 } {
- 00 00 03 00 00 fc 27 00 00 f0 13 00 00 e0 ff 00 00 e0 ff 01 00 e0 7f 00
- 00 e0 7f 00 00 c0 7f 00 00 80 47 00 00 80 07 00 00 00 26 00 00 00 1c 00
- 00 00 60 00 00 00 40 0e 00 00 00 1f 00 00 00 3f 00 00 00 3f 00 00 00 7f
- 00 00 00 7f 00 00 00 7f 00 00 00 7e 00 00 00 3c 00 00 00 3e 00 00 00 1e
- 00 00 00 0f 00 00 00 07 00 00 80 01 00 00 80 00 00 00 40 00 00 00 00 00
- 00 00 00 00 00 00 08 00 }
-}
-
-bitmap define globe_10 { { 32 32 } {
- 00 00 06 00 00 f4 2f 00 00 c8 4f 00 00 80 ff 01 00 80 ff 01 00 80 ff 01
- 00 00 ff 01 00 00 fe 01 00 00 3c 00 00 00 3c 00 00 00 30 04 00 00 e0 00
- 00 00 00 01 00 00 00 3a 00 00 00 38 00 00 00 78 00 00 00 f8 00 00 00 fc
- 00 00 00 f8 00 00 00 f8 00 00 00 f8 00 00 00 70 00 00 00 70 00 00 00 38
- 00 00 00 18 00 00 00 0c 00 00 00 06 00 00 00 03 00 00 00 00 00 00 00 00
- 00 00 00 00 00 00 10 00 }
-}
-
-bitmap define globe_11 { { 32 32 } {
- 00 00 06 00 00 ec 1f 00 00 91 9f 00 00 00 fe 03 00 00 fc 07 00 00 fc 07
- 00 00 fc 07 00 00 f0 07 00 00 f0 01 00 00 e0 00 00 00 80 05 00 00 00 07
- 00 00 00 08 00 00 00 60 00 00 00 e0 00 00 00 e0 00 00 00 e0 00 00 00 e0
- 01 00 00 e0 00 00 00 e0 00 00 00 e0 00 00 00 40 00 00 00 60 00 00 00 60
- 00 00 00 30 00 00 00 10 40 00 00 08 40 00 00 04 00 00 00 00 00 00 00 00
- 00 00 00 00 00 00 10 00 }
-}
-
-bitmap define globe_12 { { 32 32 } {
- 00 00 04 00 00 dc 3f 00 00 42 7e 00 00 00 f8 03 20 00 f0 07 10 00 f0 0f
- 00 00 e0 0f 00 00 c0 0f 00 00 00 07 00 00 00 06 00 00 00 14 00 00 00 18
- 00 00 00 20 00 00 00 80 00 00 00 80 00 00 00 80 00 00 00 80 01 00 00 80
- 00 00 00 80 00 00 00 80 02 00 00 80 02 00 00 00 04 00 00 40 04 00 00 40
- 08 00 00 20 08 00 00 00 00 00 00 10 00 00 00 08 00 00 00 00 00 00 00 00
- 00 00 00 00 00 00 00 00 }
-}
-
-bitmap define globe_13 { { 32 32 } {
- 00 00 04 00 00 bc 3f 00 00 01 79 00 80 00 e0 03 60 00 c0 07 10 00 80 0f
- 00 00 80 1f 08 00 00 1e 00 00 00 1c 00 00 00 58 00 00 00 10 00 00 00 20
- 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 06 00 00 00
- 04 00 00 00 00 00 00 00 02 00 00 00 0e 00 00 00 0c 00 00 00 1c 00 00 00
- 18 00 00 00 30 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 10 00 00 }
-}
-
-bitmap define globe_14 { { 32 32 } {
- 00 00 00 00 00 fc 3f 00 00 03 e6 00 80 01 c0 03 60 00 00 07 30 00 00 0f
- 00 00 00 1e 00 00 00 38 04 00 00 30 00 00 00 30 02 00 00 00 00 00 00 40
- 00 00 00 80 00 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 18 00 00 00
- 00 00 00 00 00 00 00 00 14 00 00 00 3c 00 00 00 3c 00 00 00 7c 00 00 00
- 78 00 00 00 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 30 00 00 }
-}
-
-bitmap define globe_15 { { 32 32 } {
- 00 00 00 00 00 fc 3d 00 00 27 c8 00 80 13 00 03 e0 01 00 06 70 00 00 0c
- 10 00 00 18 18 00 00 30 0c 00 00 20 0c 00 00 40 02 00 00 00 02 00 00 00
- 00 00 00 00 00 00 00 00 01 00 00 00 03 00 00 00 13 00 00 00 64 00 00 00
- c0 00 00 00 00 00 00 00 30 00 00 00 f8 00 00 00 f8 01 00 00 f8 03 00 00
- f0 03 00 00 80 03 00 00 00 80 00 00 00 40 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 70 00 00
- }
-}
-
-bitmap define globe_16 { { 32 32 } {
- 00 00 00 00 00 fc 3b 00 00 9f a0 00 80 4f 00 02 e0 0f 00 04 f0 01 00 08
- 70 00 00 10 38 00 00 20 3c 00 00 00 1c 00 00 00 06 00 00 00 04 00 00 00
- 04 00 00 00 00 00 00 00 20 00 00 00 0a 00 00 00 0a 00 00 00 00 03 00 00
- 28 06 00 00 00 00 00 00 c0 02 00 00 e0 07 00 00 f0 0f 00 00 e0 1f 00 00
- e0 1f 00 00 00 0c 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 f0 00 00 }
-}
-
-bitmap define globe_17 { { 32 32 } {
- 00 00 00 00 00 fc 37 00 00 3f 42 00 80 3f 01 02 e0 1f 00 00 f0 07 00 00
- f0 11 00 00 f8 04 00 00 fc 00 00 00 7c 00 00 00 1a 00 00 00 9a 00 00 00
- 18 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 28 00 00 00 08 18 00 00
- 00 30 00 00 00 10 00 00 00 17 00 00 00 3f 00 00 c0 7f 00 00 80 7f 00 00
- 80 7f 00 00 00 70 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 f0 01 00
- }
-}
-
-bitmap define globe_18 { { 32 32 } {
- 00 00 00 00 00 fc 2f 00 00 ff 84 00 80 ff 04 00 e0 7f 00 00 f0 9f 00 00
- f0 97 00 00 f8 27 00 00 fc 07 00 00 fc 03 00 00 6c 00 00 00 64 00 00 00
- 60 04 00 00 40 00 00 00 20 00 00 00 20 01 00 00 a0 01 00 00 00 c0 05 00
- 00 88 00 00 00 00 00 00 00 38 01 00 00 fc 01 00 00 fe 03 00 00 fe 03 00
- 00 fc 03 00 00 80 03 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 f0 03 00
- }
-}
-
-bitmap define globe_19 { { 32 32 } {
- 00 40 00 00 00 fc 3f 00 00 ff 13 00 80 ff 13 00 e0 ff 03 00 f0 ff 00 00
- f0 9f 00 00 f8 3f 00 00 fc 3f 00 00 f8 1f 00 00 ba 07 00 00 98 23 00 00
- 08 03 00 00 08 00 00 00 00 00 00 00 80 09 00 00 00 0d 01 00 00 21 0e 00
- 00 00 1c 00 00 00 00 00 00 c0 09 00 00 e0 0f 00 00 f0 1f 00 00 f0 1f 00
- 00 f0 1f 00 00 00 0e 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 f0 07 00
- }
-}
-
-bitmap define globe_20 { { 32 32 } {
- 00 00 00 00 00 fc 3f 00 00 ff 07 00 80 ff 0f 00 e0 ff 0f 00 f0 ff 13 00
- f0 ff 10 00 f8 ff 00 00 fc ff 01 00 f4 ff 00 00 e6 1e 00 00 62 1c 01 00
- 20 18 00 00 20 10 00 00 01 80 00 00 01 cc 00 00 01 68 08 00 00 00 60 00
- 00 00 c0 00 00 00 00 00 00 00 5c 00 00 00 7e 00 00 80 ff 00 00 80 ff 00
- 00 80 ff 00 00 00 70 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 f0 0f 00
- }
-}
-
-bitmap define globe_21 { { 32 32 } {
- 00 80 00 00 00 fc 3f 00 00 ff 1f 00 80 ff bf 00 e0 ff 3f 00 f0 ff 1f 00
- f8 ff 17 00 f8 ff 27 00 ec ff 0f 00 8c ff 07 00 9e f7 00 00 0e e3 00 00
- 06 c1 00 00 06 81 10 00 03 40 04 00 03 20 06 00 03 40 06 00 01 80 00 03
- 01 00 00 02 02 00 00 00 02 00 e0 02 02 00 f0 03 00 00 fc 03 00 00 fc 03
- 00 00 fc 03 00 00 c0 01 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00
- 00 00 00 00 00 f0 1f 00 }
-}
-
-bitmap define globe_22 { { 32 32 } {
- 00 00 01 00 00 fc 3f 00 00 ff 3f 00 80 ff 7f 00 e0 ff ff 00 f0 ff 7f 00
- f0 ff 1f 00 e0 ff 3f 00 fc ff 3f 00 34 fe 3f 00 76 bc 07 00 36 1c 07 00
- 0e 08 0e 00 1e 08 80 00 0f 00 02 00 0f 00 20 00 07 00 36 00 07 00 04 08
- 07 00 00 18 06 00 00 00 16 00 00 0b 16 00 80 0f 04 00 e0 0f 04 00 e0 0f
- 08 00 e0 0f 00 00 00 06 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 f0 1f 00 }
-}
-
-bitmap define globe_23 { { 32 32 } {
- 00 00 00 00 00 fc 3f 00 00 ff 7f 00 80 ff ff 01 e0 ff ff 01 e0 ff ff 01
- e8 ff ff 00 c0 ff ff 00 fc fe ff 01 dc f2 ff 01 de e3 3d 00 de e1 38 02
- 7e 40 70 00 fe 40 00 04 7f 00 00 00 3e 00 30 01 3e 00 a0 01 1e 00 20 20
- 1e 00 00 20 1c 00 00 00 9c 00 00 3c 1c 00 00 3e 1c 00 00 3f 18 00 80 3f
- 10 00 00 1f 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 f0 1f 00 }
-}
-
-bitmap define globe_24 { { 32 32 } {
- 00 00 02 00 00 fc 3f 00 00 fe ff 00 80 ff ff 01 c0 ff ff 03 80 ff ff 03
- e0 ff ff 03 18 ff ff 03 fc ff ff 07 7c 87 ff 07 fe 1f ef 01 fe 0e c6 01
- fe 01 82 03 fe 03 02 00 ff 03 00 08 fc 01 80 09 fc 00 00 0d fc 00 00 00
- f8 00 00 80 f8 00 00 00 f8 00 00 20 78 02 00 70 70 02 00 7c 70 00 00 3c
- 60 00 00 3c 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 f0 1f 00 }
-}
-
-bitmap define globe_25 { { 32 32 } {
- 00 00 00 00 00 f0 3f 00 00 fc ff 00 80 ff ff 03 80 ff ff 07 a0 ff ff 07
- 10 ff ff 07 30 f8 ff 0f f8 df ff 1f fc 3b fc 1f fc fb 78 07 fe 77 30 0e
- fe 1f 30 0c fe 3f 00 48 fe 1f 00 00 f0 0f 00 24 f0 07 00 a0 f0 07 00 08
- e0 07 00 00 e0 07 00 00 e0 27 00 c0 e0 13 00 40 c0 13 00 70 c0 03 00 70
- 80 01 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 f0 1f 00 }
-}
-
-bitmap define globe_26 { { 32 32 } {
- 00 40 00 00 00 e0 3f 00 00 e8 ff 00 00 fc ff 03 00 ff ff 07 c0 fe ff 0f
- 40 f0 ff 1f e0 e0 ff 1f f0 ff fe 3f f8 df e1 3f f8 df c7 1b fc bf 83 19
- fc ff 80 30 fc ff 01 20 f8 ff 00 00 c0 ff 00 00 c0 7f 00 e0 80 3f 00 20
- 80 3f 00 00 80 3f 00 00 80 3f 01 80 80 9f 00 00 00 9f 00 40 00 0f 00 60
- 00 0e 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 f0 1f 00 }
-}
-
-bitmap define globe_27 { { 32 32 } {
- 00 80 00 00 00 c4 3f 00 00 f0 ff 00 00 fe ff 03 00 fe ff 07 00 eb ff 0f
- 80 c9 ff 1f 80 07 ff 3f c0 ff f7 3f e0 ff 0e 7f f0 ff 3e 6e f0 ff 1d 64
- f0 ff 07 44 f0 ff 0f 00 60 ff 0f 00 00 fe 07 40 00 fe 03 00 01 fc 01 00
- 01 fc 01 00 00 fc 01 00 00 fc 09 00 02 fc 08 00 00 f8 04 00 00 78 00 40
- 00 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 e0 1f 00 }
-}
-
-bitmap define globe_28 { { 32 32 } {
- 00 00 00 00 00 88 3f 00 00 40 ff 00 00 e8 ff 03 00 f8 ff 07 00 8c ff 0f
- 00 06 fe 1f 00 1e f8 3f 00 ff bf 3f 80 ff 77 7c 80 ff ff 79 c0 ff ef 10
- c0 ff 3f 90 c0 ff 7f 00 81 fb 7f 00 01 f0 3f 00 01 f0 1f 00 03 e0 1f 00
- 07 e0 0f 00 02 c0 1f 00 02 e0 5f 00 06 e0 47 00 04 c0 27 00 04 c0 03 00
- 00 80 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 c0 1f 00 }
-}
-
-bitmap define globe_29 { { 32 32 } {
- 00 40 01 00 00 0c 3f 00 00 80 fd 00 00 a0 ff 03 20 e0 ff 07 00 30 fd 0f
- 00 10 f4 1f 00 f8 c0 3f 00 f8 ff 3f 00 fc bf 73 00 fe ff 67 00 fe 7f 47
- 00 fe ff 41 00 fe ff 03 01 dc ff 03 03 00 ff 01 07 80 ff 00 0f 00 ff 00
- 1f 00 7e 00 0e 00 fe 00 0e 00 ff 02 0e 00 3f 01 0c 00 3e 01 0c 00 1e 00
- 08 00 1c 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 80 1f 00 }
-}
-
-# ----------------------------------------------------------------
-#
-# SetOption --
-#
-# Sets the option array associated with the resource. It
-# first check to see if the resource exists in the option
-# data base, otherwise it uses the default value given.
-#
-#
-# Arguments
-# name -- Name of the resource. Used as index into
-# the option array.
-# value -- default value given.
-# Globals
-# pq_dict -- Associative array where the option resources
-# are stored.
-#
-# ----------------------------------------------------------------
-
-proc SetOption { name value } {
- global pq_dict
- set widgetOption [option get . $name Tk]
- if { $widgetOption != "" } {
- set value $widgetOption
- }
- set pq_dict($name) $value
-}
-
-set pq_dict(textIndex) {}
-
-set pq_dict(entryNames) {
- last first middle
- area exch ext
- com org tl
- room oldloc loc
- street
- city state zip
- ema
-}
-
-set pq_dict(numEntries) [llength $pq_dict(entryNames)]
-set pq_dict(index) 0
-set pq_dict(defaults) {}
-
-set cnt 0
-foreach name $pq_dict(entryNames) {
- if { $cnt > 0 } {
- set pq_dict(format) $pq_dict(format):%$name
- } else {
- set pq_dict(format) %$name
- }
- incr cnt
-}
-
-set visual [winfo screenvisual .]
-if { ($visual == "staticgray") || ($visual == "grayscale") } {
- option add *Entry.background white
- option add *Text.background white
- set pq_dict(visual) mono
-} else {
- set depth [winfo screendepth .]
- if { $depth < 8 } {
- SetOption normalBgColor grey
- SetOption normalFgColor black
- SetOption focusHighlightColor white
- } else {
-#fff4de
- SetOption normalBgColor grey90
- SetOption normalFgColor #da5f5f
- SetOption normalFgColor navyblue
- SetOption focusHighlightColor #fffdf8
- }
- option add *Entry.background $pq_dict(normalBgColor) widgetDefault
- option add *Text.background $pq_dict(normalBgColor) widgetDefault
- option add *Label.foreground $pq_dict(normalFgColor) widgetDefault
- option add *Button.foreground $pq_dict(normalFgColor) widgetDefault
- set pq_dict(visual) color
-}
-
-SetOption statusFont -*-Helvetica-Medium-R-*-*-14-*-*-*-*-*-*-*
-SetOption titleFont -*-Helvetica-Bold-R-*-*-14-*-*-*-*-*-*-*
-SetOption headingFont -*-Helvetica-Medium-R-*-*-14-*-*-*-*-*-*-*
-SetOption subheadingFont -*-Helvetica-Medium-R-*-*-12-*-*-*-*-*-*-*
-SetOption entryFont -*-Courier-Medium-R-*-*-12-*-*-*-*-*-*-*
-SetOption textFont -*-Courier-Bold-R-*-*-12-*-*-*-*-*-*-*
-#SetOption entryFont fixed
-#SetOption textFont fixed
-
-option add *Label.borderWidth 0 widgetDefault
-option add *Entry.relief sunken widgetDefault
-option add *Entry.width 11 widgetDefault
-option add *Entry.borderWidth 2 widgetDefault
-option add *Entry.font $pq_dict(entryFont) widgetDefault
-option add *Text.font $pq_dict(textFont) widgetDefault
-option add *Text.width 35 widgetDefault
-option add *Text.height 10 widgetDefault
-option add *Scrollbar.relief flat widgetDefault
-option add *Scrollbar.minSlider 10 widgetDefault
-option add *Button.padY 6
-option add *Text.relief sunken widgetDefault
-option add *Text.borderWidth 2 widgetDefault
-
-foreach name $pq_dict(entryNames) {
- option add *${name}_label.font $pq_dict(subheadingFont) widgetDefault
-}
-
-option add *Label.Font $pq_dict(subheadingFont)
-option add *status_label.font $pq_dict(statusFont) widgetDefault
-option add *name_label.font $pq_dict(headingFont) widgetDefault
-option add *tel_label.font $pq_dict(headingFont) widgetDefault
-option add *office_label.font $pq_dict(headingFont) widgetDefault
-option add *addr_label.font $pq_dict(headingFont) widgetDefault
-option add *loc_title.font $pq_dict(headingFont) widgetDefault
-option add *org_title.font $pq_dict(headingFont) widgetDefault
-
-option add *overall_label.text "Customer Database"
-option add *name_label.text "Name"
-option add *tel_label.text "Telephone"
-option add *addr_label.text "Address"
-option add *last_label.text "last"
-option add *first_label.text "first"
-option add *middle_label.text "middle"
-option add *com_label.text "company"
-option add *org_label.text "organization"
-option add *tl_label.text "title"
-option add *ext_label.text "extension"
-option add *exch_label.text "exchange"
-option add *area_label.text "area code"
-option add *loc_label.text "extension"
-option add *oldloc_label.text "exchange"
-option add *room_label.text "area code"
-option add *street_label.text "street address"
-option add *ema_label.text "e-mail"
-option add *city_label.text "city"
-option add *state_label.text "state"
-option add *zip_label.text "zip code"
-option add *org_title.text "Organization"
-option add *loc_title.text "Fax"
-
-option add *clear_button.text "Clear"
-option add *quit_button.text "Quit"
-option add *cancel_button.text "Cancel"
-
-# --------------------------------------------------------------------------
-#
-# Procedures to perform post queries
-#
-
-# ----------------------------------------------------------------
-#
-# StopQuery --
-#
-# Stops any current "pq" request by setting the variable
-# associated with the background subprocesses.
-#
-# Arguments
-# None.
-#
-# Globals
-# postOutput -- variable where collected output from
-# pq command will be stored
-#
-# ----------------------------------------------------------------
-
-proc StopQuery {} {
- global postOutput
- set postOutput {}
-}
-
-
-# ----------------------------------------------------------------
-#
-# PostQuery --
-#
-# Collects the data from the entry widget fields and
-# executes a "pq" request. The "pq" command is executed
-# in the background and a "wait" is setup to wait for the
-# command to finish. This allows the animation routine
-# to operate and exposure events to be handled properly.
-#
-# Arguments
-# None.
-#
-# Globals
-# postOutput -- variable where collected output from
-# pq command will be stored
-# pq_dict(entryNames) -- list of entry widget names
-# pq_dict(textIndex) -- starting index of highlighted information
-# (a line in the text widget)
-#
-# ----------------------------------------------------------------
-
-proc PostQuery {} {
- global pq_dict
-
- .status_label configure -text {}
- set cnt 0
- foreach name $pq_dict(entryNames) {
- set value [.${name}_entry get]
- if { $value != "" } {
- set value [split $value "|"]
- foreach i $value {
- if { $cnt > 0 } {
- set query $query/$name=[list $i]
- } else {
- set query $name=[list $i]
- }
- incr cnt
- }
- }
- }
- if { $cnt == 0 } {
- return
- }
- set fmt {%^24pn\t%10org\t%6loc\t%area-%exch-%ext\t%ema}
- global postOutput postError
- set postOutput {}
- set postError {}
- bgexec postStatus -error postError -output postOutput \
- pq -o $fmt $query &
- Animate on
- tkwait variable postStatus
- if { $postOutput != "" } {
- .text configure -state normal
- .text delete 0.0 end
- .text insert 0.0 $postOutput
- .text configure -state disabled
- .status_label configure -text "Post query successful"
- } else {
- .status_label configure -text "Post query failed"
- }
- set pq_dict(textIndex) {}
- Animate off
- if { $postError != "" } {
- tkerror $postError
- }
-}
-
-
-# ----------------------------------------------------------------
-#
-# ClearFields --
-#
-# Clears the all the entry fields.
-#
-# Arguments
-# None.
-#
-# Globals
-# pq_dict(entryNames) -- list of entry widget names
-# pq_dict(textIndex) -- starting index of highlighted information
-# (a line in the text widget)
-#
-# ----------------------------------------------------------------
-
-proc ClearFields {} {
- global pq_dict
-
- busy hold . ; update
- foreach name $pq_dict(entryNames) {
- .${name}_entry delete 0 end
- }
- set pq_dict(textIndex) {}
- .status_label configure -text "Cleared query fields"
- busy release .
-}
-
-
-# ----------------------------------------------------------------
-#
-# FillFields --
-#
-# Makes a post query based upon the highlighted line in
-# the text widget to fill in all post entry fields.
-#
-# Arguments
-# x x screen coordinate
-# y y screen coordinate
-#
-# Globals
-# postOutput variable where collected output from pq
-# command will be stored
-# pq_dict(format) standard query format to collect data for
-# all entry fields
-# pq_dict(entryNames) list of entry widget names
-#
-# ----------------------------------------------------------------
-
-proc FillFields { x y } {
- global pq_dict
-
- set info [.text get [list @$x,$y linestart] [list @$x,$y lineend]]
- set info [split $info \t]
- if { [llength $info] == 0 } {
- return
- }
- set name [string trim [lindex $info 0]]
- set name [split $name ,]
- set last [lindex $name 0]
- set name [split [lindex $name 1]]
- set first [lindex $name 0]
- set middle [lindex $name 1]
- set org [string trim [lindex $info 1]]
- set loc [string trim [lindex $info 2]]
- set tel [string trim [lindex $info 3]]
- set query last=$last/first=$first/middle=$middle/org=$org/loc=$loc/tel=[list $tel]
- global postOutput
- set postOutput {}
- bgexec postStatus -output postOutput \
- pq -o $pq_dict(format) $query &
- Animate on
- tkwait variable postStatus
-
- if { $postOutput == "" } {
- # Try again with out the telephone number
- set query last=$last/first=$first/middle=$middle/org=$org/loc=$loc
- set postStatus {}
- bgexec postStatus -output postOutput \
- pq -o $pq_dict(format) $query &
- tkwait variable postStatus
- }
- Animate off
- if { $postOutput == "" } {
- .status_label configure -text "Post query failed"
- } else {
- .status_label configure -text "Post database fields found"
- set postOutput [split $postOutput : ]
- set cnt 0
- foreach name $pq_dict(entryNames) {
- .${name}_entry delete 0 end
- .${name}_entry insert 0 [lindex $postOutput $cnt]
- incr cnt
- }
- }
-}
-
-
-# ----------------------------------------------------------------
-#
-# HighlightText --
-#
-# Highlight the text under the current line (as based upon
-# the given screen coordinates. Only highlight the line if
-# pointer has been moved to the another line.
-#
-# Arguments
-# x x screen coordinate
-# y y screen coordinate
-#
-# Globals
-# pq_dict(visual) either "mono" or "color"; indicates if
-# color screen features can be used
-# pq_dict(textIndex) starting index of highlighted information
-# pq_dict(normalFgColor) color to use for highlighted region
-#
-# ----------------------------------------------------------------
-
-proc HighlightText { x y } {
- global pq_dict
-
- set newIndex [.text index [list @$x,$y linestart]]
- if { $newIndex != $pq_dict(textIndex) } {
- catch { .text tag delete highlight }
- .text tag add highlight $newIndex [list $newIndex lineend]
- if { $pq_dict(visual) == "color" } {
- .text tag configure highlight \
- -foreground $pq_dict(normalFgColor) -underline on
- } else {
- .text tag configure highlight -underline on
- }
- set pq_dict(textIndex) $newIndex
- }
-}
-
-
-# ----------------------------------------------------------------
-#
-# ChangeFocus --
-#
-# Change the keyboard focus to the next/last entry widget.
-#
-# Arguments
-# direction either "next" or "last"; indicates in
-# which direction to change focus
-#
-# Globals
-# pq_dict(entryNames) list of entry widget names
-# pq_dict(index) current index in list of entry widget
-# names of the keyboard focus. An index
-# of -1 indicates there is no focus.
-# pq_dict(numEntries) number of names in entry widget list
-#
-# ----------------------------------------------------------------
-
-proc ChangeFocus direction {
- global pq_dict
-
- case $direction {
- next {
- incr pq_dict(index)
- if { $pq_dict(index) == $pq_dict(numEntries) } {
- set pq_dict(index) 0
- }
- }
- last {
- set pq_dict(index) [expr $pq_dict(index)-1]
- if { $pq_dict(index) < 0 } {
- set pq_dict(index) [expr $pq_dict(numEntries)-1]
- }
- }
- }
- focus .[lindex $pq_dict(entryNames) $pq_dict(index)]_entry
- update idletasks
- update
-}
-
-
-# ----------------------------------------------------------------
-#
-# ColorFocus --
-#
-# Change background color of entry widget with active
-# keyboard focus
-#
-# Arguments
-# w name of entry widget to change
-# bool either "on" or "off"; indicates if
-# the focus highlight should turned on
-# or off.
-#
-# Globals
-# pq_dict(entryNames) list of entry widget names
-# pq_dict(index) current index in list of entry widget
-# names of the keyboard focus. An index
-# of -1 indicates there is no focus.
-# pq_dict(visual) either "mono" or "color"; indicates if
-# color screen features can be used
-#
-# ----------------------------------------------------------------
-
-proc ColorFocus { w bool } {
- global pq_dict
-
- regexp {\.([a-z]+)_entry} $w dummy name
- if { $pq_dict(visual) == "color" && [info commands $w] == $w } {
- if { $bool == "on" } {
- set pq_dict(index) [lsearch $pq_dict(entryNames) $name]
- $w configure -background $pq_dict(focusHighlightColor)
- } else {
- $w configure -background $pq_dict(normalBgColor)
- }
- }
-}
-
-# ----------------------------------------------------------------
-#
-# Animate --
-#
-# Activates/deactivates an animated bitmap and busy window.
-# A cancel button is mapped and raised so that it is unaffected
-# by the busy window.
-#
-# Arguments
-# option either "on", "off", or "continue";
-# indicates whether animation should
-# be started, stoped or continued.
-#
-# Globals
-# pq_dict(entryNames) list of entry widget names
-# pq_dict(index) current index in list of entry widget
-# names of the keyboard focus. An index
-# of -1 indicates there is no focus.
-# pq_dict(visual) either "mono" or "color"; indicates if
-# color screen features can be used
-#
-# ----------------------------------------------------------------
-
-set pq_dict(curBitmap) 0
-set pq_dict(lastBitmap) 0
-
-proc Animate option {
- global pq_dict
-
- case $option {
- on {
- busy hold .
- .status_label configure -text "Searching..."
- global topLevel
- table $topLevel .cancel_button 18,8 -anchor e -reqwidth .70i
- winop raise .cancel_button
- .quit_button configure -state disabled
- .clear_button configure -state disabled
- winop raise .cancel_button
- set pq_dict(lastFocus) [focus]
- focus -force .
- set pq_dict(curBitmap) $pq_dict(lastBitmap)
- update
- }
- off {
- table forget .cancel_button
- .quit_button configure -state normal
- .clear_button configure -state normal
- .trademark configure -bitmap attlogo
- set pq_dict(lastBitmap) $pq_dict(curBitmap)
- set pq_dict(curBitmap) -1
- focus $pq_dict(lastFocus)
- busy release .
- }
- }
- #
- # Continue with next bitmap
- #
- if { $pq_dict(curBitmap) >= 0 } {
- set bmap [format globe_%0.2d $pq_dict(curBitmap)]
- .trademark configure -bitmap $bmap
- incr pq_dict(curBitmap)
- if { $pq_dict(curBitmap) >= 29 } {
- set pq_dict(curBitmap) 0
- }
- after 100 Animate continue
- }
-}
-
-
-# --------------------------------------------------------------------------
-#
-# main body of program
-#
-frame .frame
-set topLevel .frame
-
-label .overall_label -font -*-Helvetica-Bold-R-*-*-18-*-*-*-*-*-*-*
-label .name_label -font $pq_dict(titleFont)
-label .tel_label -font $pq_dict(titleFont)
-label .addr_label -font $pq_dict(titleFont)
-label .org_title -font $pq_dict(titleFont)
-label .loc_title -font $pq_dict(titleFont)
-
-foreach name $pq_dict(entryNames) {
- label .${name}_label
- entry .${name}_entry
-}
-if [info exists env(POST_DEFAULTS)] {
- set pq_dict(defaults) [split $env(POST_DEFAULTS) ":"]
-}
-foreach i $pq_dict(defaults) {
- set i [split $i "="]
- if { [llength $i] == 2 } {
- set name [lindex $i 0]
- if { [lsearch $pq_dict(entryNames) $name] >= 0 } {
- .${name}_entry insert 0 [lindex $i 1]
- }
- }
-}
-label .orders_title -text "Current Orders" \
- -font -*-Helvetica-Bold-R-*-*-16-*-*-*-*-*-*-*
-
-set font -*-Helvetica-Bold-R-*-*-14-*-*-*-*-*-*-*
-button .clear_button -command ClearFields -font $font
-button .quit_button -command { exit } -font $font
-button .search_button -text "Search" -font $font
-
-label .status_label
-button .cancel_button -command StopQuery
-#-relief raised
-label .trademark -bitmap attlogo
-text .text -yscrollcommand { .vscroll set } -state disabled
-scrollbar .vscroll -command { .text yview }
-
-table $topLevel \
- .overall_label 0,1 -cspan 10 -pady 5 \
- .name_label 1,2 \
- .last_entry 2,2 -cspan 2 \
- .first_entry 2,4 \
- .middle_entry 2,5 \
- .last_label 3,2 \
- .first_label 3,4 \
- .middle_label 3,5 \
- .tel_label 1,7 \
- .area_entry 2,7 \
- .exch_entry 2,8 \
- .ext_entry 2,9 \
- .area_label 3,7 \
- .exch_label 3,8 \
- .ext_label 3,9 \
- .org_title 4,2 \
- .com_entry 5,2 \
- .org_entry 5,3 \
- .tl_entry 5,4 \
- .com_label 6,2 \
- .org_label 6,3 \
- .tl_label 6,4 \
- .loc_title 4,7 \
- .room_entry 5,7 \
- .oldloc_entry 5,8 \
- .loc_entry 5,9 \
- .room_label 6,7 \
- .oldloc_label 6,8 \
- .loc_label 6,9 \
- .addr_label 8,2 \
- .street_entry 9,2 \
- .ema_entry 9,7 -cspan 2 \
- .street_label 10,2 \
- .city_entry 11,2 -cspan 2 \
- .state_entry 11,4 \
- .zip_entry 11,5 \
- .ema_label 10,7 -cspan 2 \
- .city_label 12,2 -cspan 2 \
- .state_label 12,4 \
- .zip_label 12,5 \
- .orders_title 16,2 -pady { 4 0 } \
- .text 17,2 -cspan 8 -fill both -padx 2 \
- .vscroll 17,10 -anchor center -fill both \
- .status_label 18,4 -cspan 6 -reqwidth {0 4i} \
- .search_button 18,3 -reqwidth .9i -anchor center -pady 8\
- .clear_button 18,5 -reqwidth .9i -anchor center \
- .quit_button 18,8 -reqwidth .9i -anchor center
-
-eval table configure $topLevel \
- [info command .*_label] [info commands .*_title] \
- -anchor w -padx 2 -ipadx 2
-eval table configure $topLevel [info command .*_entry] \
- -fill both -padx 2
-eval table configure $topLevel .name_label .tel_label .org_title \
- .com_label .addr_label .street_entry .street_label \
- -cspan 3
-eval table configure $topLevel .last_entry .ema_entry .city_entry \
- .ema_label .city_label -cspan 2
-
-table configure $topLevel .overall_label -anchor center
-table configure $topLevel r16 -pady { 5 5 } -resize both
-table configure $topLevel c0 -width .vscroll
-table configure $topLevel c0 c10 -resize none
-table configure $topLevel r3 r6 r10 r12 -resize none
-table configure $topLevel r17 -height { 40 {} }
-table configure $topLevel r16 r18 -resize none
-table configure $topLevel c6 -pad { 5 5 }
-
-if { $topLevel == ".frame" } {
- table . \
- $topLevel 0,0 -fill both
-}
-
-bind .text <Button-2> {
- FillFields %x %y
- continue
-}
-
-bind .text <Motion> {
- HighlightText %x %y
- continue
-}
-
-bind .text <Enter> {
- set pq_dict(textIndex) {}
- HighlightText %x %y
- set info [.text get [list 0.0 linestart] [list 0.0 lineend]]
- if { $info != "" } {
- .status_label configure -text "Query individual with button-2"
- }
- continue
-}
-
-bind .text <Leave> {
- if { [busy isbusy .] != "." } {
- .text tag delete highlight
- .status_label configure -text ""
- }
- continue
-}
-
-
-bind EntryFocus <Tab> {
- ChangeFocus next
- break
-}
-
-bind EntryFocus <Shift-Tab> {
- ChangeFocus last
- break
-}
-
-if { $pq_dict(visual) == "color" } {
- bind EntryFocus <FocusIn> {
- ColorFocus %W on
- }
- bind EntryFocus <FocusOut> {
- ColorFocus %W off
- }
-}
-
-bind Entry <Return> PostQuery
-
-foreach name $pq_dict(entryNames) {
- set w .${name}_entry
- bindtags $w [list EntryFocus $w Entry all]
-}
-
-focus .last_entry
-