summaryrefslogtreecommitdiffstats
path: root/Mac/Resources/tkpython.rsrc
blob: d59997e1489aca08e7af8dafef9d483c1130805e (plain)
ofshex dumpascii
0000 00 05 16 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 09 00 00 ................................
0020 00 3e 00 00 00 20 00 00 00 0a 00 00 00 5e 00 00 00 04 00 00 00 02 00 00 00 62 00 03 b0 30 72 73 .>...........^...........b...0rs
0040 72 63 52 53 45 44 01 00 01 40 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 rcRSED...@......................
0060 00 00 00 00 01 00 00 03 a5 39 00 03 a4 39 00 00 0a f7 da 79 01 6f 08 20 12 01 60 2e 3b e5 01 00 .........9...9.....y.o....`.;...
0080 3c e5 d1 e5 01 00 34 13 a9 8b 42 67 1f 3c a3 e5 b5 5d 0d 74 6b 70 79 74 68 6f 6e 2e 72 73 72 63 <.....4...Bg.<...].tkpython.rsrc
00a0 2e 68 71 78 75 61 67 65 64 65 72 6c 65 64 29 74 73 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .hqxuagederled)tsb..............
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b1 ff 59 2e 00 00 00 00 00 03 b0 30 ......................Y........0
00e0 bb 01 7e 7f 18 3d 47 00 0a 2e 1f 4e 5e 20 5f 54 4f 4e d0 4e 56 93 90 20 1d 01 3e 28 6f 01 10 2e ..~..=G....N^._TON.NV.....>(o...
0100 4d 04 67 1a 70 42 b0 47 6c 10 e0 78 02 81 fc 00 42 ef 05 cf fc 00 42 60 5c 7e 42 60 58 e1 50 01 M.g.pB.Gl..x....B.....B`\~B`X.P.
0120 09 5a e0 01 90 5f 56 e1 50 01 0a 42 12 32 1f 20 1f 78 01 81 c1 ef 29 01 6f 1c e1 50 03 0a 42 30 .Z..._V.P..B.2...x....).o..P..B0
0140 1f e5 40 56 e1 50 15 09 5a 32 1f 20 1f 3e 01 de 40 01 60 1a e1 50 01 0a 42 e0 01 c1 df 56 e1 50 ..@V.P..Z2...>..@.`..P..B....V.P
0160 20 21 00 00 00 0d 73 6a 6f 65 72 64 40 63 77 69 2e 6e 6c 00 00 00 44 01 80 1a 70 26 48 26 4a 12 .!....sjoerd@cwi.nl...D...p&H&J.
0180 4d 12 49 68 09 98 01 88 02 40 02 20 02 20 04 10 04 08 08 04 08 04 08 01 80 1b f0 3f f8 3f fa 1f M.Ih.....@.................?.?..
01a0 ff 1f ff 6f ff ff ff ff fe 7f fe 3f fe 3f fc 1f fc 0f f8 07 f8 07 f8 00 09 00 08 00 00 00 44 00 ...o.......?.?................D.
01c0 00 00 00 06 00 09 80 09 40 0b 30 0d 18 09 0c 12 9c 21 2c 10 4c 08 8c 05 0c 02 08 00 00 00 00 00 ........@.0......!,.L...........
01e0 00 00 00 06 00 09 80 09 c0 0b f0 0f f8 0f fc 1f fc 3f ec 1f cc 0f 8c 07 0c 02 08 00 00 00 00 00 .................?..............
0200 0d 00 0c 00 00 00 44 00 00 00 00 00 00 00 00 31 80 4a 40 4a 40 3f 80 0a 00 3f 80 4a 40 4a 46 31 ......D........1.J@J@?...?.J@JF1
0220 86 00 00 00 00 00 00 00 00 00 00 00 00 31 80 7b c0 ff e0 ff e0 7f c0 3f 80 7f c0 ff e6 ff ef 7b .............1.{.......?.......{
0240 cf 31 86 00 00 00 00 00 08 00 05 00 00 00 44 ff ff 80 01 bf 01 a1 81 a1 f9 a1 8d a1 8d bf 8d 9f .1............D.................
0260 8d 88 0d 88 0d 88 0d 8f fd 87 fd 80 01 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................................
0280 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 08 00 08 00 00 00 44 00 0e 00 1f 00 1f 00 ff 00 ......................D.........
02a0 7e 00 b8 01 18 02 28 04 40 08 80 11 00 22 00 44 00 48 00 b0 00 40 00 00 0e 00 1f 00 1f 00 ff 00 ~.....(.@....".D.H...@..........
02c0 7e 00 f8 01 f8 03 e8 07 c0 0f 80 1f 00 3e 00 7c 00 78 00 f0 00 40 00 00 0f 00 00 00 00 00 44 00 ~............>.|.x...@........D.
02e0 0e 00 1f 00 1f 00 ff 00 7e 00 b8 01 18 03 28 07 c0 0f 80 1f 00 3e 00 7c 00 78 00 f0 00 40 00 00 ........~.....(......>.|.x...@..
0300 0e 00 1f 00 1f 00 ff 00 7e 00 f8 01 f8 03 e8 07 c0 0f 80 1f 00 3e 00 7c 00 78 00 f0 00 40 00 00 ........~............>.|.x...@..
0320 0f 00 00 00 00 00 44 07 80 18 60 27 90 58 68 50 28 a0 14 af d4 af d4 a0 14 50 28 58 68 27 98 18 ......D...`'.XhP(........P(Xh'..
0340 7c 07 8e 00 07 00 03 07 80 1f e0 3f f0 78 78 70 38 e0 1c ef dc ef dc e0 1c 70 38 78 78 3f f8 1f |..........?.xxp8........p8xx?..
0360 fc 07 8e 00 07 00 03 00 07 00 07 00 00 00 44 07 80 18 60 27 90 58 68 53 28 a3 14 af d4 af d4 a3 ..............D...`'.XhS(.......
0380 14 53 28 58 68 27 98 18 7c 07 8e 00 07 00 03 07 80 1f e0 3f f0 78 78 73 38 e3 1c ef dc ef dc e3 .S(Xh'..|..........?.xxs8.......
03a0 1c 73 38 78 78 3f f8 1f fc 07 8e 00 07 00 03 00 07 00 07 00 00 00 44 e0 07 f0 0f f8 1f 7c 3e 3e .s8xx?................D......|>>
03c0 7c 1f f8 0f f0 07 e0 07 e0 0f f0 1f f8 3e 7c 7c 3e f8 1f f0 0f e0 07 00 00 60 06 70 0e 38 1c 1c |............>||>........`.p.8..
03e0 38 0e 70 07 e0 03 c0 03 c0 07 e0 0e 70 1c 38 38 1c 70 0e 60 06 00 00 00 07 00 07 00 00 00 44 00 8.p.........p.88.p.`..........D.
0400 00 00 06 00 1e 00 7c 01 fc 07 f8 00 f8 01 f0 03 b0 07 20 0e 20 1c 00 38 00 70 00 20 00 00 00 00 ......|................8.p......
0420 07 00 1f 00 7f 01 fe 07 fe 1f fc 7f fc 03 f8 07 f8 0f f0 1f 70 3e 60 7c 60 f8 40 70 40 20 00 00 ....................p>`|`.@p@...
0440 01 00 0e 00 00 00 44 00 00 00 00 00 00 1f e0 00 00 1f e0 03 00 03 00 03 00 0b 40 07 80 03 00 00 ......D...................@.....
0460 00 00 00 00 00 00 00 00 00 00 00 00 00 1f e0 00 00 1f e0 07 80 07 80 3f f0 1f e0 0f c0 07 80 03 .......................?........
0480 00 00 00 00 00 00 00 00 0b 00 06 00 00 00 44 00 00 00 00 00 00 00 00 03 00 07 80 0b 40 03 00 03 ..............D.............@...
04a0 00 03 00 1f e0 00 00 1f e0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 07 80 0f c0 1f e0 3f f0 07 .............................?..
04c0 80 07 80 1f e0 00 00 1f e0 00 00 00 00 00 00 00 04 00 06 00 00 00 44 00 00 00 00 00 00 00 00 01 ......................D.........
04e0 00 03 c0 84 60 ff ff 00 18 00 20 00 40 ff c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 ....`.......@...................
0500 00 03 c0 87 e0 ff ff ff f8 ff e0 ff c0 ff c0 00 00 00 00 00 00 00 00 00 07 00 0f 00 00 00 44 00 ..............................D.
0520 00 71 1c 11 10 11 10 11 10 7f fc 51 14 51 14 51 14 51 14 7f fc 11 10 11 10 11 10 71 1c 00 00 00 .q.........Q.Q.Q.Q.........q....
0540 00 00 00 00 00 00 00 00 00 7f fc 7f fc 7f fc 7f fc 7f fc 7f fc 00 00 00 00 00 00 00 00 00 00 00 ................................
0560 01 00 07 00 00 00 44 00 00 00 00 00 00 00 00 c0 00 c0 20 c8 40 c8 80 c9 00 ca 00 cc 00 cf c0 c0 ......D.............@...........
0580 00 c0 00 ff f0 ff f0 00 00 00 00 00 00 00 00 00 00 00 20 08 40 08 80 09 00 0a 00 0c 00 0f c0 00 ....................@...........
05a0 00 00 00 00 00 00 00 00 0f 00 00 00 00 00 44 00 00 00 00 00 00 00 00 00 03 04 03 02 13 01 13 00 ..............D.................
05c0 93 00 53 00 33 03 f3 00 03 00 03 0f ff 0f ff 00 00 00 00 00 00 00 00 00 00 04 00 02 10 01 10 00 ..S.3...........................
05e0 90 00 50 00 30 03 f0 00 00 00 00 00 00 00 00 00 0f 00 0f 00 00 00 44 00 00 00 00 01 00 01 00 01 ..P.0.................D.........
0600 00 01 00 01 00 11 10 09 20 05 40 03 80 01 00 00 00 7f fc 7f fc 00 00 00 00 00 00 01 00 01 00 01 ..........@.....................
0620 00 01 00 01 00 11 10 09 20 05 40 03 80 01 00 00 00 00 00 00 00 00 00 00 0b 00 07 00 00 00 44 00 ..........@...................D.
0640 00 00 00 00 00 01 80 01 80 01 80 01 80 01 80 01 80 01 80 7f fe 7f fe 00 00 00 00 00 00 00 00 00 ................................
0660 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 00 00 00 00 00 ................................
0680 0b 00 07 00 00 00 44 ff fe 80 00 bf fe a0 02 af fa a8 0a ab ea aa 2a aa aa ab aa a8 2a af ea a0 ......D...............*.....*...
06a0 0a bf fa 80 02 ff fe 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 ................................
06c0 00 00 00 00 00 00 00 00 08 00 08 00 00 00 44 00 00 03 00 03 00 07 80 07 80 0f c0 0f c0 1f e0 1f ..............D.................
06e0 e0 33 30 23 10 03 00 03 00 03 00 03 00 00 00 03 00 07 80 07 80 0f c0 0f c0 1f e0 1f e0 3f f0 3f .30#.........................?.?
0700 f0 7f f8 77 b8 67 98 07 80 07 80 07 80 07 80 00 01 00 06 00 00 00 44 00 00 03 c0 0f f0 1f f8 3c ...w.g................D........<
0720 3c 38 1c 70 0e 70 0e 70 0e 70 0e 38 1c 3c 3c 1f f8 0f f0 03 c0 00 00 03 c0 0f f0 1f f8 3f fc 7f <8.p.p.p.p.8.<<..............?..
0740 fe 7c 3e f8 1f f8 1f f8 1f f8 1f 7c 3e 7f fe 3f fc 1f f8 0f f0 03 c0 00 07 00 07 00 00 00 44 1f .|>........|>..?..............D.
0760 f8 33 cc 64 66 49 92 4f 12 44 22 63 c6 3f fc 29 94 29 94 29 94 2b d4 69 96 78 1e 7f fe 7f fe 1f .3.dfI.O.D"c.?.).).).+.i.x......
0780 f8 3f fc 7f fe 7f fe 7f fe 7f fe 7f fe 3f fc 3f fc 3f fc 3f fc 3f fc 7f fe 7f fe 7f fe 7f fe 00 .?...........?.?.?.?.?..........
07a0 04 00 08 00 00 00 44 03 f8 0c 06 10 01 1c 07 33 f9 70 01 d0 01 90 01 96 0d da 55 7a 55 36 ed 10 ......D........3.p........UzU6..
07c0 a1 10 01 08 02 07 fc 03 f8 0f fe 1f ff 1f ff 3f ff 7f ff ff ff ff ff ff ff ff ff 7f ff 3f ff 1f ...............?.............?..
07e0 ff 1f ff 0f fe 07 fc 00 04 00 03 00 00 00 44 02 80 02 80 02 80 02 80 02 80 02 80 fe fe 00 00 fe ..............D.................
0800 fe 02 80 02 80 02 80 02 80 02 80 02 80 00 00 03 80 03 80 03 80 03 80 03 80 03 80 ff fe ff fe ff ................................
0820 fe 03 80 03 80 03 80 03 80 03 80 03 80 00 00 00 07 00 07 00 00 00 44 42 84 a2 8a 52 94 2a a8 16 ......................DB...R.*..
0840 d0 0a a0 fd 7e 02 80 fd 7e 0a a0 16 d0 2a a8 52 94 a2 8a 42 84 00 00 43 84 e3 8e 73 9c 3b b8 1f ....~...~....*.R...B...C...s.;..
0860 f0 0f e0 ff fe ff fe ff fe 0f e0 1f f0 3b b8 73 9c e3 8e 43 84 00 00 00 07 00 07 00 00 00 44 01 .............;.s...C..........D.
0880 00 01 00 01 00 01 00 01 00 01 00 01 00 fe fe 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 00 ................................
08a0 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 00 00 00 00 00 ................................
08c0 07 00 07 00 00 00 44 02 80 06 c0 0a a0 12 90 22 88 42 84 fe fe 00 00 fe fe 42 84 22 88 12 90 0a ......D........".B.......B."....
08e0 a0 06 c0 02 80 00 00 02 80 06 c0 0e e0 1e f0 3e f8 7e fc fe fe 00 00 fe fe 7e fc 3e f8 1e f0 0e ...............>.~.......~.>....
0900 e0 06 c0 02 80 00 00 00 07 00 07 00 00 00 44 00 00 00 00 07 80 1f e0 1f e0 3f f0 3f f0 3f f0 3f ..............D..........?.?.?.?
0920 f0 1f e0 1f e0 07 80 00 00 00 00 00 00 00 00 00 00 07 80 1f e0 3f f0 3f f0 7f f8 7f f8 7f f8 7f .....................?.?........
0940 f8 3f f0 3f f0 1f e0 07 80 00 00 00 00 00 00 00 06 00 06 00 00 00 44 00 00 00 00 3f fc 20 04 20 .?.?..................D....?....
0960 04 20 04 20 04 21 84 21 84 20 04 20 04 20 04 20 04 3f fc 00 00 00 00 00 00 00 00 3f fc 3f fc 30 .....!.!.........?.........?.?.0
0980 0c 30 0c 31 8c 33 cc 33 cc 31 8c 30 0c 30 0c 3f fc 3f fc 00 00 00 00 00 07 00 07 00 00 00 44 00 .0.1.3.3.1.0.0.?.?............D.
09a0 00 01 80 03 c0 07 e0 0d b0 19 98 01 80 01 80 01 80 01 80 19 98 0d b0 07 e0 03 c0 01 80 00 00 01 ................................
09c0 80 03 c0 07 e0 0f f0 1f f8 3f fc 3b dc 03 c0 03 c0 3b dc 3f fc 1f f8 0f f0 07 e0 03 c0 01 80 00 .........?.;.....;.?............
09e0 07 00 07 00 00 00 44 00 00 00 02 00 0c 00 3c 00 f8 03 f8 0f f0 00 f0 01 60 02 60 04 40 08 40 10 ......D.......<.........`.`.@.@.
0a00 00 20 00 40 00 00 00 00 03 00 0f 00 3e 00 fe 03 fc 0f fc 3f f8 ff f8 03 f0 07 f0 0e e0 1c e0 38 ...@........>......?...........8
0a20 c0 70 c0 e0 80 40 80 00 01 00 0e 00 00 00 44 00 00 00 02 00 0c 00 3c 00 f8 03 f8 00 70 00 b0 01 .p...@........D.......<.....p...
0a40 20 02 20 04 00 08 00 10 00 20 00 40 00 00 00 00 03 00 0f 00 3e 00 fe 03 fc 0f fc 3f f8 01 f8 03 ...........@........>......?....
0a60 f0 07 70 0e 60 1c 60 38 40 70 40 e0 00 40 00 00 01 00 0e 00 00 00 44 00 00 00 00 3f fc 22 44 26 ..p.`.`8@p@..@........D....?."D&
0a80 64 2c 34 38 1c 21 84 21 84 38 1c 2c 34 26 64 22 44 3f fc 00 00 00 00 00 00 00 00 3f fc 3e 7c 3e d,48.!.!.8.,4&d"D?.........?.>|>
0aa0 7c 3c 3c 39 9c 23 c4 23 c4 39 9c 3c 3c 3e 7c 3e 7c 3f fc 00 00 00 00 00 07 00 07 00 00 00 44 00 |<<9.#.#.9.<<>|>|?............D.
0ac0 00 47 c0 6f e0 7c 30 48 10 4c 00 7e 00 00 00 00 00 00 fc 00 64 10 24 18 7c 0f ec 07 c4 00 00 c7 .G.o.|0H.L.~........d.$.|.......
0ae0 c0 ef e0 ff f0 ff f8 fc 38 fe 10 ff 00 ff 80 03 fe 01 fe 10 fe 38 7e 3f fe 1f fe 0f ee 07 c6 00 ........8............8~?........
0b00 07 00 07 00 00 00 44 00 00 01 80 03 c0 07 e0 01 80 11 88 31 8c 7f fe 7f fe 31 8c 11 88 01 80 07 ......D............1.....1......
0b20 e0 03 c0 01 80 00 00 01 80 03 c0 07 e0 0f f0 17 e8 3b dc 7f fe ff ff ff ff 7f fe 3b dc 17 e8 0f .................;.........;....
0b40 f0 07 e0 03 c0 01 80 00 07 00 07 00 00 00 44 00 00 00 78 00 70 40 36 4f b0 7f f0 7e 30 7c 30 30 ..............D...x.p@6O...~0|00
0b60 38 00 f0 0f e0 04 00 04 00 04 00 0f 00 00 00 00 fc 00 fc e0 ff ff ff ff ff ff f8 ff f8 ff f8 ff 8...............................
0b80 fc 7f fc 3f f8 1f f0 0e 00 1f 80 1f 80 1f 80 00 03 00 0e 00 00 00 44 3f 00 10 c0 c8 20 ea a0 c8 ...?..................D?........
0ba0 20 cb a0 f8 38 38 3e 08 26 08 26 09 2e 09 26 09 20 11 10 21 08 3e f8 3f 00 1f c0 cf e0 ef e0 cf ....88>.&.&...&....!.>.?........
0bc0 e0 cf e0 ff f8 3f fe 0f e6 0f e6 0f ee 0f e6 0f e0 1f f0 3f f8 3e f8 00 00 00 02 00 00 00 44 00 .....?.............?.>........D.
0be0 0c 00 3c 00 f0 01 e0 03 c0 07 e0 0f f0 2f e0 7f f0 5f f0 07 e0 07 c0 4a 00 62 00 34 00 18 00 00 ..<........../..._.....J.b.4....
0c00 0c 00 3c 00 f0 01 e0 03 c0 07 e0 0f f0 2f e0 7f f0 7f f0 7f e0 7f c0 7e 00 7e 00 3c 00 18 00 00 ..<........../.........~.~.<....
0c20 00 00 0d 00 00 00 44 00 00 3f c0 40 20 3f 10 08 08 07 08 08 08 07 14 08 22 06 41 01 82 01 24 00 ......D..?.@.?..........".A...$.
0c40 88 00 50 00 20 00 00 00 00 3f c0 7f e0 3f f0 0f f8 07 f8 0f f8 07 fc 0f fe 07 ff 01 fe 01 fc 00 ..P......?...?..................
0c60 f8 00 70 00 20 00 00 00 02 00 01 00 00 00 44 00 00 3e f8 63 8c c1 06 80 02 80 02 80 02 80 02 c0 ..p...........D..>.c............
0c80 06 60 0c 30 18 18 30 0c 60 06 c0 03 80 00 00 00 00 3e f8 7f fc ff fe ff fe ff fe ff fe ff fe ff .`.0..0.`........>..............
0ca0 fe 7f fc 3f f8 1f f0 0f e0 07 c0 03 80 00 00 00 03 00 07 00 00 00 44 ff ff d5 55 aa ab d5 55 a0 ...?..................D...U...U.
0cc0 0b d0 05 a0 0b d0 05 a0 0b d0 05 a0 0b d0 05 aa ab d5 55 aa ab ff ff ff ff ff ff ff ff ff ff f0 ..................U.............
0ce0 0f f0 0f f0 0f f0 0f f0 0f f0 0f f0 0f f0 0f ff ff ff ff ff ff ff ff 00 07 00 07 00 00 00 44 00 ..............................D.
0d00 00 3f fc 1f f8 4f f2 67 e6 73 ce 79 9e 7f fe 7f fe 79 9e 73 ce 67 e6 4f f2 1f f8 3f fc 00 00 7f .?...O.g.s.y.....y.s.g.O...?....
0d20 fe 7f fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 7f fe 7f fe 00 ................................
0d40 07 00 06 00 00 00 44 00 00 08 00 0c 00 0e 00 0f 00 0f 80 0f c0 0f e0 0f f0 0f 80 0d 80 08 c0 00 ......D.........................
0d60 c0 00 60 00 60 00 00 18 00 1c 00 1e 00 1f 00 1f 80 1f c0 1f e0 1f f0 1f f8 1f fc 1f c0 1d e0 19 ..`.`...........................
0d80 e0 10 f0 00 f0 00 70 00 01 00 04 00 00 00 44 00 00 60 00 60 00 60 80 61 00 62 00 64 00 6f fc 64 ......p.......D..`.`.`.a.b.d.o.d
0da0 00 62 00 61 00 60 80 60 00 60 00 00 00 00 00 00 00 00 00 00 00 00 80 01 00 02 00 04 00 0f fc 04 .b.a.`.`.`......................
0dc0 00 02 00 01 00 00 80 00 00 00 00 00 00 00 00 00 07 00 04 00 00 00 44 00 00 0c 00 0c 00 0c 00 0c ......................D.........
0de0 00 0c 00 0c 00 0f f8 0f f8 0c 00 0c 00 0c 00 0c 00 0c 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 04 00 00 00 44 80 ..............................D.
0e20 02 7f fc 7f fc 44 44 45 54 45 54 45 54 45 54 44 44 7f fc 7f fc 7f fc 7f fc 7f fc 7f fc 80 02 ff .....DDETETETETDD...............
0e40 fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe 00 ................................
0e60 04 00 03 00 00 00 44 00 00 00 00 00 00 0c 00 0c 00 0c 00 0c 00 0c 00 0c 00 0c 00 0f f8 0f f8 00 ......D.........................
0e80 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 00 00 00 00 00 ................................
0ea0 00 00 00 00 00 00 00 00 0b 00 04 00 00 00 44 00 00 00 00 00 00 00 30 00 30 00 30 00 30 00 30 00 ..............D.......0.0.0.0.0.
0ec0 30 00 30 1f f0 1f f0 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 0.0.............................
0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 0b 00 00 00 44 03 80 1e f0 02 80 81 00 43 ......................D........C
0f00 87 24 4b 1d 70 05 40 04 40 02 80 04 40 09 20 12 90 14 50 78 3c f8 3f 03 80 1f f0 03 80 81 00 43 .$K.p.@.@...@.....Px<.?........C
0f20 87 27 cb 1f f0 07 c0 07 c0 03 80 07 c0 0f e0 1e f0 1c 70 78 3c f8 3f 00 01 00 07 00 00 00 44 80 .'................px<.?.......D.
0f40 02 7f fc 7f fc 44 44 54 54 54 54 54 54 54 54 44 44 7f fc 7f fc 7f fc 7f fc 7f fc 7f fc 80 02 ff .....DDTTTTTTTTDD...............
0f60 fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe 00 ................................
0f80 04 00 07 00 00 00 44 06 00 01 00 01 80 0f f0 10 08 17 e8 14 28 14 28 17 e8 10 08 10 08 10 08 10 ......D.............(.(.........
0fa0 08 10 08 10 08 0f f0 06 00 01 00 01 80 0f f0 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f ................................
0fc0 f8 1f f8 1f f8 0f f0 00 00 00 00 00 00 00 44 00 00 00 f0 00 88 01 08 01 90 02 70 02 20 04 40 04 ..............D...........p...@.
0fe0 40 08 80 08 80 11 00 1e 00 1c 00 18 00 10 00 00 00 00 f0 00 f8 01 f8 01 f0 03 f0 03 e0 07 c0 07 @...............................
1000 c0 0f 80 0f 80 1f 00 1e 00 1c 00 18 00 10 00 00 0f 00 03 00 00 00 44 03 c0 07 e0 0f f0 19 98 19 ......................D.........
1020 98 0f f0 07 e0 03 c0 43 c2 43 c3 21 84 1c 38 03 c0 0f f1 78 1f 40 02 07 e0 0f f0 1f f8 3f fc 3f .......C.C.!..8....x.@.......?.?
1040 fc 1f f8 0f f0 47 e2 e7 e7 e7 e7 7f ff 3f fc 1f f9 7f ff ff ff f8 1f 00 0a 00 07 00 00 00 44 00 .....G.......?................D.
1060 00 00 00 00 00 01 80 01 80 01 80 01 80 1f f8 1f f8 01 80 01 80 01 80 01 80 00 00 00 00 00 00 00 ................................
1080 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 00 00 00 00 00 ................................
10a0 07 00 07 00 00 00 44 07 c0 0f e0 1c 70 18 30 1c 30 0c 70 00 e0 03 c0 03 80 02 80 02 80 0e e0 06 ......D.....p.0.0.p.............
10c0 c0 03 80 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3f f8 1f f0 0f ...........................?....
10e0 e0 07 c0 03 80 01 00 00 0e 00 07 00 00 00 44 00 00 00 10 00 30 00 70 00 f0 01 f0 03 f0 07 f0 0f ..............D.....0.p.........
1100 f0 01 f0 01 b0 03 10 03 00 06 00 06 00 00 00 00 18 00 38 00 78 00 f8 01 f8 03 f8 07 f8 0f f8 1f ..................8.x...........
1120 f8 3f f8 03 f8 07 b8 07 98 0f 08 0f 00 0e 00 00 01 00 0b 00 00 00 44 00 00 00 00 00 06 00 06 01 .?....................D.........
1140 06 00 86 00 46 00 26 3f f6 00 26 00 46 00 86 01 06 00 06 00 06 00 00 00 00 00 00 00 00 00 00 01 ....F.&?..&.F...................
1160 00 00 80 00 40 00 20 3f f0 00 20 00 40 00 80 01 00 00 00 00 00 00 00 00 08 00 0b 00 00 00 44 00 ....@..?....@.................D.
1180 00 00 30 00 30 00 30 00 30 00 30 00 30 1f f0 1f f0 00 30 00 30 00 30 00 30 00 30 00 30 00 00 00 ..0.0.0.0.0.0.....0.0.0.0.0.0...
11a0 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 00 00 00 00 00 ................................
11c0 07 00 0a 00 00 00 44 80 02 7f fc 7f fc 44 44 55 44 55 44 55 44 55 44 44 44 7f fc 7f fc 7f fc 7f ......D......DDUDUDUDUDDD.......
11e0 fc 7f fc 7f fc 80 02 ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff ................................
1200 fe ff fe ff fe ff fe 00 04 00 03 00 00 00 44 00 00 7f fe 40 22 40 22 40 22 7f e2 44 22 44 22 44 ..............D....@"@"@"..D"D"D
1220 22 44 22 47 fe 44 02 44 02 44 02 7f fe 00 00 00 00 7f fe 7f fe 60 76 7f f6 7f f6 7c 36 6c 36 6c "D"G.D.D.D...........`v....|6l6l
1240 36 6c 3e 6f fe 6f fe 6e 06 7f fe 7f fe 00 00 00 07 00 07 00 00 00 44 00 00 00 40 00 40 01 60 01 6l>o.o.n..............D...@.@.`.
1260 60 03 60 03 70 07 70 07 70 0f 78 0f 78 1f 78 1f 7c 3e 38 00 00 00 00 00 40 00 e0 01 e0 03 f0 03 `.`.p.p.p.x.x.x.|>8.....@.......
1280 f0 07 f0 07 f8 0f f8 0f f8 1f fc 1f fc 3f fc 3f fe 7f 7c 7e 38 00 00 00 0c 00 08 00 00 00 44 02 .............?.?..|~8.........D.
12a0 80 02 80 02 80 02 80 02 80 02 80 02 80 02 80 02 80 02 80 02 80 0f e0 07 c0 03 80 01 00 00 00 03 ................................
12c0 80 03 80 03 80 03 80 03 80 03 80 03 80 03 80 03 80 03 80 03 80 1f f0 0f e0 07 c0 03 80 01 00 00 ................................
12e0 0e 00 07 00 00 00 44 00 00 00 00 00 00 00 00 08 10 18 18 3f fc 78 1e 3f fc 18 18 08 10 00 00 00 ......D............?.x.?........
1300 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 18 18 38 1c 7f fe ff ff 7f fe 38 1c 18 18 08 10 00 .................8.......8......
1320 00 00 00 00 00 00 00 00 07 00 07 00 00 00 44 00 00 00 00 00 00 00 00 08 00 18 00 3f ff 78 00 3f ..............D............?.x.?
1340 ff 18 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 18 00 38 00 7f ff ff ff 7f .........................8......
1360 ff 38 00 18 00 08 00 00 00 00 00 00 00 00 00 00 07 00 01 00 00 00 44 00 00 00 00 00 00 00 00 00 .8....................D.........
1380 00 00 10 00 18 ff fc 00 1e ff fc 00 18 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a0 10 00 18 00 1c ff fe ff ff ff fe 00 1c 00 18 00 10 00 00 00 00 00 00 00 08 00 0e 00 00 00 44 00 ..............................D.
13c0 00 00 80 01 c0 03 e0 07 f0 01 40 01 40 01 40 01 40 01 40 01 40 01 40 01 40 01 40 01 40 01 40 00 ..........@.@.@.@.@.@.@.@.@.@.@.
13e0 80 01 c0 03 e0 07 f0 0f f8 01 c0 01 c0 01 c0 01 c0 01 c0 01 c0 01 c0 01 c0 01 c0 01 c0 01 c0 00 ................................
1400 01 00 08 00 00 00 44 00 00 01 00 03 80 07 c0 0f e0 02 80 02 80 02 80 02 80 02 80 02 80 0f e0 07 ......D.........................
1420 c0 03 80 01 00 00 00 01 00 03 80 07 c0 0f e0 1f f0 03 80 03 80 03 80 03 80 03 80 03 80 1f f0 0f ................................
1440 e0 07 c0 03 80 01 00 00 07 00 07 00 00 00 44 00 20 00 70 00 f8 01 de 05 de 09 de 11 de 11 de 11 ..............D...p.............
1460 de 11 de 31 de 71 de fd de 18 88 00 78 00 30 00 20 00 70 00 f8 01 fe 07 fe 0f fe 1f fe 1f fe 1f ...1.q......x.0...p.............
1480 fe 1f fe 3f fe 7f fe ff fe 18 f8 00 78 00 30 00 00 00 0a 00 00 00 44 00 00 7f 80 40 00 40 00 40 ...?........x.0.......D....@.@.@
14a0 00 47 e0 44 20 44 22 44 22 04 22 07 e2 00 12 00 0a 00 06 01 fe 00 00 ff c0 ff c0 ff c0 e0 00 ef .G.D.D"D".".....................
14c0 f0 ef f0 ec 37 ec 37 ec 37 ec 37 0f f7 0f ff 00 1f 03 ff 03 ff 03 ff 00 0e 00 0e 00 00 00 44 20 ....7.7.7.7...................D.
14e0 10 10 20 10 20 08 40 08 40 87 87 67 98 1f e0 1f e0 67 98 87 87 08 40 08 40 10 20 10 20 20 10 70 ......@.@..g.....g....@.@......p
1500 38 38 70 38 70 1c e0 9f e7 ef df ff ff 7f f8 7f f8 ff ff ef df 9f e7 1c e0 38 70 38 70 70 38 00 88p8p....................8p8pp8.
1520 07 00 07 00 00 00 44 00 18 00 40 0d 18 1e 40 1a 18 3f 00 21 00 39 00 29 00 39 00 29 00 39 00 39 ......D...@...@..?.!.9.).9.).9.9
1540 00 21 00 21 00 3f 00 00 00 00 00 0c 00 1e 00 1e 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f .!.!.?...........?.?.?.?.?.?.?.?
1560 00 3f 00 3f 00 3f 00 00 02 00 07 00 00 00 44 01 00 02 80 02 80 02 80 04 40 04 40 04 40 39 38 c0 .?.?.?........D.........@.@.@98.
1580 06 38 38 09 20 12 90 24 48 28 28 30 18 20 08 01 00 03 80 03 80 03 80 07 c0 07 c0 07 c0 3f f8 ff .88....$H((0.................?..
15a0 fe 3f f8 0f e0 1e f0 3c 78 38 38 30 18 20 08 00 07 00 07 00 00 00 44 00 00 03 80 0f e0 1c 70 30 .?.....<x880..........D.......p0
15c0 18 60 0c c1 06 c2 86 c1 06 60 0c 30 18 1c 70 0f e0 03 80 00 00 00 00 00 00 03 80 0f e0 1f f0 3c .`.......`.0..p................<
15e0 78 70 1c e3 8e e3 8e e3 8e 70 1c 3c 78 1f f0 0f e0 03 80 00 00 00 00 00 07 00 07 00 00 00 44 01 xp.......p.<x.................D.
1600 00 01 00 01 00 01 00 01 00 01 00 01 00 ff fe 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 00 ................................
1620 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 00 00 00 00 00 ................................
1640 07 00 07 00 00 00 44 00 00 60 00 78 00 3e 00 3f 80 1f e0 1e 00 0d 00 0c 80 04 40 04 20 00 10 00 ......D..`.x.>.?..........@.....
1660 08 00 04 00 00 00 00 e0 00 f8 00 fe 00 7f 80 7f e0 3f f8 3f fe 1f 80 1f c0 0e e0 0e 70 06 38 06 .................?.?........p.8.
1680 1c 02 0e 02 04 00 00 00 01 00 01 00 00 00 44 ff f0 ff f0 c0 00 c0 00 cf c0 cc 00 ca 00 c9 00 c8 ..............D.................
16a0 80 c8 40 c0 20 c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0f c0 0c 00 0a 00 09 00 08 ..@.............................
16c0 80 08 40 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 44 0f ff 0f ff 00 03 00 03 03 ..@...................D.........
16e0 f3 00 33 00 53 00 93 01 13 02 13 04 03 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 ..3.S...........................
1700 f0 00 30 00 50 00 90 01 10 02 10 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 44 00 ..0.P.........................D.
1720 00 7f fc 7f fc 00 00 01 00 03 80 05 40 09 20 11 10 01 00 01 00 01 00 01 00 01 00 00 00 00 00 00 ............@...................
1740 00 00 00 00 00 00 00 01 00 03 80 05 40 09 20 11 10 01 00 01 00 01 00 01 00 01 00 00 00 00 00 00 ............@...................
1760 04 00 07 00 00 00 44 00 00 00 00 00 00 00 00 7f fe 7f fe 01 80 01 80 01 80 01 80 01 80 01 80 01 ......D.........................
1780 80 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 00 00 00 00 ................................
17a0 00 00 00 00 00 00 00 00 04 00 07 00 00 00 44 01 00 00 00 03 80 07 c0 0f e0 0e e0 0f e0 07 c0 03 ..............D.................
17c0 80 01 00 0b a0 0d 60 09 20 08 20 08 20 00 00 00 00 03 80 07 c0 0f e0 1f f0 1f f0 1f f0 0f e0 07 ......`.........................
17e0 c0 0b a0 1f f0 1f f0 1f f0 1d 70 1c 70 08 20 00 00 00 07 00 00 00 44 00 00 00 00 00 00 0f f8 0f ..........p.p.........D.........
1800 f8 0c 00 0c 00 0c 00 0c 00 0c 00 0c 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 04 00 00 00 44 00 ..............................D.
1840 00 08 90 02 28 49 a6 27 c8 19 30 61 0c 01 00 01 00 01 00 01 00 01 00 01 40 01 40 00 80 00 00 00 ....(I.'..0a............@.@.....
1860 00 0f f0 1f f8 7f fe 7f fc ff fe fb be e3 8e 03 80 03 80 03 80 03 c0 03 e0 03 e0 01 c0 00 80 00 ................................
1880 04 00 07 00 00 00 44 00 00 00 00 00 00 00 00 1f f0 1f f0 00 30 00 30 00 30 00 30 00 30 00 30 00 ......D.............0.0.0.0.0.0.
18a0 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 00 00 00 00 00 00 0...............................
18c0 00 00 00 00 00 00 00 00 04 00 0b 00 00 00 44 07 e0 07 e0 07 e0 07 e0 08 10 10 88 10 88 10 8c 13 ..............D.................
18e0 8c 10 08 10 08 08 10 07 e0 07 e0 07 e0 07 e0 07 e0 07 e0 07 e0 07 e0 0f f0 1f f8 1f f8 1f fc 1f ................................
1900 fc 1f f8 1f f8 0f f0 07 e0 07 e0 07 e0 07 e0 00 08 00 0d 00 00 00 44 0c 60 02 80 01 00 01 00 01 ......................D.`.......
1920 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 02 80 0c 60 00 00 00 00 00 00 00 00 00 ......................`.........
1940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 07 00 00 00 e0 00 ................................
1960 00 00 00 80 00 c0 00 e0 00 f0 00 f8 00 fc 00 f8 00 f0 00 e0 00 c0 00 80 00 00 00 00 00 00 00 00 ................................
1980 00 00 00 00 00 08 00 14 00 22 00 41 00 80 80 e3 80 22 00 22 00 22 00 3e 00 00 00 00 00 00 00 00 .........".A.....".".".>........
19a0 00 00 00 00 00 00 00 00 00 f8 f0 c4 f0 f2 70 09 00 04 80 02 70 01 30 00 f0 00 00 00 00 00 00 00 ..............p.....p.0.........
19c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e4 e0 ce 60 1b 00 31 80 00 00 00 00 00 00 00 ....................`..1........
19e0 00 00 00 00 00 00 00 63 00 94 80 94 80 7f 00 14 00 7f 00 94 80 94 80 63 00 00 00 00 00 00 00 00 .......c...............c........
1a00 00 00 00 00 00 00 00 00 00 3f f8 1f f0 0f e0 07 c0 03 80 01 00 00 00 00 00 00 00 00 00 00 00 00 .........?......................
1a20 00 00 00 00 00 00 00 00 00 01 00 03 80 07 c0 0f e0 1f f0 3f f8 00 00 00 00 00 00 00 00 00 00 00 ...................?............
1a40 00 00 f2 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 01 80 1a 70 26 48 26 4a 12 ........`.................p&H&J.
1a60 4d 12 49 68 09 98 01 88 02 40 02 20 02 20 04 10 04 08 08 04 08 04 08 01 80 1b f0 3f f8 3f fa 1f M.Ih.....@.................?.?..
1a80 ff 1f ff 6f ff ff ff ff fe 7f fe 3f fe 3f fc 1f fc 0f f8 07 f8 07 f8 00 08 00 08 00 00 00 00 00 ...o.......?.?..................
1aa0 00 00 00 00 00 00 00 80 04 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 ..........................H...H.
1ac0 00 00 00 00 02 00 01 00 02 00 00 00 00 00 00 00 d2 00 00 00 00 00 03 c0 00 03 cd 7f 00 0d 7d 75 ..............................}u
1ae0 c0 0d 7d 75 cc 03 5d 75 f7 03 5d 75 d7 3c d5 55 d7 d7 d5 55 57 d5 d5 55 5c 35 55 55 5c 0d 55 55 ..}u..]u..]u.<.U...UW..U\5UU\.UU
1b00 5c 0d 55 55 70 03 55 55 70 00 d5 55 c0 00 35 55 c0 00 35 55 c0 00 00 00 00 00 00 00 02 00 00 ff \.UUp.UUp..U..5U..5U............
1b20 ff ff ff ff ff 00 01 ff ff cc cc 99 99 00 03 00 00 00 00 00 00 00 00 00 f2 80 01 00 00 00 60 00 ..............................`.
1b40 00 00 92 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0d b0 12 4c 10 0a 08 02 18 02 20 ........................L.......
1b60 02 20 02 20 04 10 04 08 08 04 08 04 08 00 00 00 00 00 00 00 00 0d b0 1f fc 1f fe 0f fe 1f fe 3f ...............................?
1b80 fe 3f fe 3f fc 1f fc 0f f8 07 f8 07 f8 00 08 00 08 00 00 00 00 00 00 00 00 00 00 00 00 80 04 00 .?.?............................
1ba0 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 02 00 01 00 02 00 ................H...H...........
1bc0 00 00 00 00 00 00 d2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f3 cf 00 03 ................................
1be0 5d 75 f0 03 55 55 dc 00 d5 55 5c 03 d5 55 5c 0d 55 55 5c 0d 55 55 5c 0d 55 55 70 03 55 55 70 00 ]u..UU...U\..U\.UU\.UU\.UUp.UUp.
1c00 d5 55 c0 00 35 55 c0 00 35 55 c0 00 00 00 00 00 00 00 02 00 00 ff ff ff ff ff ff 00 01 ff ff cc .U..5U..5U......................
1c20 cc 99 99 00 03 00 00 00 00 00 00 00 00 01 5a 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 ..............Z.....`...........
1c40 00 00 00 00 00 00 00 00 00 00 00 01 00 03 c0 84 60 ff ff 00 18 00 20 00 40 ff c0 00 00 00 00 00 ................`.......@.......
1c60 00 00 00 00 00 00 00 00 00 00 00 01 00 03 c0 87 e0 ff ff ff f8 ff e0 ff c0 ff c0 00 00 00 00 00 ................................
1c80 00 00 00 00 07 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 ................................
1ca0 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 ......H...H.....................
1cc0 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 00 00 00 00 00 ................................
1ce0 00 00 00 00 0f 00 00 00 00 00 00 00 ff ff 00 00 00 f0 00 0f 32 25 f0 00 00 6f ff ff ff ff ff ff ....................2%...o......
1d00 ff 22 22 22 22 22 1f f0 00 22 22 22 22 21 f0 00 00 33 33 33 33 4f 00 00 00 ff ff ff ff ff 00 00 ."""""...""""!...3333O..........
1d20 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 00 00 00 00 00 ................................
1d40 00 00 00 00 00 00 00 00 07 00 00 ff ff ff ff ff ff 00 01 bb bb bb bb bb bb 00 02 ee ee ee ee ee ................................
1d60 ee 00 03 dd dd dd dd dd dd 00 04 cc cc cc cc cc cc 00 05 44 44 44 44 44 44 00 06 11 11 11 11 11 ...................DDDDDD.......
1d80 11 00 0f 00 00 00 00 00 00 00 00 01 5a 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 ............Z.....`.............
1da0 00 1f f8 33 cc 64 66 49 92 4f 12 44 22 63 c6 3f fc 29 94 29 94 29 94 2b d4 69 96 78 1e 7f fe 7f ...3.dfI.O.D"c.?.).).).+.i.x....
1dc0 fe 1f f8 3f fc 7f fe 7f fe 7f fe 7f fe 7f fe 3f fc 3f fc 3f fc 3f fc 3f fc 7f fe 7f fe 7f fe 7f ...?...........?.?.?.?.?........
1de0 fe 00 04 00 08 00 00 00 00 00 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 00 00 ................................
1e00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 00 00 ....H...H.......................
1e20 0f ff ff ff ff f0 00 00 f6 05 ff ff 50 6f 00 0f 60 5f 00 56 f5 06 f0 0f 00 f0 21 f3 0f 00 f0 0f ............Po..`_.V......!.....
1e40 00 f6 f1 00 0f 00 f0 0f 00 5f 00 00 f5 00 f0 0f 60 05 ff ff 50 06 f0 00 ff ff ff ff ff ff 00 00 ........._......`...P...........
1e60 f0 f0 01 10 0f 0f 00 00 f0 f0 01 10 0f 0f 00 00 f0 f0 21 12 0f 0f 00 00 f0 f0 1f f1 0f 0f 00 0f ..................!.............
1e80 f0 f0 21 12 0f 0f f0 0f f4 f5 00 00 5f 4f f0 0f ff ff ff ff ff ff f0 0f ff ff ff ff ff ff f0 00 ..!........._O..................
1ea0 00 00 00 00 00 00 07 00 00 ff ff ff ff ff ff 00 01 44 44 44 44 44 44 00 02 aa aa aa aa aa aa 00 .................DDDDDD.........
1ec0 03 ee ee ee ee ee ee 00 04 55 55 55 55 55 55 00 05 dd dd dd dd dd dd 00 06 77 77 77 77 77 77 00 .........UUUUUU..........wwwwww.
1ee0 0f 00 00 00 00 00 00 00 00 01 52 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 03 ..........R.....`...............
1f00 f8 0c 06 10 01 1c 07 33 f9 70 01 d0 01 90 01 96 0d da 55 7a 55 36 ed 10 a1 10 01 08 02 07 fc 03 .......3.p........UzU6..........
1f20 f8 0f fe 1f ff 1f ff 3f ff 7f ff ff ff ff ff ff ff ff ff 7f ff 3f ff 1f ff 1f ff 0f fe 07 fc 00 .......?.............?..........
1f40 04 00 03 00 00 00 00 00 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 ................................
1f60 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 00 00 00 00 ..H...H.........................
1f80 ff ff ff f0 00 00 00 ff 42 22 22 4f f0 00 0f 42 21 11 11 22 4f 00 0f ff 11 11 11 1f ff 00 ff 24 ........B""O...B!.."O..........$
1fa0 ff ff ff f4 2f 0f 5f 22 22 22 22 22 2f f5 2f 22 22 22 22 22 2f f4 0f 22 22 22 22 22 2f f4 0f 4f ..../._"""""/./"""""/.."""""/..O
1fc0 f2 22 24 ff 2f f5 2f f2 f2 2f 2f 2f 2f 0f 5f f2 f2 53 5f 2f 2f 00 ff 4f f2 f3 f4 ff 2f 00 0f 22 ."$././..////._..S_//..O..../.."
1fe0 22 f2 f2 22 2f 00 0f 42 22 22 22 22 4f 00 00 f4 22 22 22 24 f0 00 00 0f ff ff ff ff 00 00 00 00 ".."/..B""""O..."""$............
2000 00 00 00 00 06 00 00 ff ff ff ff ff ff 00 01 cc cc 99 99 66 66 00 02 cc cc cc cc ff ff 00 03 33 ...................ff..........3
2020 33 33 33 66 66 00 04 99 99 99 99 ff ff 00 05 66 66 66 66 cc cc 00 0f 00 00 00 00 00 00 00 00 01 333ff..........ffff.............
2040 52 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 00 00 78 00 70 40 36 4f b0 7f R.....`.................x.p@6O..
2060 f0 7e 30 7c 30 30 38 00 f0 0f e0 04 00 04 00 04 00 0f 00 00 00 00 fc 00 fc e0 ff ff ff ff ff ff .~0|008.........................
2080 f8 ff f8 ff f8 ff fc 7f fc 3f f8 1f f0 0e 00 1f 80 1f 80 1f 80 00 03 00 0e 00 00 00 00 00 00 00 .........?......................
20a0 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 ........................H...H...
20c0 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 ................................
20e0 22 20 00 00 00 00 00 01 11 00 00 03 00 00 00 00 11 02 20 01 00 16 16 10 11 00 00 03 61 61 11 11 "...........................aa..
2100 11 00 00 01 11 11 14 44 15 00 00 03 11 11 44 44 51 00 00 00 11 44 44 44 15 10 00 00 04 44 44 51 .......D......DDQ....DDD.....DDQ
2120 51 00 00 00 00 15 15 15 10 00 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 02 00 00 Q...............................
2140 00 00 00 00 00 23 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 ff ff ff .....##.........................
2160 ff ff ff 00 01 cc cc 99 99 66 66 00 02 dd dd 00 00 00 00 00 03 ff ff 66 66 33 33 00 04 cc cc cc .........ff............ff33.....
2180 cc cc cc 00 05 88 88 88 88 88 88 00 06 ff ff cc cc 99 99 00 00 01 4a 80 01 00 00 00 60 00 00 00 ......................J.....`...
21a0 92 00 00 00 00 00 00 00 00 00 00 3f 00 10 c0 c8 20 ea a0 c8 20 cb a0 f8 38 38 3e 08 26 08 26 09 ...........?............88>.&.&.
21c0 2e 09 26 09 20 11 10 21 08 3e f8 3f 00 1f c0 cf e0 ef e0 cf e0 cf e0 ff f8 3f fe 0f e6 0f e6 0f ..&....!.>.?.............?......
21e0 ee 0f e6 0f e0 1f f0 3f f8 3e f8 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 80 08 00 00 00 .......?.>......................
2200 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 ..............H...H.............
2220 00 00 00 01 12 00 00 00 00 00 ff ff ff 00 00 00 00 00 0f 12 12 ff 00 00 00 ff 00 f1 31 31 f0 00 ............................11..
2240 00 ff f0 f3 f3 f3 f0 00 00 ff 00 f1 31 31 f0 00 00 ff 00 f2 ff f2 f0 00 00 4f ff f1 21 21 ff f0 ............11...........O..!!..
2260 00 00 ff f2 12 12 ff ff 40 00 00 f1 21 21 f0 0f f0 00 00 f2 12 12 f0 0f f0 00 00 f1 2f 21 f0 ff ........@...!!............../!..
2280 f0 00 00 f2 1f 12 f0 0f f0 00 00 f1 2f 21 f0 00 00 00 0f 12 1f 12 1f 00 00 00 f1 21 2f 21 21 f0 ............/!.............!/!!.
22a0 00 00 ff ff f0 ff ff f0 00 00 00 00 00 00 00 00 05 00 00 ff ff ff ff ff ff 00 01 00 00 bb bb 00 ................................
22c0 00 00 02 cc cc cc cc cc cc 00 03 aa aa aa aa aa aa 00 04 44 44 44 44 44 44 00 0f 00 00 00 00 00 ...................DDDDDD.......
22e0 00 00 00 00 fa 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 00 3e f8 63 8c c1 ..........`................>.c..
2300 06 80 02 80 02 80 02 80 02 c0 06 60 0c 30 18 18 30 0c 60 06 c0 03 80 00 00 00 00 3e f8 7f fc ff ...........`.0..0.`........>....
2320 fe ff fe ff fe ff fe ff fe ff fe 7f fc 3f f8 1f f0 0f e0 07 c0 03 80 00 00 00 03 00 07 00 00 00 .............?..................
2340 00 00 00 00 00 00 00 00 00 80 04 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 ............................H...
2360 48 00 00 00 00 00 02 00 01 00 02 00 00 00 00 00 00 00 d2 00 00 00 00 00 00 00 00 0f fc ff c0 3a H..............................:
2380 ab aa 70 e9 9b 99 9c e6 65 a6 5c e9 99 99 9c e6 66 66 5c e9 99 99 9c d6 66 66 5c 35 99 99 70 0d ..p.....e.\.....ff\.....ff\5..p.
23a0 66 65 c0 03 59 97 00 00 d6 5c 00 00 35 70 00 00 0f c0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 fe..Y....\..5p..................
23c0 00 ff ff ff ff ff ff 00 01 dd dd 00 00 00 00 00 02 ff ff 66 66 cc cc 00 03 00 00 00 00 00 00 00 ...................ff...........
23e0 00 01 7a 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 be 00 01 00 01 80 0f f0 10 ..z.....`.......................
2400 08 17 e8 14 28 14 28 17 e8 10 08 10 08 10 08 10 08 10 08 10 08 0f f0 fe 00 01 00 01 80 0f f0 1f ....(.(.........................
2420 f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 0f f0 00 01 00 07 00 00 00 00 00 ................................
2440 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 ..........................H...H.
2460 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 00 13 79 4a f0 00 00 00 00 00 00 00 ......................yJ........
2480 0f 00 00 00 00 00 00 00 0f f0 00 00 00 00 00 ff ff ff ff 00 00 00 0f 21 11 11 12 f0 00 00 0f 36 .......................!.......6
24a0 55 55 63 f0 00 00 0f 35 13 13 51 f0 00 00 0f 35 33 33 51 f0 00 00 0f 36 55 55 61 f0 00 00 0f 33 UUc....5..Q....533Q....6UUa....3
24c0 11 11 11 f0 00 00 0f 33 33 33 33 f0 00 00 0f 33 33 33 33 f0 00 00 0f 22 22 22 22 f0 00 00 0f 88 .......3333....3333...."""".....
24e0 88 88 88 f0 00 00 0f 78 88 88 87 f0 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 00 0b 00 00 ff .......x........................
2500 ff ff ff ff ff 00 01 ee ee ee ee ee ee 00 02 cc cc cc cc cc cc 00 03 dd dd dd dd dd dd 00 04 44 ...............................D
2520 44 44 44 44 44 00 05 22 22 22 22 22 22 00 06 55 55 55 55 55 55 00 07 aa aa aa aa aa aa 00 08 bb DDDDD..""""""..UUUUUU...........
2540 bb bb bb bb bb 00 09 77 77 77 77 77 77 00 0a 11 11 11 11 11 11 00 0f 00 00 00 00 00 00 00 00 01 .......wwwwww...................
2560 52 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 00 00 f0 00 88 01 08 01 90 02 R.....`.........................
2580 70 02 20 04 40 04 40 08 80 08 80 11 00 1e 00 1c 00 18 00 10 00 00 00 00 f0 00 f8 01 f8 01 f0 03 p...@.@.........................
25a0 f0 03 e0 07 c0 07 c0 0f 80 0f 80 1f 00 1e 00 1c 00 18 00 10 00 00 0f 00 03 00 00 00 00 00 00 00 ................................
25c0 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 ........................H...H...
25e0 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ................................
2600 ff 00 00 00 00 00 00 f4 04 f0 00 00 00 00 0f 40 42 f0 00 00 00 00 0f f4 2f 00 00 00 00 00 f5 3f ...............@B......./......?
2620 ff 00 00 00 00 00 f3 52 f0 00 00 00 00 0f 35 1f 00 00 00 00 00 0f 53 2f 00 00 00 00 00 f5 32 f0 .......R......5.......S/......2.
2640 00 00 00 00 00 f3 12 f0 00 00 00 00 0f 35 2f 00 00 00 00 00 0f ff f0 00 00 00 00 00 0f ff 00 00 .............5/.................
2660 00 00 00 00 0f f0 00 00 00 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 ff ff ff ................................
2680 ff ff ff 00 01 cc cc cc cc cc cc 00 02 88 88 88 88 88 88 00 03 ff ff ff ff 00 00 00 04 dd dd 00 ................................
26a0 00 00 00 00 05 ff ff 66 66 33 33 00 0f 00 00 00 00 00 00 00 00 01 52 80 01 00 00 00 60 00 00 00 .......ff33...........R.....`...
26c0 92 00 00 00 00 00 00 00 00 00 00 00 20 00 70 00 f8 01 de 05 de 09 de 11 de 11 de 11 de 11 de 31 ..............p................1
26e0 de 71 de fd de 18 88 00 78 00 30 00 20 00 70 00 f8 01 fe 07 fe 0f fe 1f fe 1f fe 1f fe 1f fe 3f .q......x.0...p................?
2700 fe 7f fe ff fe 18 f8 00 78 00 30 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 80 08 00 00 00 ........x.0.....................
2720 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 ..............H...H.............
2740 00 00 00 01 12 00 00 00 00 00 00 00 00 00 f0 00 00 00 00 00 00 0f 3f 00 00 00 00 00 00 f3 43 f0 ......................?.......C.
2760 00 00 00 00 0f 34 04 3f f0 00 00 0f 4f 34 04 3f f0 00 00 f5 5f 34 04 3f f0 00 0f 50 5f 34 04 3f .....4.?....O4.?...._4.?...P_4.?
2780 f0 00 0f 00 5f 34 04 3f f0 00 0f 00 5f 34 04 3f f0 00 0f 00 5f 34 04 3f f0 00 f3 00 5f 34 04 3f ...._4.?...._4.?...._4.?...._4.?
27a0 f0 0f 33 50 5f 34 04 3f f0 ff f3 3f 4f 34 04 3f f0 00 0f f0 00 12 22 10 00 00 00 00 00 01 11 10 ..3P_4.?...?O4.?......".........
27c0 00 00 00 00 00 00 11 00 00 00 00 00 00 00 00 00 06 00 00 ff ff ff ff ff ff 00 01 ff ff 66 66 33 .............................ff3
27e0 33 00 02 dd dd 00 00 00 00 00 03 44 44 44 44 44 44 00 04 88 88 88 88 88 88 00 05 dd dd dd dd dd 3..........DDDDDD...............
2800 dd 00 0f 00 00 00 00 00 00 00 00 01 7a 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 ............z.....`.............
2820 00 00 18 00 40 0d 18 1e 40 1a 18 3f 00 21 00 39 00 29 00 39 00 29 00 39 00 39 00 21 00 21 00 3f ....@...@..?.!.9.).9.).9.9.!.!.?
2840 00 00 00 00 00 0c 00 1e 00 1e 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f ...........?.?.?.?.?.?.?.?.?.?.?
2860 00 00 02 00 07 00 00 00 00 00 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 00 00 ................................
2880 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 00 00 ....H...H.......................
28a0 00 00 00 00 05 20 00 00 00 00 00 04 60 00 00 00 00 ff 1f 60 05 20 00 00 0f 33 f0 04 60 00 00 00 ............`......`.....3..`...
28c0 0f 10 f0 00 05 20 00 00 ff ff ff 00 00 00 00 00 f8 17 0f 00 00 00 00 00 f5 f7 0f 00 00 00 00 00 ................................
28e0 fa f7 0f 00 00 00 00 00 f9 f7 0f 00 00 00 00 00 fa f7 0f 00 00 00 00 00 f9 f7 0f 00 00 00 00 00 ................................
2900 f5 f7 0f 00 00 00 00 00 f8 17 0f 00 00 00 00 00 f8 17 0f 00 00 00 00 00 ff ff ff 00 00 00 00 00 ................................
2920 00 00 00 00 00 00 0b 00 00 ff ff ff ff ff ff 00 01 aa aa aa aa aa aa 00 02 77 77 77 77 77 77 00 .........................wwwwww.
2940 03 55 55 55 55 55 55 00 04 22 22 22 22 22 22 00 05 44 44 44 44 44 44 00 06 bb bb bb bb bb bb 00 .UUUUUU..""""""..DDDDDD.........
2960 07 dd dd dd dd dd dd 00 08 ee ee ee ee ee ee 00 09 66 66 66 66 cc cc 00 0a cc cc cc cc ff ff 00 .................ffff...........
2980 0f 00 00 00 00 00 00 00 00 00 f2 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 01 ................`...............
29a0 00 02 80 02 80 02 80 04 40 04 40 04 40 39 38 c0 06 38 38 09 20 12 90 24 48 28 28 30 18 20 08 01 ........@.@.@98..88....$H((0....
29c0 00 03 80 03 80 03 80 07 c0 07 c0 07 c0 3f f8 ff fe 3f f8 0f e0 1e f0 3c 78 38 38 30 18 20 08 00 .............?...?.....<x880....
29e0 07 00 07 00 00 00 00 00 00 00 00 00 00 00 00 80 04 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 ................................
2a00 00 00 48 00 00 00 48 00 00 00 00 00 02 00 01 00 02 00 00 00 00 00 00 00 d2 00 00 00 00 00 03 00 ..H...H.........................
2a20 00 00 0d c0 00 00 0d c0 00 00 0d c0 00 00 35 70 00 00 35 70 00 00 35 70 00 0f d7 5f c0 f5 55 55 ..............5p..5p..5p..._..UU
2a40 7c 0f d5 5f c0 00 d7 5c 00 03 5c d7 00 0d 70 35 c0 0d c0 0d c0 0f 00 03 c0 0c 00 00 c0 00 00 00 |.._...\..\...p5................
2a60 00 00 00 00 02 00 00 ff ff ff ff ff ff 00 01 ff ff ff ff 00 00 00 03 00 00 00 00 00 00 00 00 01 ................................
2a80 52 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 80 07 c0 0f e0 0e R.....`.........................
2aa0 e0 0f e0 07 c0 03 80 01 00 0b a0 0d 60 09 20 08 20 08 20 00 00 00 00 03 80 07 c0 0f e0 1f f0 1f ............`...................
2ac0 f0 1f f0 0f e0 07 c0 0b a0 1f f0 1f f0 1f f0 1d 70 1c 70 08 20 00 00 00 07 00 00 00 00 00 00 00 ................p.p.............
2ae0 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 ........................H...H...
2b00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 05 00 ................................
2b20 00 00 00 00 00 00 ff f0 00 00 00 00 00 0f 31 3f 00 00 00 00 00 f3 22 23 f0 00 00 00 00 f1 10 11 ..............1?......"#........
2b40 f0 00 00 00 00 f3 11 13 f0 00 00 00 00 0f 31 3f 00 00 00 00 00 00 ff f0 00 00 00 00 00 00 0f 00 ..............1?................
2b60 00 00 00 00 00 f0 ff f0 f0 00 00 00 00 ff 0f 0f f0 00 00 00 00 40 0f 00 40 00 00 00 00 40 00 00 .....................@..@....@..
2b80 40 00 00 00 00 40 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 ff ff ff @....@..@.......................
2ba0 ff ff ff 00 01 ee ee ee ee ee ee 00 02 99 99 99 99 ff ff 00 03 dd dd dd dd dd dd 00 04 33 33 33 .............................333
2bc0 33 66 66 00 05 dd dd 00 00 00 00 00 0f 00 00 00 00 00 00 00 00 01 42 80 01 00 00 00 60 00 00 00 3ff...................B.....`...
2be0 92 00 00 00 00 00 00 00 00 00 00 07 e0 07 e0 07 e0 07 e0 08 10 10 88 10 88 10 8c 13 8c 10 08 10 ................................
2c00 08 08 10 07 e0 07 e0 07 e0 07 e0 07 e0 07 e0 07 e0 07 e0 0f f0 1f f8 1f f8 1f f8 1f f8 1f f8 1f ................................
2c20 f8 0f f0 07 e0 07 e0 07 e0 07 e0 00 08 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 80 08 00 00 00 ................................
2c40 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 ..............H...H.............
2c60 00 00 00 01 12 00 00 00 00 00 00 0f ff ff f0 00 00 00 00 0f ff ff f0 00 00 00 00 0f ff ff f0 00 ................................
2c80 00 00 00 0f ff ff f0 00 00 00 00 f0 20 20 2f 00 00 00 0f 02 22 f2 21 f0 00 00 0f 22 22 f1 23 f0 ............../.....".!...."".#.
2ca0 00 00 0f 02 22 f1 21 ff 00 00 0f 22 ff f1 23 ff 00 00 0f 02 22 22 21 f0 00 00 0f 22 22 22 13 f0 ....".!...."..#.....""!...."""..
2cc0 00 00 00 f1 31 31 3f 00 00 00 00 0f ff ff f0 00 00 00 00 0f ff ff f0 00 00 00 00 0f ff ff f0 00 ....11?.........................
2ce0 00 00 00 0f ff ff f0 00 00 00 00 00 00 00 00 00 04 00 00 ff ff ff ff ff ff 00 01 cc cc cc cc cc ................................
2d00 cc 00 02 ee ee ee ee ee ee 00 03 bb bb bb bb bb bb 00 0f 00 00 00 00 00 00 00 00 00 e2 60 0a 00 .............................`..
2d20 00 4d 44 45 46 02 4f 00 00 4e fa 00 04 4e 75 4e 56 ff ee 48 e7 18 30 36 2e 00 18 24 6e 00 08 26 .MDEF.O..N...NuNV..H..06...$n..&
2d40 7c 4d 44 45 46 59 4f 2e b8 0b 54 20 1f 2d 40 ff ee 55 4f 3e b8 0a 0a 30 1f 3d 40 ff f2 55 4f 3e |MDEFYO...T..-@..UO>...0.=@..UO>
2d60 b8 0a 0c 30 1f 3d 40 ff f4 0c 78 ff ff 0b 5c 66 12 20 78 0b 5c 20 50 2d 68 00 06 ff f6 2d 68 00 ...0.=@...x...\f..x.\.P-h....-h.
2d80 0a ff fa 0c 43 00 01 66 02 38 12 3f 03 2f 2e 00 14 2f 2e 00 10 2f 2e 00 0c 2f 0a 48 6e ff ee 4e ....C..f.8.?./.../.../.../.Hn..N
2da0 93 2f 2e ff ee 21 df 0b 54 3f 2e ff f2 31 df 0a 0a 3f 2e ff f4 31 df 0a 0c 0c 43 00 01 66 2a b8 ./...!..T?...1...?...1....C..f*.
2dc0 52 67 26 0c 78 ff ff 0b 5c 67 1e 20 78 0b 5c 20 50 21 6e ff f6 00 06 21 6e ff fa 00 0a 21 ee ff Rg&.x...\g..x.\.P!n....!n....!..
2de0 f6 09 fa 21 ee ff fa 09 fe 4c df 0c 18 4e 5e 20 5f 4f ef 00 12 4e d0 84 6d 61 69 6e 00 00 00 00 ...!.....L...N^._O...N..main....
2e00 00 00 10 00 84 00 00 00 00 00 00 00 00 00 01 ff ff 00 00 00 00 00 21 00 a8 00 14 00 bb 01 2c 00 ......................!.......,.
2e20 00 01 00 00 50 00 84 03 f0 00 00 00 00 0a 46 69 6c 65 20 54 79 70 65 3a 00 00 5d 74 23 20 69 6e ....P.........File.Type:..]t#.in
2e40 69 74 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 44 65 66 61 75 6c 74 20 73 79 73 74 65 6d 20 73 74 61 it.tcl.--.#.#.Default.system.sta
2e60 72 74 75 70 20 66 69 6c 65 20 66 6f 72 20 54 63 6c 2d 62 61 73 65 64 20 61 70 70 6c 69 63 61 74 rtup.file.for.Tcl-based.applicat
2e80 69 6f 6e 73 2e 20 20 44 65 66 69 6e 65 73 0d 23 20 22 75 6e 6b 6e 6f 77 6e 22 20 70 72 6f 63 65 ions...Defines.#."unknown".proce
2ea0 64 75 72 65 20 61 6e 64 20 61 75 74 6f 2d 6c 6f 61 64 20 66 61 63 69 6c 69 74 69 65 73 2e 0d 23 dure.and.auto-load.facilities..#
2ec0 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 69 6e 69 74 2e 74 63 6c 20 31 2e 39 35 20 39 37 2f 31 .#.SCCS:.@(#).init.tcl.1.95.97/1
2ee0 31 2f 31 39 20 31 37 3a 31 36 3a 33 34 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 1/19.17:16:34.#.#.Copyright.(c).
2f00 31 39 39 31 2d 31 39 39 33 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 1991-1993.The.Regents.of.the.Uni
2f20 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 versity.of.California..#.Copyrig
2f40 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 36 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d ht.(c).1994-1996.Sun.Microsystem
2f60 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 s,.Inc..#.#.See.the.file."licens
2f80 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 e.terms".for.information.on.usag
2fa0 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 e.and.redistribution.#.of.this.f
2fc0 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c ile,.and.for.a.DISCLAIMER.OF.ALL
2fe0 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 69 66 20 7b 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e .WARRANTIES..#..if.{[info.comman
3000 64 73 20 70 61 63 6b 61 67 65 5d 20 3d 3d 20 22 22 7d 20 7b 0d 20 20 20 20 65 72 72 6f 72 20 22 ds.package].==.""}.{.....error."
3020 76 65 72 73 69 6f 6e 20 6d 69 73 6d 61 74 63 68 3a 20 6c 69 62 72 61 72 79 5c 6e 73 63 72 69 70 version.mismatch:.library\nscrip
3040 74 73 20 65 78 70 65 63 74 20 54 63 6c 20 76 65 72 73 69 6f 6e 20 37 2e 35 62 31 20 6f 72 20 6c ts.expect.Tcl.version.7.5b1.or.l
3060 61 74 65 72 20 62 75 74 20 74 68 65 20 6c 6f 61 64 65 64 20 76 65 72 73 69 6f 6e 20 69 73 5c 6e ater.but.the.loaded.version.is\n
3080 6f 6e 6c 79 20 5b 69 6e 66 6f 20 70 61 74 63 68 6c 65 76 65 6c 5d 22 0d 7d 0d 70 61 63 6b 61 67 only.[info.patchlevel]".}.packag
30a0 65 20 72 65 71 75 69 72 65 20 2d 65 78 61 63 74 20 54 63 6c 20 38 2e 30 0d 0d 23 20 43 6f 6d 70 e.require.-exact.Tcl.8.0..#.Comp
30c0 75 74 65 20 74 68 65 20 61 75 74 6f 20 70 61 74 68 20 74 6f 20 75 73 65 20 69 6e 20 74 68 69 73 ute.the.auto.path.to.use.in.this
30e0 20 69 6e 74 65 72 70 72 65 74 65 72 2e 0d 23 20 28 61 75 74 6f 5f 70 61 74 68 20 63 6f 75 6c 64 .interpreter..#.(auto_path.could
3100 20 62 65 20 61 6c 72 65 61 64 79 20 73 65 74 2c 20 69 6e 20 73 61 66 65 20 69 6e 74 65 72 70 73 .be.already.set,.in.safe.interps
3120 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 29 0d 0d 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 .for.instance)..if.{![info.exist
3140 73 20 61 75 74 6f 5f 70 61 74 68 5d 7d 20 7b 0d 20 20 20 20 69 66 20 5b 63 61 74 63 68 20 7b 73 s.auto_path]}.{.....if.[catch.{s
3160 65 74 20 61 75 74 6f 5f 70 61 74 68 20 24 65 6e 76 28 54 43 4c 4c 49 42 50 41 54 48 29 7d 5d 20 et.auto_path.$env(TCLLIBPATH)}].
3180 7b 0d 09 73 65 74 20 61 75 74 6f 5f 70 61 74 68 20 22 22 0d 20 20 20 20 7d 0d 7d 0d 69 66 20 7b {..set.auto_path."".....}.}.if.{
31a0 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 24 61 75 74 6f 5f 70 61 74 68 20 5b 69 6e 66 6f [lsearch.-exact.$auto_path.[info
31c0 20 6c 69 62 72 61 72 79 5d 5d 20 3c 20 30 7d 20 7b 0d 20 20 20 20 6c 61 70 70 65 6e 64 20 61 75 .library]].<.0}.{.....lappend.au
31e0 74 6f 5f 70 61 74 68 20 5b 69 6e 66 6f 20 6c 69 62 72 61 72 79 5d 0d 7d 0d 63 61 74 63 68 20 7b to_path.[info.library].}.catch.{
3200 0d 20 20 20 20 66 6f 72 65 61 63 68 20 5f 5f 64 69 72 20 24 74 63 6c 5f 70 6b 67 50 61 74 68 20 .....foreach.__dir.$tcl_pkgPath.
3220 7b 0d 09 69 66 20 7b 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 24 61 75 74 6f 5f 70 61 74 {..if.{[lsearch.-exact.$auto_pat
3240 68 20 24 5f 5f 64 69 72 5d 20 3c 20 30 7d 20 7b 0d 09 20 20 20 20 6c 61 70 70 65 6e 64 20 61 75 h.$__dir].<.0}.{......lappend.au
3260 74 6f 5f 70 61 74 68 20 24 5f 5f 64 69 72 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 75 6e 73 65 to_path.$__dir..}.....}.....unse
3280 74 20 5f 5f 64 69 72 0d 7d 0d 0d 23 20 53 65 74 75 70 20 74 68 65 20 75 6e 6b 6e 6f 77 6e 20 70 t.__dir.}..#.Setup.the.unknown.p
32a0 61 63 6b 61 67 65 20 68 61 6e 64 6c 65 72 0d 0d 70 61 63 6b 61 67 65 20 75 6e 6b 6e 6f 77 6e 20 ackage.handler..package.unknown.
32c0 74 63 6c 50 6b 67 55 6e 6b 6e 6f 77 6e 0d 0d 23 20 43 6f 6e 64 69 74 69 6f 6e 61 6c 69 7a 65 20 tclPkgUnknown..#.Conditionalize.
32e0 66 6f 72 20 70 72 65 73 65 6e 63 65 20 6f 66 20 65 78 65 63 2e 0d 0d 69 66 20 7b 5b 69 6e 66 6f for.presence.of.exec...if.{[info
3300 20 63 6f 6d 6d 61 6e 64 73 20 65 78 65 63 5d 20 3d 3d 20 22 22 7d 20 7b 0d 0d 20 20 20 20 23 20 .commands.exec].==.""}.{......#.
3320 53 6f 6d 65 20 6d 61 63 68 69 6e 65 73 2c 20 73 75 63 68 20 61 73 20 74 68 65 20 4d 61 63 69 6e Some.machines,.such.as.the.Macin
3340 74 6f 73 68 2c 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 65 78 65 63 2e 20 41 6c 73 6f 2c 20 6f 6e tosh,.do.not.have.exec..Also,.on
3360 20 61 6c 6c 0d 20 20 20 20 23 20 70 6c 61 74 66 6f 72 6d 73 2c 20 73 61 66 65 20 69 6e 74 65 72 .all.....#.platforms,.safe.inter
3380 70 72 65 74 65 72 73 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 65 78 65 63 2e 0d 0d 20 20 20 20 73 preters.do.not.have.exec.......s
33a0 65 74 20 61 75 74 6f 5f 6e 6f 65 78 65 63 20 31 0d 7d 0d 73 65 74 20 65 72 72 6f 72 43 6f 64 65 et.auto_noexec.1.}.set.errorCode
33c0 20 22 22 0d 73 65 74 20 65 72 72 6f 72 49 6e 66 6f 20 22 22 0d 0d 23 20 44 65 66 69 6e 65 20 61 ."".set.errorInfo.""..#.Define.a
33e0 20 6c 6f 67 20 63 6f 6d 6d 61 6e 64 20 28 77 68 69 63 68 20 63 61 6e 20 62 65 20 6f 76 65 72 77 .log.command.(which.can.be.overw
3400 69 74 74 65 6e 20 74 6f 20 6c 6f 67 20 65 72 72 6f 72 73 0d 23 20 64 69 66 66 65 72 65 6e 74 6c itten.to.log.errors.#.differentl
3420 79 2c 20 73 70 65 63 69 61 6c 6c 79 20 77 68 65 6e 20 73 74 64 65 72 72 20 69 73 20 6e 6f 74 20 y,.specially.when.stderr.is.not.
3440 61 76 61 69 6c 61 62 6c 65 29 0d 0d 69 66 20 7b 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 74 available)..if.{[info.commands.t
3460 63 6c 4c 6f 67 5d 20 3d 3d 20 22 22 7d 20 7b 0d 20 20 20 20 70 72 6f 63 20 74 63 6c 4c 6f 67 20 clLog].==.""}.{.....proc.tclLog.
3480 7b 73 74 72 69 6e 67 7d 20 7b 0d 09 63 61 74 63 68 20 7b 70 75 74 73 20 73 74 64 65 72 72 20 24 {string}.{..catch.{puts.stderr.$
34a0 73 74 72 69 6e 67 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 54 68 65 20 70 72 6f 63 73 20 64 65 66 string}.....}.}..#.The.procs.def
34c0 69 6e 65 64 20 69 6e 20 74 68 69 73 20 66 69 6c 65 20 74 68 61 74 20 68 61 76 65 20 61 20 6c 65 ined.in.this.file.that.have.a.le
34e0 61 64 69 6e 67 20 73 70 61 63 65 0d 23 20 61 72 65 20 27 68 69 64 64 65 6e 27 20 66 72 6f 6d 20 ading.space.#.are.'hidden'.from.
3500 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 20 62 65 63 61 75 73 65 20 74 68 65 79 20 61 72 65 20 6e 6f auto_mkindex.because.they.are.no
3520 74 0d 23 20 61 75 74 6f 2d 6c 6f 61 64 61 62 6c 65 2e 0d 0d 0d 23 20 75 6e 6b 6e 6f 77 6e 20 2d t.#.auto-loadable....#.unknown.-
3540 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 77 68 65 -.#.This.procedure.is.called.whe
3560 6e 20 61 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 68 61 74 20 n.a.Tcl.command.is.invoked.that.
3580 64 6f 65 73 6e 27 74 0d 23 20 65 78 69 73 74 20 69 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 doesn't.#.exist.in.the.interpret
35a0 65 72 2e 20 20 49 74 20 74 61 6b 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 65 70 er...It.takes.the.following.step
35c0 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 0d 23 20 63 6f 6d 6d 61 6e 64 20 61 76 61 69 6c 61 62 6c s.to.make.the.#.command.availabl
35e0 65 3a 0d 23 0d 23 09 31 2e 20 53 65 65 20 69 66 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 20 66 61 e:.#.#.1..See.if.the.autoload.fa
3600 63 69 6c 69 74 79 20 63 61 6e 20 6c 6f 63 61 74 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 69 6e cility.can.locate.the.command.in
3620 20 61 0d 23 09 20 20 20 54 63 6c 20 73 63 72 69 70 74 20 66 69 6c 65 2e 20 20 49 66 20 73 6f 2c .a.#....Tcl.script.file...If.so,
3640 20 6c 6f 61 64 20 69 74 20 61 6e 64 20 65 78 65 63 75 74 65 20 69 74 2e 0d 23 09 32 2e 20 49 66 .load.it.and.execute.it..#.2..If
3660 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 77 61 73 20 69 6e 76 6f 6b 65 64 20 69 6e 74 65 72 61 63 .the.command.was.invoked.interac
3680 74 69 76 65 6c 79 20 61 74 20 74 6f 70 2d 6c 65 76 65 6c 3a 0d 23 09 20 20 20 20 28 61 29 20 73 tively.at.top-level:.#.....(a).s
36a0 65 65 20 69 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 65 78 69 73 74 73 20 61 73 20 61 6e 20 65 ee.if.the.command.exists.as.an.e
36c0 78 65 63 75 74 61 62 6c 65 20 55 4e 49 58 20 70 72 6f 67 72 61 6d 2e 0d 23 09 09 49 66 20 73 6f xecutable.UNIX.program..#..If.so
36e0 2c 20 22 65 78 65 63 22 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0d 23 09 20 20 20 20 28 62 29 20 ,."exec".the.command..#.....(b).
3700 73 65 65 20 69 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 71 75 65 73 74 73 20 63 73 68 2d see.if.the.command.requests.csh-
3720 6c 69 6b 65 20 68 69 73 74 6f 72 79 20 73 75 62 73 74 69 74 75 74 69 6f 6e 0d 23 09 09 69 6e 20 like.history.substitution.#..in.
3740 6f 6e 65 20 6f 66 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 66 6f 72 6d 73 20 21 21 2c 20 21 3c 6e 75 one.of.the.common.forms.!!,.!<nu
3760 6d 62 65 72 3e 2c 20 6f 72 20 5e 6f 6c 64 5e 6e 65 77 2e 20 20 49 66 0d 23 09 09 73 6f 2c 20 65 mber>,.or.^old^new...If.#..so,.e
3780 6d 75 6c 61 74 65 20 63 73 68 27 73 20 68 69 73 74 6f 72 79 20 73 75 62 73 74 69 74 75 74 69 6f mulate.csh's.history.substitutio
37a0 6e 2e 0d 23 09 20 20 20 20 28 63 29 20 73 65 65 20 69 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 n..#.....(c).see.if.the.command.
37c0 69 73 20 61 20 75 6e 69 71 75 65 20 61 62 62 72 65 76 69 61 74 69 6f 6e 20 66 6f 72 20 61 6e 6f is.a.unique.abbreviation.for.ano
37e0 74 68 65 72 0d 23 09 09 63 6f 6d 6d 61 6e 64 2e 20 20 49 66 20 73 6f 2c 20 69 6e 76 6f 6b 65 20 ther.#..command...If.so,.invoke.
3800 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 61 72 the.command..#.#.Arguments:.#.ar
3820 67 73 20 2d 09 41 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 74 gs.-.A.list.whose.elements.are.t
3840 68 65 20 77 6f 72 64 73 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0d 23 09 09 63 6f 6d 6d he.words.of.the.original.#..comm
3860 61 6e 64 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 2e and,.including.the.command.name.
3880 0d 0d 20 70 72 6f 63 20 75 6e 6b 6e 6f 77 6e 20 61 72 67 73 20 7b 0d 20 20 20 20 67 6c 6f 62 61 ...proc.unknown.args.{.....globa
38a0 6c 20 61 75 74 6f 5f 6e 6f 65 78 65 63 20 61 75 74 6f 5f 6e 6f 6c 6f 61 64 20 65 6e 76 20 75 6e l.auto_noexec.auto_noload.env.un
38c0 6b 6e 6f 77 6e 5f 70 65 6e 64 69 6e 67 20 74 63 6c 5f 69 6e 74 65 72 61 63 74 69 76 65 0d 20 20 known_pending.tcl_interactive...
38e0 20 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 43 6f 64 65 20 65 72 72 6f 72 49 6e 66 6f 0d 0d 20 20 ..global.errorCode.errorInfo....
3900 20 20 23 20 53 61 76 65 20 74 68 65 20 76 61 6c 75 65 73 20 6f 66 20 65 72 72 6f 72 43 6f 64 65 ..#.Save.the.values.of.errorCode
3920 20 61 6e 64 20 65 72 72 6f 72 49 6e 66 6f 20 76 61 72 69 61 62 6c 65 73 2c 20 73 69 6e 63 65 20 .and.errorInfo.variables,.since.
3940 74 68 65 79 0d 20 20 20 20 23 20 6d 61 79 20 67 65 74 20 6d 6f 64 69 66 69 65 64 20 69 66 20 63 they.....#.may.get.modified.if.c
3960 61 75 67 68 74 20 65 72 72 6f 72 73 20 6f 63 63 75 72 20 62 65 6c 6f 77 2e 20 20 54 68 65 20 76 aught.errors.occur.below...The.v
3980 61 72 69 61 62 6c 65 73 20 77 69 6c 6c 0d 20 20 20 20 23 20 62 65 20 72 65 73 74 6f 72 65 64 20 ariables.will.....#.be.restored.
39a0 6a 75 73 74 20 62 65 66 6f 72 65 20 72 65 2d 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 6d 69 73 just.before.re-executing.the.mis
39c0 73 69 6e 67 20 63 6f 6d 6d 61 6e 64 2e 0d 0d 20 20 20 20 73 65 74 20 73 61 76 65 64 45 72 72 6f sing.command.......set.savedErro
39e0 72 43 6f 64 65 20 24 65 72 72 6f 72 43 6f 64 65 0d 20 20 20 20 73 65 74 20 73 61 76 65 64 45 72 rCode.$errorCode.....set.savedEr
3a00 72 6f 72 49 6e 66 6f 20 24 65 72 72 6f 72 49 6e 66 6f 0d 20 20 20 20 73 65 74 20 6e 61 6d 65 20 rorInfo.$errorInfo.....set.name.
3a20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 30 5d 0d 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 [lindex.$args.0].....if.![info.e
3a40 78 69 73 74 73 20 61 75 74 6f 5f 6e 6f 6c 6f 61 64 5d 20 7b 0d 09 23 0d 09 23 20 4d 61 6b 65 20 xists.auto_noload].{..#..#.Make.
3a60 73 75 72 65 20 77 65 27 72 65 20 6e 6f 74 20 74 72 79 69 6e 67 20 74 6f 20 6c 6f 61 64 20 74 68 sure.we're.not.trying.to.load.th
3a80 65 20 73 61 6d 65 20 70 72 6f 63 20 74 77 69 63 65 2e 0d 09 23 0d 09 69 66 20 5b 69 6e 66 6f 20 e.same.proc.twice...#..if.[info.
3aa0 65 78 69 73 74 73 20 75 6e 6b 6e 6f 77 6e 5f 70 65 6e 64 69 6e 67 28 24 6e 61 6d 65 29 5d 20 7b exists.unknown_pending($name)].{
3ac0 0d 09 20 20 20 20 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 73 65 6c 66 2d 72 ......return.-code.error."self-r
3ae0 65 66 65 72 65 6e 74 69 61 6c 20 72 65 63 75 72 73 69 6f 6e 20 69 6e 20 5c 22 75 6e 6b 6e 6f 77 eferential.recursion.in.\"unknow
3b00 6e 5c 22 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 20 5c 22 24 6e 61 6d 65 5c 22 22 3b 0d 09 7d 0d 09 n\".for.command.\"$name\"";..}..
3b20 73 65 74 20 75 6e 6b 6e 6f 77 6e 5f 70 65 6e 64 69 6e 67 28 24 6e 61 6d 65 29 20 70 65 6e 64 69 set.unknown_pending($name).pendi
3b40 6e 67 3b 0d 09 73 65 74 20 72 65 74 20 5b 63 61 74 63 68 20 7b 61 75 74 6f 5f 6c 6f 61 64 20 24 ng;..set.ret.[catch.{auto_load.$
3b60 6e 61 6d 65 20 5b 75 70 6c 65 76 65 6c 20 31 20 7b 6e 61 6d 65 73 70 61 63 65 20 63 75 72 72 65 name.[uplevel.1.{namespace.curre
3b80 6e 74 7d 5d 7d 20 6d 73 67 5d 0d 09 75 6e 73 65 74 20 75 6e 6b 6e 6f 77 6e 5f 70 65 6e 64 69 6e nt}]}.msg]..unset.unknown_pendin
3ba0 67 28 24 6e 61 6d 65 29 3b 0d 09 69 66 20 7b 24 72 65 74 20 21 3d 20 30 7d 20 7b 0d 09 20 20 20 g($name);..if.{$ret.!=.0}.{.....
3bc0 20 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 24 72 65 74 20 2d 65 72 72 6f 72 63 6f 64 65 20 24 65 .return.-code.$ret.-errorcode.$e
3be0 72 72 6f 72 43 6f 64 65 20 5c 0d 09 09 22 65 72 72 6f 72 20 77 68 69 6c 65 20 61 75 74 6f 6c 6f rrorCode.\..."error.while.autolo
3c00 61 64 69 6e 67 20 5c 22 24 6e 61 6d 65 5c 22 3a 20 24 6d 73 67 22 0d 09 7d 0d 09 69 66 20 21 5b ading.\"$name\":.$msg"..}..if.![
3c20 61 72 72 61 79 20 73 69 7a 65 20 75 6e 6b 6e 6f 77 6e 5f 70 65 6e 64 69 6e 67 5d 20 7b 0d 09 20 array.size.unknown_pending].{...
3c40 20 20 20 75 6e 73 65 74 20 75 6e 6b 6e 6f 77 6e 5f 70 65 6e 64 69 6e 67 0d 09 7d 0d 09 69 66 20 ...unset.unknown_pending..}..if.
3c60 24 6d 73 67 20 7b 0d 09 20 20 20 20 73 65 74 20 65 72 72 6f 72 43 6f 64 65 20 24 73 61 76 65 64 $msg.{......set.errorCode.$saved
3c80 45 72 72 6f 72 43 6f 64 65 0d 09 20 20 20 20 73 65 74 20 65 72 72 6f 72 49 6e 66 6f 20 24 73 61 ErrorCode......set.errorInfo.$sa
3ca0 76 65 64 45 72 72 6f 72 49 6e 66 6f 0d 09 20 20 20 20 73 65 74 20 63 6f 64 65 20 5b 63 61 74 63 vedErrorInfo......set.code.[catc
3cc0 68 20 7b 75 70 6c 65 76 65 6c 20 31 20 24 61 72 67 73 7d 20 6d 73 67 5d 0d 09 20 20 20 20 69 66 h.{uplevel.1.$args}.msg]......if
3ce0 20 7b 24 63 6f 64 65 20 3d 3d 20 20 31 7d 20 7b 0d 09 09 23 0d 09 09 23 20 53 74 72 69 70 20 74 .{$code.==..1}.{...#...#.Strip.t
3d00 68 65 20 6c 61 73 74 20 66 69 76 65 20 6c 69 6e 65 73 20 6f 66 66 20 74 68 65 20 65 72 72 6f 72 he.last.five.lines.off.the.error
3d20 20 73 74 61 63 6b 20 28 74 68 65 79 27 72 65 0d 09 09 23 20 66 72 6f 6d 20 74 68 65 20 22 75 70 .stack.(they're...#.from.the."up
3d40 6c 65 76 65 6c 22 20 63 6f 6d 6d 61 6e 64 29 2e 0d 09 09 23 0d 0d 09 09 73 65 74 20 6e 65 77 20 level".command)....#....set.new.
3d60 5b 73 70 6c 69 74 20 24 65 72 72 6f 72 49 6e 66 6f 20 5c 6e 5d 0d 09 09 73 65 74 20 6e 65 77 20 [split.$errorInfo.\n]...set.new.
3d80 5b 6a 6f 69 6e 20 5b 6c 72 61 6e 67 65 20 24 6e 65 77 20 30 20 5b 65 78 70 72 20 5b 6c 6c 65 6e [join.[lrange.$new.0.[expr.[llen
3da0 67 74 68 20 24 6e 65 77 5d 20 2d 20 36 5d 5d 20 5c 6e 5d 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f gth.$new].-.6]].\n]...return.-co
3dc0 64 65 20 65 72 72 6f 72 20 2d 65 72 72 6f 72 63 6f 64 65 20 24 65 72 72 6f 72 43 6f 64 65 20 5c de.error.-errorcode.$errorCode.\
3de0 0d 09 09 09 2d 65 72 72 6f 72 69 6e 66 6f 20 24 6e 65 77 20 24 6d 73 67 0d 09 20 20 20 20 7d 20 ....-errorinfo.$new.$msg......}.
3e00 65 6c 73 65 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 24 63 6f 64 65 20 24 6d 73 67 else.{...return.-code.$code.$msg
3e20 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 69 66 20 7b 28 5b 69 6e 66 6f ......}..}.....}......if.{([info
3e40 20 6c 65 76 65 6c 5d 20 3d 3d 20 31 29 20 26 26 20 28 5b 69 6e 66 6f 20 73 63 72 69 70 74 5d 20 .level].==.1).&&.([info.script].
3e60 3d 3d 20 22 22 29 20 5c 0d 09 20 20 20 20 26 26 20 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 63 ==."").\......&&.[info.exists.tc
3e80 6c 5f 69 6e 74 65 72 61 63 74 69 76 65 5d 20 26 26 20 24 74 63 6c 5f 69 6e 74 65 72 61 63 74 69 l_interactive].&&.$tcl_interacti
3ea0 76 65 7d 20 7b 0d 09 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 6e 6f 65 ve}.{..if.![info.exists.auto_noe
3ec0 78 65 63 5d 20 7b 0d 09 20 20 20 20 73 65 74 20 6e 65 77 20 5b 61 75 74 6f 5f 65 78 65 63 6f 6b xec].{......set.new.[auto_execok
3ee0 20 24 6e 61 6d 65 5d 0d 09 20 20 20 20 69 66 20 7b 24 6e 65 77 20 21 3d 20 22 22 7d 20 7b 0d 09 .$name]......if.{$new.!=.""}.{..
3f00 09 73 65 74 20 65 72 72 6f 72 43 6f 64 65 20 24 73 61 76 65 64 45 72 72 6f 72 43 6f 64 65 0d 09 .set.errorCode.$savedErrorCode..
3f20 09 73 65 74 20 65 72 72 6f 72 49 6e 66 6f 20 24 73 61 76 65 64 45 72 72 6f 72 49 6e 66 6f 0d 09 .set.errorInfo.$savedErrorInfo..
3f40 09 73 65 74 20 72 65 64 69 72 20 22 22 0d 09 09 69 66 20 7b 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e .set.redir.""...if.{[info.comman
3f60 64 73 20 63 6f 6e 73 6f 6c 65 5d 20 3d 3d 20 22 22 7d 20 7b 0d 09 09 20 20 20 20 73 65 74 20 72 ds.console].==.""}.{.......set.r
3f80 65 64 69 72 20 22 3e 26 40 73 74 64 6f 75 74 20 3c 40 73 74 64 69 6e 22 0d 09 09 7d 0d 09 09 72 edir.">&@stdout.<@stdin"...}...r
3fa0 65 74 75 72 6e 20 5b 75 70 6c 65 76 65 6c 20 65 78 65 63 20 24 72 65 64 69 72 20 24 6e 65 77 20 eturn.[uplevel.exec.$redir.$new.
3fc0 5b 6c 72 61 6e 67 65 20 24 61 72 67 73 20 31 20 65 6e 64 5d 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d [lrange.$args.1.end]]......}..}.
3fe0 09 73 65 74 20 65 72 72 6f 72 43 6f 64 65 20 24 73 61 76 65 64 45 72 72 6f 72 43 6f 64 65 0d 09 .set.errorCode.$savedErrorCode..
4000 73 65 74 20 65 72 72 6f 72 49 6e 66 6f 20 24 73 61 76 65 64 45 72 72 6f 72 49 6e 66 6f 0d 09 69 set.errorInfo.$savedErrorInfo..i
4020 66 20 7b 24 6e 61 6d 65 20 3d 3d 20 22 21 21 22 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 6e 65 77 f.{$name.==."!!"}.{......set.new
4040 63 6d 64 20 5b 68 69 73 74 6f 72 79 20 65 76 65 6e 74 5d 0d 09 7d 20 65 6c 73 65 69 66 20 7b 5b cmd.[history.event]..}.elseif.{[
4060 72 65 67 65 78 70 20 7b 5e 21 28 2e 2b 29 24 7d 20 24 6e 61 6d 65 20 64 75 6d 6d 79 20 65 76 65 regexp.{^!(.+)$}.$name.dummy.eve
4080 6e 74 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 6e 65 77 63 6d 64 20 5b 68 69 73 74 6f 72 79 20 nt]}.{......set.newcmd.[history.
40a0 65 76 65 6e 74 20 24 65 76 65 6e 74 5d 0d 09 7d 20 65 6c 73 65 69 66 20 7b 5b 72 65 67 65 78 70 event.$event]..}.elseif.{[regexp
40c0 20 7b 5e 5c 5e 28 5b 5e 5e 5d 2a 29 5c 5e 28 5b 5e 5e 5d 2a 29 5c 5e 3f 24 7d 20 24 6e 61 6d 65 .{^\^([^^]*)\^([^^]*)\^?$}.$name
40e0 20 64 75 6d 6d 79 20 6f 6c 64 20 6e 65 77 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 6e 65 77 63 .dummy.old.new]}.{......set.newc
4100 6d 64 20 5b 68 69 73 74 6f 72 79 20 65 76 65 6e 74 20 2d 31 5d 0d 09 20 20 20 20 63 61 74 63 68 md.[history.event.-1]......catch
4120 20 7b 72 65 67 73 75 62 20 2d 61 6c 6c 20 2d 2d 20 24 6f 6c 64 20 24 6e 65 77 63 6d 64 20 24 6e .{regsub.-all.--.$old.$newcmd.$n
4140 65 77 20 6e 65 77 63 6d 64 7d 0d 09 7d 0d 09 69 66 20 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e ew.newcmd}..}..if.[info.exists.n
4160 65 77 63 6d 64 5d 20 7b 0d 09 20 20 20 20 74 63 6c 4c 6f 67 20 24 6e 65 77 63 6d 64 0d 09 20 20 ewcmd].{......tclLog.$newcmd....
4180 20 20 68 69 73 74 6f 72 79 20 63 68 61 6e 67 65 20 24 6e 65 77 63 6d 64 20 30 0d 09 20 20 20 20 ..history.change.$newcmd.0......
41a0 72 65 74 75 72 6e 20 5b 75 70 6c 65 76 65 6c 20 24 6e 65 77 63 6d 64 5d 0d 09 7d 0d 0d 09 73 65 return.[uplevel.$newcmd]..}...se
41c0 74 20 72 65 74 20 5b 63 61 74 63 68 20 7b 73 65 74 20 63 6d 64 73 20 5b 69 6e 66 6f 20 63 6f 6d t.ret.[catch.{set.cmds.[info.com
41e0 6d 61 6e 64 73 20 24 6e 61 6d 65 2a 5d 7d 20 6d 73 67 5d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 mands.$name*]}.msg]..if.{[string
4200 20 63 6f 6d 70 61 72 65 20 24 6e 61 6d 65 20 22 3a 3a 22 5d 20 3d 3d 20 30 7d 20 7b 0d 09 20 20 .compare.$name."::"].==.0}.{....
4220 20 20 73 65 74 20 6e 61 6d 65 20 22 22 0d 09 7d 0d 09 69 66 20 7b 24 72 65 74 20 21 3d 20 30 7d ..set.name.""..}..if.{$ret.!=.0}
4240 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 24 72 65 74 20 2d 65 72 72 6f 72 .{......return.-code.$ret.-error
4260 63 6f 64 65 20 24 65 72 72 6f 72 43 6f 64 65 20 5c 0d 09 09 22 65 72 72 6f 72 20 69 6e 20 75 6e code.$errorCode.\..."error.in.un
4280 6b 6e 6f 77 6e 20 77 68 69 6c 65 20 63 68 65 63 6b 69 6e 67 20 69 66 20 5c 22 24 6e 61 6d 65 5c known.while.checking.if.\"$name\
42a0 22 20 69 73 20 61 20 75 6e 69 71 75 65 20 63 6f 6d 6d 61 6e 64 20 61 62 62 72 65 76 69 61 74 69 ".is.a.unique.command.abbreviati
42c0 6f 6e 3a 20 24 6d 73 67 22 0d 09 7d 0d 09 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 63 6d 64 73 on:.$msg"..}..if.{[llength.$cmds
42e0 5d 20 3d 3d 20 31 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 75 70 6c 65 76 65 6c 20 5b ].==.1}.{......return.[uplevel.[
4300 6c 72 65 70 6c 61 63 65 20 24 61 72 67 73 20 30 20 30 20 24 63 6d 64 73 5d 5d 0d 09 7d 0d 09 69 lreplace.$args.0.0.$cmds]]..}..i
4320 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 63 6d 64 73 5d 20 21 3d 20 30 7d 20 7b 0d 09 20 20 20 20 f.{[llength.$cmds].!=.0}.{......
4340 69 66 20 7b 24 6e 61 6d 65 20 3d 3d 20 22 22 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 if.{$name.==.""}.{...return.-cod
4360 65 20 65 72 72 6f 72 20 22 65 6d 70 74 79 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 5c 22 5c 22 e.error."empty.command.name.\"\"
4380 22 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 "......}.else.{...return.-code.e
43a0 72 72 6f 72 20 5c 0d 09 09 09 22 61 6d 62 69 67 75 6f 75 73 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d rror.\...."ambiguous.command.nam
43c0 65 20 5c 22 24 6e 61 6d 65 5c 22 3a 20 5b 6c 73 6f 72 74 20 24 63 6d 64 73 5d 22 0d 09 20 20 20 e.\"$name\":.[lsort.$cmds]".....
43e0 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 .}..}.....}.....return.-code.err
4400 6f 72 20 22 69 6e 76 61 6c 69 64 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 5c 22 24 6e 61 6d 65 or."invalid.command.name.\"$name
4420 5c 22 22 0d 7d 0d 0d 23 20 61 75 74 6f 5f 6c 6f 61 64 20 2d 2d 0d 23 20 43 68 65 63 6b 73 20 61 \"".}..#.auto_load.--.#.Checks.a
4440 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 20 6c 69 62 72 61 72 79 20 64 69 72 65 63 74 6f 72 69 .collection.of.library.directori
4460 65 73 20 74 6f 20 73 65 65 20 69 66 20 61 20 70 72 6f 63 65 64 75 72 65 0d 23 20 69 73 20 64 65 es.to.see.if.a.procedure.#.is.de
4480 66 69 6e 65 64 20 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 6d 2e 20 20 49 66 20 73 6f 2c 20 69 74 fined.in.one.of.them...If.so,.it
44a0 20 73 6f 75 72 63 65 73 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0d 23 20 6c 69 62 72 61 .sources.the.appropriate.#.libra
44c0 72 79 20 66 69 6c 65 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 2e ry.file.to.create.the.procedure.
44e0 20 20 52 65 74 75 72 6e 73 20 31 20 69 66 20 69 74 20 73 75 63 63 65 73 73 66 75 6c 6c 79 0d 23 ..Returns.1.if.it.successfully.#
4500 20 6c 6f 61 64 65 64 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 2c 20 30 20 6f 74 68 65 72 77 69 .loaded.the.procedure,.0.otherwi
4520 73 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 20 0d 23 20 63 6d 64 20 2d 09 09 09 4e 61 se..#.#.Arguments:..#.cmd.-...Na
4540 6d 65 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 66 69 6e 64 20 61 6e 64 20 6c 6f me.of.the.command.to.find.and.lo
4560 61 64 2e 0d 23 20 6e 61 6d 65 73 70 61 63 65 20 28 6f 70 74 69 6f 6e 61 6c 29 20 20 54 68 65 20 ad..#.namespace.(optional)..The.
4580 6e 61 6d 65 73 70 61 63 65 20 77 68 65 72 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 62 namespace.where.the.command.is.b
45a0 65 69 6e 67 20 75 73 65 64 20 2d 20 6d 75 73 74 20 62 65 0d 23 20 20 20 20 20 20 20 20 20 20 20 eing.used.-.must.be.#...........
45c0 20 20 20 20 20 20 20 20 20 20 20 20 61 20 63 61 6e 6f 6e 69 63 61 6c 20 6e 61 6d 65 73 70 61 63 ............a.canonical.namespac
45e0 65 20 61 73 20 72 65 74 75 72 6e 65 64 20 5b 6e 61 6d 65 73 70 61 63 65 20 63 75 72 72 65 6e 74 e.as.returned.[namespace.current
4600 5d 0d 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 69 6e ].#.......................for.in
4620 73 74 61 6e 63 65 2e 20 49 66 20 6e 6f 74 20 67 69 76 65 6e 2c 20 6e 61 6d 65 73 70 61 63 65 20 stance..If.not.given,.namespace.
4640 63 75 72 72 65 6e 74 20 69 73 20 75 73 65 64 2e 0d 0d 20 70 72 6f 63 20 61 75 74 6f 5f 6c 6f 61 current.is.used....proc.auto_loa
4660 64 20 7b 63 6d 64 20 7b 6e 61 6d 65 73 70 61 63 65 20 7b 7d 7d 7d 20 7b 0d 20 20 20 20 67 6c 6f d.{cmd.{namespace.{}}}.{.....glo
4680 62 61 6c 20 61 75 74 6f 5f 69 6e 64 65 78 20 61 75 74 6f 5f 6f 6c 64 70 61 74 68 20 61 75 74 6f bal.auto_index.auto_oldpath.auto
46a0 5f 70 61 74 68 20 65 6e 76 20 65 72 72 6f 72 49 6e 66 6f 20 65 72 72 6f 72 43 6f 64 65 0d 0d 20 _path.env.errorInfo.errorCode...
46c0 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 6e 61 6d 65 73 70 61 63 65 ...if.{[string.length.$namespace
46e0 5d 20 3d 3d 20 30 7d 20 7b 0d 09 73 65 74 20 6e 61 6d 65 73 70 61 63 65 20 5b 75 70 6c 65 76 65 ].==.0}.{..set.namespace.[upleve
4700 6c 20 7b 6e 61 6d 65 73 70 61 63 65 20 63 75 72 72 65 6e 74 7d 5d 0d 20 20 20 20 7d 0d 20 20 20 l.{namespace.current}].....}....
4720 20 73 65 74 20 6e 61 6d 65 4c 69 73 74 20 5b 61 75 74 6f 5f 71 75 61 6c 69 66 79 20 24 63 6d 64 .set.nameList.[auto_qualify.$cmd
4740 20 24 6e 61 6d 65 73 70 61 63 65 5d 0d 20 20 20 20 23 20 77 6f 72 6b 61 72 6f 75 6e 64 20 6e 6f .$namespace].....#.workaround.no
4760 6e 20 63 61 6e 6f 6e 69 63 61 6c 20 61 75 74 6f 5f 69 6e 64 65 78 20 65 6e 74 72 69 65 73 20 74 n.canonical.auto_index.entries.t
4780 68 61 74 20 6d 69 67 68 74 20 62 65 20 61 72 6f 75 6e 64 0d 20 20 20 20 23 20 66 72 6f 6d 20 6f hat.might.be.around.....#.from.o
47a0 6c 64 65 72 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 20 76 65 72 73 69 6f 6e 73 0d 20 20 20 20 6c lder.auto_mkindex.versions.....l
47c0 61 70 70 65 6e 64 20 6e 61 6d 65 4c 69 73 74 20 24 63 6d 64 0d 20 20 20 20 66 6f 72 65 61 63 68 append.nameList.$cmd.....foreach
47e0 20 6e 61 6d 65 20 24 6e 61 6d 65 4c 69 73 74 20 7b 0d 09 69 66 20 5b 69 6e 66 6f 20 65 78 69 73 .name.$nameList.{..if.[info.exis
4800 74 73 20 61 75 74 6f 5f 69 6e 64 65 78 28 24 6e 61 6d 65 29 5d 20 7b 0d 09 20 20 20 20 75 70 6c ts.auto_index($name)].{......upl
4820 65 76 65 6c 20 23 30 20 24 61 75 74 6f 5f 69 6e 64 65 78 28 24 6e 61 6d 65 29 0d 09 20 20 20 20 evel.#0.$auto_index($name)......
4840 72 65 74 75 72 6e 20 5b 65 78 70 72 20 7b 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 24 6e 61 return.[expr.{[info.commands.$na
4860 6d 65 5d 20 21 3d 20 22 22 7d 5d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 21 5b 69 6e me].!=.""}]..}.....}.....if.![in
4880 66 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 70 61 74 68 5d 20 7b 0d 09 72 65 74 75 72 6e 20 30 fo.exists.auto_path].{..return.0
48a0 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f .....}.....if.[info.exists.auto_
48c0 6f 6c 64 70 61 74 68 5d 20 7b 0d 09 69 66 20 7b 24 61 75 74 6f 5f 6f 6c 64 70 61 74 68 20 3d 3d oldpath].{..if.{$auto_oldpath.==
48e0 20 24 61 75 74 6f 5f 70 61 74 68 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 30 0d 09 7d 0d .$auto_path}.{......return.0..}.
4900 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 61 75 74 6f 5f 6f 6c 64 70 61 74 68 20 24 61 75 74 6f ....}.....set.auto_oldpath.$auto
4920 5f 70 61 74 68 0d 0d 20 20 20 20 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 61 72 65 20 61 20 73 _path......#.Check.if.we.are.a.s
4940 61 66 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 77 afe.interpreter..In.that.case,.w
4960 65 20 73 75 70 70 6f 72 74 20 6f 6e 6c 79 0d 20 20 20 20 23 20 6e 65 77 65 72 20 66 6f 72 6d 61 e.support.only.....#.newer.forma
4980 74 20 74 63 6c 49 6e 64 65 78 20 66 69 6c 65 73 2e 0d 0d 20 20 20 20 73 65 74 20 69 73 73 61 66 t.tclIndex.files.......set.issaf
49a0 65 20 5b 69 6e 74 65 72 70 20 69 73 73 61 66 65 5d 0d 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 e.[interp.issafe].....for.{set.i
49c0 20 5b 65 78 70 72 20 5b 6c 6c 65 6e 67 74 68 20 24 61 75 74 6f 5f 70 61 74 68 5d 20 2d 20 31 5d .[expr.[llength.$auto_path].-.1]
49e0 7d 20 7b 24 69 20 3e 3d 20 30 7d 20 7b 69 6e 63 72 20 69 20 2d 31 7d 20 7b 0d 09 73 65 74 20 64 }.{$i.>=.0}.{incr.i.-1}.{..set.d
4a00 69 72 20 5b 6c 69 6e 64 65 78 20 24 61 75 74 6f 5f 70 61 74 68 20 24 69 5d 0d 09 73 65 74 20 66 ir.[lindex.$auto_path.$i]..set.f
4a20 20 22 22 0d 09 69 66 20 7b 24 69 73 73 61 66 65 7d 20 7b 0d 09 20 20 20 20 63 61 74 63 68 20 7b .""..if.{$issafe}.{......catch.{
4a40 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 74 63 6c 49 6e 64 65 78 5d source.[file.join.$dir.tclIndex]
4a60 7d 0d 09 7d 20 65 6c 73 65 69 66 20 5b 63 61 74 63 68 20 7b 73 65 74 20 66 20 5b 6f 70 65 6e 20 }..}.elseif.[catch.{set.f.[open.
4a80 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 74 63 6c 49 6e 64 65 78 5d 5d 7d 5d 20 7b 0d 09 [file.join.$dir.tclIndex]]}].{..
4aa0 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 ....continue..}.else.{......set.
4ac0 65 72 72 6f 72 20 5b 63 61 74 63 68 20 7b 0d 09 09 73 65 74 20 69 64 20 5b 67 65 74 73 20 24 66 error.[catch.{...set.id.[gets.$f
4ae0 5d 0d 09 09 69 66 20 7b 24 69 64 20 3d 3d 20 22 23 20 54 63 6c 20 61 75 74 6f 6c 6f 61 64 20 69 ]...if.{$id.==."#.Tcl.autoload.i
4b00 6e 64 65 78 20 66 69 6c 65 2c 20 76 65 72 73 69 6f 6e 20 32 2e 30 22 7d 20 7b 0d 09 09 20 20 20 ndex.file,.version.2.0"}.{......
4b20 20 65 76 61 6c 20 5b 72 65 61 64 20 24 66 5d 0d 09 09 7d 20 65 6c 73 65 69 66 20 7b 24 69 64 20 .eval.[read.$f]...}.elseif.{$id.
4b40 3d 3d 20 5c 0d 09 09 20 20 20 20 22 23 20 54 63 6c 20 61 75 74 6f 6c 6f 61 64 20 69 6e 64 65 78 ==.\......."#.Tcl.autoload.index
4b60 20 66 69 6c 65 3a 20 65 61 63 68 20 6c 69 6e 65 20 69 64 65 6e 74 69 66 69 65 73 20 61 20 54 63 .file:.each.line.identifies.a.Tc
4b80 6c 22 7d 20 7b 0d 09 09 20 20 20 20 77 68 69 6c 65 20 7b 5b 67 65 74 73 20 24 66 20 6c 69 6e 65 l"}.{.......while.{[gets.$f.line
4ba0 5d 20 3e 3d 20 30 7d 20 7b 0d 09 09 09 69 66 20 7b 28 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 20 ].>=.0}.{....if.{([string.index.
4bc0 24 6c 69 6e 65 20 30 5d 20 3d 3d 20 22 23 22 29 0d 09 09 09 09 7c 7c 20 28 5b 6c 6c 65 6e 67 74 $line.0].==."#").....||.([llengt
4be0 68 20 24 6c 69 6e 65 5d 20 21 3d 20 32 29 7d 20 7b 0d 09 09 09 20 20 20 20 63 6f 6e 74 69 6e 75 h.$line].!=.2)}.{........continu
4c00 65 0d 09 09 09 7d 0d 09 09 09 73 65 74 20 6e 61 6d 65 20 5b 6c 69 6e 64 65 78 20 24 6c 69 6e 65 e....}....set.name.[lindex.$line
4c20 20 30 5d 0d 09 09 09 73 65 74 20 61 75 74 6f 5f 69 6e 64 65 78 28 24 6e 61 6d 65 29 20 5c 0d 09 .0]....set.auto_index($name).\..
4c40 09 09 20 20 20 20 22 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 5b 6c ......"source.[file.join.$dir.[l
4c60 69 6e 64 65 78 20 24 6c 69 6e 65 20 31 5d 5d 22 0d 09 09 20 20 20 20 7d 0d 09 09 7d 20 65 6c 73 index.$line.1]]".......}...}.els
4c80 65 20 7b 0d 09 09 20 20 20 20 65 72 72 6f 72 20 5c 0d 09 09 20 20 20 20 20 20 22 5b 66 69 6c 65 e.{.......error.\........."[file
4ca0 20 6a 6f 69 6e 20 24 64 69 72 20 74 63 6c 49 6e 64 65 78 5d 20 69 73 6e 27 74 20 61 20 70 72 6f .join.$dir.tclIndex].isn't.a.pro
4cc0 70 65 72 20 54 63 6c 20 69 6e 64 65 78 20 66 69 6c 65 22 0d 09 09 7d 0d 09 20 20 20 20 7d 20 6d per.Tcl.index.file"...}......}.m
4ce0 73 67 5d 0d 09 20 20 20 20 69 66 20 7b 24 66 20 21 3d 20 22 22 7d 20 7b 0d 09 09 63 6c 6f 73 65 sg]......if.{$f.!=.""}.{...close
4d00 20 24 66 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 24 65 72 72 6f 72 20 7b 0d 09 09 65 72 .$f......}......if.$error.{...er
4d20 72 6f 72 20 24 6d 73 67 20 24 65 72 72 6f 72 49 6e 66 6f 20 24 65 72 72 6f 72 43 6f 64 65 0d 09 ror.$msg.$errorInfo.$errorCode..
4d40 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 6e 61 6d 65 20 ....}..}.....}.....foreach.name.
4d60 24 6e 61 6d 65 4c 69 73 74 20 7b 0d 09 69 66 20 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 61 75 74 $nameList.{..if.[info.exists.aut
4d80 6f 5f 69 6e 64 65 78 28 24 6e 61 6d 65 29 5d 20 7b 0d 09 20 20 20 20 75 70 6c 65 76 65 6c 20 23 o_index($name)].{......uplevel.#
4da0 30 20 24 61 75 74 6f 5f 69 6e 64 65 78 28 24 6e 61 6d 65 29 0d 09 20 20 20 20 69 66 20 7b 5b 69 0.$auto_index($name)......if.{[i
4dc0 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 24 6e 61 6d 65 5d 20 21 3d 20 22 22 7d 20 7b 0d 09 09 72 nfo.commands.$name].!=.""}.{...r
4de0 65 74 75 72 6e 20 31 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 eturn.1......}..}.....}.....retu
4e00 72 6e 20 30 0d 7d 0d 0d 23 20 61 75 74 6f 5f 71 75 61 6c 69 66 79 20 2d 2d 0d 23 20 63 6f 6d 70 rn.0.}..#.auto_qualify.--.#.comp
4e20 75 74 65 20 61 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 69 65 64 20 6e 61 6d 65 73 20 6c 69 73 74 ute.a.fully.qualified.names.list
4e40 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20 61 75 74 6f 5f 69 6e 64 65 78 20 61 72 72 61 79 .for.use.in.the.auto_index.array
4e60 2e 0d 23 20 46 6f 72 20 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f 6e 73 2c 20 63 6f 6d 6d ..#.For.historical.reasons,.comm
4e80 61 6e 64 73 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 6e 61 6d 65 73 70 61 63 65 20 64 6f 20 ands.in.the.global.namespace.do.
4ea0 6e 6f 74 20 68 61 76 65 20 6c 65 61 64 69 6e 67 0d 23 20 3a 3a 20 69 6e 20 74 68 65 20 69 6e 64 not.have.leading.#.::.in.the.ind
4ec0 65 78 20 6b 65 79 2e 20 54 68 65 20 6c 69 73 74 20 68 61 73 20 74 77 6f 20 65 6c 65 6d 65 6e 74 ex.key..The.list.has.two.element
4ee0 73 20 77 68 65 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 69 73 0d 23 20 72 65 6c s.when.the.command.name.is.#.rel
4f00 61 74 69 76 65 20 28 6e 6f 20 6c 65 61 64 69 6e 67 20 3a 3a 29 20 61 6e 64 20 74 68 65 20 6e 61 ative.(no.leading.::).and.the.na
4f20 6d 65 73 70 61 63 65 20 69 73 20 6e 6f 74 20 74 68 65 20 67 6c 6f 62 61 6c 20 6f 6e 65 2e 20 4f mespace.is.not.the.global.one..O
4f40 74 68 65 72 77 69 73 65 0d 23 20 6f 6e 6c 79 20 6f 6e 65 20 6e 61 6d 65 20 69 73 20 72 65 74 75 therwise.#.only.one.name.is.retu
4f60 72 6e 65 64 20 28 61 6e 64 20 73 65 61 72 63 68 65 64 20 69 6e 20 74 68 65 20 61 75 74 6f 5f 69 rned.(and.searched.in.the.auto_i
4f80 6e 64 65 78 29 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 20 2d 0d 23 20 63 6d 64 09 09 54 68 ndex)..#.#.Arguments.-.#.cmd..Th
4fa0 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 2e 20 43 61 6e 20 62 65 20 61 6e 79 20 6e 61 6d 65 20 e.command.name..Can.be.any.name.
4fc0 61 63 63 65 70 74 65 64 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 0d 23 20 20 20 20 20 20 20 20 20 20 accepted.for.command.#..........
4fe0 20 20 20 20 20 69 6e 76 6f 63 61 74 69 6f 6e 73 20 28 4c 69 6b 65 20 22 66 6f 6f 3a 3a 3a 3a 62 .....invocations.(Like."foo::::b
5000 61 72 22 29 2e 0d 23 20 6e 61 6d 65 73 70 61 63 65 09 54 68 65 20 6e 61 6d 65 73 70 61 63 65 20 ar")..#.namespace.The.namespace.
5020 77 68 65 72 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 20 where.the.command.is.being.used.
5040 2d 20 6d 75 73 74 20 62 65 0d 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 20 63 61 6e 6f -.must.be.#...............a.cano
5060 6e 69 63 61 6c 20 6e 61 6d 65 73 70 61 63 65 20 61 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 5b nical.namespace.as.returned.by.[
5080 6e 61 6d 65 73 70 61 63 65 20 63 75 72 72 65 6e 74 5d 0d 23 20 20 20 20 20 20 20 20 20 20 20 20 namespace.current].#............
50a0 20 20 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 2e 0d 0d 20 70 72 6f 63 20 61 75 74 6f 5f 71 75 61 ...for.instance....proc.auto_qua
50c0 6c 69 66 79 20 7b 63 6d 64 20 6e 61 6d 65 73 70 61 63 65 7d 20 7b 0d 0d 20 20 20 20 23 20 63 6f lify.{cmd.namespace}.{......#.co
50e0 75 6e 74 20 73 65 70 61 72 61 74 6f 72 73 20 61 6e 64 20 63 6c 65 61 6e 20 74 68 65 6d 20 75 70 unt.separators.and.clean.them.up
5100 0d 20 20 20 20 23 20 28 6d 61 6b 69 6e 67 20 73 75 72 65 20 74 68 61 74 20 66 6f 6f 3a 3a 3a 3a .....#.(making.sure.that.foo::::
5120 3a 62 61 72 20 77 69 6c 6c 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 66 6f 6f 3a 3a 62 61 72 :bar.will.be.treated.as.foo::bar
5140 29 0d 20 20 20 20 73 65 74 20 6e 20 5b 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b 3a 3a 2b 7d 20 24 ).....set.n.[regsub.-all.{::+}.$
5160 63 6d 64 20 3a 3a 20 63 6d 64 5d 0d 0d 20 20 20 20 23 20 49 67 6e 6f 72 65 20 6e 61 6d 65 73 70 cmd.::.cmd]......#.Ignore.namesp
5180 61 63 65 20 69 66 20 74 68 65 20 6e 61 6d 65 20 73 74 61 72 74 73 20 77 69 74 68 20 3a 3a 0d 20 ace.if.the.name.starts.with.::..
51a0 20 20 20 23 20 48 61 6e 64 6c 65 20 73 70 65 63 69 61 6c 20 63 61 73 65 20 6f 66 20 6f 6e 6c 79 ...#.Handle.special.case.of.only
51c0 20 6c 65 61 64 69 6e 67 20 3a 3a 0d 0d 20 20 20 20 23 20 42 65 66 6f 72 65 20 65 61 63 68 20 72 .leading.::......#.Before.each.r
51e0 65 74 75 72 6e 20 63 61 73 65 20 77 65 20 67 69 76 65 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 eturn.case.we.give.an.example.of
5200 20 77 68 69 63 68 20 63 61 74 65 67 6f 72 79 20 69 74 20 69 73 0d 20 20 20 20 23 20 77 69 74 68 .which.category.it.is.....#.with
5220 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 20 3a 0d 20 20 20 20 23 20 28 20 69 6e .the.following.form.:.....#.(.in
5240 70 75 74 43 6d 64 2c 20 69 6e 70 75 74 4e 61 6d 65 53 70 61 63 65 29 20 2d 3e 20 6f 75 74 70 75 putCmd,.inputNameSpace).->.outpu
5260 74 0d 0d 20 20 20 20 69 66 20 7b 5b 72 65 67 65 78 70 20 7b 5e 3a 3a 28 2e 2a 29 24 7d 20 24 63 t......if.{[regexp.{^::(.*)$}.$c
5280 6d 64 20 78 20 74 61 69 6c 5d 7d 20 7b 0d 09 69 66 20 7b 24 6e 20 3e 20 31 7d 20 7b 0d 09 20 20 md.x.tail]}.{..if.{$n.>.1}.{....
52a0 20 20 23 20 28 20 3a 3a 66 6f 6f 3a 3a 62 61 72 20 2c 20 2a 20 29 20 2d 3e 20 3a 3a 66 6f 6f 3a ..#.(.::foo::bar.,.*.).->.::foo:
52c0 3a 62 61 72 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 6c 69 73 74 20 24 63 6d 64 5d 0d 09 7d 20 :bar......return.[list.$cmd]..}.
52e0 65 6c 73 65 20 7b 0d 09 20 20 20 20 23 20 28 20 3a 3a 67 6c 6f 62 61 6c 20 2c 20 2a 20 29 20 2d else.{......#.(.::global.,.*.).-
5300 3e 20 67 6c 6f 62 61 6c 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 6c 69 73 74 20 24 74 61 69 6c >.global......return.[list.$tail
5320 5d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 0d 20 20 20 20 23 20 50 6f 74 65 6e 74 69 61 6c 6c ]..}.....}..........#.Potentiall
5340 79 20 72 65 74 75 72 6e 69 6e 67 20 32 20 65 6c 65 6d 65 6e 74 73 20 74 6f 20 74 72 79 20 20 3a y.returning.2.elements.to.try..:
5360 0d 20 20 20 20 23 20 28 69 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 .....#.(if.the.current.namespace
5380 20 69 73 20 6e 6f 74 20 74 68 65 20 67 6c 6f 62 61 6c 20 6f 6e 65 29 0d 0d 20 20 20 20 69 66 20 .is.not.the.global.one)......if.
53a0 7b 24 6e 20 3d 3d 20 30 7d 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 {$n.==.0}.{..if.{[string.compare
53c0 20 24 6e 61 6d 65 73 70 61 63 65 20 3a 3a 5d 20 3d 3d 20 30 7d 20 7b 0d 09 20 20 20 20 23 20 28 .$namespace.::].==.0}.{......#.(
53e0 20 6e 6f 63 6f 6c 6f 6e 73 20 2c 20 3a 3a 20 29 20 2d 3e 20 6e 6f 63 6f 6c 6f 6e 73 0d 09 20 20 .nocolons.,.::.).->.nocolons....
5400 20 20 72 65 74 75 72 6e 20 5b 6c 69 73 74 20 24 63 6d 64 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 ..return.[list.$cmd]..}.else.{..
5420 20 20 20 20 23 20 28 20 6e 6f 63 6f 6c 6f 6e 73 20 2c 20 3a 3a 73 75 62 20 29 20 2d 3e 20 3a 3a ....#.(.nocolons.,.::sub.).->.::
5440 73 75 62 3a 3a 6e 6f 63 6f 6c 6f 6e 73 20 6e 6f 63 6f 6c 6f 6e 73 0d 09 20 20 20 20 72 65 74 75 sub::nocolons.nocolons......retu
5460 72 6e 20 5b 6c 69 73 74 20 24 7b 6e 61 6d 65 73 70 61 63 65 7d 3a 3a 24 63 6d 64 20 24 63 6d 64 rn.[list.${namespace}::$cmd.$cmd
5480 5d 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 ]..}.....}.else.{..if.{[string.c
54a0 6f 6d 70 61 72 65 20 24 6e 61 6d 65 73 70 61 63 65 20 3a 3a 5d 20 3d 3d 20 30 7d 20 7b 0d 09 20 ompare.$namespace.::].==.0}.{...
54c0 20 20 20 23 20 20 28 20 66 6f 6f 3a 3a 62 61 72 20 2c 20 3a 3a 20 29 20 2d 3e 20 3a 3a 66 6f 6f ...#..(.foo::bar.,.::.).->.::foo
54e0 3a 3a 62 61 72 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 6c 69 73 74 20 3a 3a 24 63 6d 64 5d 0d ::bar......return.[list.::$cmd].
5500 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 23 20 28 20 66 6f 6f 3a 3a 62 61 72 20 2c 20 3a 3a .}.else.{......#.(.foo::bar.,.::
5520 73 75 62 20 29 20 2d 3e 20 3a 3a 73 75 62 3a 3a 66 6f 6f 3a 3a 62 61 72 20 3a 3a 66 6f 6f 3a 3a sub.).->.::sub::foo::bar.::foo::
5540 62 61 72 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 6c 69 73 74 20 24 7b 6e 61 6d 65 73 70 61 63 bar......return.[list.${namespac
5560 65 7d 3a 3a 24 63 6d 64 20 3a 3a 24 63 6d 64 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 69 66 20 e}::$cmd.::$cmd]..}.....}.}..if.
5580 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 {[string.compare.$tcl_platform(p
55a0 6c 61 74 66 6f 72 6d 29 20 77 69 6e 64 6f 77 73 5d 20 3d 3d 20 30 7d 20 7b 0d 0d 23 20 61 75 74 latform).windows].==.0}.{..#.aut
55c0 6f 5f 65 78 65 63 6f 6b 20 2d 2d 0d 23 0d 23 20 52 65 74 75 72 6e 73 20 73 74 72 69 6e 67 20 74 o_execok.--.#.#.Returns.string.t
55e0 68 61 74 20 69 6e 64 69 63 61 74 65 73 20 6e 61 6d 65 20 6f 66 20 70 72 6f 67 72 61 6d 20 74 6f hat.indicates.name.of.program.to
5600 20 65 78 65 63 75 74 65 20 69 66 20 0d 23 20 6e 61 6d 65 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 .execute.if..#.name.corresponds.
5620 74 6f 20 61 20 73 68 65 6c 6c 20 62 75 69 6c 74 69 6e 20 6f 72 20 61 6e 20 65 78 65 63 75 74 61 to.a.shell.builtin.or.an.executa
5640 62 6c 65 20 69 6e 20 74 68 65 0d 23 20 57 69 6e 64 6f 77 73 20 73 65 61 72 63 68 20 70 61 74 68 ble.in.the.#.Windows.search.path
5660 2c 20 6f 72 20 22 22 20 6f 74 68 65 72 77 69 73 65 2e 20 20 42 75 69 6c 64 73 20 61 6e 20 61 73 ,.or."".otherwise...Builds.an.as
5680 73 6f 63 69 61 74 69 76 65 20 0d 23 20 61 72 72 61 79 20 61 75 74 6f 5f 65 78 65 63 73 20 74 68 sociative..#.array.auto_execs.th
56a0 61 74 20 63 61 63 68 65 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 70 72 65 76 at.caches.information.about.prev
56c0 69 6f 75 73 20 63 68 65 63 6b 73 2c 20 0d 23 20 66 6f 72 20 73 70 65 65 64 2e 0d 23 0d 23 20 41 ious.checks,..#.for.speed..#.#.A
56e0 72 67 75 6d 65 6e 74 73 3a 20 0d 23 20 6e 61 6d 65 20 2d 09 09 09 4e 61 6d 65 20 6f 66 20 61 20 rguments:..#.name.-...Name.of.a.
5700 63 6f 6d 6d 61 6e 64 2e 0d 0d 23 20 57 69 6e 64 6f 77 73 20 76 65 72 73 69 6f 6e 2e 0d 23 0d 23 command...#.Windows.version..#.#
5720 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 66 6f 20 65 78 65 63 75 74 61 62 6c 65 20 64 6f 65 73 6e .Note.that.info.executable.doesn
5740 27 74 20 77 6f 72 6b 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73 2c 20 73 6f 20 77 65 20 68 61 76 't.work.under.Windows,.so.we.hav
5760 65 20 74 6f 0d 23 20 6c 6f 6f 6b 20 66 6f 72 20 66 69 6c 65 73 20 77 69 74 68 20 2e 65 78 65 2c e.to.#.look.for.files.with..exe,
5780 20 2e 63 6f 6d 2c 20 6f 72 20 2e 62 61 74 20 65 78 74 65 6e 73 69 6f 6e 73 2e 20 20 41 6c 73 6f ..com,.or..bat.extensions...Also
57a0 2c 20 74 68 65 20 70 61 74 68 0d 23 20 6d 61 79 20 62 65 20 69 6e 20 74 68 65 20 50 61 74 68 20 ,.the.path.#.may.be.in.the.Path.
57c0 6f 72 20 50 41 54 48 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 2c 20 61 or.PATH.environment.variables,.a
57e0 6e 64 20 70 61 74 68 0d 23 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 61 72 65 20 73 65 70 61 72 61 74 nd.path.#.components.are.separat
5800 65 64 20 77 69 74 68 20 73 65 6d 69 63 6f 6c 6f 6e 73 2c 20 6e 6f 74 20 63 6f 6c 6f 6e 73 20 61 ed.with.semicolons,.not.colons.a
5820 73 20 75 6e 64 65 72 20 55 6e 69 78 2e 0d 23 0d 70 72 6f 63 20 61 75 74 6f 5f 65 78 65 63 6f 6b s.under.Unix..#.proc.auto_execok
5840 20 6e 61 6d 65 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 61 75 74 6f 5f 65 78 65 63 73 20 65 6e .name.{.....global.auto_execs.en
5860 76 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 69 66 20 5b 69 6e 66 6f 20 65 78 69 v.tcl_platform......if.[info.exi
5880 73 74 73 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 5d 20 7b 0d 09 72 65 74 75 72 6e sts.auto_execs($name)].{..return
58a0 20 24 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 .$auto_execs($name).....}.....se
58c0 74 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 20 22 22 0d 0d 20 20 20 20 69 66 20 7b t.auto_execs($name).""......if.{
58e0 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 7b 63 6c 73 20 63 6f 70 79 20 64 61 74 65 20 64 [lsearch.-exact.{cls.copy.date.d
5900 65 6c 20 65 72 61 73 65 20 64 69 72 20 65 63 68 6f 20 6d 6b 64 69 72 20 6d 64 20 72 65 6e 61 6d el.erase.dir.echo.mkdir.md.renam
5920 65 20 0d 09 20 20 20 20 72 65 6e 20 72 6d 64 69 72 20 72 64 20 74 69 6d 65 20 74 79 70 65 20 76 e.......ren.rmdir.rd.time.type.v
5940 65 72 20 76 6f 6c 7d 20 24 6e 61 6d 65 5d 20 21 3d 20 2d 31 7d 20 7b 0d 09 72 65 74 75 72 6e 20 er.vol}.$name].!=.-1}.{..return.
5960 5b 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 20 5b 6c 69 73 74 20 24 65 6e [set.auto_execs($name).[list.$en
5980 76 28 43 4f 4d 53 50 45 43 29 20 2f 63 20 24 6e 61 6d 65 5d 5d 0d 20 20 20 20 7d 0d 0d 20 20 20 v(COMSPEC)./c.$name]].....}.....
59a0 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 5b 66 69 6c 65 20 73 70 6c 69 74 20 24 6e 61 6d 65 5d .if.{[llength.[file.split.$name]
59c0 5d 20 21 3d 20 31 7d 20 7b 0d 09 66 6f 72 65 61 63 68 20 65 78 74 20 7b 7b 7d 20 2e 63 6f 6d 20 ].!=.1}.{..foreach.ext.{{}..com.
59e0 2e 65 78 65 20 2e 62 61 74 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 66 69 6c 65 20 24 7b 6e 61 6d .exe..bat}.{......set.file.${nam
5a00 65 7d 24 7b 65 78 74 7d 0d 09 20 20 20 20 69 66 20 7b 5b 66 69 6c 65 20 65 78 69 73 74 73 20 24 e}${ext}......if.{[file.exists.$
5a20 66 69 6c 65 5d 20 26 26 20 21 5b 66 69 6c 65 20 69 73 64 69 72 65 63 74 6f 72 79 20 24 66 69 6c file].&&.![file.isdirectory.$fil
5a40 65 5d 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 5b 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 28 24 e]}.{...return.[set.auto_execs($
5a60 6e 61 6d 65 29 20 5b 6c 69 73 74 20 24 66 69 6c 65 5d 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 72 name).[list.$file]]......}..}..r
5a80 65 74 75 72 6e 20 22 22 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 74 20 70 61 74 68 20 22 5b 66 eturn."".....}......set.path."[f
5aa0 69 6c 65 20 64 69 72 6e 61 6d 65 20 5b 69 6e 66 6f 20 6e 61 6d 65 6f 66 5d 5d 3b 2e 3b 22 0d 20 ile.dirname.[info.nameof]];.;"..
5ac0 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 65 6e 76 28 57 49 4e 44 49 52 29 5d ...if.{[info.exists.env(WINDIR)]
5ae0 7d 20 7b 0d 09 73 65 74 20 77 69 6e 64 69 72 20 24 65 6e 76 28 57 49 4e 44 49 52 29 20 0d 20 20 }.{..set.windir.$env(WINDIR)....
5b00 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 77 69 6e 64 69 72 5d ..}.....if.{[info.exists.windir]
5b20 7d 20 7b 0d 09 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 6f 73 29 20 3d 3d 20 22 57 }.{..if.{$tcl_platform(os).==."W
5b40 69 6e 64 6f 77 73 20 4e 54 22 7d 20 7b 0d 09 20 20 20 20 61 70 70 65 6e 64 20 70 61 74 68 20 22 indows.NT"}.{......append.path."
5b60 24 77 69 6e 64 69 72 2f 73 79 73 74 65 6d 33 32 3b 22 0d 09 7d 0d 09 61 70 70 65 6e 64 20 70 61 $windir/system32;"..}..append.pa
5b80 74 68 20 22 24 77 69 6e 64 69 72 2f 73 79 73 74 65 6d 3b 24 77 69 6e 64 69 72 3b 22 0d 20 20 20 th."$windir/system;$windir;"....
5ba0 20 7d 0d 0d 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 65 6e 76 28 50 41 54 .}......if.{[info.exists.env(PAT
5bc0 48 29 5d 7d 20 7b 0d 09 61 70 70 65 6e 64 20 70 61 74 68 20 24 65 6e 76 28 50 41 54 48 29 0d 20 H)]}.{..append.path.$env(PATH)..
5be0 20 20 20 7d 0d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 64 69 72 20 5b 73 70 6c 69 74 20 24 70 61 ...}......foreach.dir.[split.$pa
5c00 74 68 20 7b 3b 7d 5d 20 7b 0d 09 69 66 20 7b 24 64 69 72 20 3d 3d 20 22 22 7d 20 7b 0d 09 20 20 th.{;}].{..if.{$dir.==.""}.{....
5c20 20 20 73 65 74 20 64 69 72 20 2e 0d 09 7d 0d 09 66 6f 72 65 61 63 68 20 65 78 74 20 7b 7b 7d 20 ..set.dir....}..foreach.ext.{{}.
5c40 2e 63 6f 6d 20 2e 65 78 65 20 2e 62 61 74 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 66 69 6c 65 20 .com..exe..bat}.{......set.file.
5c60 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 24 7b 6e 61 6d 65 7d 24 7b 65 78 74 7d 5d 0d 09 [file.join.$dir.${name}${ext}]..
5c80 20 20 20 20 69 66 20 7b 5b 66 69 6c 65 20 65 78 69 73 74 73 20 24 66 69 6c 65 5d 20 26 26 20 21 ....if.{[file.exists.$file].&&.!
5ca0 5b 66 69 6c 65 20 69 73 64 69 72 65 63 74 6f 72 79 20 24 66 69 6c 65 5d 7d 20 7b 0d 09 09 72 65 [file.isdirectory.$file]}.{...re
5cc0 74 75 72 6e 20 5b 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 20 5b 6c 69 73 turn.[set.auto_execs($name).[lis
5ce0 74 20 24 66 69 6c 65 5d 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 t.$file]]......}..}.....}.....re
5d00 74 75 72 6e 20 22 22 0d 7d 0d 0d 7d 20 65 6c 73 65 20 7b 0d 0d 23 20 61 75 74 6f 5f 65 78 65 63 turn."".}..}.else.{..#.auto_exec
5d20 6f 6b 20 2d 2d 0d 23 0d 23 20 52 65 74 75 72 6e 73 20 73 74 72 69 6e 67 20 74 68 61 74 20 69 6e ok.--.#.#.Returns.string.that.in
5d40 64 69 63 61 74 65 73 20 6e 61 6d 65 20 6f 66 20 70 72 6f 67 72 61 6d 20 74 6f 20 65 78 65 63 75 dicates.name.of.program.to.execu
5d60 74 65 20 69 66 20 0d 23 20 6e 61 6d 65 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 6e 20 te.if..#.name.corresponds.to.an.
5d80 65 78 65 63 75 74 61 62 6c 65 20 69 6e 20 74 68 65 20 70 61 74 68 2e 20 42 75 69 6c 64 73 20 61 executable.in.the.path..Builds.a
5da0 6e 20 61 73 73 6f 63 69 61 74 69 76 65 20 0d 23 20 61 72 72 61 79 20 61 75 74 6f 5f 65 78 65 63 n.associative..#.array.auto_exec
5dc0 73 20 74 68 61 74 20 63 61 63 68 65 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 s.that.caches.information.about.
5de0 70 72 65 76 69 6f 75 73 20 63 68 65 63 6b 73 2c 20 0d 23 20 66 6f 72 20 73 70 65 65 64 2e 0d 23 previous.checks,..#.for.speed..#
5e00 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 20 0d 23 20 6e 61 6d 65 20 2d 09 09 09 4e 61 6d 65 20 6f .#.Arguments:..#.name.-...Name.o
5e20 66 20 61 20 63 6f 6d 6d 61 6e 64 2e 0d 0d 23 20 55 6e 69 78 20 76 65 72 73 69 6f 6e 2e 0d 23 0d f.a.command...#.Unix.version..#.
5e40 70 72 6f 63 20 61 75 74 6f 5f 65 78 65 63 6f 6b 20 6e 61 6d 65 20 7b 0d 20 20 20 20 67 6c 6f 62 proc.auto_execok.name.{.....glob
5e60 61 6c 20 61 75 74 6f 5f 65 78 65 63 73 20 65 6e 76 0d 0d 20 20 20 20 69 66 20 5b 69 6e 66 6f 20 al.auto_execs.env......if.[info.
5e80 65 78 69 73 74 73 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 5d 20 7b 0d 09 72 65 74 exists.auto_execs($name)].{..ret
5ea0 75 72 6e 20 24 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 0d 20 20 20 20 7d 0d 20 20 20 urn.$auto_execs($name).....}....
5ec0 20 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 20 22 22 0d 20 20 20 20 69 66 .set.auto_execs($name)."".....if
5ee0 20 7b 5b 6c 6c 65 6e 67 74 68 20 5b 66 69 6c 65 20 73 70 6c 69 74 20 24 6e 61 6d 65 5d 5d 20 21 .{[llength.[file.split.$name]].!
5f00 3d 20 31 7d 20 7b 0d 09 69 66 20 7b 5b 66 69 6c 65 20 65 78 65 63 75 74 61 62 6c 65 20 24 6e 61 =.1}.{..if.{[file.executable.$na
5f20 6d 65 5d 20 26 26 20 21 5b 66 69 6c 65 20 69 73 64 69 72 65 63 74 6f 72 79 20 24 6e 61 6d 65 5d me].&&.![file.isdirectory.$name]
5f40 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 20 5b }.{......set.auto_execs($name).[
5f60 6c 69 73 74 20 24 6e 61 6d 65 5d 0d 09 7d 0d 09 72 65 74 75 72 6e 20 24 61 75 74 6f 5f 65 78 65 list.$name]..}..return.$auto_exe
5f80 63 73 28 24 6e 61 6d 65 29 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 64 69 72 20 cs($name).....}.....foreach.dir.
5fa0 5b 73 70 6c 69 74 20 24 65 6e 76 28 50 41 54 48 29 20 3a 5d 20 7b 0d 09 69 66 20 7b 24 64 69 72 [split.$env(PATH).:].{..if.{$dir
5fc0 20 3d 3d 20 22 22 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 64 69 72 20 2e 0d 09 7d 0d 09 73 65 74 .==.""}.{......set.dir....}..set
5fe0 20 66 69 6c 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 24 6e 61 6d 65 5d 0d 09 69 66 .file.[file.join.$dir.$name]..if
6000 20 7b 5b 66 69 6c 65 20 65 78 65 63 75 74 61 62 6c 65 20 24 66 69 6c 65 5d 20 26 26 20 21 5b 66 .{[file.executable.$file].&&.![f
6020 69 6c 65 20 69 73 64 69 72 65 63 74 6f 72 79 20 24 66 69 6c 65 5d 7d 20 7b 0d 09 20 20 20 20 73 ile.isdirectory.$file]}.{......s
6040 65 74 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 20 5b 6c 69 73 74 20 24 66 69 6c 65 et.auto_execs($name).[list.$file
6060 5d 0d 09 20 20 20 20 72 65 74 75 72 6e 20 24 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 ]......return.$auto_execs($name)
6080 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 22 22 0d 7d 0d 0d 7d 0d 23 20 61 ..}.....}.....return."".}..}.#.a
60a0 75 74 6f 5f 72 65 73 65 74 20 2d 2d 0d 23 20 44 65 73 74 72 6f 79 20 61 6c 6c 20 63 61 63 68 65 uto_reset.--.#.Destroy.all.cache
60c0 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 61 75 74 6f 2d 6c 6f 61 64 69 6e 67 20 61 d.information.for.auto-loading.a
60e0 6e 64 20 61 75 74 6f 2d 65 78 65 63 75 74 69 6f 6e 2c 0d 23 20 73 6f 20 74 68 61 74 20 74 68 65 nd.auto-execution,.#.so.that.the
6100 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 67 65 74 73 20 72 65 63 6f 6d 70 75 74 65 64 20 74 68 65 .information.gets.recomputed.the
6120 20 6e 65 78 74 20 74 69 6d 65 20 69 74 27 73 20 6e 65 65 64 65 64 2e 0d 23 20 41 6c 73 6f 20 64 .next.time.it's.needed..#.Also.d
6140 65 6c 65 74 65 20 61 6e 79 20 70 72 6f 63 65 64 75 72 65 73 20 74 68 61 74 20 61 72 65 20 6c 69 elete.any.procedures.that.are.li
6160 73 74 65 64 20 69 6e 20 74 68 65 20 61 75 74 6f 2d 6c 6f 61 64 20 69 6e 64 65 78 0d 23 20 65 78 sted.in.the.auto-load.index.#.ex
6180 63 65 70 74 20 74 68 6f 73 65 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 69 73 20 66 69 6c 65 2e cept.those.defined.in.this.file.
61a0 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 20 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 20 61 .#.#.Arguments:..#.None...proc.a
61c0 75 74 6f 5f 72 65 73 65 74 20 7b 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 61 75 74 6f 5f 65 uto_reset.{}.{.....global.auto_e
61e0 78 65 63 73 20 61 75 74 6f 5f 69 6e 64 65 78 20 61 75 74 6f 5f 6f 6c 64 70 61 74 68 0d 20 20 20 xecs.auto_index.auto_oldpath....
6200 20 66 6f 72 65 61 63 68 20 70 20 5b 69 6e 66 6f 20 70 72 6f 63 73 5d 20 7b 0d 09 69 66 20 7b 5b .foreach.p.[info.procs].{..if.{[
6220 69 6e 66 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 69 6e 64 65 78 28 24 70 29 5d 20 26 26 20 21 info.exists.auto_index($p)].&&.!
6240 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 61 75 74 6f 5f 2a 20 24 70 5d 0d 09 09 26 26 20 28 5b [string.match.auto_*.$p]...&&.([
6260 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 7b 75 6e 6b 6e 6f 77 6e 20 70 6b 67 5f 6d 6b 49 6e lsearch.-exact.{unknown.pkg_mkIn
6280 64 65 78 20 74 63 6c 50 6b 67 53 65 74 75 70 0d 09 09 09 74 63 6c 4d 61 63 50 6b 67 53 65 61 72 dex.tclPkgSetup....tclMacPkgSear
62a0 63 68 20 74 63 6c 50 6b 67 55 6e 6b 6e 6f 77 6e 7d 20 24 70 5d 20 3c 20 30 29 7d 20 7b 0d 09 20 ch.tclPkgUnknown}.$p].<.0)}.{...
62c0 20 20 20 72 65 6e 61 6d 65 20 24 70 20 7b 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 63 61 74 ...rename.$p.{}..}.....}.....cat
62e0 63 68 20 7b 75 6e 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 7d 0d 20 20 20 20 63 61 74 63 68 20 ch.{unset.auto_execs}.....catch.
6300 7b 75 6e 73 65 74 20 61 75 74 6f 5f 69 6e 64 65 78 7d 0d 20 20 20 20 63 61 74 63 68 20 7b 75 6e {unset.auto_index}.....catch.{un
6320 73 65 74 20 61 75 74 6f 5f 6f 6c 64 70 61 74 68 7d 0d 7d 0d 0d 23 20 61 75 74 6f 5f 6d 6b 69 6e set.auto_oldpath}.}..#.auto_mkin
6340 64 65 78 20 2d 2d 0d 23 20 52 65 67 65 6e 65 72 61 74 65 20 61 20 74 63 6c 49 6e 64 65 78 20 66 dex.--.#.Regenerate.a.tclIndex.f
6360 69 6c 65 20 66 72 6f 6d 20 54 63 6c 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e 20 20 54 61 6b 65 ile.from.Tcl.source.files...Take
6380 73 20 61 73 20 61 72 67 75 6d 65 6e 74 0d 23 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 s.as.argument.#.the.name.of.the.
63a0 64 69 72 65 63 74 6f 72 79 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 74 63 6c 49 6e 64 65 78 20 directory.in.which.the.tclIndex.
63c0 66 69 6c 65 20 69 73 20 74 6f 20 62 65 20 70 6c 61 63 65 64 2c 0d 23 20 66 6f 6c 6c 6f 77 65 64 file.is.to.be.placed,.#.followed
63e0 20 62 79 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 67 6c 6f 62 20 70 61 74 74 65 72 6e 73 20 .by.any.number.of.glob.patterns.
6400 74 6f 20 75 73 65 20 69 6e 20 74 68 61 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 0d 23 20 6c 6f to.use.in.that.directory.to.#.lo
6420 63 61 74 65 20 61 6c 6c 20 6f 66 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 66 69 6c 65 73 2e 20 cate.all.of.the.relevant.files..
6440 49 74 20 64 6f 65 73 20 6e 6f 74 20 70 61 72 73 65 20 6f 72 20 73 6f 75 72 63 65 20 74 68 65 20 It.does.not.parse.or.source.the.
6460 66 69 6c 65 0d 23 20 73 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 69 6e 64 65 78 20 77 69 file.#.so.the.generated.index.wi
6480 6c 6c 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 6e ll.not.contain.the.appropriate.n
64a0 61 6d 65 73 70 61 63 65 20 71 75 61 6c 69 66 69 65 72 73 0d 23 20 69 66 20 79 6f 75 20 64 6f 6e amespace.qualifiers.#.if.you.don
64c0 27 74 20 65 78 70 6c 69 63 69 74 6c 79 20 73 70 65 63 69 66 79 20 69 74 2e 0d 23 0d 23 20 41 72 't.explicitly.specify.it..#.#.Ar
64e0 67 75 6d 65 6e 74 73 3a 20 0d 23 20 64 69 72 20 2d 09 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 20 guments:..#.dir.-...Name.of.the.
6500 64 69 72 65 63 74 6f 72 79 20 69 6e 20 77 68 69 63 68 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 directory.in.which.to.create.an.
6520 69 6e 64 65 78 2e 0d 23 20 61 72 67 73 20 2d 09 09 41 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 index..#.args.-..Any.number.of.a
6540 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 67 69 76 69 6e 67 20 74 68 65 0d 23 dditional.arguments.giving.the.#
6560 09 09 09 6e 61 6d 65 73 20 6f 66 20 66 69 6c 65 73 20 77 69 74 68 69 6e 20 64 69 72 2e 20 20 49 ...names.of.files.within.dir...I
6580 66 20 6e 6f 20 61 64 64 69 74 69 6f 6e 61 6c 0d 23 09 09 09 61 72 65 20 67 69 76 65 6e 20 61 75 f.no.additional.#...are.given.au
65a0 74 6f 5f 6d 6b 69 6e 64 65 78 20 77 69 6c 6c 20 6c 6f 6f 6b 20 66 6f 72 20 2a 2e 74 63 6c 2e 0d to_mkindex.will.look.for.*.tcl..
65c0 0d 70 72 6f 63 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 20 7b 64 69 72 20 61 72 67 73 7d 20 7b 0d .proc.auto_mkindex.{dir.args}.{.
65e0 20 20 20 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 43 6f 64 65 20 65 72 72 6f 72 49 6e 66 6f 0d 20 ....global.errorCode.errorInfo..
6600 20 20 20 73 65 74 20 6f 6c 64 44 69 72 20 5b 70 77 64 5d 0d 20 20 20 20 63 64 20 24 64 69 72 0d ...set.oldDir.[pwd].....cd.$dir.
6620 20 20 20 20 73 65 74 20 64 69 72 20 5b 70 77 64 5d 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 ....set.dir.[pwd].....append.ind
6640 65 78 20 22 23 20 54 63 6c 20 61 75 74 6f 6c 6f 61 64 20 69 6e 64 65 78 20 66 69 6c 65 2c 20 76 ex."#.Tcl.autoload.index.file,.v
6660 65 72 73 69 6f 6e 20 32 2e 30 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 ersion.2.0\n".....append.index."
6680 23 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 74 68 65 20 #.This.file.is.generated.by.the.
66a0 5c 22 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5c 22 20 63 6f 6d 6d 61 6e 64 5c 6e 22 0d 20 20 20 20 \"auto_mkindex\".command\n".....
66c0 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 61 6e 64 20 73 6f 75 72 63 65 64 20 74 6f 20 73 append.index."#.and.sourced.to.s
66e0 65 74 20 75 70 20 69 6e 64 65 78 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 6f et.up.indexing.information.for.o
6700 6e 65 20 6f 72 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 6d 6f 72 ne.or\n".....append.index."#.mor
6720 65 20 63 6f 6d 6d 61 6e 64 73 2e 20 20 54 79 70 69 63 61 6c 6c 79 20 65 61 63 68 20 6c 69 6e 65 e.commands...Typically.each.line
6740 20 69 73 20 61 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 .is.a.command.that\n".....append
6760 20 69 6e 64 65 78 20 22 23 20 73 65 74 73 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 .index."#.sets.an.element.in.the
6780 20 61 75 74 6f 5f 69 6e 64 65 78 20 61 72 72 61 79 2c 20 77 68 65 72 65 20 74 68 65 5c 6e 22 0d .auto_index.array,.where.the\n".
67a0 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 65 6c 65 6d 65 6e 74 20 6e 61 6d 65 ....append.index."#.element.name
67c0 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 74 68 .is.the.name.of.a.command.and.th
67e0 65 20 76 61 6c 75 65 20 69 73 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 e.value.is\n".....append.index."
6800 23 20 61 20 73 63 72 69 70 74 20 74 68 61 74 20 6c 6f 61 64 73 20 74 68 65 20 63 6f 6d 6d 61 6e #.a.script.that.loads.the.comman
6820 64 2e 5c 6e 5c 6e 22 0d 20 20 20 20 69 66 20 7b 24 61 72 67 73 20 3d 3d 20 22 22 7d 20 7b 0d 09 d.\n\n".....if.{$args.==.""}.{..
6840 73 65 74 20 61 72 67 73 20 2a 2e 74 63 6c 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 set.args.*.tcl.....}.....foreach
6860 20 66 69 6c 65 20 5b 65 76 61 6c 20 67 6c 6f 62 20 24 61 72 67 73 5d 20 7b 0d 09 73 65 74 20 66 .file.[eval.glob.$args].{..set.f
6880 20 22 22 0d 09 73 65 74 20 65 72 72 6f 72 20 5b 63 61 74 63 68 20 7b 0d 09 20 20 20 20 73 65 74 .""..set.error.[catch.{......set
68a0 20 66 20 5b 6f 70 65 6e 20 24 66 69 6c 65 5d 0d 09 20 20 20 20 77 68 69 6c 65 20 7b 5b 67 65 74 .f.[open.$file]......while.{[get
68c0 73 20 24 66 20 6c 69 6e 65 5d 20 3e 3d 20 30 7d 20 7b 0d 09 09 69 66 20 5b 72 65 67 65 78 70 20 s.$f.line].>=.0}.{...if.[regexp.
68e0 7b 5e 70 72 6f 63 5b 20 09 5d 2b 28 5b 5e 20 09 5d 2a 29 7d 20 24 6c 69 6e 65 20 6d 61 74 63 68 {^proc[..]+([^..]*)}.$line.match
6900 20 70 72 6f 63 4e 61 6d 65 5d 20 7b 0d 09 09 20 20 20 20 73 65 74 20 70 72 6f 63 4e 61 6d 65 20 .procName].{.......set.procName.
6920 5b 6c 69 6e 64 65 78 20 5b 61 75 74 6f 5f 71 75 61 6c 69 66 79 20 24 70 72 6f 63 4e 61 6d 65 20 [lindex.[auto_qualify.$procName.
6940 22 3a 3a 22 5d 20 30 5d 0d 09 09 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 73 65 74 "::"].0].......append.index."set
6960 20 5b 6c 69 73 74 20 61 75 74 6f 5f 69 6e 64 65 78 28 24 70 72 6f 63 4e 61 6d 65 29 5d 22 0d 09 .[list.auto_index($procName)]"..
6980 09 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 20 5c 5b 6c 69 73 74 20 73 6f 75 72 63 .....append.index.".\[list.sourc
69a0 65 20 5c 5b 66 69 6c 65 20 6a 6f 69 6e 20 5c 24 64 69 72 20 5b 6c 69 73 74 20 24 66 69 6c 65 5d e.\[file.join.\$dir.[list.$file]
69c0 5c 5d 5c 5d 5c 6e 22 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 63 6c 6f 73 65 20 24 66 \]\]\n"...}......}......close.$f
69e0 0d 09 7d 20 6d 73 67 5d 0d 09 69 66 20 24 65 72 72 6f 72 20 7b 0d 09 20 20 20 20 73 65 74 20 63 ..}.msg]..if.$error.{......set.c
6a00 6f 64 65 20 24 65 72 72 6f 72 43 6f 64 65 0d 09 20 20 20 20 73 65 74 20 69 6e 66 6f 20 24 65 72 ode.$errorCode......set.info.$er
6a20 72 6f 72 49 6e 66 6f 0d 09 20 20 20 20 63 61 74 63 68 20 7b 63 6c 6f 73 65 20 24 66 7d 0d 09 20 rorInfo......catch.{close.$f}...
6a40 20 20 20 63 64 20 24 6f 6c 64 44 69 72 0d 09 20 20 20 20 65 72 72 6f 72 20 24 6d 73 67 20 24 69 ...cd.$oldDir......error.$msg.$i
6a60 6e 66 6f 20 24 63 6f 64 65 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 66 20 22 22 0d nfo.$code..}.....}.....set.f."".
6a80 20 20 20 20 73 65 74 20 65 72 72 6f 72 20 5b 63 61 74 63 68 20 7b 0d 09 73 65 74 20 66 20 5b 6f ....set.error.[catch.{..set.f.[o
6aa0 70 65 6e 20 74 63 6c 49 6e 64 65 78 20 77 5d 0d 09 70 75 74 73 20 24 66 20 24 69 6e 64 65 78 20 pen.tclIndex.w]..puts.$f.$index.
6ac0 6e 6f 6e 65 77 6c 69 6e 65 0d 09 63 6c 6f 73 65 20 24 66 0d 09 63 64 20 24 6f 6c 64 44 69 72 0d nonewline..close.$f..cd.$oldDir.
6ae0 20 20 20 20 7d 20 6d 73 67 5d 0d 20 20 20 20 69 66 20 24 65 72 72 6f 72 20 7b 0d 09 73 65 74 20 ....}.msg].....if.$error.{..set.
6b00 63 6f 64 65 20 24 65 72 72 6f 72 43 6f 64 65 0d 09 73 65 74 20 69 6e 66 6f 20 24 65 72 72 6f 72 code.$errorCode..set.info.$error
6b20 49 6e 66 6f 0d 09 63 61 74 63 68 20 7b 63 6c 6f 73 65 20 24 66 7d 0d 09 63 64 20 24 6f 6c 64 44 Info..catch.{close.$f}..cd.$oldD
6b40 69 72 0d 09 65 72 72 6f 72 20 24 6d 73 67 20 24 69 6e 66 6f 20 24 63 6f 64 65 0d 20 20 20 20 7d ir..error.$msg.$info.$code.....}
6b60 0d 7d 0d 0d 23 20 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 .}..#.pkg_mkIndex.--.#.This.proc
6b80 65 64 75 72 65 20 63 72 65 61 74 65 73 20 61 20 70 61 63 6b 61 67 65 20 69 6e 64 65 78 20 69 6e edure.creates.a.package.index.in
6ba0 20 61 20 67 69 76 65 6e 20 64 69 72 65 63 74 6f 72 79 2e 20 20 54 68 65 0d 23 20 70 61 63 6b 61 .a.given.directory...The.#.packa
6bc0 67 65 20 69 6e 64 65 78 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 22 70 6b 67 49 6e 64 65 78 ge.index.consists.of.a."pkgIndex
6be0 2e 74 63 6c 22 20 66 69 6c 65 20 77 68 6f 73 65 20 63 6f 6e 74 65 6e 74 73 20 61 72 65 0d 23 20 .tcl".file.whose.contents.are.#.
6c00 61 20 54 63 6c 20 73 63 72 69 70 74 20 74 68 61 74 20 73 65 74 73 20 75 70 20 70 61 63 6b 61 67 a.Tcl.script.that.sets.up.packag
6c20 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 77 69 74 68 20 22 70 61 63 6b 61 67 65 20 72 65 71 75 e.information.with."package.requ
6c40 69 72 65 22 0d 23 20 63 6f 6d 6d 61 6e 64 73 2e 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 73 20 64 ire".#.commands...The.commands.d
6c60 65 73 63 72 69 62 65 20 61 6c 6c 20 6f 66 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 64 65 66 69 escribe.all.of.the.packages.defi
6c80 6e 65 64 20 62 79 20 74 68 65 0d 23 20 66 69 6c 65 73 20 67 69 76 65 6e 20 61 73 20 61 72 67 75 ned.by.the.#.files.given.as.argu
6ca0 6d 65 6e 74 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 64 69 72 20 2d 09 09 09 ments..#.#.Arguments:.#.dir.-...
6cc0 4e 61 6d 65 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 69 6e 20 77 68 69 63 68 20 74 Name.of.the.directory.in.which.t
6ce0 6f 20 63 72 65 61 74 65 20 74 68 65 20 69 6e 64 65 78 2e 0d 23 20 61 72 67 73 20 2d 09 09 41 6e o.create.the.index..#.args.-..An
6d00 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 y.number.of.additional.arguments
6d20 2c 20 65 61 63 68 20 67 69 76 69 6e 67 0d 23 09 09 09 61 20 67 6c 6f 62 20 70 61 74 74 65 72 6e ,.each.giving.#...a.glob.pattern
6d40 20 74 68 61 74 20 6d 61 74 63 68 65 73 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 6f 6e 65 20 6f .that.matches.the.names.of.one.o
6d60 72 0d 23 09 09 09 6d 6f 72 65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 69 65 73 20 6f 72 20 54 r.#...more.shared.libraries.or.T
6d80 63 6c 20 73 63 72 69 70 74 20 66 69 6c 65 73 20 69 6e 0d 23 09 09 09 64 69 72 2e 0d 0d 70 72 6f cl.script.files.in.#...dir...pro
6da0 63 20 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 7b 64 69 72 20 61 72 67 73 7d 20 7b 0d 20 20 20 20 67 c.pkg_mkIndex.{dir.args}.{.....g
6dc0 6c 6f 62 61 6c 20 65 72 72 6f 72 43 6f 64 65 20 65 72 72 6f 72 49 6e 66 6f 0d 20 20 20 20 69 66 lobal.errorCode.errorInfo.....if
6de0 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 61 72 67 73 5d 20 3d 3d 20 30 7d 20 7b 0d 09 72 65 74 75 72 .{[llength.$args].==.0}.{..retur
6e00 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f n.-code.error."wrong.#.args:.sho
6e20 75 6c 64 20 62 65 5c 0d 09 09 5c 22 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 64 69 72 20 70 61 74 74 uld.be\...\"pkg_mkIndex.dir.patt
6e40 65 72 6e 20 3f 70 61 74 74 65 72 6e 20 2e 2e 2e 3f 5c 22 22 3b 0d 20 20 20 20 7d 0d 20 20 20 20 ern.?pattern....?\"";.....}.....
6e60 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 54 63 6c 20 70 61 63 6b 61 67 65 20 69 6e 64 65 append.index."#.Tcl.package.inde
6e80 78 20 66 69 6c 65 2c 20 76 65 72 73 69 6f 6e 20 31 2e 30 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e x.file,.version.1.0\n".....appen
6ea0 64 20 69 6e 64 65 78 20 22 23 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 67 65 6e 65 72 61 74 65 d.index."#.This.file.is.generate
6ec0 64 20 62 79 20 74 68 65 20 5c 22 70 6b 67 5f 6d 6b 49 6e 64 65 78 5c 22 20 63 6f 6d 6d 61 6e 64 d.by.the.\"pkg_mkIndex\".command
6ee0 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 61 6e 64 20 73 6f 75 72 \n".....append.index."#.and.sour
6f00 63 65 64 20 65 69 74 68 65 72 20 77 68 65 6e 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 73 ced.either.when.an.application.s
6f20 74 61 72 74 73 20 75 70 20 6f 72 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 tarts.up.or\n".....append.index.
6f40 22 23 20 62 79 20 61 20 5c 22 70 61 63 6b 61 67 65 20 75 6e 6b 6e 6f 77 6e 5c 22 20 73 63 72 69 "#.by.a.\"package.unknown\".scri
6f60 70 74 2e 20 20 49 74 20 69 6e 76 6f 6b 65 73 20 74 68 65 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e pt...It.invokes.the\n".....appen
6f80 64 20 69 6e 64 65 78 20 22 23 20 5c 22 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 5c 22 20 d.index."#.\"package.ifneeded\".
6fa0 63 6f 6d 6d 61 6e 64 20 74 6f 20 73 65 74 20 75 70 20 70 61 63 6b 61 67 65 2d 72 65 6c 61 74 65 command.to.set.up.package-relate
6fc0 64 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 69 6e 66 6f 72 6d 61 d\n".....append.index."#.informa
6fe0 74 69 6f 6e 20 73 6f 20 74 68 61 74 20 70 61 63 6b 61 67 65 73 20 77 69 6c 6c 20 62 65 20 6c 6f tion.so.that.packages.will.be.lo
7000 61 64 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 aded.automatically\n".....append
7020 20 69 6e 64 65 78 20 22 23 20 69 6e 20 72 65 73 70 6f 6e 73 65 20 74 6f 20 5c 22 70 61 63 6b 61 .index."#.in.response.to.\"packa
7040 67 65 20 72 65 71 75 69 72 65 5c 22 20 63 6f 6d 6d 61 6e 64 73 2e 20 20 57 68 65 6e 20 74 68 69 ge.require\".commands...When.thi
7060 73 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 73 63 72 69 70 74 20 s\n".....append.index."#.script.
7080 69 73 20 73 6f 75 72 63 65 64 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 5c 24 64 69 72 20 6d is.sourced,.the.variable.\$dir.m
70a0 75 73 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e ust.contain.the\n".....append.in
70c0 64 65 78 20 22 23 20 66 75 6c 6c 20 70 61 74 68 20 6e 61 6d 65 20 6f 66 20 74 68 69 73 20 66 69 dex."#.full.path.name.of.this.fi
70e0 6c 65 27 73 20 64 69 72 65 63 74 6f 72 79 2e 5c 6e 22 0d 20 20 20 20 73 65 74 20 6f 6c 64 44 69 le's.directory.\n".....set.oldDi
7100 72 20 5b 70 77 64 5d 0d 20 20 20 20 63 64 20 24 64 69 72 0d 20 20 20 20 66 6f 72 65 61 63 68 20 r.[pwd].....cd.$dir.....foreach.
7120 66 69 6c 65 20 5b 65 76 61 6c 20 67 6c 6f 62 20 24 61 72 67 73 5d 20 7b 0d 09 23 20 46 6f 72 20 file.[eval.glob.$args].{..#.For.
7140 65 61 63 68 20 66 69 6c 65 2c 20 66 69 67 75 72 65 20 6f 75 74 20 77 68 61 74 20 63 6f 6d 6d 61 each.file,.figure.out.what.comma
7160 6e 64 73 20 61 6e 64 20 70 61 63 6b 61 67 65 73 20 69 74 20 70 72 6f 76 69 64 65 73 2e 0d 09 23 nds.and.packages.it.provides...#
7180 20 54 6f 20 64 6f 20 74 68 69 73 2c 20 63 72 65 61 74 65 20 61 20 63 68 69 6c 64 20 69 6e 74 65 .To.do.this,.create.a.child.inte
71a0 72 70 72 65 74 65 72 2c 20 6c 6f 61 64 20 74 68 65 20 66 69 6c 65 20 69 6e 74 6f 20 74 68 65 0d rpreter,.load.the.file.into.the.
71c0 09 23 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 61 6e 64 20 67 65 74 20 61 20 6c 69 73 74 20 6f .#.interpreter,.and.get.a.list.o
71e0 66 20 74 68 65 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 70 61 63 6b 61 67 65 73 0d f.the.new.commands.and.packages.
7200 09 23 20 74 68 61 74 20 61 72 65 20 64 65 66 69 6e 65 64 2e 20 20 44 65 66 69 6e 65 20 61 6e 20 .#.that.are.defined...Define.an.
7220 65 6d 70 74 79 20 22 70 61 63 6b 61 67 65 20 75 6e 6b 6e 6f 77 6e 22 20 73 63 72 69 70 74 20 73 empty."package.unknown".script.s
7240 6f 0d 09 23 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 72 65 63 75 72 73 69 76 65 o..#.that.there.are.no.recursive
7260 20 70 61 63 6b 61 67 65 20 69 6e 63 6c 75 73 69 6f 6e 73 2e 0d 0d 09 73 65 74 20 63 20 5b 69 6e .package.inclusions....set.c.[in
7280 74 65 72 70 20 63 72 65 61 74 65 5d 0d 0d 09 23 20 49 66 20 54 6b 20 69 73 20 6c 6f 61 64 65 64 terp.create]...#.If.Tk.is.loaded
72a0 20 69 6e 20 74 68 65 20 70 61 72 65 6e 74 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 6c 6f 61 64 .in.the.parent.interpreter,.load
72c0 20 69 74 20 69 6e 74 6f 20 74 68 65 0d 09 23 20 63 68 69 6c 64 20 61 6c 73 6f 2c 20 69 6e 20 63 .it.into.the..#.child.also,.in.c
72e0 61 73 65 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 64 65 70 65 6e 64 73 20 6f 6e 20 69 74 2e ase.the.extension.depends.on.it.
7300 0d 0d 09 66 6f 72 65 61 63 68 20 70 6b 67 20 5b 69 6e 66 6f 20 6c 6f 61 64 65 64 5d 20 7b 0d 09 ...foreach.pkg.[info.loaded].{..
7320 20 20 20 20 69 66 20 7b 5b 6c 69 6e 64 65 78 20 24 70 6b 67 20 31 5d 20 3d 3d 20 22 54 6b 22 7d ....if.{[lindex.$pkg.1].==."Tk"}
7340 20 7b 0d 09 09 24 63 20 65 76 61 6c 20 7b 73 65 74 20 61 72 67 76 20 7b 2d 67 65 6f 6d 65 74 72 .{...$c.eval.{set.argv.{-geometr
7360 79 20 2b 30 2b 30 7d 7d 0d 09 09 6c 6f 61 64 20 5b 6c 69 6e 64 65 78 20 24 70 6b 67 20 30 5d 20 y.+0+0}}...load.[lindex.$pkg.0].
7380 54 6b 20 24 63 0d 09 09 62 72 65 61 6b 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 24 63 20 65 76 61 6c Tk.$c...break......}..}..$c.eval
73a0 20 5b 6c 69 73 74 20 73 65 74 20 66 69 6c 65 20 24 66 69 6c 65 5d 0d 09 69 66 20 5b 63 61 74 63 .[list.set.file.$file]..if.[catc
73c0 68 20 7b 0d 09 20 20 20 20 24 63 20 65 76 61 6c 20 7b 0d 09 09 70 72 6f 63 20 64 75 6d 6d 79 20 h.{......$c.eval.{...proc.dummy.
73e0 61 72 67 73 20 7b 7d 0d 09 09 72 65 6e 61 6d 65 20 70 61 63 6b 61 67 65 20 70 61 63 6b 61 67 65 args.{}...rename.package.package
7400 2d 6f 72 69 67 0d 09 09 70 72 6f 63 20 70 61 63 6b 61 67 65 20 7b 77 68 61 74 20 61 72 67 73 7d -orig...proc.package.{what.args}
7420 20 7b 0d 09 09 20 20 20 20 73 77 69 74 63 68 20 2d 2d 20 24 77 68 61 74 20 7b 0d 09 09 09 72 65 .{.......switch.--.$what.{....re
7440 71 75 69 72 65 20 7b 20 72 65 74 75 72 6e 20 3b 20 23 20 69 67 6e 6f 72 65 20 74 72 61 6e 73 69 quire.{.return.;.#.ignore.transi
7460 74 69 76 65 20 72 65 71 75 69 72 65 73 20 7d 0d 09 09 09 64 65 66 61 75 6c 74 20 7b 20 65 76 61 tive.requires.}....default.{.eva
7480 6c 20 70 61 63 6b 61 67 65 2d 6f 72 69 67 20 7b 24 77 68 61 74 7d 20 24 61 72 67 73 20 7d 0d 09 l.package-orig.{$what}.$args.}..
74a0 09 20 20 20 20 7d 0d 09 09 7d 0d 09 09 70 72 6f 63 20 70 6b 67 47 65 74 41 6c 6c 4e 61 6d 65 73 .....}...}...proc.pkgGetAllNames
74c0 70 61 63 65 73 20 7b 7b 72 6f 6f 74 20 7b 7d 7d 7d 20 7b 0d 09 09 20 20 20 20 73 65 74 20 6c 69 paces.{{root.{}}}.{.......set.li
74e0 73 74 20 24 72 6f 6f 74 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 st.$root.....................for
7500 65 61 63 68 20 6e 73 20 5b 6e 61 6d 65 73 70 61 63 65 20 63 68 69 6c 64 72 65 6e 20 24 72 6f 6f each.ns.[namespace.children.$roo
7520 74 5d 20 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 76 61 t].{.........................eva
7540 6c 20 6c 61 70 70 65 6e 64 20 6c 69 73 74 20 5b 70 6b 67 47 65 74 41 6c 6c 4e 61 6d 65 73 70 61 l.lappend.list.[pkgGetAllNamespa
7560 63 65 73 20 24 6e 73 5d 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 20 ces.$ns].....................}..
7580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6c 69 73 74 0d ...................return.$list.
75a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 09 09 70 61 63 6b 61 67 65 20 75 6e 6b 6e ................}...package.unkn
75c0 6f 77 6e 20 64 75 6d 6d 79 0d 09 09 73 65 74 20 6f 72 69 67 43 6d 64 73 20 5b 69 6e 66 6f 20 63 own.dummy...set.origCmds.[info.c
75e0 6f 6d 6d 61 6e 64 73 5d 0d 09 09 73 65 74 20 64 69 72 20 22 22 09 09 3b 23 20 69 6e 20 63 61 73 ommands]...set.dir.""..;#.in.cas
7600 65 20 66 69 6c 65 20 69 73 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 0d 09 09 73 65 74 20 70 6b 67 e.file.is.pkgIndex.tcl...set.pkg
7620 73 20 22 22 0d 0d 09 09 23 20 54 72 79 20 74 6f 20 6c 6f 61 64 20 74 68 65 20 66 69 6c 65 20 69 s.""....#.Try.to.load.the.file.i
7640 66 20 69 74 20 68 61 73 20 74 68 65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 20 65 78 74 65 f.it.has.the.shared.library.exte
7660 6e 73 69 6f 6e 2c 0d 09 09 23 20 6f 74 68 65 72 77 69 73 65 20 73 6f 75 72 63 65 20 69 74 2e 20 nsion,...#.otherwise.source.it..
7680 20 49 74 27 73 20 69 6d 70 6f 72 74 61 6e 74 20 6e 6f 74 20 74 6f 20 74 72 79 20 74 6f 20 6c 6f .It's.important.not.to.try.to.lo
76a0 61 64 0d 09 09 23 20 66 69 6c 65 73 20 74 68 61 74 20 61 72 65 6e 27 74 20 73 68 61 72 65 64 20 ad...#.files.that.aren't.shared.
76c0 6c 69 62 72 61 72 69 65 73 2c 20 62 65 63 61 75 73 65 20 6f 6e 20 73 6f 6d 65 20 73 79 73 74 65 libraries,.because.on.some.syste
76e0 6d 73 0d 09 09 23 20 28 6c 69 6b 65 20 53 75 6e 4f 53 29 20 74 68 65 20 6c 6f 61 64 65 72 20 77 ms...#.(like.SunOS).the.loader.w
7700 69 6c 6c 20 61 62 6f 72 74 20 74 68 65 20 77 68 6f 6c 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0d ill.abort.the.whole.application.
7720 09 09 23 20 77 68 65 6e 20 69 74 20 67 65 74 73 20 61 6e 20 65 72 72 6f 72 2e 0d 0d 09 09 69 66 ..#.when.it.gets.an.error.....if
7740 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 66 69 6c 65 20 65 78 74 65 6e 73 69 6f .{[string.compare.[file.extensio
7760 6e 20 24 66 69 6c 65 5d 20 5c 0d 09 09 09 5b 69 6e 66 6f 20 73 68 61 72 65 64 6c 69 62 65 78 74 n.$file].\....[info.sharedlibext
7780 65 6e 73 69 6f 6e 5d 5d 20 3d 3d 20 30 7d 20 7b 0d 0d 09 09 20 20 20 20 23 20 54 68 65 20 22 66 ension]].==.0}.{........#.The."f
77a0 69 6c 65 20 6a 6f 69 6e 20 2e 22 20 63 6f 6d 6d 61 6e 64 20 62 65 6c 6f 77 20 69 73 20 6e 65 63 ile.join..".command.below.is.nec
77c0 65 73 73 61 72 79 2e 20 20 57 69 74 68 6f 75 74 0d 09 09 20 20 20 20 23 20 69 74 2c 20 69 66 20 essary...Without.......#.it,.if.
77e0 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 68 61 73 20 6e 6f 20 5c 27 73 20 61 6e 64 20 77 65 27 the.file.name.has.no.\'s.and.we'
7800 72 65 20 6f 6e 20 55 4e 49 58 2c 20 74 68 65 0d 09 09 20 20 20 20 23 20 6c 6f 61 64 20 63 6f 6d re.on.UNIX,.the.......#.load.com
7820 6d 61 6e 64 20 77 69 6c 6c 20 69 6e 76 6f 6b 65 20 74 68 65 20 4c 44 5f 4c 49 42 52 41 52 59 5f mand.will.invoke.the.LD_LIBRARY_
7840 50 41 54 48 20 73 65 61 72 63 68 0d 09 09 20 20 20 20 23 20 6d 65 63 68 61 6e 69 73 6d 2c 20 77 PATH.search.......#.mechanism,.w
7860 68 69 63 68 20 63 6f 75 6c 64 20 63 61 75 73 65 20 74 68 65 20 77 72 6f 6e 67 20 66 69 6c 65 20 hich.could.cause.the.wrong.file.
7880 74 6f 20 62 65 20 75 73 65 64 2e 0d 0d 09 09 20 20 20 20 6c 6f 61 64 20 5b 66 69 6c 65 20 6a 6f to.be.used.........load.[file.jo
78a0 69 6e 20 2e 20 24 66 69 6c 65 5d 0d 09 09 20 20 20 20 73 65 74 20 74 79 70 65 20 6c 6f 61 64 0d in...$file].......set.type.load.
78c0 09 09 7d 20 65 6c 73 65 20 7b 0d 09 09 20 20 20 20 73 6f 75 72 63 65 20 24 66 69 6c 65 0d 09 09 ..}.else.{.......source.$file...
78e0 20 20 20 20 73 65 74 20 74 79 70 65 20 73 6f 75 72 63 65 0d 09 09 7d 0d 09 09 66 6f 72 65 61 63 ....set.type.source...}...foreac
7900 68 20 6e 73 20 5b 70 6b 67 47 65 74 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 5d 20 7b 0d 09 09 20 h.ns.[pkgGetAllNamespaces].{....
7920 20 20 20 6e 61 6d 65 73 70 61 63 65 20 69 6d 70 6f 72 74 20 24 7b 6e 73 7d 3a 3a 2a 0d 09 09 7d ...namespace.import.${ns}::*...}
7940 0d 09 09 66 6f 72 65 61 63 68 20 69 20 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 5d 20 7b 0d 09 ...foreach.i.[info.commands].{..
7960 09 20 20 20 20 73 65 74 20 63 6d 64 73 28 24 69 29 20 31 0d 09 09 7d 0d 09 09 66 6f 72 65 61 63 .....set.cmds($i).1...}...foreac
7980 68 20 69 20 24 6f 72 69 67 43 6d 64 73 20 7b 0d 09 09 20 20 20 20 63 61 74 63 68 20 7b 75 6e 73 h.i.$origCmds.{.......catch.{uns
79a0 65 74 20 63 6d 64 73 28 24 69 29 7d 0d 0d 09 09 7d 0d 09 09 66 6f 72 65 61 63 68 20 69 20 5b 61 et.cmds($i)}....}...foreach.i.[a
79c0 72 72 61 79 20 6e 61 6d 65 73 20 63 6d 64 73 5d 20 7b 0d 09 09 20 20 20 20 23 20 72 65 76 65 72 rray.names.cmds].{.......#.rever
79e0 73 65 20 65 6e 67 69 6e 65 65 72 20 77 68 69 63 68 20 6e 61 6d 65 73 70 61 63 65 20 61 20 63 6f se.engineer.which.namespace.a.co
7a00 6d 6d 61 6e 64 20 63 6f 6d 65 73 20 66 72 6f 6d 0d 09 09 20 20 20 20 73 65 74 20 61 62 73 6f 6c mmand.comes.from.......set.absol
7a20 75 74 65 20 5b 6e 61 6d 65 73 70 61 63 65 20 6f 72 69 67 69 6e 20 24 69 5d 0d 09 09 20 20 20 20 ute.[namespace.origin.$i].......
7a40 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 3a 3a 24 69 20 24 61 62 73 6f 6c 75 if.{[string.compare.::$i.$absolu
7a60 74 65 5d 20 21 3d 20 30 7d 20 7b 0d 09 09 09 73 65 74 20 63 6d 64 73 28 24 61 62 73 6f 6c 75 74 te].!=.0}.{....set.cmds($absolut
7a80 65 29 20 31 0d 09 09 09 75 6e 73 65 74 20 63 6d 64 73 28 24 69 29 0d 09 09 20 20 20 20 7d 0d 09 e).1....unset.cmds($i).......}..
7aa0 09 7d 0d 09 09 66 6f 72 65 61 63 68 20 69 20 5b 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 5d 20 7b .}...foreach.i.[package.names].{
7ac0 0d 09 09 20 20 20 20 69 66 20 7b 28 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 70 61 63 .......if.{([string.compare.[pac
7ae0 6b 61 67 65 20 70 72 6f 76 69 64 65 20 24 69 5d 20 22 22 5d 20 21 3d 20 30 29 0d 09 09 09 20 20 kage.provide.$i].""].!=.0)......
7b00 20 20 26 26 20 28 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 69 20 54 63 6c 5d 20 21 3d ..&&.([string.compare.$i.Tcl].!=
7b20 20 30 29 0d 09 09 09 20 20 20 20 26 26 20 28 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 .0)........&&.([string.compare.$
7b40 69 20 54 6b 5d 20 21 3d 20 30 29 7d 20 7b 0d 09 09 09 6c 61 70 70 65 6e 64 20 70 6b 67 73 20 5b i.Tk].!=.0)}.{....lappend.pkgs.[
7b60 6c 69 73 74 20 24 69 20 5b 70 61 63 6b 61 67 65 20 70 72 6f 76 69 64 65 20 24 69 5d 5d 0d 09 09 list.$i.[package.provide.$i]]...
7b80 20 20 20 20 7d 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 7d 20 6d 73 67 5d 20 7b 0d 09 20 20 20 20 ....}...}......}..}.msg].{......
7ba0 74 63 6c 4c 6f 67 20 22 65 72 72 6f 72 20 77 68 69 6c 65 20 6c 6f 61 64 69 6e 67 20 6f 72 20 73 tclLog."error.while.loading.or.s
7bc0 6f 75 72 63 69 6e 67 20 24 66 69 6c 65 3a 20 24 6d 73 67 22 0d 09 7d 0d 09 66 6f 72 65 61 63 68 ourcing.$file:.$msg"..}..foreach
7be0 20 70 6b 67 20 5b 24 63 20 65 76 61 6c 20 73 65 74 20 70 6b 67 73 5d 20 7b 0d 09 20 20 20 20 6c .pkg.[$c.eval.set.pkgs].{......l
7c00 61 70 70 65 6e 64 20 66 69 6c 65 73 28 24 70 6b 67 29 20 5b 6c 69 73 74 20 24 66 69 6c 65 20 5b append.files($pkg).[list.$file.[
7c20 24 63 20 65 76 61 6c 20 73 65 74 20 74 79 70 65 5d 20 5c 0d 09 09 20 20 20 20 5b 6c 73 6f 72 74 $c.eval.set.type].\.......[lsort
7c40 20 5b 24 63 20 65 76 61 6c 20 61 72 72 61 79 20 6e 61 6d 65 73 20 63 6d 64 73 5d 5d 5d 0d 09 7d .[$c.eval.array.names.cmds]]]..}
7c60 0d 09 69 6e 74 65 72 70 20 64 65 6c 65 74 65 20 24 63 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 ..interp.delete.$c.....}.....for
7c80 65 61 63 68 20 70 6b 67 20 5b 6c 73 6f 72 74 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 66 69 6c each.pkg.[lsort.[array.names.fil
7ca0 65 73 5d 5d 20 7b 0d 09 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 5c 6e 70 61 63 6b 61 67 65 20 es]].{..append.index."\npackage.
7cc0 69 66 6e 65 65 64 65 64 20 24 70 6b 67 5c 0d 09 09 5c 5b 6c 69 73 74 20 74 63 6c 50 6b 67 53 65 ifneeded.$pkg\...\[list.tclPkgSe
7ce0 74 75 70 20 5c 24 64 69 72 20 5b 6c 72 61 6e 67 65 20 24 70 6b 67 20 30 20 30 5d 20 5b 6c 72 61 tup.\$dir.[lrange.$pkg.0.0].[lra
7d00 6e 67 65 20 24 70 6b 67 20 31 20 31 5d 5c 0d 09 09 5b 6c 69 73 74 20 24 66 69 6c 65 73 28 24 70 nge.$pkg.1.1]\...[list.$files($p
7d20 6b 67 29 5d 5c 5d 22 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 66 20 5b 6f 70 65 6e 20 70 6b kg)]\]".....}.....set.f.[open.pk
7d40 67 49 6e 64 65 78 2e 74 63 6c 20 77 5d 0d 20 20 20 20 70 75 74 73 20 24 66 20 24 69 6e 64 65 78 gIndex.tcl.w].....puts.$f.$index
7d60 0d 20 20 20 20 63 6c 6f 73 65 20 24 66 0d 20 20 20 20 63 64 20 24 6f 6c 64 44 69 72 0d 7d 0d 0d .....close.$f.....cd.$oldDir.}..
7d80 23 20 74 63 6c 50 6b 67 53 65 74 75 70 20 2d 2d 0d 23 20 54 68 69 73 20 69 73 20 61 20 75 74 69 #.tclPkgSetup.--.#.This.is.a.uti
7da0 6c 69 74 79 20 70 72 6f 63 65 64 75 72 65 20 75 73 65 20 62 79 20 70 6b 67 49 6e 64 65 78 2e 74 lity.procedure.use.by.pkgIndex.t
7dc0 63 6c 20 66 69 6c 65 73 2e 20 20 49 74 20 69 73 20 69 6e 76 6f 6b 65 64 0d 23 20 61 73 20 70 61 cl.files...It.is.invoked.#.as.pa
7de0 72 74 20 6f 66 20 61 20 22 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 22 20 73 63 72 69 70 rt.of.a."package.ifneeded".scrip
7e00 74 2e 20 20 49 74 20 63 61 6c 6c 73 20 22 70 61 63 6b 61 67 65 20 70 72 6f 76 69 64 65 22 0d 23 t...It.calls."package.provide".#
7e20 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 68 61 74 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 61 .to.indicate.that.a.package.is.a
7e40 76 61 69 6c 61 62 6c 65 2c 20 74 68 65 6e 20 73 65 74 73 20 65 6e 74 72 69 65 73 20 69 6e 20 74 vailable,.then.sets.entries.in.t
7e60 68 65 0d 23 20 61 75 74 6f 5f 69 6e 64 65 78 20 61 72 72 61 79 20 73 6f 20 74 68 61 74 20 74 68 he.#.auto_index.array.so.that.th
7e80 65 20 70 61 63 6b 61 67 65 27 73 20 66 69 6c 65 73 20 77 69 6c 6c 20 62 65 20 61 75 74 6f 2d 6c e.package's.files.will.be.auto-l
7ea0 6f 61 64 65 64 20 77 68 65 6e 0d 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 75 73 oaded.when.#.the.commands.are.us
7ec0 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 64 69 72 20 2d 09 09 09 44 69 72 ed..#.#.Arguments:.#.dir.-...Dir
7ee0 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 ectory.containing.all.the.files.
7f00 66 6f 72 20 74 68 69 73 20 70 61 63 6b 61 67 65 2e 0d 23 20 70 6b 67 20 2d 09 09 09 4e 61 6d 65 for.this.package..#.pkg.-...Name
7f20 20 6f 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 28 6e 6f 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 .of.the.package.(no.version.numb
7f40 65 72 29 2e 0d 23 20 76 65 72 73 69 6f 6e 20 2d 09 09 56 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 er)..#.version.-..Version.number
7f60 20 66 6f 72 20 74 68 65 20 70 61 63 6b 61 67 65 2c 20 73 75 63 68 20 61 73 20 32 2e 31 2e 33 2e .for.the.package,.such.as.2.1.3.
7f80 0d 23 20 66 69 6c 65 73 20 2d 09 09 4c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 74 68 61 74 20 63 .#.files.-..List.of.files.that.c
7fa0 6f 6e 73 74 69 74 75 74 65 20 74 68 65 20 70 61 63 6b 61 67 65 2e 20 20 45 61 63 68 0d 23 09 09 onstitute.the.package...Each.#..
7fc0 09 65 6c 65 6d 65 6e 74 20 69 73 20 61 20 73 75 62 2d 6c 69 73 74 20 77 69 74 68 20 74 68 72 65 .element.is.a.sub-list.with.thre
7fe0 65 20 65 6c 65 6d 65 6e 74 73 2e 20 20 54 68 65 20 66 69 72 73 74 0d 23 09 09 09 69 73 20 74 68 e.elements...The.first.#...is.th
8000 65 20 6e 61 6d 65 20 6f 66 20 61 20 66 69 6c 65 20 72 65 6c 61 74 69 76 65 20 74 6f 20 24 64 69 e.name.of.a.file.relative.to.$di
8020 72 2c 20 74 68 65 20 73 65 63 6f 6e 64 20 69 73 0d 23 09 09 09 22 6c 6f 61 64 22 20 6f 72 20 22 r,.the.second.is.#..."load".or."
8040 73 6f 75 72 63 65 22 2c 20 69 6e 64 69 63 61 74 69 6e 67 20 77 68 65 74 68 65 72 20 74 68 65 20 source",.indicating.whether.the.
8060 66 69 6c 65 20 69 73 20 61 0d 23 09 09 09 6c 6f 61 64 61 62 6c 65 20 62 69 6e 61 72 79 20 6f 72 file.is.a.#...loadable.binary.or
8080 20 61 20 73 63 72 69 70 74 20 74 6f 20 73 6f 75 72 63 65 2c 20 61 6e 64 20 74 68 65 20 74 68 69 .a.script.to.source,.and.the.thi
80a0 72 64 0d 23 09 09 09 69 73 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 20 64 65 66 rd.#...is.a.list.of.commands.def
80c0 69 6e 65 64 20 62 79 20 74 68 69 73 20 66 69 6c 65 2e 0d 0d 70 72 6f 63 20 74 63 6c 50 6b 67 53 ined.by.this.file...proc.tclPkgS
80e0 65 74 75 70 20 7b 64 69 72 20 70 6b 67 20 76 65 72 73 69 6f 6e 20 66 69 6c 65 73 7d 20 7b 0d 20 etup.{dir.pkg.version.files}.{..
8100 20 20 20 67 6c 6f 62 61 6c 20 61 75 74 6f 5f 69 6e 64 65 78 0d 0d 20 20 20 20 70 61 63 6b 61 67 ...global.auto_index......packag
8120 65 20 70 72 6f 76 69 64 65 20 24 70 6b 67 20 24 76 65 72 73 69 6f 6e 0d 20 20 20 20 66 6f 72 65 e.provide.$pkg.$version.....fore
8140 61 63 68 20 66 69 6c 65 49 6e 66 6f 20 24 66 69 6c 65 73 20 7b 0d 09 73 65 74 20 66 20 5b 6c 69 ach.fileInfo.$files.{..set.f.[li
8160 6e 64 65 78 20 24 66 69 6c 65 49 6e 66 6f 20 30 5d 0d 09 73 65 74 20 74 79 70 65 20 5b 6c 69 6e ndex.$fileInfo.0]..set.type.[lin
8180 64 65 78 20 24 66 69 6c 65 49 6e 66 6f 20 31 5d 0d 09 66 6f 72 65 61 63 68 20 63 6d 64 20 5b 6c dex.$fileInfo.1]..foreach.cmd.[l
81a0 69 6e 64 65 78 20 24 66 69 6c 65 49 6e 66 6f 20 32 5d 20 7b 0d 09 20 20 20 20 69 66 20 7b 24 74 index.$fileInfo.2].{......if.{$t
81c0 79 70 65 20 3d 3d 20 22 6c 6f 61 64 22 7d 20 7b 0d 09 09 73 65 74 20 61 75 74 6f 5f 69 6e 64 65 ype.==."load"}.{...set.auto_inde
81e0 78 28 24 63 6d 64 29 20 5b 6c 69 73 74 20 6c 6f 61 64 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 x($cmd).[list.load.[file.join.$d
8200 69 72 20 24 66 5d 20 24 70 6b 67 5d 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 ir.$f].$pkg]......}.else.{...set
8220 20 61 75 74 6f 5f 69 6e 64 65 78 28 24 63 6d 64 29 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b .auto_index($cmd).[list.source.[
8240 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 24 66 5d 5d 0d 09 20 20 20 20 7d 20 0d 09 7d 0d 20 file.join.$dir.$f]]......}...}..
8260 20 20 20 7d 0d 7d 0d 0d 23 20 74 63 6c 4d 61 63 50 6b 67 53 65 61 72 63 68 20 2d 2d 0d 23 20 54 ...}.}..#.tclMacPkgSearch.--.#.T
8280 68 65 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 75 73 65 64 20 6f 6e 20 74 68 65 20 4d 61 63 69 he.procedure.is.used.on.the.Maci
82a0 6e 74 6f 73 68 20 74 6f 20 73 65 61 72 63 68 20 61 20 67 69 76 65 6e 20 64 69 72 65 63 74 6f 72 ntosh.to.search.a.given.director
82c0 79 20 66 6f 72 20 66 69 6c 65 73 0d 23 20 77 69 74 68 20 61 20 54 45 58 54 20 72 65 73 6f 75 72 y.for.files.#.with.a.TEXT.resour
82e0 63 65 20 6e 61 6d 65 64 20 22 70 6b 67 49 6e 64 65 78 22 2e 20 20 49 66 20 69 74 20 65 78 69 73 ce.named."pkgIndex"...If.it.exis
8300 74 73 20 69 74 20 69 73 20 73 6f 75 72 63 65 64 20 69 6e 20 74 6f 20 74 68 65 0d 23 20 69 6e 74 ts.it.is.sourced.in.to.the.#.int
8320 65 72 70 72 65 74 65 72 20 74 6f 20 73 65 74 75 70 20 74 68 65 20 70 61 63 6b 61 67 65 20 64 61 erpreter.to.setup.the.package.da
8340 74 61 62 61 73 65 2e 0d 0d 70 72 6f 63 20 74 63 6c 4d 61 63 50 6b 67 53 65 61 72 63 68 20 7b 64 tabase...proc.tclMacPkgSearch.{d
8360 69 72 7d 20 7b 0d 20 20 20 20 66 6f 72 65 61 63 68 20 78 20 5b 67 6c 6f 62 20 2d 6e 6f 63 6f 6d ir}.{.....foreach.x.[glob.-nocom
8380 70 6c 61 69 6e 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 2a 2e 73 68 6c 62 5d 5d 20 7b plain.[file.join.$dir.*.shlb]].{
83a0 0d 09 69 66 20 5b 66 69 6c 65 20 69 73 66 69 6c 65 20 24 78 5d 20 7b 0d 09 20 20 20 20 73 65 74 ..if.[file.isfile.$x].{......set
83c0 20 72 65 73 20 5b 72 65 73 6f 75 72 63 65 20 6f 70 65 6e 20 24 78 5d 0d 09 20 20 20 20 66 6f 72 .res.[resource.open.$x]......for
83e0 65 61 63 68 20 79 20 5b 72 65 73 6f 75 72 63 65 20 6c 69 73 74 20 54 45 58 54 20 24 72 65 73 5d each.y.[resource.list.TEXT.$res]
8400 20 7b 0d 09 09 69 66 20 7b 24 79 20 3d 3d 20 22 70 6b 67 49 6e 64 65 78 22 7d 20 7b 73 6f 75 72 .{...if.{$y.==."pkgIndex"}.{sour
8420 63 65 20 2d 72 73 72 63 20 70 6b 67 49 6e 64 65 78 7d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 63 ce.-rsrc.pkgIndex}......}......c
8440 61 74 63 68 20 7b 72 65 73 6f 75 72 63 65 20 63 6c 6f 73 65 20 24 72 65 73 7d 0d 09 7d 0d 20 20 atch.{resource.close.$res}..}...
8460 20 20 7d 0d 7d 0d 0d 23 20 74 63 6c 50 6b 67 55 6e 6b 6e 6f 77 6e 20 2d 2d 0d 23 20 54 68 69 73 ..}.}..#.tclPkgUnknown.--.#.This
8480 20 70 72 6f 63 65 64 75 72 65 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 .procedure.provides.the.default.
84a0 66 6f 72 20 74 68 65 20 22 70 61 63 6b 61 67 65 20 75 6e 6b 6e 6f 77 6e 22 20 66 75 6e 63 74 69 for.the."package.unknown".functi
84c0 6f 6e 2e 0d 23 20 49 74 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 61 20 70 61 63 6b 61 on..#.It.is.invoked.when.a.packa
84e0 67 65 20 74 68 61 74 27 73 20 6e 65 65 64 65 64 20 63 61 6e 27 74 20 62 65 20 66 6f 75 6e 64 2e ge.that's.needed.can't.be.found.
8500 20 20 49 74 20 73 63 61 6e 73 0d 23 20 74 68 65 20 61 75 74 6f 5f 70 61 74 68 20 64 69 72 65 63 ..It.scans.#.the.auto_path.direc
8520 74 6f 72 69 65 73 20 61 6e 64 20 74 68 65 69 72 20 69 6d 6d 65 64 69 61 74 65 20 63 68 69 6c 64 tories.and.their.immediate.child
8540 72 65 6e 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 0d 23 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 20 66 ren.looking.for.#.pkgIndex.tcl.f
8560 69 6c 65 73 20 61 6e 64 20 73 6f 75 72 63 65 73 20 61 6e 79 20 73 75 63 68 20 66 69 6c 65 73 20 iles.and.sources.any.such.files.
8580 74 68 61 74 20 61 72 65 20 66 6f 75 6e 64 20 74 6f 20 73 65 74 75 70 0d 23 20 74 68 65 20 70 61 that.are.found.to.setup.#.the.pa
85a0 63 6b 61 67 65 20 64 61 74 61 62 61 73 65 2e 20 20 28 4f 6e 20 74 68 65 20 4d 61 63 69 6e 74 6f ckage.database...(On.the.Macinto
85c0 73 68 20 77 65 20 61 6c 73 6f 20 73 65 61 72 63 68 20 66 6f 72 20 70 6b 67 49 6e 64 65 78 0d 23 sh.we.also.search.for.pkgIndex.#
85e0 20 54 45 58 54 20 72 65 73 6f 75 72 63 65 73 20 69 6e 20 61 6c 6c 20 66 69 6c 65 73 2e 29 0d 23 .TEXT.resources.in.all.files.).#
8600 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6e 61 6d 65 20 2d 09 09 4e 61 6d 65 20 6f 66 20 .#.Arguments:.#.name.-..Name.of.
8620 64 65 73 69 72 65 64 20 70 61 63 6b 61 67 65 2e 20 20 4e 6f 74 20 75 73 65 64 2e 0d 23 20 76 65 desired.package...Not.used..#.ve
8640 72 73 69 6f 6e 20 2d 09 09 56 65 72 73 69 6f 6e 20 6f 66 20 64 65 73 69 72 65 64 20 70 61 63 6b rsion.-..Version.of.desired.pack
8660 61 67 65 2e 20 20 4e 6f 74 20 75 73 65 64 2e 0d 23 20 65 78 61 63 74 20 2d 09 09 45 69 74 68 65 age...Not.used..#.exact.-..Eithe
8680 72 20 22 2d 65 78 61 63 74 22 20 6f 72 20 6f 6d 69 74 74 65 64 2e 20 20 4e 6f 74 20 75 73 65 64 r."-exact".or.omitted...Not.used
86a0 2e 0d 0d 70 72 6f 63 20 74 63 6c 50 6b 67 55 6e 6b 6e 6f 77 6e 20 7b 6e 61 6d 65 20 76 65 72 73 ...proc.tclPkgUnknown.{name.vers
86c0 69 6f 6e 20 7b 65 78 61 63 74 20 7b 7d 7d 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 61 75 74 ion.{exact.{}}}.{.....global.aut
86e0 6f 5f 70 61 74 68 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 20 65 6e 76 0d 0d 20 20 20 20 69 66 20 o_path.tcl_platform.env......if.
8700 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 70 61 74 68 5d 20 7b 0d 09 72 65 74 75 ![info.exists.auto_path].{..retu
8720 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 20 5b 65 78 70 72 20 5b 6c rn.....}.....for.{set.i.[expr.[l
8740 6c 65 6e 67 74 68 20 24 61 75 74 6f 5f 70 61 74 68 5d 20 2d 20 31 5d 7d 20 7b 24 69 20 3e 3d 20 length.$auto_path].-.1]}.{$i.>=.
8760 30 7d 20 7b 69 6e 63 72 20 69 20 2d 31 7d 20 7b 0d 09 23 20 77 65 20 63 61 6e 27 74 20 75 73 65 0}.{incr.i.-1}.{..#.we.can't.use
8780 20 67 6c 6f 62 20 69 6e 20 73 61 66 65 20 69 6e 74 65 72 70 73 2c 20 73 6f 20 65 6e 63 6c 6f 73 .glob.in.safe.interps,.so.enclos
87a0 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0d 09 23 20 69 6e 20 61 20 63 61 74 63 68 20 73 74 e.the.following..#.in.a.catch.st
87c0 61 74 65 6d 65 6e 74 0d 09 63 61 74 63 68 20 7b 0d 09 20 20 20 20 66 6f 72 65 61 63 68 20 66 69 atement..catch.{......foreach.fi
87e0 6c 65 20 5b 67 6c 6f 62 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 le.[glob.-nocomplain.[file.join.
8800 5b 6c 69 6e 64 65 78 20 24 61 75 74 6f 5f 70 61 74 68 20 24 69 5d 20 5c 0d 09 09 20 20 20 20 2a [lindex.$auto_path.$i].\.......*
8820 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 5d 5d 20 7b 0d 09 09 73 65 74 20 64 69 72 20 5b 66 69 6c .pkgIndex.tcl]].{...set.dir.[fil
8840 65 20 64 69 72 6e 61 6d 65 20 24 66 69 6c 65 5d 0d 09 09 69 66 20 5b 63 61 74 63 68 20 7b 73 6f e.dirname.$file]...if.[catch.{so
8860 75 72 63 65 20 24 66 69 6c 65 7d 20 6d 73 67 5d 20 7b 0d 09 09 20 20 20 20 74 63 6c 4c 6f 67 20 urce.$file}.msg].{.......tclLog.
8880 22 65 72 72 6f 72 20 72 65 61 64 69 6e 67 20 70 61 63 6b 61 67 65 20 69 6e 64 65 78 20 66 69 6c "error.reading.package.index.fil
88a0 65 20 24 66 69 6c 65 3a 20 24 6d 73 67 22 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 20 20 20 20 20 20 e.$file:.$msg"...}......}.......
88c0 20 20 7d 0d 09 73 65 74 20 64 69 72 20 5b 6c 69 6e 64 65 78 20 24 61 75 74 6f 5f 70 61 74 68 20 ..}..set.dir.[lindex.$auto_path.
88e0 24 69 5d 0d 09 73 65 74 20 66 69 6c 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 70 6b $i]..set.file.[file.join.$dir.pk
8900 67 49 6e 64 65 78 2e 74 63 6c 5d 0d 09 23 20 73 61 66 65 20 69 6e 74 65 72 70 73 20 75 73 75 61 gIndex.tcl]..#.safe.interps.usua
8920 6c 6c 79 20 64 6f 6e 27 74 20 68 61 76 65 20 22 66 69 6c 65 20 72 65 61 64 61 62 6c 65 22 2c 20 lly.don't.have."file.readable",.
8940 6e 6f 72 20 73 74 64 65 72 72 20 63 68 61 6e 6e 65 6c 0d 09 69 66 20 7b 5b 69 6e 74 65 72 70 20 nor.stderr.channel..if.{[interp.
8960 69 73 73 61 66 65 5d 20 7c 7c 20 5b 66 69 6c 65 20 72 65 61 64 61 62 6c 65 20 24 66 69 6c 65 5d issafe].||.[file.readable.$file]
8980 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 63 61 74 63 68 20 7b 73 6f 75 72 63 65 20 24 66 69 6c }.{......if.{[catch.{source.$fil
89a0 65 7d 20 6d 73 67 5d 20 26 26 20 21 5b 69 6e 74 65 72 70 20 69 73 73 61 66 65 5d 7d 20 20 7b 0d e}.msg].&&.![interp.issafe]}..{.
89c0 09 09 74 63 6c 4c 6f 67 20 22 65 72 72 6f 72 20 72 65 61 64 69 6e 67 20 70 61 63 6b 61 67 65 20 ..tclLog."error.reading.package.
89e0 69 6e 64 65 78 20 66 69 6c 65 20 24 66 69 6c 65 3a 20 24 6d 73 67 22 0d 09 20 20 20 20 7d 0d 09 index.file.$file:.$msg"......}..
8a00 7d 0d 09 23 20 4f 6e 20 74 68 65 20 4d 61 63 69 6e 74 6f 73 68 20 77 65 20 61 6c 73 6f 20 6c 6f }..#.On.the.Macintosh.we.also.lo
8a20 6f 6b 20 69 6e 20 74 68 65 20 72 65 73 6f 75 72 63 65 20 66 6f 72 6b 20 0d 09 23 20 6f 66 20 73 ok.in.the.resource.fork...#.of.s
8a40 68 61 72 65 64 20 6c 69 62 72 61 72 69 65 73 0d 09 23 20 57 65 20 63 61 6e 27 74 20 75 73 65 20 hared.libraries..#.We.can't.use.
8a60 74 63 6c 4d 61 63 50 6b 67 53 65 61 72 63 68 20 69 6e 20 73 61 66 65 20 69 6e 74 65 72 70 73 20 tclMacPkgSearch.in.safe.interps.
8a80 62 65 63 61 75 73 65 20 69 74 20 75 73 65 73 20 67 6c 6f 62 0d 09 69 66 20 7b 28 21 5b 69 6e 74 because.it.uses.glob..if.{(![int
8aa0 65 72 70 20 69 73 73 61 66 65 5d 29 20 26 26 20 28 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 erp.issafe]).&&.($tcl_platform(p
8ac0 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 29 7d 20 7b 0d 09 20 20 20 latform).==."macintosh")}.{.....
8ae0 20 73 65 74 20 64 69 72 20 5b 6c 69 6e 64 65 78 20 24 61 75 74 6f 5f 70 61 74 68 20 24 69 5d 0d .set.dir.[lindex.$auto_path.$i].
8b00 09 20 20 20 20 74 63 6c 4d 61 63 50 6b 67 53 65 61 72 63 68 20 24 64 69 72 0d 09 20 20 20 20 66 .....tclMacPkgSearch.$dir......f
8b20 6f 72 65 61 63 68 20 78 20 5b 67 6c 6f 62 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 5b 66 69 6c 65 oreach.x.[glob.-nocomplain.[file
8b40 20 6a 6f 69 6e 20 24 64 69 72 20 2a 5d 5d 20 7b 0d 09 09 69 66 20 5b 66 69 6c 65 20 69 73 64 69 .join.$dir.*]].{...if.[file.isdi
8b60 72 65 63 74 6f 72 79 20 24 78 5d 20 7b 0d 09 09 20 20 20 20 73 65 74 20 64 69 72 20 24 78 0d 09 rectory.$x].{.......set.dir.$x..
8b80 09 20 20 20 20 74 63 6c 4d 61 63 50 6b 67 53 65 61 72 63 68 20 24 64 69 72 0d 09 09 7d 0d 09 20 .....tclMacPkgSearch.$dir...}...
8ba0 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 00 00 22 f3 23 20 68 69 73 74 6f 72 79 2e 74 63 ...}..}.....}.}...".#.history.tc
8bc0 6c 20 2d 2d 0d 23 0d 23 20 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 68 l.--.#.#.Implementation.of.the.h
8be0 69 73 74 6f 72 79 20 63 6f 6d 6d 61 6e 64 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 68 istory.command..#.#.SCCS:.@(#).h
8c00 69 73 74 6f 72 79 2e 74 63 6c 20 31 2e 37 20 39 37 2f 30 38 2f 30 37 20 31 36 3a 34 35 3a 35 30 istory.tcl.1.7.97/08/07.16:45:50
8c20 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 37 20 53 75 6e 20 4d 69 63 72 .#.#.Copyright.(c).1997.Sun.Micr
8c40 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 osystems,.Inc..#.#.See.the.file.
8c60 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 "license.terms".for.information.
8c80 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 on.usage.and.redistribution.#.of
8ca0 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 .this.file,.and.for.a.DISCLAIMER
8cc0 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 54 68 65 20 74 63 6c .OF.ALL.WARRANTIES..#..#.The.tcl
8ce0 3a 3a 68 69 73 74 6f 72 79 20 61 72 72 61 79 20 68 6f 6c 64 73 20 74 68 65 20 68 69 73 74 6f 72 ::history.array.holds.the.histor
8d00 79 20 6c 69 73 74 20 61 6e 64 0d 23 20 73 6f 6d 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 62 6f 6f y.list.and.#.some.additional.boo
8d20 6b 6b 65 65 70 69 6e 67 20 76 61 72 69 61 62 6c 65 73 2e 0d 23 0d 23 20 6e 65 78 74 69 64 09 74 kkeeping.variables..#.#.nextid.t
8d40 68 65 20 69 6e 64 65 78 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 6e 65 78 74 20 68 69 73 74 6f he.index.used.for.the.next.histo
8d60 72 79 20 6c 69 73 74 20 69 74 65 6d 2e 0d 23 20 6b 65 65 70 09 09 74 68 65 20 6d 61 78 20 73 69 ry.list.item..#.keep..the.max.si
8d80 7a 65 20 6f 66 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 0d 23 20 6f 6c 64 65 73 74 09 ze.of.the.history.list.#.oldest.
8da0 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 6f 6c 64 65 73 74 20 69 74 65 6d 20 69 6e 20 the.index.of.the.oldest.item.in.
8dc0 74 68 65 20 68 69 73 74 6f 72 79 2e 0d 0d 6e 61 6d 65 73 70 61 63 65 20 65 76 61 6c 20 74 63 6c the.history...namespace.eval.tcl
8de0 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 20 20 69 66 20 21 .{.....variable.history.....if.!
8e00 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 68 69 73 74 6f 72 79 5d 20 7b 0d 09 61 72 72 61 79 20 73 [info.exists.history].{..array.s
8e20 65 74 20 68 69 73 74 6f 72 79 20 7b 0d 09 20 20 20 20 6e 65 78 74 69 64 09 30 0d 09 20 20 20 20 et.history.{......nextid.0......
8e40 6b 65 65 70 09 32 30 0d 09 20 20 20 20 6f 6c 64 65 73 74 09 2d 32 30 0d 09 7d 0d 20 20 20 20 7d keep.20......oldest.-20..}.....}
8e60 0d 7d 0d 0d 23 20 68 69 73 74 6f 72 79 20 2d 2d 0d 23 0d 23 09 54 68 69 73 20 69 73 20 74 68 65 .}..#.history.--.#.#.This.is.the
8e80 20 6d 61 69 6e 20 68 69 73 74 6f 72 79 20 63 6f 6d 6d 61 6e 64 2e 20 20 53 65 65 20 74 68 65 20 .main.history.command...See.the.
8ea0 6d 61 6e 20 70 61 67 65 20 66 6f 72 20 69 74 73 20 69 6e 74 65 72 66 61 63 65 2e 0d 23 09 54 68 man.page.for.its.interface..#.Th
8ec0 69 73 20 64 6f 65 73 20 61 72 67 75 6d 65 6e 74 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 20 63 61 is.does.argument.checking.and.ca
8ee0 6c 6c 73 20 68 65 6c 70 65 72 20 70 72 6f 63 65 64 75 72 65 73 20 69 6e 20 74 68 65 0d 23 09 68 lls.helper.procedures.in.the.#.h
8f00 69 73 74 6f 72 79 20 6e 61 6d 65 73 70 61 63 65 2e 0d 0d 70 72 6f 63 20 68 69 73 74 6f 72 79 20 istory.namespace...proc.history.
8f20 7b 61 72 67 73 7d 20 7b 0d 20 20 20 20 73 65 74 20 6c 65 6e 20 5b 6c 6c 65 6e 67 74 68 20 24 61 {args}.{.....set.len.[llength.$a
8f40 72 67 73 5d 0d 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3d 3d 20 30 7d 20 7b 0d 09 72 65 74 75 72 rgs].....if.{$len.==.0}.{..retur
8f60 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 49 6e 66 6f 5d 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 n.[tcl::HistInfo].....}.....set.
8f80 6b 65 79 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 30 5d 0d 20 20 20 20 73 65 74 20 6f 70 74 key.[lindex.$args.0].....set.opt
8fa0 69 6f 6e 73 20 22 61 64 64 2c 20 63 68 61 6e 67 65 2c 20 63 6c 65 61 72 2c 20 65 76 65 6e 74 2c ions."add,.change,.clear,.event,
8fc0 20 69 6e 66 6f 2c 20 6b 65 65 70 2c 20 6e 65 78 74 69 64 2c 20 6f 72 20 72 65 64 6f 22 0d 20 20 .info,.keep,.nextid,.or.redo"...
8fe0 20 20 73 77 69 74 63 68 20 2d 67 6c 6f 62 20 2d 2d 20 24 6b 65 79 20 7b 0d 09 61 2a 20 7b 20 23 ..switch.-glob.--.$key.{..a*.{.#
9000 20 68 69 73 74 6f 72 79 20 61 64 64 0d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3e 20 33 7d .history.add.......if.{$len.>.3}
9020 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f 6e 67 20 23 .{...return.-code.error."wrong.#
9040 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f 72 79 20 61 64 64 20 65 .args:.should.be.\"history.add.e
9060 76 65 6e 74 20 3f 65 78 65 63 3f 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 21 vent.?exec?\""......}......if.{!
9080 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 6b 65 79 2a 20 61 64 64 5d 7d 20 7b 0d 09 09 72 65 [string.match.$key*.add]}.{...re
90a0 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 5c 22 24 turn.-code.error."bad.option.\"$
90c0 6b 65 79 5c 22 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 20 20 20 20 7d 0d key\":.must.be.$options"......}.
90e0 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3d 3d 20 33 7d 20 7b 0d 09 09 73 65 74 20 61 72 67 20 .....if.{$len.==.3}.{...set.arg.
9100 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 32 5d 0d 09 09 69 66 20 7b 21 20 28 5b 73 74 72 69 6e [lindex.$args.2]...if.{!.([strin
9120 67 20 6d 61 74 63 68 20 65 2a 20 24 61 72 67 5d 20 26 26 20 5b 73 74 72 69 6e 67 20 6d 61 74 63 g.match.e*.$arg].&&.[string.matc
9140 68 20 24 61 72 67 2a 20 65 78 65 63 5d 29 7d 20 7b 0d 09 09 20 20 20 20 72 65 74 75 72 6e 20 2d h.$arg*.exec])}.{.......return.-
9160 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 61 72 67 75 6d 65 6e 74 20 5c 22 24 61 72 67 5c code.error."bad.argument.\"$arg\
9180 22 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 65 78 65 63 5c 22 22 0d 09 09 7d 0d 09 20 20 20 20 ":.should.be.\"exec\""...}......
91a0 7d 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 41 64 64 20 5b 6c 69 6e }......return.[tcl::HistAdd.[lin
91c0 64 65 78 20 24 61 72 67 73 20 31 5d 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 32 5d 5d 0d 09 dex.$args.1].[lindex.$args.2]]..
91e0 7d 0d 09 63 68 2a 20 7b 20 23 20 68 69 73 74 6f 72 79 20 63 68 61 6e 67 65 0d 0d 09 20 20 20 20 }..ch*.{.#.history.change.......
9200 69 66 20 7b 28 24 6c 65 6e 20 3e 20 33 29 20 7c 7c 20 28 24 6c 65 6e 20 3c 20 32 29 7d 20 7b 0d if.{($len.>.3).||.($len.<.2)}.{.
9220 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f 6e 67 20 23 20 61 72 ..return.-code.error."wrong.#.ar
9240 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f 72 79 20 63 68 61 6e 67 65 20 6e gs:.should.be.\"history.change.n
9260 65 77 56 61 6c 75 65 20 3f 65 76 65 6e 74 3f 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 ewValue.?event?\""......}......i
9280 66 20 7b 21 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 6b 65 79 2a 20 63 68 61 6e 67 65 5d 7d f.{![string.match.$key*.change]}
92a0 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 .{...return.-code.error."bad.opt
92c0 69 6f 6e 20 5c 22 24 6b 65 79 5c 22 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d ion.\"$key\":.must.be.$options".
92e0 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3d 3d 20 32 7d 20 7b 0d 09 09 73 .....}......if.{$len.==.2}.{...s
9300 65 74 20 65 76 65 6e 74 20 30 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 65 et.event.0......}.else.{...set.e
9320 76 65 6e 74 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 32 5d 0d 09 20 20 20 20 7d 0d 0d 09 20 vent.[lindex.$args.2]......}....
9340 20 20 20 72 65 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 43 68 61 6e 67 65 20 5b 6c 69 6e 64 ...return.[tcl::HistChange.[lind
9360 65 78 20 24 61 72 67 73 20 31 5d 20 24 65 76 65 6e 74 5d 0d 09 7d 0d 09 63 6c 2a 20 7b 20 23 20 ex.$args.1].$event]..}..cl*.{.#.
9380 68 69 73 74 6f 72 79 20 63 6c 65 61 72 0d 0d 09 20 20 20 20 69 66 20 7b 28 24 6c 65 6e 20 3e 20 history.clear.......if.{($len.>.
93a0 31 29 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f 6e 1)}.{...return.-code.error."wron
93c0 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f 72 79 20 63 6c g.#.args:.should.be.\"history.cl
93e0 65 61 72 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 21 5b 73 74 72 69 6e 67 20 ear\""......}......if.{![string.
9400 6d 61 74 63 68 20 24 6b 65 79 2a 20 63 6c 65 61 72 5d 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d match.$key*.clear]}.{...return.-
9420 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 5c 22 24 6b 65 79 5c 22 3a code.error."bad.option.\"$key\":
9440 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 72 .must.be.$options"......}......r
9460 65 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 43 6c 65 61 72 5d 0d 09 7d 0d 09 65 2a 20 7b 20 eturn.[tcl::HistClear]..}..e*.{.
9480 23 20 68 69 73 74 6f 72 79 20 65 76 65 6e 74 0d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3e #.history.event.......if.{$len.>
94a0 20 32 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f 6e .2}.{...return.-code.error."wron
94c0 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f 72 79 20 65 76 g.#.args:.should.be.\"history.ev
94e0 65 6e 74 20 3f 65 76 65 6e 74 3f 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 21 ent.?event?\""......}......if.{!
9500 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 6b 65 79 2a 20 65 76 65 6e 74 5d 7d 20 7b 0d 09 09 [string.match.$key*.event]}.{...
9520 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 5c return.-code.error."bad.option.\
9540 22 24 6b 65 79 5c 22 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 20 20 20 20 "$key\":.must.be.$options"......
9560 7d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3d 3d 20 31 7d 20 7b 0d 09 09 73 65 74 20 65 76 }......if.{$len.==.1}.{...set.ev
9580 65 6e 74 20 2d 31 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 65 76 65 6e 74 ent.-1......}.else.{...set.event
95a0 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 31 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 72 65 .[lindex.$args.1]......}......re
95c0 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 45 76 65 6e 74 20 24 65 76 65 6e 74 5d 0d 09 7d 0d turn.[tcl::HistEvent.$event]..}.
95e0 09 69 2a 20 7b 20 23 20 68 69 73 74 6f 72 79 20 69 6e 66 6f 0d 0d 09 20 20 20 20 69 66 20 7b 24 .i*.{.#.history.info.......if.{$
9600 6c 65 6e 20 3e 20 32 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 len.>.2}.{...return.-code.error.
9620 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f "wrong.#.args:.should.be.\"histo
9640 72 79 20 69 6e 66 6f 20 3f 63 6f 75 6e 74 3f 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 ry.info.?count?\""......}......i
9660 66 20 7b 21 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 6b 65 79 2a 20 69 6e 66 6f 5d 7d 20 7b f.{![string.match.$key*.info]}.{
9680 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f ...return.-code.error."bad.optio
96a0 6e 20 5c 22 24 6b 65 79 5c 22 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 20 n.\"$key\":.must.be.$options"...
96c0 20 20 20 7d 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 49 6e 66 6f 20 ...}......return.[tcl::HistInfo.
96e0 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 31 5d 5d 0d 09 7d 0d 09 6b 2a 20 7b 20 23 20 68 69 73 [lindex.$args.1]]..}..k*.{.#.his
9700 74 6f 72 79 20 6b 65 65 70 0d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3e 20 32 7d 20 7b 0d tory.keep.......if.{$len.>.2}.{.
9720 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f 6e 67 20 23 20 61 72 ..return.-code.error."wrong.#.ar
9740 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f 72 79 20 6b 65 65 70 20 3f 63 6f gs:.should.be.\"history.keep.?co
9760 75 6e 74 3f 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3d 3d 20 unt?\""......}......if.{$len.==.
9780 31 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 4b 65 65 70 5d 0d 09 20 1}.{...return.[tcl::HistKeep]...
97a0 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 6c 69 6d 69 74 20 5b 6c 69 6e 64 65 78 20 ...}.else.{...set.limit.[lindex.
97c0 24 61 72 67 73 20 31 5d 0d 09 09 69 66 20 7b 5b 63 61 74 63 68 20 7b 65 78 70 72 20 24 6c 69 6d $args.1]...if.{[catch.{expr.$lim
97e0 69 74 7d 5d 20 7c 7c 20 28 24 6c 69 6d 69 74 20 3c 20 30 29 7d 20 7b 0d 09 09 20 20 20 20 72 65 it}].||.($limit.<.0)}.{.......re
9800 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 69 6c 6c 65 67 61 6c 20 6b 65 65 70 20 63 turn.-code.error."illegal.keep.c
9820 6f 75 6e 74 20 5c 22 24 6c 69 6d 69 74 5c 22 22 0d 09 09 7d 0d 09 09 72 65 74 75 72 6e 20 5b 74 ount.\"$limit\""...}...return.[t
9840 63 6c 3a 3a 48 69 73 74 4b 65 65 70 20 24 6c 69 6d 69 74 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 cl::HistKeep.$limit]......}..}..
9860 6e 2a 20 7b 20 23 20 68 69 73 74 6f 72 79 20 6e 65 78 74 69 64 0d 0d 09 20 20 20 20 69 66 20 7b n*.{.#.history.nextid.......if.{
9880 24 6c 65 6e 20 3e 20 31 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 $len.>.1}.{...return.-code.error
98a0 20 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 ."wrong.#.args:.should.be.\"hist
98c0 6f 72 79 20 6e 65 78 74 69 64 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 21 5b ory.nextid\""......}......if.{![
98e0 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 6b 65 79 2a 20 6e 65 78 74 69 64 5d 7d 20 7b 0d 09 09 string.match.$key*.nextid]}.{...
9900 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 5c return.-code.error."bad.option.\
9920 22 24 6b 65 79 5c 22 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 20 20 20 20 "$key\":.must.be.$options"......
9940 7d 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 65 78 70 72 20 24 74 63 6c 3a 3a 68 69 73 74 6f 72 }......return.[expr.$tcl::histor
9960 79 28 6e 65 78 74 69 64 29 20 2b 20 31 5d 0d 09 7d 0d 09 72 2a 20 7b 20 23 20 68 69 73 74 6f 72 y(nextid).+.1]..}..r*.{.#.histor
9980 79 20 72 65 64 6f 0d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3e 20 32 7d 20 7b 0d 09 09 72 y.redo.......if.{$len.>.2}.{...r
99a0 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a eturn.-code.error."wrong.#.args:
99c0 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f 72 79 20 72 65 64 6f 20 3f 65 76 65 6e 74 .should.be.\"history.redo.?event
99e0 3f 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 21 5b 73 74 72 69 6e 67 20 6d 61 ?\""......}......if.{![string.ma
9a00 74 63 68 20 24 6b 65 79 2a 20 72 65 64 6f 5d 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 tch.$key*.redo]}.{...return.-cod
9a20 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 5c 22 24 6b 65 79 5c 22 3a 20 6d 75 e.error."bad.option.\"$key\":.mu
9a40 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 72 65 74 75 st.be.$options"......}......retu
9a60 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 52 65 64 6f 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 rn.[tcl::HistRedo.[lindex.$args.
9a80 31 5d 5d 0d 09 7d 0d 09 64 65 66 61 75 6c 74 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 2d 63 1]]..}..default.{......return.-c
9aa0 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 5c 22 24 6b 65 79 5c 22 3a 20 ode.error."bad.option.\"$key\":.
9ac0 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 must.be.$options"..}.....}.}..#.
9ae0 74 63 6c 3a 3a 48 69 73 74 41 64 64 20 2d 2d 0d 23 0d 23 09 41 64 64 20 61 6e 20 69 74 65 6d 20 tcl::HistAdd.--.#.#.Add.an.item.
9b00 74 6f 20 74 68 65 20 68 69 73 74 6f 72 79 2c 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 65 to.the.history,.and.optionally.e
9b20 76 61 6c 20 69 74 20 61 74 20 74 68 65 20 67 6c 6f 62 61 6c 20 73 63 6f 70 65 0d 23 0d 23 20 50 val.it.at.the.global.scope.#.#.P
9b40 61 72 61 6d 65 74 65 72 73 3a 0d 23 09 63 6f 6d 6d 61 6e 64 09 09 74 68 65 20 63 6f 6d 6d 61 6e arameters:.#.command..the.comman
9b60 64 20 74 6f 20 61 64 64 0d 23 09 65 78 65 63 09 09 28 6f 70 74 69 6f 6e 61 6c 29 20 61 20 73 75 d.to.add.#.exec..(optional).a.su
9b80 62 73 74 72 69 6e 67 20 6f 66 20 22 65 78 65 63 22 20 63 61 75 73 65 73 20 74 68 65 0d 23 09 09 bstring.of."exec".causes.the.#..
9ba0 09 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 65 20 65 76 61 6c 65 64 2e 0d 23 20 52 65 73 75 6c 74 73 .command.to.be.evaled..#.Results
9bc0 3a 0d 23 20 09 49 66 20 65 78 65 63 75 74 69 6e 67 2c 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 :.#..If.executing,.then.the.resu
9be0 6c 74 73 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 72 65 20 72 65 74 75 72 6e 65 64 0d lts.of.the.command.are.returned.
9c00 23 0d 23 20 53 69 64 65 20 45 66 66 65 63 74 73 3a 0d 23 09 41 64 64 73 20 74 6f 20 74 68 65 20 #.#.Side.Effects:.#.Adds.to.the.
9c20 68 69 73 74 6f 72 79 20 6c 69 73 74 0d 0d 20 70 72 6f 63 20 74 63 6c 3a 3a 48 69 73 74 41 64 64 history.list...proc.tcl::HistAdd
9c40 20 7b 63 6f 6d 6d 61 6e 64 20 7b 65 78 65 63 20 7b 7d 7d 7d 20 7b 0d 20 20 20 20 76 61 72 69 61 .{command.{exec.{}}}.{.....varia
9c60 62 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 20 20 73 65 74 20 69 20 5b 69 6e 63 72 20 68 69 73 74 ble.history.....set.i.[incr.hist
9c80 6f 72 79 28 6e 65 78 74 69 64 29 5d 0d 20 20 20 20 73 65 74 20 68 69 73 74 6f 72 79 28 24 69 29 ory(nextid)].....set.history($i)
9ca0 20 24 63 6f 6d 6d 61 6e 64 0d 20 20 20 20 73 65 74 20 6a 20 5b 69 6e 63 72 20 68 69 73 74 6f 72 .$command.....set.j.[incr.histor
9cc0 79 28 6f 6c 64 65 73 74 29 5d 0d 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 y(oldest)].....if.{[info.exists.
9ce0 68 69 73 74 6f 72 79 28 24 6a 29 5d 7d 20 7b 75 6e 73 65 74 20 68 69 73 74 6f 72 79 28 24 6a 29 history($j)]}.{unset.history($j)
9d00 7d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 65 2a 20 24 65 78 65 63 }.....if.{[string.match.e*.$exec
9d20 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 75 70 6c 65 76 65 6c 20 23 30 20 24 63 6f 6d 6d 61 6e ]}.{..return.[uplevel.#0.$comman
9d40 64 5d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 72 65 74 75 72 6e 20 7b 7d 0d 20 20 20 20 7d d].....}.else.{..return.{}.....}
9d60 0d 7d 0d 0d 23 20 74 63 6c 3a 3a 48 69 73 74 4b 65 65 70 20 2d 2d 0d 23 0d 23 09 53 65 74 20 6f .}..#.tcl::HistKeep.--.#.#.Set.o
9d80 72 20 71 75 65 72 79 20 74 68 65 20 6c 69 6d 69 74 20 6f 6e 20 74 68 65 20 6c 65 6e 67 74 68 20 r.query.the.limit.on.the.length.
9da0 6f 66 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 0d 23 0d 23 20 50 61 72 61 6d 65 74 65 of.the.history.list.#.#.Paramete
9dc0 72 73 3a 0d 23 09 6c 69 6d 69 74 09 28 6f 70 74 69 6f 6e 61 6c 29 20 74 68 65 20 6c 65 6e 67 74 rs:.#.limit.(optional).the.lengt
9de0 68 20 6f 66 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 0d 23 0d 23 20 52 65 73 75 6c 74 h.of.the.history.list.#.#.Result
9e00 73 3a 0d 23 09 49 66 20 6e 6f 20 6c 69 6d 69 74 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 74 s:.#.If.no.limit.is.specified,.t
9e20 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6d 69 74 20 69 73 20 72 65 74 75 72 6e 65 64 0d 23 0d 23 he.current.limit.is.returned.#.#
9e40 20 53 69 64 65 20 45 66 66 65 63 74 73 3a 0d 23 09 55 70 64 61 74 65 73 20 68 69 73 74 6f 72 79 .Side.Effects:.#.Updates.history
9e60 28 6b 65 65 70 29 20 69 66 20 61 20 6c 69 6d 69 74 20 69 73 20 73 70 65 63 69 66 69 65 64 0d 0d (keep).if.a.limit.is.specified..
9e80 20 70 72 6f 63 20 74 63 6c 3a 3a 48 69 73 74 4b 65 65 70 20 7b 7b 6c 69 6d 69 74 20 7b 7d 7d 7d .proc.tcl::HistKeep.{{limit.{}}}
9ea0 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 20 20 69 66 20 7b .{.....variable.history.....if.{
9ec0 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 6c 69 6d 69 74 5d 20 3d 3d 20 30 7d 20 7b 0d 09 [string.length.$limit].==.0}.{..
9ee0 72 65 74 75 72 6e 20 24 68 69 73 74 6f 72 79 28 6b 65 65 70 29 0d 20 20 20 20 7d 20 65 6c 73 65 return.$history(keep).....}.else
9f00 20 7b 0d 09 73 65 74 20 6f 6c 64 6f 6c 64 20 24 68 69 73 74 6f 72 79 28 6f 6c 64 65 73 74 29 0d .{..set.oldold.$history(oldest).
9f20 09 73 65 74 20 68 69 73 74 6f 72 79 28 6f 6c 64 65 73 74 29 20 5b 65 78 70 72 20 24 68 69 73 74 .set.history(oldest).[expr.$hist
9f40 6f 72 79 28 6e 65 78 74 69 64 29 20 2d 20 24 6c 69 6d 69 74 5d 0d 09 66 6f 72 20 7b 7d 20 7b 24 ory(nextid).-.$limit]..for.{}.{$
9f60 6f 6c 64 6f 6c 64 20 3c 3d 20 24 68 69 73 74 6f 72 79 28 6f 6c 64 65 73 74 29 7d 20 7b 69 6e 63 oldold.<=.$history(oldest)}.{inc
9f80 72 20 6f 6c 64 6f 6c 64 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 r.oldold}.{......if.{[info.exist
9fa0 73 20 68 69 73 74 6f 72 79 28 24 6f 6c 64 6f 6c 64 29 5d 7d 20 7b 75 6e 73 65 74 20 68 69 73 74 s.history($oldold)]}.{unset.hist
9fc0 6f 72 79 28 24 6f 6c 64 6f 6c 64 29 7d 0d 09 7d 0d 09 73 65 74 20 68 69 73 74 6f 72 79 28 6b 65 ory($oldold)}..}..set.history(ke
9fe0 65 70 29 20 24 6c 69 6d 69 74 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 63 6c 3a 3a 48 69 73 74 43 ep).$limit.....}.}..#.tcl::HistC
a000 6c 65 61 72 20 2d 2d 0d 23 0d 23 09 45 72 61 73 65 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 lear.--.#.#.Erase.the.history.li
a020 73 74 0d 23 0d 23 20 50 61 72 61 6d 65 74 65 72 73 3a 0d 23 09 6e 6f 6e 65 0d 23 0d 23 20 52 65 st.#.#.Parameters:.#.none.#.#.Re
a040 73 75 6c 74 73 3a 0d 23 09 6e 6f 6e 65 0d 23 0d 23 20 53 69 64 65 20 45 66 66 65 63 74 73 3a 0d sults:.#.none.#.#.Side.Effects:.
a060 23 09 52 65 73 65 74 73 20 74 68 65 20 68 69 73 74 6f 72 79 20 61 72 72 61 79 2c 20 65 78 63 65 #.Resets.the.history.array,.exce
a080 70 74 20 66 6f 72 20 74 68 65 20 6b 65 65 70 20 6c 69 6d 69 74 0d 0d 20 70 72 6f 63 20 74 63 6c pt.for.the.keep.limit...proc.tcl
a0a0 3a 3a 48 69 73 74 43 6c 65 61 72 20 7b 7d 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 68 69 ::HistClear.{}.{.....variable.hi
a0c0 73 74 6f 72 79 0d 20 20 20 20 73 65 74 20 6b 65 65 70 20 24 68 69 73 74 6f 72 79 28 6b 65 65 70 story.....set.keep.$history(keep
a0e0 29 0d 20 20 20 20 75 6e 73 65 74 20 68 69 73 74 6f 72 79 0d 20 20 20 20 61 72 72 61 79 20 73 65 ).....unset.history.....array.se
a100 74 20 68 69 73 74 6f 72 79 20 5b 6c 69 73 74 20 5c 0d 09 6e 65 78 74 69 64 09 30 09 5c 0d 09 6b t.history.[list.\..nextid.0.\..k
a120 65 65 70 09 24 6b 65 65 70 09 5c 0d 09 6f 6c 64 65 73 74 09 2d 24 6b 65 65 70 09 5c 0d 20 20 20 eep.$keep.\..oldest.-$keep.\....
a140 20 5d 0d 7d 0d 0d 23 20 74 63 6c 3a 3a 48 69 73 74 49 6e 66 6f 20 2d 2d 0d 23 0d 23 09 52 65 74 .].}..#.tcl::HistInfo.--.#.#.Ret
a160 75 72 6e 20 61 20 70 72 65 74 74 79 2d 70 72 69 6e 74 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 urn.a.pretty-printed.version.of.
a180 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 0d 23 0d 23 20 50 61 72 61 6d 65 74 65 72 73 3a the.history.list.#.#.Parameters:
a1a0 0d 23 09 6e 75 6d 09 28 6f 70 74 69 6f 6e 61 6c 29 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 .#.num.(optional).the.length.of.
a1c0 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 20 74 6f 20 72 65 74 75 72 6e 0d 23 0d 23 20 52 the.history.list.to.return.#.#.R
a1e0 65 73 75 6c 74 73 3a 0d 23 09 41 20 66 6f 72 6d 61 74 74 65 64 20 68 69 73 74 6f 72 79 20 6c 69 esults:.#.A.formatted.history.li
a200 73 74 0d 0d 20 70 72 6f 63 20 74 63 6c 3a 3a 48 69 73 74 49 6e 66 6f 20 7b 7b 6e 75 6d 20 7b 7d st...proc.tcl::HistInfo.{{num.{}
a220 7d 7d 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 20 20 69 66 }}.{.....variable.history.....if
a240 20 7b 24 6e 75 6d 20 3d 3d 20 7b 7d 7d 20 7b 0d 09 73 65 74 20 6e 75 6d 20 5b 65 78 70 72 20 24 .{$num.==.{}}.{..set.num.[expr.$
a260 68 69 73 74 6f 72 79 28 6b 65 65 70 29 20 2b 20 31 5d 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 history(keep).+.1].....}.....set
a280 20 72 65 73 75 6c 74 20 7b 7d 0d 20 20 20 20 73 65 74 20 6e 65 77 6c 69 6e 65 20 22 22 0d 20 20 .result.{}.....set.newline.""...
a2a0 20 20 66 6f 72 20 7b 73 65 74 20 69 20 5b 65 78 70 72 20 24 68 69 73 74 6f 72 79 28 6e 65 78 74 ..for.{set.i.[expr.$history(next
a2c0 69 64 29 20 2d 20 24 6e 75 6d 20 2b 20 31 5d 7d 20 5c 0d 09 20 20 20 20 7b 24 69 20 3c 3d 20 24 id).-.$num.+.1]}.\......{$i.<=.$
a2e0 68 69 73 74 6f 72 79 28 6e 65 78 74 69 64 29 7d 20 7b 69 6e 63 72 20 69 7d 20 7b 0d 09 69 66 20 history(nextid)}.{incr.i}.{..if.
a300 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 68 69 73 74 6f 72 79 28 24 69 29 5d 20 7b 0d 09 20 20 ![info.exists.history($i)].{....
a320 20 20 63 6f 6e 74 69 6e 75 65 0d 09 7d 0d 09 73 65 74 20 63 6d 64 20 5b 73 74 72 69 6e 67 20 74 ..continue..}..set.cmd.[string.t
a340 72 69 6d 72 69 67 68 74 20 24 68 69 73 74 6f 72 79 28 24 69 29 20 5c 20 5c 6e 5d 0d 09 72 65 67 rimright.$history($i).\.\n]..reg
a360 73 75 62 20 2d 61 6c 6c 20 5c 6e 20 24 63 6d 64 20 22 5c 6e 5c 74 22 20 63 6d 64 0d 09 61 70 70 sub.-all.\n.$cmd."\n\t".cmd..app
a380 65 6e 64 20 72 65 73 75 6c 74 20 24 6e 65 77 6c 69 6e 65 5b 66 6f 72 6d 61 74 20 22 25 36 64 20 end.result.$newline[format."%6d.
a3a0 20 25 73 22 20 24 69 20 24 63 6d 64 5d 0d 09 73 65 74 20 6e 65 77 6c 69 6e 65 20 5c 6e 0d 20 20 .%s".$i.$cmd]..set.newline.\n...
a3c0 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 0d 7d 0d 0d 23 20 74 63 6c 3a ..}.....return.$result.}..#.tcl:
a3e0 3a 48 69 73 74 52 65 64 6f 20 2d 2d 0d 23 0d 23 09 46 65 74 63 68 20 74 68 65 20 70 72 65 76 69 :HistRedo.--.#.#.Fetch.the.previ
a400 6f 75 73 20 6f 72 20 73 70 65 63 69 66 69 65 64 20 65 76 65 6e 74 2c 20 65 78 65 63 75 74 65 20 ous.or.specified.event,.execute.
a420 69 74 2c 20 61 6e 64 20 74 68 65 6e 0d 23 09 72 65 70 6c 61 63 65 20 74 68 65 20 63 75 72 72 65 it,.and.then.#.replace.the.curre
a440 6e 74 20 68 69 73 74 6f 72 79 20 69 74 65 6d 20 77 69 74 68 20 74 68 61 74 20 65 76 65 6e 74 2e nt.history.item.with.that.event.
a460 0d 23 0d 23 20 50 61 72 61 6d 65 74 65 72 73 3a 0d 23 09 65 76 65 6e 74 09 28 6f 70 74 69 6f 6e .#.#.Parameters:.#.event.(option
a480 61 6c 29 20 69 6e 64 65 78 20 6f 66 20 68 69 73 74 6f 72 79 20 69 74 65 6d 20 74 6f 20 72 65 64 al).index.of.history.item.to.red
a4a0 6f 2e 20 20 44 65 66 61 75 6c 74 73 20 74 6f 20 2d 31 2c 0d 23 09 09 77 68 69 63 68 20 6d 65 61 o...Defaults.to.-1,.#..which.mea
a4c0 6e 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 76 65 6e 74 2e 0d 23 0d 23 20 52 65 73 75 6c ns.the.previous.event..#.#.Resul
a4e0 74 73 3a 0d 23 09 54 68 6f 73 65 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 62 65 69 6e 67 ts:.#.Those.of.the.command.being
a500 20 72 65 64 6f 6e 65 2e 0d 23 0d 23 20 53 69 64 65 20 45 66 66 65 63 74 73 3a 0d 23 09 52 65 70 .redone..#.#.Side.Effects:.#.Rep
a520 6c 61 63 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 68 69 73 74 6f 72 79 20 6c 69 73 74 20 69 laces.the.current.history.list.i
a540 74 65 6d 20 77 69 74 68 20 74 68 65 20 6f 6e 65 20 62 65 69 6e 67 20 72 65 64 6f 6e 65 2e 0d 0d tem.with.the.one.being.redone...
a560 20 70 72 6f 63 20 74 63 6c 3a 3a 48 69 73 74 52 65 64 6f 20 7b 7b 65 76 65 6e 74 20 2d 31 7d 7d .proc.tcl::HistRedo.{{event.-1}}
a580 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 20 20 69 66 20 7b .{.....variable.history.....if.{
a5a0 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 65 76 65 6e 74 5d 20 3d 3d 20 30 7d 20 7b 0d 09 [string.length.$event].==.0}.{..
a5c0 73 65 74 20 65 76 65 6e 74 20 2d 31 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 69 20 5b 48 69 set.event.-1.....}.....set.i.[Hi
a5e0 73 74 49 6e 64 65 78 20 24 65 76 65 6e 74 5d 0d 20 20 20 20 69 66 20 7b 24 69 20 3d 3d 20 24 68 stIndex.$event].....if.{$i.==.$h
a600 69 73 74 6f 72 79 28 6e 65 78 74 69 64 29 7d 20 7b 0d 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 istory(nextid)}.{..return.-code.
a620 65 72 72 6f 72 20 22 63 61 6e 6e 6f 74 20 72 65 64 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 error."cannot.redo.the.current.e
a640 76 65 6e 74 22 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 63 6d 64 20 24 68 69 73 74 6f 72 79 vent".....}.....set.cmd.$history
a660 28 24 69 29 0d 20 20 20 20 48 69 73 74 43 68 61 6e 67 65 20 24 63 6d 64 20 30 0d 20 20 20 20 75 ($i).....HistChange.$cmd.0.....u
a680 70 6c 65 76 65 6c 20 23 30 20 24 63 6d 64 0d 7d 0d 0d 23 20 74 63 6c 3a 3a 48 69 73 74 49 6e 64 plevel.#0.$cmd.}..#.tcl::HistInd
a6a0 65 78 20 2d 2d 0d 23 0d 23 09 4d 61 70 20 66 72 6f 6d 20 61 6e 20 65 76 65 6e 74 20 73 70 65 63 ex.--.#.#.Map.from.an.event.spec
a6c0 69 66 69 65 72 20 74 6f 20 61 6e 20 69 6e 64 65 78 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 ifier.to.an.index.in.the.history
a6e0 20 6c 69 73 74 2e 0d 23 0d 23 20 50 61 72 61 6d 65 74 65 72 73 3a 0d 23 09 65 76 65 6e 74 09 69 .list..#.#.Parameters:.#.event.i
a700 6e 64 65 78 20 6f 66 20 68 69 73 74 6f 72 79 20 69 74 65 6d 20 74 6f 20 72 65 64 6f 2e 0d 23 09 ndex.of.history.item.to.redo..#.
a720 09 49 66 20 74 68 69 73 20 69 73 20 61 20 70 6f 73 69 74 69 76 65 20 6e 75 6d 62 65 72 2c 20 69 .If.this.is.a.positive.number,.i
a740 74 20 69 73 20 75 73 65 64 20 64 69 72 65 63 74 6c 79 2e 0d 23 09 09 49 66 20 69 74 20 69 73 20 t.is.used.directly..#..If.it.is.
a760 61 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 2c 20 74 68 65 6e 20 69 74 20 63 6f 75 6e 74 a.negative.number,.then.it.count
a780 73 20 62 61 63 6b 20 74 6f 20 61 20 70 72 65 76 69 6f 75 73 0d 23 09 09 65 76 65 6e 74 2c 20 77 s.back.to.a.previous.#..event,.w
a7a0 68 65 72 65 20 2d 31 20 69 73 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 65 76 65 6e 74 here.-1.is.the.most.recent.event
a7c0 2e 0d 23 09 09 41 20 73 74 72 69 6e 67 20 63 61 6e 20 62 65 20 6d 61 74 63 68 65 64 2c 20 65 69 ..#..A.string.can.be.matched,.ei
a7e0 74 68 65 72 20 62 79 20 62 65 69 6e 67 20 74 68 65 20 70 72 65 66 69 78 20 6f 66 0d 23 09 09 61 ther.by.being.the.prefix.of.#..a
a800 20 63 6f 6d 6d 61 6e 64 20 6f 72 20 62 79 20 6d 61 74 63 68 69 6e 67 20 61 20 63 6f 6d 6d 61 6e .command.or.by.matching.a.comman
a820 64 20 77 69 74 68 20 73 74 72 69 6e 67 20 6d 61 74 63 68 2e 0d 23 0d 23 20 52 65 73 75 6c 74 73 d.with.string.match..#.#.Results
a840 3a 0d 23 09 54 68 65 20 69 6e 64 65 78 20 69 6e 74 6f 20 68 69 73 74 6f 72 79 2c 20 6f 72 20 61 :.#.The.index.into.history,.or.a
a860 6e 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 69 6e 64 65 78 20 64 69 64 6e 27 74 20 6d 61 74 63 n.error.if.the.index.didn't.matc
a880 68 2e 0d 0d 20 70 72 6f 63 20 74 63 6c 3a 3a 48 69 73 74 49 6e 64 65 78 20 7b 65 76 65 6e 74 7d h....proc.tcl::HistIndex.{event}
a8a0 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 20 20 69 66 20 7b .{.....variable.history.....if.{
a8c0 5b 63 61 74 63 68 20 7b 65 78 70 72 20 24 65 76 65 6e 74 7d 5d 7d 20 7b 0d 09 66 6f 72 20 7b 73 [catch.{expr.$event}]}.{..for.{s
a8e0 65 74 20 69 20 24 68 69 73 74 6f 72 79 28 6e 65 78 74 69 64 29 7d 20 7b 5b 69 6e 66 6f 20 65 78 et.i.$history(nextid)}.{[info.ex
a900 69 73 74 73 20 68 69 73 74 6f 72 79 28 24 69 29 5d 7d 20 7b 69 6e 63 72 20 69 20 2d 31 7d 20 7b ists.history($i)]}.{incr.i.-1}.{
a920 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 65 76 65 6e 74 2a 20 ......if.{[string.match.$event*.
a940 24 68 69 73 74 6f 72 79 28 24 69 29 5d 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 24 69 3b 0d 09 20 $history($i)]}.{...return.$i;...
a960 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 65 76 65 ...}......if.{[string.match.$eve
a980 6e 74 20 24 68 69 73 74 6f 72 79 28 24 69 29 5d 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 24 69 3b nt.$history($i)]}.{...return.$i;
a9a0 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 ......}..}..return.-code.error."
a9c0 6e 6f 20 65 76 65 6e 74 20 6d 61 74 63 68 65 73 20 5c 22 24 65 76 65 6e 74 5c 22 22 0d 20 20 20 no.event.matches.\"$event\""....
a9e0 20 7d 20 65 6c 73 65 69 66 20 7b 24 65 76 65 6e 74 20 3c 3d 20 30 7d 20 7b 0d 09 73 65 74 20 69 .}.elseif.{$event.<=.0}.{..set.i
aa00 20 5b 65 78 70 72 20 24 68 69 73 74 6f 72 79 28 6e 65 78 74 69 64 29 20 2b 20 24 65 76 65 6e 74 .[expr.$history(nextid).+.$event
aa20 5d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 69 20 24 65 76 65 6e 74 0d 20 20 20 ].....}.else.{..set.i.$event....
aa40 20 7d 0d 20 20 20 20 69 66 20 7b 24 69 20 3c 3d 20 24 68 69 73 74 6f 72 79 28 6f 6c 64 65 73 74 .}.....if.{$i.<=.$history(oldest
aa60 29 7d 20 7b 0d 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 65 76 65 6e 74 20 )}.{..return.-code.error."event.
aa80 5c 22 24 65 76 65 6e 74 5c 22 20 69 73 20 74 6f 6f 20 66 61 72 20 69 6e 20 74 68 65 20 70 61 73 \"$event\".is.too.far.in.the.pas
aaa0 74 22 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 24 69 20 3e 20 24 68 69 73 74 6f 72 79 28 6e t".....}.....if.{$i.>.$history(n
aac0 65 78 74 69 64 29 7d 20 7b 0d 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 65 extid)}.{..return.-code.error."e
aae0 76 65 6e 74 20 5c 22 24 65 76 65 6e 74 5c 22 20 68 61 73 6e 27 74 20 6f 63 63 75 72 65 64 20 79 vent.\"$event\".hasn't.occured.y
ab00 65 74 22 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 69 0d 7d 0d 0d 23 20 74 63 6c et".....}.....return.$i.}..#.tcl
ab20 3a 3a 48 69 73 74 45 76 65 6e 74 20 2d 2d 0d 23 0d 23 09 4d 61 70 20 66 72 6f 6d 20 61 6e 20 65 ::HistEvent.--.#.#.Map.from.an.e
ab40 76 65 6e 74 20 73 70 65 63 69 66 69 65 72 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20 74 vent.specifier.to.the.value.in.t
ab60 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 0d 23 0d 23 20 50 61 72 61 6d 65 74 65 72 73 3a he.history.list..#.#.Parameters:
ab80 0d 23 09 65 76 65 6e 74 09 69 6e 64 65 78 20 6f 66 20 68 69 73 74 6f 72 79 20 69 74 65 6d 20 74 .#.event.index.of.history.item.t
aba0 6f 20 72 65 64 6f 2e 20 20 53 65 65 20 69 6e 64 65 78 20 66 6f 72 20 61 0d 23 09 09 64 65 73 63 o.redo...See.index.for.a.#..desc
abc0 72 69 70 74 69 6f 6e 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 65 76 65 6e 74 20 70 61 74 74 65 72 ription.of.possible.event.patter
abe0 6e 73 2e 0d 23 0d 23 20 52 65 73 75 6c 74 73 3a 0d 23 09 54 68 65 20 76 61 6c 75 65 20 66 72 6f ns..#.#.Results:.#.The.value.fro
ac00 6d 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 0d 0d 20 70 72 6f 63 20 74 63 6c 3a 3a m.the.history.list....proc.tcl::
ac20 48 69 73 74 45 76 65 6e 74 20 7b 65 76 65 6e 74 7d 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 HistEvent.{event}.{.....variable
ac40 20 68 69 73 74 6f 72 79 0d 20 20 20 20 73 65 74 20 69 20 5b 48 69 73 74 49 6e 64 65 78 20 24 65 .history.....set.i.[HistIndex.$e
ac60 76 65 6e 74 5d 0d 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 68 69 73 74 6f vent].....if.{[info.exists.histo
ac80 72 79 28 24 69 29 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 73 74 72 69 6e 67 20 74 72 69 6d 72 ry($i)]}.{..return.[string.trimr
aca0 69 67 68 74 20 24 68 69 73 74 6f 72 79 28 24 69 29 20 5c 20 5c 6e 5d 0d 20 20 20 20 7d 20 65 6c ight.$history($i).\.\n].....}.el
acc0 73 65 20 7b 0d 09 72 65 74 75 72 6e 20 22 22 3b 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 63 6c 3a se.{..return."";.....}.}..#.tcl:
ace0 3a 48 69 73 74 43 68 61 6e 67 65 20 2d 2d 0d 23 0d 23 09 52 65 70 6c 61 63 65 20 61 20 76 61 6c :HistChange.--.#.#.Replace.a.val
ad00 75 65 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 0d 23 0d 23 20 50 61 72 61 ue.in.the.history.list..#.#.Para
ad20 6d 65 74 65 72 73 3a 0d 23 09 63 6d 64 09 54 68 65 20 6e 65 77 20 76 61 6c 75 65 20 74 6f 20 70 meters:.#.cmd.The.new.value.to.p
ad40 75 74 20 69 6e 74 6f 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 0d 23 09 65 76 65 6e ut.into.the.history.list..#.even
ad60 74 09 28 6f 70 74 69 6f 6e 61 6c 29 20 69 6e 64 65 78 20 6f 66 20 68 69 73 74 6f 72 79 20 69 74 t.(optional).index.of.history.it
ad80 65 6d 20 74 6f 20 72 65 64 6f 2e 20 20 53 65 65 20 69 6e 64 65 78 20 66 6f 72 20 61 0d 23 09 09 em.to.redo...See.index.for.a.#..
ada0 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 65 76 65 6e 74 20 70 61 description.of.possible.event.pa
adc0 74 74 65 72 6e 73 2e 20 20 54 68 69 73 20 64 65 66 61 75 6c 74 73 0d 23 09 09 74 6f 20 30 2c 20 tterns...This.defaults.#..to.0,.
ade0 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 76 65 6e which.specifies.the.current.even
ae00 74 2e 0d 23 0d 23 20 53 69 64 65 20 45 66 66 65 63 74 73 3a 0d 23 09 43 68 61 6e 67 65 73 20 74 t..#.#.Side.Effects:.#.Changes.t
ae20 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 0d 0d 20 70 72 6f 63 20 74 63 6c 3a 3a 48 69 73 he.history.list....proc.tcl::His
ae40 74 43 68 61 6e 67 65 20 7b 63 6d 64 20 7b 65 76 65 6e 74 20 30 7d 7d 20 7b 0d 20 20 20 20 76 61 tChange.{cmd.{event.0}}.{.....va
ae60 72 69 61 62 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 20 20 73 65 74 20 69 20 5b 48 69 73 74 49 6e riable.history.....set.i.[HistIn
ae80 64 65 78 20 24 65 76 65 6e 74 5d 0d 20 20 20 20 73 65 74 20 68 69 73 74 6f 72 79 28 24 69 29 20 dex.$event].....set.history($i).
aea0 24 63 6d 64 0d 7d 0d 00 00 11 4e 23 20 77 6f 72 64 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 $cmd.}....N#.word.tcl.--.#.#.Thi
aec0 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 76 61 72 69 6f 75 73 20 70 72 6f 63 65 64 75 72 65 s.file.defines.various.procedure
aee0 73 20 66 6f 72 20 63 6f 6d 70 75 74 69 6e 67 20 77 6f 72 64 20 62 6f 75 6e 64 61 72 69 65 73 0d s.for.computing.word.boundaries.
af00 23 20 69 6e 20 73 74 72 69 6e 67 73 2e 20 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 72 69 6d #.in.strings...This.file.is.prim
af20 61 72 69 6c 79 20 6e 65 65 64 65 64 20 73 6f 20 54 6b 20 74 65 78 74 20 61 6e 64 20 65 6e 74 72 arily.needed.so.Tk.text.and.entr
af40 79 0d 23 20 77 69 64 67 65 74 73 20 62 65 68 61 76 65 20 70 72 6f 70 65 72 6c 79 20 66 6f 72 20 y.#.widgets.behave.properly.for.
af60 64 69 66 66 65 72 65 6e 74 20 70 6c 61 74 66 6f 72 6d 73 2e 0d 23 0d 23 20 43 6f 70 79 72 69 67 different.platforms..#.#.Copyrig
af80 68 74 20 28 63 29 20 31 39 39 36 20 62 79 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c ht.(c).1996.by.Sun.Microsystems,
afa0 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e .Inc..#.#.See.the.file."license.
afc0 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 terms".for.information.on.usage.
afe0 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c and.redistribution.#.of.this.fil
b000 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 e,.and.for.a.DISCLAIMER.OF.ALL.W
b020 41 52 52 41 4e 54 49 45 53 2e 0d 23 20 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 77 6f 72 64 2e ARRANTIES..#..#.SCCS:.@(#).word.
b040 74 63 6c 20 31 2e 32 20 39 36 2f 31 31 2f 32 30 20 31 34 3a 30 37 3a 32 32 0d 23 20 0d 23 20 53 tcl.1.2.96/11/20.14:07:22.#..#.S
b060 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 ee.the.file."license.terms".for.
b080 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 information.on.usage.and.redistr
b0a0 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 ibution.#.of.this.file,.and.for.
b0c0 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d a.DISCLAIMER.OF.ALL.WARRANTIES..
b0e0 23 0d 0d 23 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 #..#.The.following.variables.are
b100 20 75 73 65 64 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 63 68 61 72 61 63 74 .used.to.determine.which.charact
b120 65 72 73 20 61 72 65 0d 23 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 77 68 69 74 65 20 73 ers.are.#.interpreted.as.white.s
b140 70 61 63 65 2e 20 20 0d 0d 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 pace.....if.{$tcl_platform(platf
b160 6f 72 6d 29 20 3d 3d 20 22 77 69 6e 64 6f 77 73 22 7d 20 7b 0d 20 20 20 20 23 20 57 69 6e 64 6f orm).==."windows"}.{.....#.Windo
b180 77 73 20 73 74 79 6c 65 20 2d 20 61 6e 79 20 62 75 74 20 73 70 61 63 65 2c 20 74 61 62 2c 20 6f ws.style.-.any.but.space,.tab,.o
b1a0 72 20 6e 65 77 6c 69 6e 65 0d 20 20 20 20 73 65 74 20 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 20 r.newline.....set.tcl_wordchars.
b1c0 22 5c 5b 5e 20 5c 74 5c 6e 5c 5d 22 0d 20 20 20 20 73 65 74 20 74 63 6c 5f 6e 6f 6e 77 6f 72 64 "\[^.\t\n\]".....set.tcl_nonword
b1e0 63 68 61 72 73 20 22 5c 5b 20 5c 74 5c 6e 5c 5d 22 0d 7d 20 65 6c 73 65 20 7b 0d 20 20 20 20 23 chars."\[.\t\n\]".}.else.{.....#
b200 20 4d 6f 74 69 66 20 73 74 79 6c 65 20 2d 20 61 6e 79 20 6e 75 6d 62 65 72 2c 20 6c 65 74 74 65 .Motif.style.-.any.number,.lette
b220 72 2c 20 6f 72 20 75 6e 64 65 72 73 63 6f 72 65 0d 20 20 20 20 73 65 74 20 74 63 6c 5f 77 6f 72 r,.or.underscore.....set.tcl_wor
b240 64 63 68 61 72 73 20 7b 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 5d 7d 0d 20 20 20 20 73 65 74 20 74 63 dchars.{[a-zA-Z0-9_]}.....set.tc
b260 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 20 7b 5b 5e 61 2d 7a 41 2d 5a 30 2d 39 5f 5d 7d 0d 7d l_nonwordchars.{[^a-zA-Z0-9_]}.}
b280 0d 0d 23 20 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 41 66 74 65 72 20 2d 2d 0d 23 0d 23 20 54 68 ..#.tcl_wordBreakAfter.--.#.#.Th
b2a0 69 73 20 70 72 6f 63 65 64 75 72 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f is.procedure.returns.the.index.o
b2c0 66 20 74 68 65 20 66 69 72 73 74 20 77 6f 72 64 20 62 6f 75 6e 64 61 72 79 0d 23 20 61 66 74 65 f.the.first.word.boundary.#.afte
b2e0 72 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e 74 20 69 6e 20 74 68 65 20 67 69 76 65 r.the.starting.point.in.the.give
b300 6e 20 73 74 72 69 6e 67 2c 20 6f 72 20 2d 31 20 69 66 20 74 68 65 72 65 0d 23 20 61 72 65 20 6e n.string,.or.-1.if.there.#.are.n
b320 6f 20 6d 6f 72 65 20 62 6f 75 6e 64 61 72 69 65 73 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 73 o.more.boundaries.in.the.given.s
b340 74 72 69 6e 67 2e 20 20 54 68 65 20 69 6e 64 65 78 20 72 65 74 75 72 6e 65 64 20 72 65 66 65 72 tring...The.index.returned.refer
b360 73 0d 23 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65 72 20 6f 66 20 74 68 s.#.to.the.first.character.of.th
b380 65 20 70 61 69 72 20 74 68 61 74 20 63 6f 6d 70 72 69 73 65 73 20 61 20 62 6f 75 6e 64 61 72 79 e.pair.that.comprises.a.boundary
b3a0 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 73 74 72 20 2d 09 09 53 74 72 69 6e 67 ..#.#.Arguments:.#.str.-..String
b3c0 20 74 6f 20 73 65 61 72 63 68 2e 0d 23 20 73 74 61 72 74 20 2d 09 49 6e 64 65 78 20 69 6e 74 6f .to.search..#.start.-.Index.into
b3e0 20 73 74 72 69 6e 67 20 73 70 65 63 69 66 79 69 6e 67 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e .string.specifying.starting.poin
b400 74 2e 0d 0d 70 72 6f 63 20 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 41 66 74 65 72 20 7b 73 74 72 t...proc.tcl_wordBreakAfter.{str
b420 20 73 74 61 72 74 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 6e 6f 6e 77 6f 72 64 .start}.{.....global.tcl_nonword
b440 63 68 61 72 73 20 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 0d 20 20 20 20 73 65 74 20 73 74 72 20 chars.tcl_wordchars.....set.str.
b460 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73 74 72 20 24 73 74 61 72 74 20 65 6e 64 5d 0d 20 [string.range.$str.$start.end]..
b480 20 20 20 69 66 20 5b 72 65 67 65 78 70 20 2d 69 6e 64 69 63 65 73 20 22 24 74 63 6c 5f 77 6f 72 ...if.[regexp.-indices."$tcl_wor
b4a0 64 63 68 61 72 73 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 7c 24 74 63 6c 5f 6e 6f 6e dchars$tcl_nonwordchars|$tcl_non
b4c0 77 6f 72 64 63 68 61 72 73 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 22 20 24 73 74 72 20 72 65 wordchars$tcl_wordchars".$str.re
b4e0 73 75 6c 74 5d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 65 78 70 72 20 5b 6c 69 6e 64 65 78 20 24 72 sult].{..return.[expr.[lindex.$r
b500 65 73 75 6c 74 20 31 5d 20 2b 20 24 73 74 61 72 74 5d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 esult.1].+.$start].....}.....ret
b520 75 72 6e 20 2d 31 0d 7d 0d 0d 23 20 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 42 65 66 6f 72 65 20 urn.-1.}..#.tcl_wordBreakBefore.
b540 2d 2d 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 72 65 74 75 72 6e 73 20 74 68 --.#.#.This.procedure.returns.th
b560 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 77 6f 72 64 20 62 6f 75 6e 64 61 e.index.of.the.first.word.bounda
b580 72 79 0d 23 20 62 65 66 6f 72 65 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e 74 20 69 ry.#.before.the.starting.point.i
b5a0 6e 20 74 68 65 20 67 69 76 65 6e 20 73 74 72 69 6e 67 2c 20 6f 72 20 2d 31 20 69 66 20 74 68 65 n.the.given.string,.or.-1.if.the
b5c0 72 65 0d 23 20 61 72 65 20 6e 6f 20 6d 6f 72 65 20 62 6f 75 6e 64 61 72 69 65 73 20 69 6e 20 74 re.#.are.no.more.boundaries.in.t
b5e0 68 65 20 67 69 76 65 6e 20 73 74 72 69 6e 67 2e 20 20 54 68 65 20 69 6e 64 65 78 20 72 65 74 75 he.given.string...The.index.retu
b600 72 6e 65 64 0d 23 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 20 63 68 61 72 rned.#.refers.to.the.second.char
b620 61 63 74 65 72 20 6f 66 20 74 68 65 20 70 61 69 72 20 74 68 61 74 20 63 6f 6d 70 72 69 73 65 73 acter.of.the.pair.that.comprises
b640 20 61 20 62 6f 75 6e 64 61 72 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 73 74 .a.boundary..#.#.Arguments:.#.st
b660 72 20 2d 09 09 53 74 72 69 6e 67 20 74 6f 20 73 65 61 72 63 68 2e 0d 23 20 73 74 61 72 74 20 2d r.-..String.to.search..#.start.-
b680 09 49 6e 64 65 78 20 69 6e 74 6f 20 73 74 72 69 6e 67 20 73 70 65 63 69 66 79 69 6e 67 20 73 74 .Index.into.string.specifying.st
b6a0 61 72 74 69 6e 67 20 70 6f 69 6e 74 2e 0d 0d 70 72 6f 63 20 74 63 6c 5f 77 6f 72 64 42 72 65 61 arting.point...proc.tcl_wordBrea
b6c0 6b 42 65 66 6f 72 65 20 7b 73 74 72 20 73 74 61 72 74 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c kBefore.{str.start}.{.....global
b6e0 20 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 20 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 0d .tcl_nonwordchars.tcl_wordchars.
b700 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 73 74 61 72 74 20 65 ....if.{[string.compare.$start.e
b720 6e 64 5d 20 3d 3d 20 30 7d 20 7b 0d 09 73 65 74 20 73 74 61 72 74 20 5b 73 74 72 69 6e 67 20 6c nd].==.0}.{..set.start.[string.l
b740 65 6e 67 74 68 20 24 73 74 72 5d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 5b 72 65 67 65 78 70 ength.$str].....}.....if.[regexp
b760 20 2d 69 6e 64 69 63 65 73 20 22 5e 2e 2a 28 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 24 74 63 .-indices."^.*($tcl_wordchars$tc
b780 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 7c 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 l_nonwordchars|$tcl_nonwordchars
b7a0 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 29 22 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 $tcl_wordchars)".[string.range.$
b7c0 73 74 72 20 30 20 24 73 74 61 72 74 5d 20 72 65 73 75 6c 74 5d 20 7b 0d 09 72 65 74 75 72 6e 20 str.0.$start].result].{..return.
b7e0 5b 6c 69 6e 64 65 78 20 24 72 65 73 75 6c 74 20 31 5d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 [lindex.$result.1].....}.....ret
b800 75 72 6e 20 2d 31 0d 7d 0d 0d 23 20 74 63 6c 5f 65 6e 64 4f 66 57 6f 72 64 20 2d 2d 0d 23 0d 23 urn.-1.}..#.tcl_endOfWord.--.#.#
b820 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 .This.procedure.returns.the.inde
b840 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6e 64 2d 6f 66 2d 77 6f 72 64 20 6c 6f 63 61 74 x.of.the.first.end-of-word.locat
b860 69 6f 6e 0d 23 20 61 66 74 65 72 20 61 20 73 74 61 72 74 69 6e 67 20 69 6e 64 65 78 20 69 6e 20 ion.#.after.a.starting.index.in.
b880 74 68 65 20 67 69 76 65 6e 20 73 74 72 69 6e 67 2e 20 20 41 6e 20 65 6e 64 2d 6f 66 2d 77 6f 72 the.given.string...An.end-of-wor
b8a0 64 20 6c 6f 63 61 74 69 6f 6e 0d 23 20 69 73 20 64 65 66 69 6e 65 64 20 74 6f 20 62 65 20 74 68 d.location.#.is.defined.to.be.th
b8c0 65 20 66 69 72 73 74 20 77 68 69 74 65 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 20 66 6f 6c e.first.whitespace.character.fol
b8e0 6c 6f 77 69 6e 67 20 74 68 65 20 66 69 72 73 74 0d 23 20 6e 6f 6e 2d 77 68 69 74 65 73 70 61 63 lowing.the.first.#.non-whitespac
b900 65 20 63 68 61 72 61 63 74 65 72 20 61 66 74 65 72 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 70 e.character.after.the.starting.p
b920 6f 69 6e 74 2e 20 20 52 65 74 75 72 6e 73 20 2d 31 20 69 66 0d 23 20 74 68 65 72 65 20 61 72 65 oint...Returns.-1.if.#.there.are
b940 20 6e 6f 20 6d 6f 72 65 20 77 6f 72 64 73 20 61 66 74 65 72 20 74 68 65 20 73 74 61 72 74 69 6e .no.more.words.after.the.startin
b960 67 20 70 6f 69 6e 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 73 74 72 20 2d 09 g.point..#.#.Arguments:.#.str.-.
b980 09 53 74 72 69 6e 67 20 74 6f 20 73 65 61 72 63 68 2e 0d 23 20 73 74 61 72 74 20 2d 09 49 6e 64 .String.to.search..#.start.-.Ind
b9a0 65 78 20 69 6e 74 6f 20 73 74 72 69 6e 67 20 73 70 65 63 69 66 79 69 6e 67 20 73 74 61 72 74 69 ex.into.string.specifying.starti
b9c0 6e 67 20 70 6f 69 6e 74 2e 0d 0d 70 72 6f 63 20 74 63 6c 5f 65 6e 64 4f 66 57 6f 72 64 20 7b 73 ng.point...proc.tcl_endOfWord.{s
b9e0 74 72 20 73 74 61 72 74 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 6e 6f 6e 77 6f tr.start}.{.....global.tcl_nonwo
ba00 72 64 63 68 61 72 73 20 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 0d 20 20 20 20 69 66 20 5b 72 65 rdchars.tcl_wordchars.....if.[re
ba20 67 65 78 70 20 2d 69 6e 64 69 63 65 73 20 22 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 gexp.-indices."$tcl_nonwordchars
ba40 2a 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 2b 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 *$tcl_wordchars+$tcl_nonwordchar
ba60 73 22 20 5c 0d 09 20 20 20 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73 74 72 20 24 73 74 s".\......[string.range.$str.$st
ba80 61 72 74 20 65 6e 64 5d 20 72 65 73 75 6c 74 5d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 65 78 70 72 art.end].result].{..return.[expr
baa0 20 5b 6c 69 6e 64 65 78 20 24 72 65 73 75 6c 74 20 31 5d 20 2b 20 24 73 74 61 72 74 5d 0d 20 20 .[lindex.$result.1].+.$start]...
bac0 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 2d 31 0d 7d 0d 0d 23 20 74 63 6c 5f 73 74 61 72 74 ..}.....return.-1.}..#.tcl_start
bae0 4f 66 4e 65 78 74 57 6f 72 64 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 OfNextWord.--.#.#.This.procedure
bb00 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 .returns.the.index.of.the.first.
bb20 73 74 61 72 74 2d 6f 66 2d 77 6f 72 64 20 6c 6f 63 61 74 69 6f 6e 0d 23 20 61 66 74 65 72 20 61 start-of-word.location.#.after.a
bb40 20 73 74 61 72 74 69 6e 67 20 69 6e 64 65 78 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 73 74 72 .starting.index.in.the.given.str
bb60 69 6e 67 2e 20 20 41 20 73 74 61 72 74 2d 6f 66 2d 77 6f 72 64 0d 23 20 6c 6f 63 61 74 69 6f 6e ing...A.start-of-word.#.location
bb80 20 69 73 20 64 65 66 69 6e 65 64 20 74 6f 20 62 65 20 61 20 6e 6f 6e 2d 77 68 69 74 65 73 70 61 .is.defined.to.be.a.non-whitespa
bba0 63 65 20 63 68 61 72 61 63 74 65 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 0d 23 20 77 68 69 74 65 ce.character.following.a.#.white
bbc0 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 2e 20 20 52 65 74 75 72 6e 73 20 2d 31 20 69 66 20 space.character...Returns.-1.if.
bbe0 74 68 65 72 65 20 61 72 65 20 6e 6f 20 6d 6f 72 65 20 73 74 61 72 74 2d 6f 66 2d 77 6f 72 64 0d there.are.no.more.start-of-word.
bc00 23 20 6c 6f 63 61 74 69 6f 6e 73 20 61 66 74 65 72 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 70 #.locations.after.the.starting.p
bc20 6f 69 6e 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 73 74 72 20 2d 09 09 53 74 oint..#.#.Arguments:.#.str.-..St
bc40 72 69 6e 67 20 74 6f 20 73 65 61 72 63 68 2e 0d 23 20 73 74 61 72 74 20 2d 09 49 6e 64 65 78 20 ring.to.search..#.start.-.Index.
bc60 69 6e 74 6f 20 73 74 72 69 6e 67 20 73 70 65 63 69 66 79 69 6e 67 20 73 74 61 72 74 69 6e 67 20 into.string.specifying.starting.
bc80 70 6f 69 6e 74 2e 0d 0d 70 72 6f 63 20 74 63 6c 5f 73 74 61 72 74 4f 66 4e 65 78 74 57 6f 72 64 point...proc.tcl_startOfNextWord
bca0 20 7b 73 74 72 20 73 74 61 72 74 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 6e 6f .{str.start}.{.....global.tcl_no
bcc0 6e 77 6f 72 64 63 68 61 72 73 20 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 0d 20 20 20 20 69 66 20 nwordchars.tcl_wordchars.....if.
bce0 5b 72 65 67 65 78 70 20 2d 69 6e 64 69 63 65 73 20 22 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 [regexp.-indices."$tcl_wordchars
bd00 2a 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 2b 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 *$tcl_nonwordchars+$tcl_wordchar
bd20 73 22 20 5c 0d 09 20 20 20 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73 74 72 20 24 73 74 s".\......[string.range.$str.$st
bd40 61 72 74 20 65 6e 64 5d 20 72 65 73 75 6c 74 5d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 65 78 70 72 art.end].result].{..return.[expr
bd60 20 5b 6c 69 6e 64 65 78 20 24 72 65 73 75 6c 74 20 31 5d 20 2b 20 24 73 74 61 72 74 5d 0d 20 20 .[lindex.$result.1].+.$start]...
bd80 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 2d 31 0d 7d 0d 0d 23 20 74 63 6c 5f 73 74 61 72 74 ..}.....return.-1.}..#.tcl_start
bda0 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 OfPreviousWord.--.#.#.This.proce
bdc0 64 75 72 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 dure.returns.the.index.of.the.fi
bde0 72 73 74 20 73 74 61 72 74 2d 6f 66 2d 77 6f 72 64 20 6c 6f 63 61 74 69 6f 6e 0d 23 20 62 65 66 rst.start-of-word.location.#.bef
be00 6f 72 65 20 61 20 73 74 61 72 74 69 6e 67 20 69 6e 64 65 78 20 69 6e 20 74 68 65 20 67 69 76 65 ore.a.starting.index.in.the.give
be20 6e 20 73 74 72 69 6e 67 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 73 74 72 20 2d n.string..#.#.Arguments:.#.str.-
be40 09 09 53 74 72 69 6e 67 20 74 6f 20 73 65 61 72 63 68 2e 0d 23 20 73 74 61 72 74 20 2d 09 49 6e ..String.to.search..#.start.-.In
be60 64 65 78 20 69 6e 74 6f 20 73 74 72 69 6e 67 20 73 70 65 63 69 66 79 69 6e 67 20 73 74 61 72 74 dex.into.string.specifying.start
be80 69 6e 67 20 70 6f 69 6e 74 2e 0d 0d 70 72 6f 63 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 ing.point...proc.tcl_startOfPrev
bea0 69 6f 75 73 57 6f 72 64 20 7b 73 74 72 20 73 74 61 72 74 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 iousWord.{str.start}.{.....globa
bec0 6c 20 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 20 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 l.tcl_nonwordchars.tcl_wordchars
bee0 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 73 74 61 72 74 20 .....if.{[string.compare.$start.
bf00 65 6e 64 5d 20 3d 3d 20 30 7d 20 7b 0d 09 73 65 74 20 73 74 61 72 74 20 5b 73 74 72 69 6e 67 20 end].==.0}.{..set.start.[string.
bf20 6c 65 6e 67 74 68 20 24 73 74 72 5d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 5b 72 65 67 65 78 length.$str].....}.....if.[regex
bf40 70 20 2d 69 6e 64 69 63 65 73 20 5c 0d 09 20 20 20 20 22 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 p.-indices.\......"$tcl_nonwordc
bf60 68 61 72 73 2a 28 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 2b 29 24 74 63 6c 5f 6e 6f 6e 77 6f hars*($tcl_wordchars+)$tcl_nonwo
bf80 72 64 63 68 61 72 73 2a 5c 24 22 20 5c 0d 09 20 20 20 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 rdchars*\$".\......[string.range
bfa0 20 24 73 74 72 20 30 20 5b 65 78 70 72 20 24 73 74 61 72 74 20 2d 20 31 5d 5d 20 72 65 73 75 6c .$str.0.[expr.$start.-.1]].resul
bfc0 74 20 77 6f 72 64 5d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 6c 69 6e 64 65 78 20 24 77 6f 72 64 20 t.word].{..return.[lindex.$word.
bfe0 30 5d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 2d 31 0d 7d 0d 00 00 15 10 23 20 74 0].....}.....return.-1.}.....#.t
c000 6b 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 63 72 69 k.tcl.--.#.#.Initialization.scri
c020 70 74 20 6e 6f 72 6d 61 6c 6c 79 20 65 78 65 63 75 74 65 64 20 69 6e 20 74 68 65 20 69 6e 74 65 pt.normally.executed.in.the.inte
c040 72 70 72 65 74 65 72 20 66 6f 72 20 65 61 63 68 0d 23 20 54 6b 2d 62 61 73 65 64 20 61 70 70 6c rpreter.for.each.#.Tk-based.appl
c060 69 63 61 74 69 6f 6e 2e 20 20 41 72 72 61 6e 67 65 73 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 ication...Arranges.class.binding
c080 73 20 66 6f 72 20 77 69 64 67 65 74 73 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 74 6b s.for.widgets..#.#.SCCS:.@(#).tk
c0a0 2e 74 63 6c 20 31 2e 39 38 20 39 37 2f 31 30 2f 32 38 20 31 35 3a 32 31 3a 30 34 0d 23 0d 23 20 .tcl.1.98.97/10/28.15:21:04.#.#.
c0c0 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 32 2d 31 39 39 34 20 54 68 65 20 52 65 67 65 Copyright.(c).1992-1994.The.Rege
c0e0 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 nts.of.the.University.of.Califor
c100 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 36 20 53 nia..#.Copyright.(c).1994-1996.S
c120 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 un.Microsystems,.Inc..#.#.See.th
c140 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 e.file."license.terms".for.infor
c160 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 mation.on.usage.and.redistributi
c180 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 on.#.of.this.file,.and.for.a.DIS
c1a0 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 0d 23 20 49 6e CLAIMER.OF.ALL.WARRANTIES...#.In
c1c0 73 69 73 74 20 6f 6e 20 72 75 6e 6e 69 6e 67 20 77 69 74 68 20 63 6f 6d 70 61 74 69 62 6c 65 20 sist.on.running.with.compatible.
c1e0 76 65 72 73 69 6f 6e 73 20 6f 66 20 54 63 6c 20 61 6e 64 20 54 6b 2e 0d 0d 70 61 63 6b 61 67 65 versions.of.Tcl.and.Tk...package
c200 20 72 65 71 75 69 72 65 20 2d 65 78 61 63 74 20 54 6b 20 38 2e 30 0d 70 61 63 6b 61 67 65 20 72 .require.-exact.Tk.8.0.package.r
c220 65 71 75 69 72 65 20 2d 65 78 61 63 74 20 54 63 6c 20 38 2e 30 0d 0d 23 20 41 64 64 20 54 6b 27 equire.-exact.Tcl.8.0..#.Add.Tk'
c240 73 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 61 75 s.directory.to.the.end.of.the.au
c260 74 6f 2d 6c 6f 61 64 20 73 65 61 72 63 68 20 70 61 74 68 2c 20 69 66 20 69 74 0d 23 20 69 73 6e to-load.search.path,.if.it.#.isn
c280 27 74 20 61 6c 72 65 61 64 79 20 6f 6e 20 74 68 65 20 70 61 74 68 3a 0d 0d 69 66 20 7b 5b 69 6e 't.already.on.the.path:..if.{[in
c2a0 66 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 70 61 74 68 5d 7d 20 7b 0d 20 20 20 20 69 66 20 7b fo.exists.auto_path]}.{.....if.{
c2c0 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 24 61 75 74 6f 5f 70 61 74 68 20 24 74 6b 5f 6c [lsearch.-exact.$auto_path.$tk_l
c2e0 69 62 72 61 72 79 5d 20 3c 20 30 7d 20 7b 0d 09 6c 61 70 70 65 6e 64 20 61 75 74 6f 5f 70 61 74 ibrary].<.0}.{..lappend.auto_pat
c300 68 20 24 74 6b 5f 6c 69 62 72 61 72 79 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 54 75 72 6e 20 6f 66 h.$tk_library.....}.}..#.Turn.of
c320 66 20 73 74 72 69 63 74 20 4d 6f 74 69 66 20 6c 6f 6f 6b 20 61 6e 64 20 66 65 65 6c 20 61 73 20 f.strict.Motif.look.and.feel.as.
c340 61 20 64 65 66 61 75 6c 74 2e 0d 0d 73 65 74 20 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 30 a.default...set.tk_strictMotif.0
c360 0d 0d 23 20 74 6b 53 63 72 65 65 6e 43 68 61 6e 67 65 64 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 ..#.tkScreenChanged.--.#.This.pr
c380 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 62 79 20 74 68 65 20 62 69 6e 64 69 6e ocedure.is.invoked.by.the.bindin
c3a0 67 20 6d 65 63 68 61 6e 69 73 6d 20 77 68 65 6e 65 76 65 72 20 74 68 65 0d 23 20 22 63 75 72 72 g.mechanism.whenever.the.#."curr
c3c0 65 6e 74 22 20 73 63 72 65 65 6e 20 69 73 20 63 68 61 6e 67 69 6e 67 2e 20 20 54 68 65 20 70 72 ent".screen.is.changing...The.pr
c3e0 6f 63 65 64 75 72 65 20 64 6f 65 73 20 74 77 6f 20 74 68 69 6e 67 73 2e 0d 23 20 46 69 72 73 74 ocedure.does.two.things..#.First
c400 2c 20 69 74 20 75 73 65 73 20 22 75 70 76 61 72 22 20 74 6f 20 6d 61 6b 65 20 67 6c 6f 62 61 6c ,.it.uses."upvar".to.make.global
c420 20 76 61 72 69 61 62 6c 65 20 22 74 6b 50 72 69 76 22 20 70 6f 69 6e 74 20 61 74 20 61 6e 0d 23 .variable."tkPriv".point.at.an.#
c440 20 61 72 72 61 79 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 68 6f 6c 64 73 20 73 74 61 74 65 .array.variable.that.holds.state
c460 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 73 70 6c 61 79 2e 20 20 53 65 63 6f 6e .for.the.current.display...Secon
c480 64 2c 0d 23 20 69 74 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 61 72 72 61 79 20 69 66 d,.#.it.initializes.the.array.if
c4a0 20 69 74 20 64 69 64 6e 27 74 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 2e 0d 23 0d 23 20 41 72 .it.didn't.already.exist..#.#.Ar
c4c0 67 75 6d 65 6e 74 73 3a 0d 23 20 73 63 72 65 65 6e 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 guments:.#.screen.-..The.name.of
c4e0 20 74 68 65 20 6e 65 77 20 73 63 72 65 65 6e 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 65 65 6e 43 .the.new.screen...proc.tkScreenC
c500 68 61 6e 67 65 64 20 73 63 72 65 65 6e 20 7b 0d 20 20 20 20 73 65 74 20 78 20 5b 73 74 72 69 6e hanged.screen.{.....set.x.[strin
c520 67 20 6c 61 73 74 20 2e 20 24 73 63 72 65 65 6e 5d 0d 20 20 20 20 69 66 20 7b 24 78 20 3e 20 30 g.last...$screen].....if.{$x.>.0
c540 7d 20 7b 0d 09 73 65 74 20 64 69 73 70 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73 63 72 }.{..set.disp.[string.range.$scr
c560 65 65 6e 20 30 20 5b 65 78 70 72 20 24 78 20 2d 20 31 5d 5d 0d 20 20 20 20 7d 20 65 6c 73 65 20 een.0.[expr.$x.-.1]].....}.else.
c580 7b 0d 09 73 65 74 20 64 69 73 70 20 24 73 63 72 65 65 6e 0d 20 20 20 20 7d 0d 0d 20 20 20 20 75 {..set.disp.$screen.....}......u
c5a0 70 6c 65 76 65 6c 20 23 30 20 75 70 76 61 72 20 23 30 20 74 6b 50 72 69 76 2e 24 64 69 73 70 20 plevel.#0.upvar.#0.tkPriv.$disp.
c5c0 74 6b 50 72 69 76 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 67 6c 6f tkPriv.....global.tkPriv.....glo
c5e0 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 69 66 20 5b 69 6e 66 6f 20 65 bal.tcl_platform......if.[info.e
c600 78 69 73 74 73 20 74 6b 50 72 69 76 5d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 73 63 72 65 xists.tkPriv].{..set.tkPriv(scre
c620 65 6e 29 20 24 73 63 72 65 65 6e 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 en).$screen..return.....}.....se
c640 74 20 74 6b 50 72 69 76 28 61 63 74 69 76 65 4d 65 6e 75 29 20 7b 7d 0d 20 20 20 20 73 65 74 20 t.tkPriv(activeMenu).{}.....set.
c660 74 6b 50 72 69 76 28 61 63 74 69 76 65 49 74 65 6d 29 20 7b 7d 0d 20 20 20 20 73 65 74 20 74 6b tkPriv(activeItem).{}.....set.tk
c680 50 72 69 76 28 61 66 74 65 72 49 64 29 20 7b 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 Priv(afterId).{}.....set.tkPriv(
c6a0 62 75 74 74 6f 6e 73 29 20 30 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e buttons).0.....set.tkPriv(button
c6c0 57 69 6e 64 6f 77 29 20 7b 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 64 72 61 67 67 69 Window).{}.....set.tkPriv(draggi
c6e0 6e 67 29 20 30 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 29 20 7b 7d 0d 20 ng).0.....set.tkPriv(focus).{}..
c700 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 67 72 61 62 29 20 7b 7d 0d 20 20 20 20 73 65 74 20 74 ...set.tkPriv(grab).{}.....set.t
c720 6b 50 72 69 76 28 69 6e 69 74 50 6f 73 29 20 7b 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 kPriv(initPos).{}.....set.tkPriv
c740 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 20 7b 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 (inMenubutton).{}.....set.tkPriv
c760 28 6c 69 73 74 62 6f 78 50 72 65 76 29 20 7b 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 (listboxPrev).{}.....set.tkPriv(
c780 6d 65 6e 75 42 61 72 29 20 7b 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 menuBar).{}.....set.tkPriv(mouse
c7a0 4d 6f 76 65 64 29 20 30 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 62 29 Moved).0.....set.tkPriv(oldGrab)
c7c0 20 7b 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 6f 70 75 70 29 20 7b 7d 0d 20 20 20 .{}.....set.tkPriv(popup).{}....
c7e0 20 73 65 74 20 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 7b 7d 0d 20 20 20 20 73 65 74 .set.tkPriv(postedMb).{}.....set
c800 20 74 6b 50 72 69 76 28 70 72 65 73 73 58 29 20 30 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 .tkPriv(pressX).0.....set.tkPriv
c820 28 70 72 65 73 73 59 29 20 30 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 72 65 76 50 6f (pressY).0.....set.tkPriv(prevPo
c840 73 29 20 30 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 63 72 65 65 6e 29 20 24 73 63 72 s).0.....set.tkPriv(screen).$scr
c860 65 65 6e 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 63 een.....set.tkPriv(selectMode).c
c880 68 61 72 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 63 6c har.....if.{[string.compare.$tcl
c8a0 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 75 6e 69 78 22 5d 20 3d 3d 20 30 _platform(platform)."unix"].==.0
c8c0 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 74 65 61 72 6f 66 66 29 20 31 0d 20 20 20 20 7d }.{..set.tkPriv(tearoff).1.....}
c8e0 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 74 65 61 72 6f 66 66 29 20 30 0d 20 .else.{..set.tkPriv(tearoff).0..
c900 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 7b 7d 0d 7d ...}.....set.tkPriv(window).{}.}
c920 0d 0d 23 20 44 6f 20 69 6e 69 74 69 61 6c 20 73 65 74 75 70 20 66 6f 72 20 74 6b 50 72 69 76 2c ..#.Do.initial.setup.for.tkPriv,
c940 20 73 6f 20 74 68 61 74 20 69 74 20 69 73 20 61 6c 77 61 79 73 20 62 6f 75 6e 64 20 74 6f 20 73 .so.that.it.is.always.bound.to.s
c960 6f 6d 65 74 68 69 6e 67 0d 23 20 28 6f 74 68 65 72 77 69 73 65 2c 20 69 66 20 73 6f 6d 65 6f 6e omething.#.(otherwise,.if.someon
c980 65 20 72 65 66 65 72 65 6e 63 65 73 20 69 74 2c 20 69 74 20 6d 61 79 20 67 65 74 20 73 65 74 20 e.references.it,.it.may.get.set.
c9a0 74 6f 20 61 20 6e 6f 6e 2d 75 70 76 61 72 2d 65 64 0d 23 20 76 61 6c 75 65 2c 20 77 68 69 63 68 to.a.non-upvar-ed.#.value,.which
c9c0 20 77 69 6c 6c 20 63 61 75 73 65 20 74 72 6f 75 62 6c 65 20 6c 61 74 65 72 29 2e 0d 0d 74 6b 53 .will.cause.trouble.later)...tkS
c9e0 63 72 65 65 6e 43 68 61 6e 67 65 64 20 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 20 2e 5d 0d 0d 23 creenChanged.[winfo.screen..]..#
ca00 20 74 6b 45 76 65 6e 74 4d 6f 74 69 66 42 69 6e 64 69 6e 67 73 20 2d 2d 0d 23 20 54 68 69 73 20 .tkEventMotifBindings.--.#.This.
ca20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 61 73 20 61 20 74 72 61 63 65 20 procedure.is.invoked.as.a.trace.
ca40 77 68 65 6e 65 76 65 72 20 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 69 73 0d 23 20 63 68 61 whenever.tk_strictMotif.is.#.cha
ca60 6e 67 65 64 2e 20 20 49 74 20 69 73 20 75 73 65 64 20 74 6f 20 74 75 72 6e 20 6f 6e 20 6f 72 20 nged...It.is.used.to.turn.on.or.
ca80 74 75 72 6e 20 6f 66 66 20 74 68 65 20 6d 6f 74 69 66 20 76 69 72 74 75 61 6c 0d 23 20 62 69 6e turn.off.the.motif.virtual.#.bin
caa0 64 69 6e 67 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6e 31 20 2d 20 74 68 65 dings..#.#.Arguments:.#.n1.-.the
cac0 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 62 65 69 6e 67 20 63 68 61 6e .name.of.the.variable.being.chan
cae0 67 65 64 20 28 22 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 22 29 2e 0d 0d 70 72 6f 63 20 74 6b ged.("tk_strictMotif")...proc.tk
cb00 45 76 65 6e 74 4d 6f 74 69 66 42 69 6e 64 69 6e 67 73 20 7b 6e 31 20 64 75 6d 6d 79 20 64 75 6d EventMotifBindings.{n1.dummy.dum
cb20 6d 79 7d 20 7b 0d 20 20 20 20 75 70 76 61 72 20 24 6e 31 20 6e 61 6d 65 0d 20 20 20 20 0d 20 20 my}.{.....upvar.$n1.name........
cb40 20 20 69 66 20 24 6e 61 6d 65 20 7b 0d 09 73 65 74 20 6f 70 20 64 65 6c 65 74 65 0d 20 20 20 20 ..if.$name.{..set.op.delete.....
cb60 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 6f 70 20 61 64 64 0d 20 20 20 20 7d 0d 0d 20 20 20 20 }.else.{..set.op.add.....}......
cb80 65 76 65 6e 74 20 24 6f 70 20 3c 3c 43 75 74 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 77 event.$op.<<Cut>>.<Control-Key-w
cba0 3e 0d 20 20 20 20 65 76 65 6e 74 20 24 6f 70 20 3c 3c 43 6f 70 79 3e 3e 20 3c 4d 65 74 61 2d 4b >.....event.$op.<<Copy>>.<Meta-K
cbc0 65 79 2d 77 3e 20 0d 20 20 20 20 65 76 65 6e 74 20 24 6f 70 20 3c 3c 50 61 73 74 65 3e 3e 20 3c ey-w>......event.$op.<<Paste>>.<
cbe0 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 79 3e 0d 7d 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d Control-Key-y>.}..#-------------
cc00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
cc20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 44 65 66 69 -------------------------.#.Defi
cc40 6e 65 20 74 68 65 20 73 65 74 20 6f 66 20 63 6f 6d 6d 6f 6e 20 76 69 72 74 75 61 6c 20 65 76 65 ne.the.set.of.common.virtual.eve
cc60 6e 74 73 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d nts..#--------------------------
cc80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
cca0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 73 77 69 74 63 68 20 24 74 63 6c 5f 70 6c 61 74 66 6f ------------..switch.$tcl_platfo
ccc0 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 7b 0d 20 20 20 20 22 75 6e 69 78 22 20 7b 0d 09 65 76 65 rm(platform).{....."unix".{..eve
cce0 6e 74 20 61 64 64 20 3c 3c 43 75 74 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 78 3e 20 3c nt.add.<<Cut>>.<Control-Key-x>.<
cd00 4b 65 79 2d 46 32 30 3e 20 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 43 6f 70 79 3e 3e 20 3c 43 Key-F20>...event.add.<<Copy>>.<C
cd20 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 63 3e 20 3c 4b 65 79 2d 46 31 36 3e 0d 09 65 76 65 6e 74 20 61 ontrol-Key-c>.<Key-F16>..event.a
cd40 64 64 20 3c 3c 50 61 73 74 65 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 76 3e 20 3c 4b 65 dd.<<Paste>>.<Control-Key-v>.<Ke
cd60 79 2d 46 31 38 3e 0d 09 74 72 61 63 65 20 76 61 72 69 61 62 6c 65 20 74 6b 5f 73 74 72 69 63 74 y-F18>..trace.variable.tk_strict
cd80 4d 6f 74 69 66 20 77 20 74 6b 45 76 65 6e 74 4d 6f 74 69 66 42 69 6e 64 69 6e 67 73 0d 09 73 65 Motif.w.tkEventMotifBindings..se
cda0 74 20 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 t.tk_strictMotif.$tk_strictMotif
cdc0 0d 20 20 20 20 7d 0d 20 20 20 20 22 77 69 6e 64 6f 77 73 22 20 7b 0d 09 65 76 65 6e 74 20 61 64 .....}....."windows".{..event.ad
cde0 64 20 3c 3c 43 75 74 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 78 3e 20 3c 53 68 69 66 74 d.<<Cut>>.<Control-Key-x>.<Shift
ce00 2d 4b 65 79 2d 44 65 6c 65 74 65 3e 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 43 6f 70 79 3e 3e -Key-Delete>..event.add.<<Copy>>
ce20 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 63 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 49 6e .<Control-Key-c>.<Control-Key-In
ce40 73 65 72 74 3e 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 50 61 73 74 65 3e 3e 20 3c 43 6f 6e 74 sert>..event.add.<<Paste>>.<Cont
ce60 72 6f 6c 2d 4b 65 79 2d 76 3e 20 3c 53 68 69 66 74 2d 4b 65 79 2d 49 6e 73 65 72 74 3e 0d 20 20 rol-Key-v>.<Shift-Key-Insert>...
ce80 20 20 7d 0d 20 20 20 20 22 6d 61 63 69 6e 74 6f 73 68 22 20 7b 0d 09 65 76 65 6e 74 20 61 64 64 ..}....."macintosh".{..event.add
cea0 20 3c 3c 43 75 74 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 78 3e 20 3c 4b 65 79 2d 46 32 .<<Cut>>.<Control-Key-x>.<Key-F2
cec0 3e 20 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 43 6f 70 79 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d >...event.add.<<Copy>>.<Control-
cee0 4b 65 79 2d 63 3e 20 3c 4b 65 79 2d 46 33 3e 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 50 61 73 Key-c>.<Key-F3>..event.add.<<Pas
cf00 74 65 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 76 3e 20 3c 4b 65 79 2d 46 34 3e 0d 09 65 te>>.<Control-Key-v>.<Key-F4>..e
cf20 76 65 6e 74 20 61 64 64 20 3c 3c 43 6c 65 61 72 3e 3e 20 3c 43 6c 65 61 72 3e 0d 20 20 20 20 7d vent.add.<<Clear>>.<Clear>.....}
cf40 0d 7d 0d 0d 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .}..#.--------------------------
cf60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
cf80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 52 65 61 64 20 69 6e 20 66 69 6c 65 73 20 74 68 61 ------------.#.Read.in.files.tha
cfa0 74 20 64 65 66 69 6e 65 20 61 6c 6c 20 6f 66 20 74 68 65 20 63 6c 61 73 73 20 62 69 6e 64 69 6e t.define.all.of.the.class.bindin
cfc0 67 73 2e 0d 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d gs..#.--------------------------
cfe0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
d000 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 ------------..if.{$tcl_platform(
d020 70 6c 61 74 66 6f 72 6d 29 20 21 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 20 20 20 20 platform).!=."macintosh"}.{.....
d040 73 6f 75 72 63 65 20 24 74 6b 5f 6c 69 62 72 61 72 79 2f 62 75 74 74 6f 6e 2e 74 63 6c 0d 20 20 source.$tk_library/button.tcl...
d060 20 20 73 6f 75 72 63 65 20 24 74 6b 5f 6c 69 62 72 61 72 79 2f 65 6e 74 72 79 2e 74 63 6c 0d 20 ..source.$tk_library/entry.tcl..
d080 20 20 20 73 6f 75 72 63 65 20 24 74 6b 5f 6c 69 62 72 61 72 79 2f 6c 69 73 74 62 6f 78 2e 74 63 ...source.$tk_library/listbox.tc
d0a0 6c 0d 20 20 20 20 73 6f 75 72 63 65 20 24 74 6b 5f 6c 69 62 72 61 72 79 2f 6d 65 6e 75 2e 74 63 l.....source.$tk_library/menu.tc
d0c0 6c 0d 20 20 20 20 73 6f 75 72 63 65 20 24 74 6b 5f 6c 69 62 72 61 72 79 2f 73 63 61 6c 65 2e 74 l.....source.$tk_library/scale.t
d0e0 63 6c 0d 20 20 20 20 73 6f 75 72 63 65 20 24 74 6b 5f 6c 69 62 72 61 72 79 2f 73 63 72 6c 62 61 cl.....source.$tk_library/scrlba
d100 72 2e 74 63 6c 0d 20 20 20 20 73 6f 75 72 63 65 20 24 74 6b 5f 6c 69 62 72 61 72 79 2f 74 65 78 r.tcl.....source.$tk_library/tex
d120 74 2e 74 63 6c 0d 7d 0d 0d 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d t.tcl.}..#.---------------------
d140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
d160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 44 65 66 61 75 6c 74 20 62 69 6e 64 -----------------.#.Default.bind
d180 69 6e 67 73 20 66 6f 72 20 6b 65 79 62 6f 61 72 64 20 74 72 61 76 65 72 73 61 6c 2e 0d 23 20 2d ings.for.keyboard.traversal..#.-
d1a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
d1c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
d1e0 2d 2d 2d 2d 2d 0d 0d 62 69 6e 64 20 61 6c 6c 20 3c 54 61 62 3e 20 7b 74 6b 54 61 62 54 6f 57 69 -----..bind.all.<Tab>.{tkTabToWi
d200 6e 64 6f 77 20 5b 74 6b 5f 66 6f 63 75 73 4e 65 78 74 20 25 57 5d 7d 0d 62 69 6e 64 20 61 6c 6c ndow.[tk_focusNext.%W]}.bind.all
d220 20 3c 53 68 69 66 74 2d 54 61 62 3e 20 7b 74 6b 54 61 62 54 6f 57 69 6e 64 6f 77 20 5b 74 6b 5f .<Shift-Tab>.{tkTabToWindow.[tk_
d240 66 6f 63 75 73 50 72 65 76 20 25 57 5d 7d 0d 0d 23 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 focusPrev.%W]}..#.tkCancelRepeat
d260 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 .--.#.This.procedure.is.invoked.
d280 74 6f 20 63 61 6e 63 65 6c 20 61 6e 20 61 75 74 6f 2d 72 65 70 65 61 74 20 61 63 74 69 6f 6e 20 to.cancel.an.auto-repeat.action.
d2a0 64 65 73 63 72 69 62 65 64 0d 23 20 62 79 20 74 6b 50 72 69 76 28 61 66 74 65 72 49 64 29 2e 20 described.#.by.tkPriv(afterId)..
d2c0 20 49 74 27 73 20 75 73 65 64 20 62 79 20 73 65 76 65 72 61 6c 20 77 69 64 67 65 74 73 20 74 6f .It's.used.by.several.widgets.to
d2e0 20 61 75 74 6f 2d 73 63 72 6f 6c 6c 0d 23 20 74 68 65 20 77 69 64 67 65 74 20 77 68 65 6e 20 74 .auto-scroll.#.the.widget.when.t
d300 68 65 20 6d 6f 75 73 65 20 69 73 20 64 72 61 67 67 65 64 20 6f 75 74 20 6f 66 20 74 68 65 20 77 he.mouse.is.dragged.out.of.the.w
d320 69 64 67 65 74 20 77 69 74 68 20 61 0d 23 20 62 75 74 74 6f 6e 20 70 72 65 73 73 65 64 2e 0d 23 idget.with.a.#.button.pressed..#
d340 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 20 74 6b 43 61 .#.Arguments:.#.None...proc.tkCa
d360 6e 63 65 6c 52 65 70 65 61 74 20 7b 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 ncelRepeat.{}.{.....global.tkPri
d380 76 0d 20 20 20 20 61 66 74 65 72 20 63 61 6e 63 65 6c 20 24 74 6b 50 72 69 76 28 61 66 74 65 72 v.....after.cancel.$tkPriv(after
d3a0 49 64 29 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 61 66 74 65 72 49 64 29 20 7b 7d 0d 7d Id).....set.tkPriv(afterId).{}.}
d3c0 0d 0d 23 20 74 6b 54 61 62 54 6f 57 69 6e 64 6f 77 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 ..#.tkTabToWindow.--.#.This.proc
d3e0 65 64 75 72 65 20 6d 6f 76 65 73 20 74 68 65 20 66 6f 63 75 73 20 74 6f 20 74 68 65 20 67 69 76 edure.moves.the.focus.to.the.giv
d400 65 6e 20 77 69 64 67 65 74 2e 20 20 49 66 20 74 68 65 20 77 69 64 67 65 74 0d 23 20 69 73 20 61 en.widget...If.the.widget.#.is.a
d420 6e 20 65 6e 74 72 79 2c 20 69 74 20 73 65 6c 65 63 74 73 20 74 68 65 20 65 6e 74 69 72 65 20 63 n.entry,.it.selects.the.entire.c
d440 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 23 0d 23 20 41 72 67 75 6d ontents.of.the.widget..#.#.Argum
d460 65 6e 74 73 3a 0d 23 20 77 20 2d 20 57 69 6e 64 6f 77 20 74 6f 20 77 68 69 63 68 20 66 6f 63 75 ents:.#.w.-.Window.to.which.focu
d480 73 20 73 68 6f 75 6c 64 20 62 65 20 73 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 54 61 62 54 6f 57 69 s.should.be.set...proc.tkTabToWi
d4a0 6e 64 6f 77 20 7b 77 7d 20 7b 0d 20 20 20 20 69 66 20 7b 22 5b 77 69 6e 66 6f 20 63 6c 61 73 73 ndow.{w}.{.....if.{"[winfo.class
d4c0 20 24 77 5d 22 20 3d 3d 20 22 45 6e 74 72 79 22 7d 20 7b 0d 09 24 77 20 73 65 6c 65 63 74 20 72 .$w]".==."Entry"}.{..$w.select.r
d4e0 61 6e 67 65 20 30 20 65 6e 64 0d 09 24 77 20 69 63 75 72 20 65 6e 64 0d 20 20 20 20 7d 0d 20 20 ange.0.end..$w.icur.end.....}...
d500 20 20 66 6f 63 75 73 20 24 77 0d 7d 0d 00 00 2b 20 23 20 62 75 74 74 6f 6e 2e 74 63 6c 20 2d 2d ..focus.$w.}...+.#.button.tcl.--
d520 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 74 68 65 20 64 65 66 61 75 .#.#.This.file.defines.the.defau
d540 6c 74 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 54 6b 20 6c 61 62 65 6c 2c 20 62 75 74 74 6f 6e lt.bindings.for.Tk.label,.button
d560 2c 0d 23 20 63 68 65 63 6b 62 75 74 74 6f 6e 2c 20 61 6e 64 20 72 61 64 69 6f 62 75 74 74 6f 6e ,.#.checkbutton,.and.radiobutton
d580 20 77 69 64 67 65 74 73 20 61 6e 64 20 70 72 6f 76 69 64 65 73 20 70 72 6f 63 65 64 75 72 65 73 .widgets.and.provides.procedures
d5a0 0d 23 20 74 68 61 74 20 68 65 6c 70 20 69 6e 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 74 68 6f .#.that.help.in.implementing.tho
d5c0 73 65 20 62 69 6e 64 69 6e 67 73 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 62 75 74 74 se.bindings..#.#.SCCS:.@(#).butt
d5e0 6f 6e 2e 74 63 6c 20 31 2e 32 32 20 39 36 2f 31 31 2f 31 34 20 31 34 3a 34 39 3a 31 31 0d 23 0d on.tcl.1.22.96/11/14.14:49:11.#.
d600 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 32 2d 31 39 39 34 20 54 68 65 20 52 65 #.Copyright.(c).1992-1994.The.Re
d620 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 gents.of.the.University.of.Calif
d640 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 36 ornia..#.Copyright.(c).1994-1996
d660 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 .Sun.Microsystems,.Inc..#.#.See.
d680 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 the.file."license.terms".for.inf
d6a0 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 ormation.on.usage.and.redistribu
d6c0 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 tion.#.of.this.file,.and.for.a.D
d6e0 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d ISCLAIMER.OF.ALL.WARRANTIES..#..
d700 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d #-------------------------------
d720 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
d740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 63 72 65 61 ----------.#.The.code.below.crea
d760 74 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 73 20 66 tes.the.default.class.bindings.f
d780 6f 72 20 62 75 74 74 6f 6e 73 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d or.buttons..#-------------------
d7a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
d7c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 69 66 20 7b 24 74 63 6c ----------------------..if.{$tcl
d7e0 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 _platform(platform).==."macintos
d800 68 22 7d 20 7b 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 45 6e 74 65 h"}.{.....bind.Radiobutton.<Ente
d820 72 3e 20 7b 0d 09 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 r>.{..tkButtonEnter.%W.....}....
d840 20 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 31 3e 20 7b 0d 09 74 6b 42 75 74 74 6f .bind.Radiobutton.<1>.{..tkButto
d860 6e 44 6f 77 6e 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 6f 62 75 74 nDown.%W.....}.....bind.Radiobut
d880 74 6f 6e 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 09 74 6b 42 75 74 74 6f ton.<ButtonRelease-1>.{..tkButto
d8a0 6e 55 70 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f nUp.%W.....}.....bind.Checkbutto
d8c0 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 09 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 20 25 57 0d 20 20 n.<Enter>.{..tkButtonEnter.%W...
d8e0 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 31 3e 20 7b 0d 09 ..}.....bind.Checkbutton.<1>.{..
d900 74 6b 42 75 74 74 6f 6e 44 6f 77 6e 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 tkButtonDown.%W.....}.....bind.C
d920 68 65 63 6b 62 75 74 74 6f 6e 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 09 heckbutton.<ButtonRelease-1>.{..
d940 74 6b 42 75 74 74 6f 6e 55 70 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 69 66 20 7b 24 74 63 6c 5f 70 tkButtonUp.%W.....}.}.if.{$tcl_p
d960 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 77 69 6e 64 6f 77 73 22 7d 20 latform(platform).==."windows"}.
d980 7b 0d 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 65 71 75 61 6c 3e 20 7b {.....bind.Checkbutton.<equal>.{
d9a0 0d 09 74 6b 43 68 65 63 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 25 57 20 73 65 6c 65 63 74 0d 20 ..tkCheckRadioInvoke.%W.select..
d9c0 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 70 6c 75 73 3e ...}.....bind.Checkbutton.<plus>
d9e0 20 7b 0d 09 74 6b 43 68 65 63 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 25 57 20 73 65 6c 65 63 74 .{..tkCheckRadioInvoke.%W.select
da00 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 6d 69 6e .....}.....bind.Checkbutton.<min
da20 75 73 3e 20 7b 0d 09 74 6b 43 68 65 63 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 25 57 20 64 65 73 us>.{..tkCheckRadioInvoke.%W.des
da40 65 6c 65 63 74 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e elect.....}.....bind.Checkbutton
da60 20 3c 31 3e 20 7b 0d 09 74 6b 43 68 65 63 6b 52 61 64 69 6f 44 6f 77 6e 20 25 57 0d 20 20 20 20 .<1>.{..tkCheckRadioDown.%W.....
da80 7d 0d 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 42 75 74 74 6f 6e 52 65 }.....bind.Checkbutton.<ButtonRe
daa0 6c 65 61 73 65 2d 31 3e 20 7b 0d 09 74 6b 42 75 74 74 6f 6e 55 70 20 25 57 0d 20 20 20 20 7d 0d lease-1>.{..tkButtonUp.%W.....}.
dac0 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 09 ....bind.Checkbutton.<Enter>.{..
dae0 74 6b 43 68 65 63 6b 52 61 64 69 6f 45 6e 74 65 72 20 25 57 0d 20 20 20 20 7d 0d 0d 20 20 20 20 tkCheckRadioEnter.%W.....}......
db00 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 31 3e 20 7b 0d 09 74 6b 43 68 65 63 6b 52 bind.Radiobutton.<1>.{..tkCheckR
db20 61 64 69 6f 44 6f 77 6e 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 6f adioDown.%W.....}.....bind.Radio
db40 62 75 74 74 6f 6e 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 09 74 6b 42 75 button.<ButtonRelease-1>.{..tkBu
db60 74 74 6f 6e 55 70 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 6f 62 75 ttonUp.%W.....}.....bind.Radiobu
db80 74 74 6f 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 09 74 6b 43 68 65 63 6b 52 61 64 69 6f 45 6e 74 65 tton.<Enter>.{..tkCheckRadioEnte
dba0 72 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 r.%W.....}.}.if.{$tcl_platform(p
dbc0 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 75 6e 69 78 22 7d 20 7b 0d 20 20 20 20 62 69 6e 64 20 43 latform).==."unix"}.{.....bind.C
dbe0 68 65 63 6b 62 75 74 74 6f 6e 20 3c 52 65 74 75 72 6e 3e 20 7b 0d 09 69 66 20 21 24 74 6b 5f 73 heckbutton.<Return>.{..if.!$tk_s
dc00 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 20 20 20 20 74 6b 43 68 65 63 6b 52 61 64 69 6f 49 6e trictMotif.{......tkCheckRadioIn
dc20 76 6f 6b 65 20 25 57 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 6f 62 voke.%W..}.....}.....bind.Radiob
dc40 75 74 74 6f 6e 20 3c 52 65 74 75 72 6e 3e 20 7b 0d 09 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 utton.<Return>.{..if.!$tk_strict
dc60 4d 6f 74 69 66 20 7b 0d 09 20 20 20 20 74 6b 43 68 65 63 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 Motif.{......tkCheckRadioInvoke.
dc80 25 57 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e %W..}.....}.....bind.Checkbutton
dca0 20 3c 31 3e 20 7b 0d 09 74 6b 43 68 65 63 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 25 57 0d 20 20 .<1>.{..tkCheckRadioInvoke.%W...
dcc0 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 31 3e 20 7b 0d 09 ..}.....bind.Radiobutton.<1>.{..
dce0 74 6b 43 68 65 63 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 tkCheckRadioInvoke.%W.....}.....
dd00 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 09 74 6b 42 75 bind.Checkbutton.<Enter>.{..tkBu
dd20 74 74 6f 6e 45 6e 74 65 72 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 ttonEnter.%W.....}.....bind.Radi
dd40 6f 62 75 74 74 6f 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 09 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 obutton.<Enter>.{..tkButtonEnter
dd60 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 0d 62 69 6e 64 20 42 75 74 74 6f 6e 20 3c 73 70 61 63 65 3e .%W.....}.}..bind.Button.<space>
dd80 20 7b 0d 20 20 20 20 74 6b 42 75 74 74 6f 6e 49 6e 76 6f 6b 65 20 25 57 0d 7d 0d 62 69 6e 64 20 .{.....tkButtonInvoke.%W.}.bind.
dda0 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 74 6b 43 68 65 63 Checkbutton.<space>.{.....tkChec
ddc0 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 25 57 0d 7d 0d 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 kRadioInvoke.%W.}.bind.Radiobutt
dde0 6f 6e 20 3c 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 74 6b 43 68 65 63 6b 52 61 64 69 6f 49 6e 76 on.<space>.{.....tkCheckRadioInv
de00 6f 6b 65 20 25 57 0d 7d 0d 0d 62 69 6e 64 20 42 75 74 74 6f 6e 20 3c 46 6f 63 75 73 49 6e 3e 20 oke.%W.}..bind.Button.<FocusIn>.
de20 7b 7d 0d 62 69 6e 64 20 42 75 74 74 6f 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 74 6b 42 {}.bind.Button.<Enter>.{.....tkB
de40 75 74 74 6f 6e 45 6e 74 65 72 20 25 57 0d 7d 0d 62 69 6e 64 20 42 75 74 74 6f 6e 20 3c 4c 65 61 uttonEnter.%W.}.bind.Button.<Lea
de60 76 65 3e 20 7b 0d 20 20 20 20 74 6b 42 75 74 74 6f 6e 4c 65 61 76 65 20 25 57 0d 7d 0d 62 69 6e ve>.{.....tkButtonLeave.%W.}.bin
de80 64 20 42 75 74 74 6f 6e 20 3c 31 3e 20 7b 0d 20 20 20 20 74 6b 42 75 74 74 6f 6e 44 6f 77 6e 20 d.Button.<1>.{.....tkButtonDown.
dea0 25 57 0d 7d 0d 62 69 6e 64 20 42 75 74 74 6f 6e 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d %W.}.bind.Button.<ButtonRelease-
dec0 31 3e 20 7b 0d 20 20 20 20 74 6b 42 75 74 74 6f 6e 55 70 20 25 57 0d 7d 0d 0d 62 69 6e 64 20 43 1>.{.....tkButtonUp.%W.}..bind.C
dee0 68 65 63 6b 62 75 74 74 6f 6e 20 3c 46 6f 63 75 73 49 6e 3e 20 7b 7d 0d 62 69 6e 64 20 43 68 65 heckbutton.<FocusIn>.{}.bind.Che
df00 63 6b 62 75 74 74 6f 6e 20 3c 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 74 6b 42 75 74 74 6f 6e 4c ckbutton.<Leave>.{.....tkButtonL
df20 65 61 76 65 20 25 57 0d 7d 0d 0d 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 46 6f 63 eave.%W.}..bind.Radiobutton.<Foc
df40 75 73 49 6e 3e 20 7b 7d 0d 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 4c 65 61 76 65 usIn>.{}.bind.Radiobutton.<Leave
df60 3e 20 7b 0d 20 20 20 20 74 6b 42 75 74 74 6f 6e 4c 65 61 76 65 20 25 57 0d 7d 0d 0d 69 66 20 7b >.{.....tkButtonLeave.%W.}..if.{
df80 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 77 69 6e 64 $tcl_platform(platform).==."wind
dfa0 6f 77 73 22 7d 20 7b 0d 0d 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ows"}.{..#######################
dfc0 23 23 0d 23 20 57 69 6e 64 6f 77 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 0d 23 23 23 ##.#.Windows.implementation..###
dfe0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0d 23 20 74 6b 42 75 74 74 ######################..#.tkButt
e000 6f 6e 45 6e 74 65 72 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 onEnter.--.#.The.procedure.below
e020 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 70 6f 69 6e 74 .is.invoked.when.the.mouse.point
e040 65 72 20 65 6e 74 65 72 73 20 61 0d 23 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 er.enters.a.#.button.widget...It
e060 20 72 65 63 6f 72 64 73 20 74 68 65 20 62 75 74 74 6f 6e 20 77 65 27 72 65 20 69 6e 20 61 6e 64 .records.the.button.we're.in.and
e080 20 63 68 61 6e 67 65 73 20 74 68 65 0d 23 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 62 75 74 74 .changes.the.#.state.of.the.butt
e0a0 6f 6e 20 74 6f 20 61 63 74 69 76 65 20 75 6e 6c 65 73 73 20 74 68 65 20 62 75 74 74 6f 6e 20 69 on.to.active.unless.the.button.i
e0c0 73 20 64 69 73 61 62 6c 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d s.disabled..#.#.Arguments:.#.w.-
e0e0 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 ..The.name.of.the.widget...proc.
e100 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 tkButtonEnter.w.{.....global.tkP
e120 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 riv.....if.{[$w.cget.-state].!=.
e140 22 64 69 73 61 62 6c 65 64 22 7d 20 7b 0d 09 69 66 20 7b 24 74 6b 50 72 69 76 28 62 75 74 74 6f "disabled"}.{..if.{$tkPriv(butto
e160 6e 57 69 6e 64 6f 77 29 20 3d 3d 20 24 77 7d 20 7b 0d 09 20 20 20 20 24 77 20 63 6f 6e 66 69 67 nWindow).==.$w}.{......$w.config
e180 75 72 65 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 20 2d 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e ure.-state.active.-relief.sunken
e1a0 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 ..}.....}.....set.tkPriv(window)
e1c0 20 24 77 0d 7d 0d 0d 23 20 74 6b 42 75 74 74 6f 6e 4c 65 61 76 65 20 2d 2d 0d 23 20 54 68 65 20 .$w.}..#.tkButtonLeave.--.#.The.
e1e0 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 procedure.below.is.invoked.when.
e200 74 68 65 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 20 6c 65 61 76 65 73 20 61 0d 23 20 62 75 74 the.mouse.pointer.leaves.a.#.but
e220 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 20 63 68 61 6e 67 65 73 20 74 68 65 20 73 74 61 74 ton.widget...It.changes.the.stat
e240 65 20 6f 66 20 74 68 65 20 62 75 74 74 6f 6e 20 62 61 63 6b 20 74 6f 0d 23 20 69 6e 61 63 74 69 e.of.the.button.back.to.#.inacti
e260 76 65 2e 20 20 49 66 20 77 65 27 72 65 20 6c 65 61 76 69 6e 67 20 74 68 65 20 62 75 74 74 6f 6e ve...If.we're.leaving.the.button
e280 20 77 69 6e 64 6f 77 20 77 69 74 68 20 61 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 0d 23 20 70 72 .window.with.a.mouse.button.#.pr
e2a0 65 73 73 65 64 20 28 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 3d 3d 20 24 essed.(tkPriv(buttonWindow).==.$
e2c0 77 29 2c 20 72 65 73 74 6f 72 65 20 74 68 65 20 72 65 6c 69 65 66 20 6f 66 20 74 68 65 0d 23 20 w),.restore.the.relief.of.the.#.
e2e0 62 75 74 74 6f 6e 20 74 6f 6f 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d button.too..#.#.Arguments:.#.w.-
e300 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 ..The.name.of.the.widget...proc.
e320 74 6b 42 75 74 74 6f 6e 4c 65 61 76 65 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 tkButtonLeave.w.{.....global.tkP
e340 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 riv.....if.{[$w.cget.-state].!=.
e360 22 64 69 73 61 62 6c 65 64 22 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 20 2d 73 74 61 74 65 20 "disabled"}.{..$w.config.-state.
e380 6e 6f 72 6d 61 6c 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 24 77 20 3d 3d 20 24 74 6b 50 72 normal.....}.....if.{$w.==.$tkPr
e3a0 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 iv(buttonWindow)}.{..$w.configur
e3c0 65 20 2d 72 65 6c 69 65 66 20 24 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 0d 20 20 20 20 7d 0d e.-relief.$tkPriv(relief).....}.
e3e0 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 22 22 0d 7d 0d 0d 23 20 74 ....set.tkPriv(window)."".}..#.t
e400 6b 43 68 65 63 6b 52 61 64 69 6f 45 6e 74 65 72 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 kCheckRadioEnter.--.#.The.proced
e420 75 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f ure.below.is.invoked.when.the.mo
e440 75 73 65 20 70 6f 69 6e 74 65 72 20 65 6e 74 65 72 73 20 61 0d 23 20 63 68 65 63 6b 62 75 74 74 use.pointer.enters.a.#.checkbutt
e460 6f 6e 20 6f 72 20 72 61 64 69 6f 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 20 72 65 on.or.radiobutton.widget...It.re
e480 63 6f 72 64 73 20 74 68 65 20 62 75 74 74 6f 6e 20 77 65 27 72 65 20 69 6e 0d 23 20 61 6e 64 20 cords.the.button.we're.in.#.and.
e4a0 63 68 61 6e 67 65 73 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 62 75 74 74 6f 6e 20 changes.the.state.of.the.button.
e4c0 74 6f 20 61 63 74 69 76 65 20 75 6e 6c 65 73 73 20 74 68 65 20 62 75 74 74 6f 6e 20 69 73 0d 23 to.active.unless.the.button.is.#
e4e0 20 64 69 73 61 62 6c 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 .disabled..#.#.Arguments:.#.w.-.
e500 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 .The.name.of.the.widget...proc.t
e520 6b 43 68 65 63 6b 52 61 64 69 6f 45 6e 74 65 72 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 kCheckRadioEnter.w.{.....global.
e540 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 tkPriv.....if.{[$w.cget.-state].
e560 21 3d 20 22 64 69 73 61 62 6c 65 64 22 7d 20 7b 0d 09 69 66 20 7b 24 74 6b 50 72 69 76 28 62 75 !=."disabled"}.{..if.{$tkPriv(bu
e580 74 74 6f 6e 57 69 6e 64 6f 77 29 20 3d 3d 20 24 77 7d 20 7b 0d 09 20 20 20 20 24 77 20 63 6f 6e ttonWindow).==.$w}.{......$w.con
e5a0 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 figure.-state.active..}.....}...
e5c0 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 24 77 0d 7d 0d 0d 23 20 74 6b 42 ..set.tkPriv(window).$w.}..#.tkB
e5e0 75 74 74 6f 6e 44 6f 77 6e 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c uttonDown.--.#.The.procedure.bel
e600 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 ow.is.invoked.when.the.mouse.but
e620 74 6f 6e 20 69 73 20 70 72 65 73 73 65 64 20 69 6e 0d 23 20 61 20 62 75 74 74 6f 6e 20 77 69 64 ton.is.pressed.in.#.a.button.wid
e640 67 65 74 2e 20 20 49 74 20 72 65 63 6f 72 64 73 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 74 get...It.records.the.fact.that.t
e660 68 65 20 6d 6f 75 73 65 20 69 73 20 69 6e 20 74 68 65 20 62 75 74 74 6f 6e 2c 0d 23 20 73 61 76 he.mouse.is.in.the.button,.#.sav
e680 65 73 20 74 68 65 20 62 75 74 74 6f 6e 27 73 20 72 65 6c 69 65 66 20 73 6f 20 69 74 20 63 61 6e es.the.button's.relief.so.it.can
e6a0 20 62 65 20 72 65 73 74 6f 72 65 64 20 6c 61 74 65 72 2c 20 61 6e 64 20 63 68 61 6e 67 65 73 0d .be.restored.later,.and.changes.
e6c0 23 20 74 68 65 20 72 65 6c 69 65 66 20 74 6f 20 73 75 6e 6b 65 6e 2e 0d 23 0d 23 20 41 72 67 75 #.the.relief.to.sunken..#.#.Argu
e6e0 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 ments:.#.w.-..The.name.of.the.wi
e700 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 74 74 6f 6e 44 6f 77 6e 20 77 20 7b 0d 20 20 20 dget...proc.tkButtonDown.w.{....
e720 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 72 65 .global.tkPriv.....set.tkPriv(re
e740 6c 69 65 66 29 20 5b 6c 69 6e 64 65 78 20 5b 24 77 20 63 6f 6e 66 20 2d 72 65 6c 69 65 66 5d 20 lief).[lindex.[$w.conf.-relief].
e760 34 5d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 22 4].....if.{[$w.cget.-state].!=."
e780 64 69 73 61 62 6c 65 64 22 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 disabled"}.{..set.tkPriv(buttonW
e7a0 69 6e 64 6f 77 29 20 24 77 0d 09 24 77 20 63 6f 6e 66 69 67 20 2d 72 65 6c 69 65 66 20 73 75 6e indow).$w..$w.config.-relief.sun
e7c0 6b 65 6e 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 43 ken.-state.active.....}.}..#.tkC
e7e0 68 65 63 6b 52 61 64 69 6f 44 6f 77 6e 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 heckRadioDown.--.#.The.procedure
e800 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 .below.is.invoked.when.the.mouse
e820 20 62 75 74 74 6f 6e 20 69 73 20 70 72 65 73 73 65 64 20 69 6e 0d 23 20 61 20 62 75 74 74 6f 6e .button.is.pressed.in.#.a.button
e840 20 77 69 64 67 65 74 2e 20 20 49 74 20 72 65 63 6f 72 64 73 20 74 68 65 20 66 61 63 74 20 74 68 .widget...It.records.the.fact.th
e860 61 74 20 74 68 65 20 6d 6f 75 73 65 20 69 73 20 69 6e 20 74 68 65 20 62 75 74 74 6f 6e 2c 0d 23 at.the.mouse.is.in.the.button,.#
e880 20 73 61 76 65 73 20 74 68 65 20 62 75 74 74 6f 6e 27 73 20 72 65 6c 69 65 66 20 73 6f 20 69 74 .saves.the.button's.relief.so.it
e8a0 20 63 61 6e 20 62 65 20 72 65 73 74 6f 72 65 64 20 6c 61 74 65 72 2c 20 61 6e 64 20 63 68 61 6e .can.be.restored.later,.and.chan
e8c0 67 65 73 0d 23 20 74 68 65 20 72 65 6c 69 65 66 20 74 6f 20 73 75 6e 6b 65 6e 2e 0d 23 0d 23 20 ges.#.the.relief.to.sunken..#.#.
e8e0 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 Arguments:.#.w.-..The.name.of.th
e900 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 43 68 65 63 6b 52 61 64 69 6f 44 6f 77 6e e.widget...proc.tkCheckRadioDown
e920 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 74 .w.{.....global.tkPriv.....set.t
e940 6b 50 72 69 76 28 72 65 6c 69 65 66 29 20 5b 6c 69 6e 64 65 78 20 5b 24 77 20 63 6f 6e 66 20 2d kPriv(relief).[lindex.[$w.conf.-
e960 72 65 6c 69 65 66 5d 20 34 5d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 74 61 relief].4].....if.{[$w.cget.-sta
e980 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 te].!=."disabled"}.{..set.tkPriv
e9a0 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 24 77 0d 09 24 77 20 63 6f 6e 66 69 67 20 2d 73 74 (buttonWindow).$w..$w.config.-st
e9c0 61 74 65 20 61 63 74 69 76 65 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 42 75 74 74 6f 6e 55 70 ate.active.....}.}..#.tkButtonUp
e9e0 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 .--.#.The.procedure.below.is.inv
ea00 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 72 65 oked.when.the.mouse.button.is.re
ea20 6c 65 61 73 65 64 0d 23 20 69 6e 20 61 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 leased.#.in.a.button.widget...It
ea40 20 72 65 73 74 6f 72 65 73 20 74 68 65 20 62 75 74 74 6f 6e 27 73 20 72 65 6c 69 65 66 20 61 6e .restores.the.button's.relief.an
ea60 64 20 69 6e 76 6f 6b 65 73 0d 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 73 20 6c 6f 6e 67 20 d.invokes.#.the.command.as.long.
ea80 61 73 20 74 68 65 20 6d 6f 75 73 65 20 68 61 73 6e 27 74 20 6c 65 66 74 20 74 68 65 20 62 75 74 as.the.mouse.hasn't.left.the.but
eaa0 74 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e ton..#.#.Arguments:.#.w.-..The.n
eac0 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 74 74 6f ame.of.the.widget...proc.tkButto
eae0 6e 55 70 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 nUp.w.{.....global.tkPriv.....if
eb00 20 7b 24 77 20 3d 3d 20 24 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 7d 20 7b .{$w.==.$tkPriv(buttonWindow)}.{
eb20 0d 09 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 22 22 0d 09 69 ..set.tkPriv(buttonWindow).""..i
eb40 66 20 7b 28 24 77 20 3d 3d 20 24 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 29 0d 09 09 26 26 20 f.{($w.==.$tkPriv(window))...&&.
eb60 28 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 29 ([$w.cget.-state].!=."disabled")
eb80 7d 20 7b 0d 09 20 20 20 20 24 77 20 63 6f 6e 66 69 67 20 2d 72 65 6c 69 65 66 20 24 74 6b 50 72 }.{......$w.config.-relief.$tkPr
eba0 69 76 28 72 65 6c 69 65 66 29 20 2d 73 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 09 20 20 20 20 75 70 iv(relief).-state.normal......up
ebc0 6c 65 76 65 6c 20 23 30 20 5b 6c 69 73 74 20 24 77 20 69 6e 76 6f 6b 65 5d 0d 09 7d 0d 20 20 20 level.#0.[list.$w.invoke]..}....
ebe0 20 7d 0d 7d 0d 0d 7d 0d 0d 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 .}.}..}..if.{$tcl_platform(platf
ec00 6f 72 6d 29 20 3d 3d 20 22 75 6e 69 78 22 7d 20 7b 0d 0d 23 23 23 23 23 23 23 23 23 23 23 23 23 orm).==."unix"}.{..#############
ec20 23 23 23 23 23 23 23 23 0d 23 20 55 6e 69 78 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0d 23 ########.#.Unix.implementation.#
ec40 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0d 23 20 74 6b 42 75 74 74 6f 6e ####################..#.tkButton
ec60 45 6e 74 65 72 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 Enter.--.#.The.procedure.below.i
ec80 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 s.invoked.when.the.mouse.pointer
eca0 20 65 6e 74 65 72 73 20 61 0d 23 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 20 72 .enters.a.#.button.widget...It.r
ecc0 65 63 6f 72 64 73 20 74 68 65 20 62 75 74 74 6f 6e 20 77 65 27 72 65 20 69 6e 20 61 6e 64 20 63 ecords.the.button.we're.in.and.c
ece0 68 61 6e 67 65 73 20 74 68 65 0d 23 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 62 75 74 74 6f 6e hanges.the.#.state.of.the.button
ed00 20 74 6f 20 61 63 74 69 76 65 20 75 6e 6c 65 73 73 20 74 68 65 20 62 75 74 74 6f 6e 20 69 73 20 .to.active.unless.the.button.is.
ed20 64 69 73 61 62 6c 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 disabled..#.#.Arguments:.#.w.-..
ed40 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b The.name.of.the.widget...proc.tk
ed60 42 75 74 74 6f 6e 45 6e 74 65 72 20 7b 77 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 ButtonEnter.{w}.{.....global.tkP
ed80 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 riv.....if.{[$w.cget.-state].!=.
eda0 22 64 69 73 61 62 6c 65 64 22 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 20 2d 73 74 61 74 65 20 "disabled"}.{..$w.config.-state.
edc0 61 63 74 69 76 65 0d 09 69 66 20 7b 24 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 active..if.{$tkPriv(buttonWindow
ede0 29 20 3d 3d 20 24 77 7d 20 7b 0d 09 20 20 20 20 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 ).==.$w}.{......$w.configure.-st
ee00 61 74 65 20 61 63 74 69 76 65 20 2d 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e 0d 09 7d 0d 20 20 20 ate.active.-relief.sunken..}....
ee20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 24 77 0d 7d 0d 0d .}.....set.tkPriv(window).$w.}..
ee40 23 20 74 6b 42 75 74 74 6f 6e 4c 65 61 76 65 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 #.tkButtonLeave.--.#.The.procedu
ee60 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 re.below.is.invoked.when.the.mou
ee80 73 65 20 70 6f 69 6e 74 65 72 20 6c 65 61 76 65 73 20 61 0d 23 20 62 75 74 74 6f 6e 20 77 69 64 se.pointer.leaves.a.#.button.wid
eea0 67 65 74 2e 20 20 49 74 20 63 68 61 6e 67 65 73 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 get...It.changes.the.state.of.th
eec0 65 20 62 75 74 74 6f 6e 20 62 61 63 6b 20 74 6f 0d 23 20 69 6e 61 63 74 69 76 65 2e 20 20 49 66 e.button.back.to.#.inactive...If
eee0 20 77 65 27 72 65 20 6c 65 61 76 69 6e 67 20 74 68 65 20 62 75 74 74 6f 6e 20 77 69 6e 64 6f 77 .we're.leaving.the.button.window
ef00 20 77 69 74 68 20 61 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 0d 23 20 70 72 65 73 73 65 64 20 28 .with.a.mouse.button.#.pressed.(
ef20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 3d 3d 20 24 77 29 2c 20 72 65 73 tkPriv(buttonWindow).==.$w),.res
ef40 74 6f 72 65 20 74 68 65 20 72 65 6c 69 65 66 20 6f 66 20 74 68 65 0d 23 20 62 75 74 74 6f 6e 20 tore.the.relief.of.the.#.button.
ef60 74 6f 6f 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e too..#.#.Arguments:.#.w.-..The.n
ef80 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 74 74 6f ame.of.the.widget...proc.tkButto
efa0 6e 4c 65 61 76 65 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 nLeave.w.{.....global.tkPriv....
efc0 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c .if.{[$w.cget.-state].!=."disabl
efe0 65 64 22 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 20 2d 73 74 61 74 65 20 6e 6f 72 6d 61 6c 0d ed"}.{..$w.config.-state.normal.
f000 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 24 77 20 3d 3d 20 24 74 6b 50 72 69 76 28 62 75 74 74 ....}.....if.{$w.==.$tkPriv(butt
f020 6f 6e 57 69 6e 64 6f 77 29 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 onWindow)}.{..$w.configure.-reli
f040 65 66 20 24 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 ef.$tkPriv(relief).....}.....set
f060 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 22 22 0d 7d 0d 0d 23 20 74 6b 42 75 74 74 6f 6e .tkPriv(window)."".}..#.tkButton
f080 44 6f 77 6e 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 Down.--.#.The.procedure.below.is
f0a0 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 .invoked.when.the.mouse.button.i
f0c0 73 20 70 72 65 73 73 65 64 20 69 6e 0d 23 20 61 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 s.pressed.in.#.a.button.widget..
f0e0 20 49 74 20 72 65 63 6f 72 64 73 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 74 68 65 20 6d 6f .It.records.the.fact.that.the.mo
f100 75 73 65 20 69 73 20 69 6e 20 74 68 65 20 62 75 74 74 6f 6e 2c 0d 23 20 73 61 76 65 73 20 74 68 use.is.in.the.button,.#.saves.th
f120 65 20 62 75 74 74 6f 6e 27 73 20 72 65 6c 69 65 66 20 73 6f 20 69 74 20 63 61 6e 20 62 65 20 72 e.button's.relief.so.it.can.be.r
f140 65 73 74 6f 72 65 64 20 6c 61 74 65 72 2c 20 61 6e 64 20 63 68 61 6e 67 65 73 0d 23 20 74 68 65 estored.later,.and.changes.#.the
f160 20 72 65 6c 69 65 66 20 74 6f 20 73 75 6e 6b 65 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 .relief.to.sunken..#.#.Arguments
f180 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e :.#.w.-..The.name.of.the.widget.
f1a0 0d 0d 70 72 6f 63 20 74 6b 42 75 74 74 6f 6e 44 6f 77 6e 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 ..proc.tkButtonDown.w.{.....glob
f1c0 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 al.tkPriv.....set.tkPriv(relief)
f1e0 20 5b 6c 69 6e 64 65 78 20 5b 24 77 20 63 6f 6e 66 69 67 20 2d 72 65 6c 69 65 66 5d 20 34 5d 0d .[lindex.[$w.config.-relief].4].
f200 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 22 64 69 73 ....if.{[$w.cget.-state].!=."dis
f220 61 62 6c 65 64 22 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 abled"}.{..set.tkPriv(buttonWind
f240 6f 77 29 20 24 77 0d 09 24 77 20 63 6f 6e 66 69 67 20 2d 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e ow).$w..$w.config.-relief.sunken
f260 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 42 75 74 74 6f 6e 55 70 20 2d 2d 0d 23 20 54 68 65 20 .....}.}..#.tkButtonUp.--.#.The.
f280 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 procedure.below.is.invoked.when.
f2a0 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 72 65 6c 65 61 73 65 64 0d 23 20 69 the.mouse.button.is.released.#.i
f2c0 6e 20 61 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 20 72 65 73 74 6f 72 65 73 20 n.a.button.widget...It.restores.
f2e0 74 68 65 20 62 75 74 74 6f 6e 27 73 20 72 65 6c 69 65 66 20 61 6e 64 20 69 6e 76 6f 6b 65 73 0d the.button's.relief.and.invokes.
f300 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 6d 6f 75 #.the.command.as.long.as.the.mou
f320 73 65 20 68 61 73 6e 27 74 20 6c 65 66 74 20 74 68 65 20 62 75 74 74 6f 6e 2e 0d 23 0d 23 20 41 se.hasn't.left.the.button..#.#.A
f340 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 rguments:.#.w.-..The.name.of.the
f360 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 74 74 6f 6e 55 70 20 77 20 7b 0d 20 20 .widget...proc.tkButtonUp.w.{...
f380 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 24 77 20 3d 3d 20 24 74 ..global.tkPriv.....if.{$w.==.$t
f3a0 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 kPriv(buttonWindow)}.{..set.tkPr
f3c0 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 22 22 0d 09 24 77 20 63 6f 6e 66 69 67 20 2d iv(buttonWindow).""..$w.config.-
f3e0 72 65 6c 69 65 66 20 24 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 0d 09 69 66 20 7b 28 24 77 20 relief.$tkPriv(relief)..if.{($w.
f400 3d 3d 20 24 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 29 0d 09 09 26 26 20 28 5b 24 77 20 63 67 ==.$tkPriv(window))...&&.([$w.cg
f420 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 29 7d 20 7b 0d 09 20 20 et.-state].!=."disabled")}.{....
f440 20 20 75 70 6c 65 76 65 6c 20 23 30 20 5b 6c 69 73 74 20 24 77 20 69 6e 76 6f 6b 65 5d 0d 09 7d ..uplevel.#0.[list.$w.invoke]..}
f460 0d 20 20 20 20 7d 0d 7d 0d 0d 7d 0d 0d 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 .....}.}..}..if.{$tcl_platform(p
f480 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 0d 23 23 23 23 latform).==."macintosh"}.{..####
f4a0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 23 20 4d 61 63 20 69 6d 70 6c 65 6d 65 6e 74 ################.#.Mac.implement
f4c0 61 74 69 6f 6e 0d 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0d 23 20 74 6b ation.####################..#.tk
f4e0 42 75 74 74 6f 6e 45 6e 74 65 72 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 ButtonEnter.--.#.The.procedure.b
f500 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 70 elow.is.invoked.when.the.mouse.p
f520 6f 69 6e 74 65 72 20 65 6e 74 65 72 73 20 61 0d 23 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e ointer.enters.a.#.button.widget.
f540 20 20 49 74 20 72 65 63 6f 72 64 73 20 74 68 65 20 62 75 74 74 6f 6e 20 77 65 27 72 65 20 69 6e ..It.records.the.button.we're.in
f560 20 61 6e 64 20 63 68 61 6e 67 65 73 20 74 68 65 0d 23 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 .and.changes.the.#.state.of.the.
f580 62 75 74 74 6f 6e 20 74 6f 20 61 63 74 69 76 65 20 75 6e 6c 65 73 73 20 74 68 65 20 62 75 74 74 button.to.active.unless.the.butt
f5a0 6f 6e 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 on.is.disabled..#.#.Arguments:.#
f5c0 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 .w.-..The.name.of.the.widget...p
f5e0 72 6f 63 20 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 20 7b 77 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 roc.tkButtonEnter.{w}.{.....glob
f600 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 al.tkPriv.....if.{[$w.cget.-stat
f620 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 7d 20 7b 0d 09 69 66 20 7b 24 74 6b 50 72 69 76 e].!=."disabled"}.{..if.{$tkPriv
f640 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 3d 3d 20 24 77 7d 20 7b 0d 09 20 20 20 20 24 77 20 (buttonWindow).==.$w}.{......$w.
f660 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 0d 09 7d 0d 20 20 20 20 7d configure.-state.active..}.....}
f680 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 24 77 0d 7d 0d 0d 23 20 .....set.tkPriv(window).$w.}..#.
f6a0 74 6b 42 75 74 74 6f 6e 4c 65 61 76 65 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 tkButtonLeave.--.#.The.procedure
f6c0 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 .below.is.invoked.when.the.mouse
f6e0 20 70 6f 69 6e 74 65 72 20 6c 65 61 76 65 73 20 61 0d 23 20 62 75 74 74 6f 6e 20 77 69 64 67 65 .pointer.leaves.a.#.button.widge
f700 74 2e 20 20 49 74 20 63 68 61 6e 67 65 73 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 t...It.changes.the.state.of.the.
f720 62 75 74 74 6f 6e 20 62 61 63 6b 20 74 6f 0d 23 20 69 6e 61 63 74 69 76 65 2e 20 20 49 66 20 77 button.back.to.#.inactive...If.w
f740 65 27 72 65 20 6c 65 61 76 69 6e 67 20 74 68 65 20 62 75 74 74 6f 6e 20 77 69 6e 64 6f 77 20 77 e're.leaving.the.button.window.w
f760 69 74 68 20 61 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 0d 23 20 70 72 65 73 73 65 64 20 28 74 6b ith.a.mouse.button.#.pressed.(tk
f780 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 3d 3d 20 24 77 29 2c 20 72 65 73 74 6f Priv(buttonWindow).==.$w),.resto
f7a0 72 65 20 74 68 65 20 72 65 6c 69 65 66 20 6f 66 20 74 68 65 0d 23 20 62 75 74 74 6f 6e 20 74 6f re.the.relief.of.the.#.button.to
f7c0 6f 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d o..#.#.Arguments:.#.w.-..The.nam
f7e0 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 74 74 6f 6e 4c e.of.the.widget...proc.tkButtonL
f800 65 61 76 65 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 eave.w.{.....global.tkPriv.....i
f820 66 20 7b 24 77 20 3d 3d 20 24 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 7d 20 f.{$w.==.$tkPriv(buttonWindow)}.
f840 7b 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 20 20 {..$w.configure.-state.normal...
f860 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 22 22 0d 7d 0d ..}.....set.tkPriv(window)."".}.
f880 0d 23 20 74 6b 42 75 74 74 6f 6e 44 6f 77 6e 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 .#.tkButtonDown.--.#.The.procedu
f8a0 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 re.below.is.invoked.when.the.mou
f8c0 73 65 20 62 75 74 74 6f 6e 20 69 73 20 70 72 65 73 73 65 64 20 69 6e 0d 23 20 61 20 62 75 74 74 se.button.is.pressed.in.#.a.butt
f8e0 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 20 72 65 63 6f 72 64 73 20 74 68 65 20 66 61 63 74 20 on.widget...It.records.the.fact.
f900 74 68 61 74 20 74 68 65 20 6d 6f 75 73 65 20 69 73 20 69 6e 20 74 68 65 20 62 75 74 74 6f 6e 2c that.the.mouse.is.in.the.button,
f920 0d 23 20 73 61 76 65 73 20 74 68 65 20 62 75 74 74 6f 6e 27 73 20 72 65 6c 69 65 66 20 73 6f 20 .#.saves.the.button's.relief.so.
f940 69 74 20 63 61 6e 20 62 65 20 72 65 73 74 6f 72 65 64 20 6c 61 74 65 72 2c 20 61 6e 64 20 63 68 it.can.be.restored.later,.and.ch
f960 61 6e 67 65 73 0d 23 20 74 68 65 20 72 65 6c 69 65 66 20 74 6f 20 73 75 6e 6b 65 6e 2e 0d 23 0d anges.#.the.relief.to.sunken..#.
f980 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 #.Arguments:.#.w.-..The.name.of.
f9a0 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 74 74 6f 6e 44 6f 77 6e 20 77 the.widget...proc.tkButtonDown.w
f9c0 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 24 77 .{.....global.tkPriv.....if.{[$w
f9e0 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 7d 20 7b 0d 09 .cget.-state].!=."disabled"}.{..
fa00 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 24 77 0d 09 24 77 20 set.tkPriv(buttonWindow).$w..$w.
fa20 63 6f 6e 66 69 67 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 config.-state.active.....}.}..#.
fa40 74 6b 42 75 74 74 6f 6e 55 70 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 tkButtonUp.--.#.The.procedure.be
fa60 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 62 75 low.is.invoked.when.the.mouse.bu
fa80 74 74 6f 6e 20 69 73 20 72 65 6c 65 61 73 65 64 0d 23 20 69 6e 20 61 20 62 75 74 74 6f 6e 20 77 tton.is.released.#.in.a.button.w
faa0 69 64 67 65 74 2e 20 20 49 74 20 72 65 73 74 6f 72 65 73 20 74 68 65 20 62 75 74 74 6f 6e 27 73 idget...It.restores.the.button's
fac0 20 72 65 6c 69 65 66 20 61 6e 64 20 69 6e 76 6f 6b 65 73 0d 23 20 74 68 65 20 63 6f 6d 6d 61 6e .relief.and.invokes.#.the.comman
fae0 64 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 6d 6f 75 73 65 20 68 61 73 6e 27 74 20 6c 65 d.as.long.as.the.mouse.hasn't.le
fb00 66 74 20 74 68 65 20 62 75 74 74 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 ft.the.button..#.#.Arguments:.#.
fb20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 w.-..The.name.of.the.widget...pr
fb40 6f 63 20 74 6b 42 75 74 74 6f 6e 55 70 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 oc.tkButtonUp.w.{.....global.tkP
fb60 72 69 76 0d 20 20 20 20 69 66 20 7b 24 77 20 3d 3d 20 24 74 6b 50 72 69 76 28 62 75 74 74 6f 6e riv.....if.{$w.==.$tkPriv(button
fb80 57 69 6e 64 6f 77 29 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 20 2d 73 74 61 74 65 20 6e 6f 72 Window)}.{..$w.config.-state.nor
fba0 6d 61 6c 0d 09 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 22 22 mal..set.tkPriv(buttonWindow).""
fbc0 0d 09 69 66 20 7b 28 24 77 20 3d 3d 20 24 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 29 0d 09 09 ..if.{($w.==.$tkPriv(window))...
fbe0 26 26 20 28 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 &&.([$w.cget.-state].!=."disable
fc00 64 22 29 7d 20 7b 0d 09 20 20 20 20 75 70 6c 65 76 65 6c 20 23 30 20 5b 6c 69 73 74 20 24 77 20 d")}.{......uplevel.#0.[list.$w.
fc20 69 6e 76 6f 6b 65 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 7d 0d 0d 23 23 23 23 23 23 23 23 23 invoke]..}.....}.}..}..#########
fc40 23 23 23 23 23 23 23 23 23 0d 23 20 53 68 61 72 65 64 20 72 6f 75 74 69 6e 65 73 0d 23 23 23 23 #########.#.Shared.routines.####
fc60 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0d 23 20 74 6b 42 75 74 74 6f 6e 49 6e 76 6f 6b 65 ##############..#.tkButtonInvoke
fc80 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 63 61 6c .--.#.The.procedure.below.is.cal
fca0 6c 65 64 20 77 68 65 6e 20 61 20 62 75 74 74 6f 6e 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 68 72 led.when.a.button.is.invoked.thr
fcc0 6f 75 67 68 0d 23 20 74 68 65 20 6b 65 79 62 6f 61 72 64 2e 20 20 49 74 20 73 69 6d 75 6c 61 74 ough.#.the.keyboard...It.simulat
fce0 65 20 61 20 70 72 65 73 73 20 6f 66 20 74 68 65 20 62 75 74 74 6f 6e 20 76 69 61 20 74 68 65 20 e.a.press.of.the.button.via.the.
fd00 6d 6f 75 73 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 mouse..#.#.Arguments:.#.w.-..The
fd20 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 74 .name.of.the.widget...proc.tkBut
fd40 74 6f 6e 49 6e 76 6f 6b 65 20 77 20 7b 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d tonInvoke.w.{.....if.{[$w.cget.-
fd60 73 74 61 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 7d 20 7b 0d 09 73 65 74 20 6f 6c 64 state].!=."disabled"}.{..set.old
fd80 52 65 6c 69 65 66 20 5b 24 77 20 63 67 65 74 20 2d 72 65 6c 69 65 66 5d 0d 09 73 65 74 20 6f 6c Relief.[$w.cget.-relief]..set.ol
fda0 64 53 74 61 74 65 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 0d 09 24 77 20 63 6f 6e 66 dState.[$w.cget.-state]..$w.conf
fdc0 69 67 75 72 65 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 20 2d 72 65 6c 69 65 66 20 73 75 6e 6b igure.-state.active.-relief.sunk
fde0 65 6e 0d 09 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 09 61 66 74 65 72 20 31 30 30 0d en..update.idletasks..after.100.
fe00 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 24 6f 6c 64 53 74 61 74 65 20 2d .$w.configure.-state.$oldState.-
fe20 72 65 6c 69 65 66 20 24 6f 6c 64 52 65 6c 69 65 66 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 5b 6c relief.$oldRelief..uplevel.#0.[l
fe40 69 73 74 20 24 77 20 69 6e 76 6f 6b 65 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 43 68 65 63 ist.$w.invoke].....}.}..#.tkChec
fe60 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 kRadioInvoke.--.#.The.procedure.
fe80 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 below.is.invoked.when.the.mouse.
fea0 62 75 74 74 6f 6e 20 69 73 20 70 72 65 73 73 65 64 20 69 6e 0d 23 20 61 20 63 68 65 63 6b 62 75 button.is.pressed.in.#.a.checkbu
fec0 74 74 6f 6e 20 6f 72 20 72 61 64 69 6f 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2c 20 6f 72 20 77 tton.or.radiobutton.widget,.or.w
fee0 68 65 6e 20 74 68 65 20 77 69 64 67 65 74 20 69 73 20 69 6e 76 6f 6b 65 64 0d 23 20 74 68 72 6f hen.the.widget.is.invoked.#.thro
ff00 75 67 68 20 74 68 65 20 6b 65 79 62 6f 61 72 64 2e 20 20 49 74 20 69 6e 76 6f 6b 65 73 20 74 68 ugh.the.keyboard...It.invokes.th
ff20 65 20 77 69 64 67 65 74 20 69 66 20 69 74 0d 23 20 69 73 6e 27 74 20 64 69 73 61 62 6c 65 64 2e e.widget.if.it.#.isn't.disabled.
ff40 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 .#.#.Arguments:.#.w.-..The.name.
ff60 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 23 20 63 6d 64 20 2d 09 09 54 68 65 20 73 75 62 63 of.the.widget..#.cmd.-..The.subc
ff80 6f 6d 6d 61 6e 64 20 74 6f 20 69 6e 76 6f 6b 65 20 28 6f 6e 65 20 6f 66 20 69 6e 76 6f 6b 65 2c ommand.to.invoke.(one.of.invoke,
ffa0 20 73 65 6c 65 63 74 2c 20 6f 72 20 64 65 73 65 6c 65 63 74 29 2e 0d 0d 70 72 6f 63 20 74 6b 43 .select,.or.deselect)...proc.tkC
ffc0 68 65 63 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 7b 77 20 7b 63 6d 64 20 69 6e 76 6f 6b 65 7d 7d heckRadioInvoke.{w.{cmd.invoke}}
ffe0 20 7b 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 22 .{.....if.{[$w.cget.-state].!=."
10000 64 69 73 61 62 6c 65 64 22 7d 20 7b 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 5b 6c 69 73 74 20 24 disabled"}.{..uplevel.#0.[list.$
10020 77 20 24 63 6d 64 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 00 00 15 26 23 20 64 69 61 6c 6f 67 2e 74 63 w.$cmd].....}.}.....&#.dialog.tc
10040 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 74 68 65 20 70 l.--.#.#.This.file.defines.the.p
10060 72 6f 63 65 64 75 72 65 20 74 6b 5f 64 69 61 6c 6f 67 2c 20 77 68 69 63 68 20 63 72 65 61 74 65 rocedure.tk_dialog,.which.create
10080 73 20 61 20 64 69 61 6c 6f 67 0d 23 20 62 6f 78 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 62 69 s.a.dialog.#.box.containing.a.bi
100a0 74 6d 61 70 2c 20 61 20 6d 65 73 73 61 67 65 2c 20 61 6e 64 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 tmap,.a.message,.and.one.or.more
100c0 20 62 75 74 74 6f 6e 73 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 64 69 61 6c 6f 67 2e .buttons..#.#.SCCS:.@(#).dialog.
100e0 74 63 6c 20 31 2e 33 33 20 39 37 2f 30 36 2f 30 36 20 31 31 3a 32 30 3a 30 34 0d 23 0d 23 20 43 tcl.1.33.97/06/06.11:20:04.#.#.C
10100 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 32 2d 31 39 39 33 20 54 68 65 20 52 65 67 65 6e opyright.(c).1992-1993.The.Regen
10120 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e ts.of.the.University.of.Californ
10140 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 37 20 53 75 ia..#.Copyright.(c).1994-1997.Su
10160 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 n.Microsystems,.Inc..#.#.See.the
10180 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d .file."license.terms".for.inform
101a0 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f ation.on.usage.and.redistributio
101c0 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 n.#.of.this.file,.and.for.a.DISC
101e0 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 0d 23 LAIMER.OF.ALL.WARRANTIES..#..#.#
10200 20 74 6b 5f 64 69 61 6c 6f 67 3a 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 64 .tk_dialog:.#.#.This.procedure.d
10220 69 73 70 6c 61 79 73 20 61 20 64 69 61 6c 6f 67 20 62 6f 78 2c 20 77 61 69 74 73 20 66 6f 72 20 isplays.a.dialog.box,.waits.for.
10240 61 20 62 75 74 74 6f 6e 20 69 6e 20 74 68 65 20 64 69 61 6c 6f 67 0d 23 20 74 6f 20 62 65 20 69 a.button.in.the.dialog.#.to.be.i
10260 6e 76 6f 6b 65 64 2c 20 74 68 65 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f nvoked,.then.returns.the.index.o
10280 66 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 62 75 74 74 6f 6e 2e 20 20 49 66 20 74 68 65 0d 23 f.the.selected.button...If.the.#
102a0 20 64 69 61 6c 6f 67 20 73 6f 6d 65 68 6f 77 20 67 65 74 73 20 64 65 73 74 72 6f 79 65 64 2c 20 .dialog.somehow.gets.destroyed,.
102c0 2d 31 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 -1.is.returned..#.#.Arguments:.#
102e0 20 77 20 2d 09 09 57 69 6e 64 6f 77 20 74 6f 20 75 73 65 20 66 6f 72 20 64 69 61 6c 6f 67 20 74 .w.-..Window.to.use.for.dialog.t
10300 6f 70 2d 6c 65 76 65 6c 2e 0d 23 20 74 69 74 6c 65 20 2d 09 54 69 74 6c 65 20 74 6f 20 64 69 73 op-level..#.title.-.Title.to.dis
10320 70 6c 61 79 20 69 6e 20 64 69 61 6c 6f 67 27 73 20 64 65 63 6f 72 61 74 69 76 65 20 66 72 61 6d play.in.dialog's.decorative.fram
10340 65 2e 0d 23 20 74 65 78 74 20 2d 09 4d 65 73 73 61 67 65 20 74 6f 20 64 69 73 70 6c 61 79 20 69 e..#.text.-.Message.to.display.i
10360 6e 20 64 69 61 6c 6f 67 2e 0d 23 20 62 69 74 6d 61 70 20 2d 09 42 69 74 6d 61 70 20 74 6f 20 64 n.dialog..#.bitmap.-.Bitmap.to.d
10380 69 73 70 6c 61 79 20 69 6e 20 64 69 61 6c 6f 67 20 28 65 6d 70 74 79 20 73 74 72 69 6e 67 20 6d isplay.in.dialog.(empty.string.m
103a0 65 61 6e 73 20 6e 6f 6e 65 29 2e 0d 23 20 64 65 66 61 75 6c 74 20 2d 09 49 6e 64 65 78 20 6f 66 eans.none)..#.default.-.Index.of
103c0 20 62 75 74 74 6f 6e 20 74 68 61 74 20 69 73 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 64 .button.that.is.to.display.the.d
103e0 65 66 61 75 6c 74 20 72 69 6e 67 0d 23 09 09 28 2d 31 20 6d 65 61 6e 73 20 6e 6f 6e 65 29 2e 0d efault.ring.#..(-1.means.none)..
10400 23 20 61 72 67 73 20 2d 09 4f 6e 65 20 6f 72 20 6d 6f 72 65 20 73 74 72 69 6e 67 73 20 74 6f 20 #.args.-.One.or.more.strings.to.
10420 64 69 73 70 6c 61 79 20 69 6e 20 62 75 74 74 6f 6e 73 20 61 63 72 6f 73 73 20 74 68 65 0d 23 09 display.in.buttons.across.the.#.
10440 09 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 64 69 61 6c 6f 67 20 62 6f 78 2e 0d 0d 70 72 6f 63 .bottom.of.the.dialog.box...proc
10460 20 74 6b 5f 64 69 61 6c 6f 67 20 7b 77 20 74 69 74 6c 65 20 74 65 78 74 20 62 69 74 6d 61 70 20 .tk_dialog.{w.title.text.bitmap.
10480 64 65 66 61 75 6c 74 20 61 72 67 73 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 default.args}.{.....global.tkPri
104a0 76 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 23 20 31 2e 20 43 72 65 61 74 65 20 v.tcl_platform......#.1..Create.
104c0 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 77 69 6e 64 6f 77 20 61 6e 64 20 64 69 76 69 64 65 20 the.top-level.window.and.divide.
104e0 69 74 20 69 6e 74 6f 20 74 6f 70 0d 20 20 20 20 23 20 61 6e 64 20 62 6f 74 74 6f 6d 20 70 61 72 it.into.top.....#.and.bottom.par
10500 74 73 2e 0d 0d 20 20 20 20 63 61 74 63 68 20 7b 64 65 73 74 72 6f 79 20 24 77 7d 0d 20 20 20 20 ts.......catch.{destroy.$w}.....
10520 74 6f 70 6c 65 76 65 6c 20 24 77 20 2d 63 6c 61 73 73 20 44 69 61 6c 6f 67 0d 20 20 20 20 77 6d toplevel.$w.-class.Dialog.....wm
10540 20 74 69 74 6c 65 20 24 77 20 24 74 69 74 6c 65 0d 20 20 20 20 77 6d 20 69 63 6f 6e 6e 61 6d 65 .title.$w.$title.....wm.iconname
10560 20 24 77 20 44 69 61 6c 6f 67 0d 20 20 20 20 77 6d 20 70 72 6f 74 6f 63 6f 6c 20 24 77 20 57 4d .$w.Dialog.....wm.protocol.$w.WM
10580 5f 44 45 4c 45 54 45 5f 57 49 4e 44 4f 57 20 7b 20 7d 0d 0d 20 20 20 20 23 20 54 68 65 20 66 6f _DELETE_WINDOW.{.}......#.The.fo
105a0 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 64 llowing.command.means.that.the.d
105c0 69 61 6c 6f 67 20 77 6f 6e 27 74 20 62 65 20 70 6f 73 74 65 64 20 69 66 0d 20 20 20 20 23 20 5b ialog.won't.be.posted.if.....#.[
105e0 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 20 69 73 20 69 63 6f 6e 69 66 69 65 64 2c 20 62 winfo.parent.$w].is.iconified,.b
10600 75 74 20 69 74 27 73 20 72 65 61 6c 6c 79 20 6e 65 65 64 65 64 3b 20 20 6f 74 68 65 72 77 69 73 ut.it's.really.needed;..otherwis
10620 65 0d 20 20 20 20 23 20 74 68 65 20 64 69 61 6c 6f 67 20 63 61 6e 20 62 65 63 6f 6d 65 20 6f 62 e.....#.the.dialog.can.become.ob
10640 73 63 75 72 65 64 20 62 79 20 6f 74 68 65 72 20 77 69 6e 64 6f 77 73 20 69 6e 20 74 68 65 20 61 scured.by.other.windows.in.the.a
10660 70 70 6c 69 63 61 74 69 6f 6e 2c 0d 20 20 20 20 23 20 65 76 65 6e 20 74 68 6f 75 67 68 20 69 74 pplication,.....#.even.though.it
10680 73 20 67 72 61 62 20 6b 65 65 70 73 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 61 70 70 s.grab.keeps.the.rest.of.the.app
106a0 6c 69 63 61 74 69 6f 6e 20 66 72 6f 6d 20 62 65 69 6e 67 20 75 73 65 64 2e 0d 0d 20 20 20 20 77 lication.from.being.used.......w
106c0 6d 20 74 72 61 6e 73 69 65 6e 74 20 24 77 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 5b m.transient.$w.[winfo.toplevel.[
106e0 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 5d 0d 20 20 20 20 69 66 20 7b 24 74 63 6c 5f 70 winfo.parent.$w]].....if.{$tcl_p
10700 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 latform(platform).==."macintosh"
10720 7d 20 7b 0d 09 75 6e 73 75 70 70 6f 72 74 65 64 31 20 73 74 79 6c 65 20 24 77 20 64 42 6f 78 50 }.{..unsupported1.style.$w.dBoxP
10740 72 6f 63 0d 20 20 20 20 7d 0d 0d 20 20 20 20 66 72 61 6d 65 20 24 77 2e 62 6f 74 0d 20 20 20 20 roc.....}......frame.$w.bot.....
10760 66 72 61 6d 65 20 24 77 2e 74 6f 70 0d 20 20 20 20 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f frame.$w.top.....if.{$tcl_platfo
10780 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 75 6e 69 78 22 7d 20 7b 0d 09 24 77 2e 62 6f rm(platform).==."unix"}.{..$w.bo
107a0 74 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 65 66 20 72 61 69 73 65 64 20 2d 62 64 20 31 t.configure.-relief.raised.-bd.1
107c0 0d 09 24 77 2e 74 6f 70 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 65 66 20 72 61 69 73 65 ..$w.top.configure.-relief.raise
107e0 64 20 2d 62 64 20 31 0d 20 20 20 20 7d 0d 20 20 20 20 70 61 63 6b 20 24 77 2e 62 6f 74 20 2d 73 d.-bd.1.....}.....pack.$w.bot.-s
10800 69 64 65 20 62 6f 74 74 6f 6d 20 2d 66 69 6c 6c 20 62 6f 74 68 0d 20 20 20 20 70 61 63 6b 20 24 ide.bottom.-fill.both.....pack.$
10820 77 2e 74 6f 70 20 2d 73 69 64 65 20 74 6f 70 20 2d 66 69 6c 6c 20 62 6f 74 68 20 2d 65 78 70 61 w.top.-side.top.-fill.both.-expa
10840 6e 64 20 31 0d 0d 20 20 20 20 23 20 32 2e 20 46 69 6c 6c 20 74 68 65 20 74 6f 70 20 70 61 72 74 nd.1......#.2..Fill.the.top.part
10860 20 77 69 74 68 20 62 69 74 6d 61 70 20 61 6e 64 20 6d 65 73 73 61 67 65 20 28 75 73 65 20 74 68 .with.bitmap.and.message.(use.th
10880 65 20 6f 70 74 69 6f 6e 0d 20 20 20 20 23 20 64 61 74 61 62 61 73 65 20 66 6f 72 20 2d 77 72 61 e.option.....#.database.for.-wra
108a0 70 6c 65 6e 67 74 68 20 73 6f 20 74 68 61 74 20 69 74 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 plength.so.that.it.can.be.overri
108c0 64 64 65 6e 20 62 79 0d 20 20 20 20 23 20 74 68 65 20 63 61 6c 6c 65 72 29 2e 0d 0d 20 20 20 20 dden.by.....#.the.caller).......
108e0 6f 70 74 69 6f 6e 20 61 64 64 20 2a 44 69 61 6c 6f 67 2e 6d 73 67 2e 77 72 61 70 4c 65 6e 67 74 option.add.*Dialog.msg.wrapLengt
10900 68 20 33 69 20 77 69 64 67 65 74 44 65 66 61 75 6c 74 0d 20 20 20 20 6c 61 62 65 6c 20 24 77 2e h.3i.widgetDefault.....label.$w.
10920 6d 73 67 20 2d 6a 75 73 74 69 66 79 20 6c 65 66 74 20 2d 74 65 78 74 20 24 74 65 78 74 0d 20 20 msg.-justify.left.-text.$text...
10940 20 20 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d ..if.{$tcl_platform(platform).==
10960 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 24 77 2e 6d 73 67 20 63 6f 6e 66 69 67 75 72 ."macintosh"}.{..$w.msg.configur
10980 65 20 2d 66 6f 6e 74 20 73 79 73 74 65 6d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 24 77 2e e.-font.system.....}.else.{..$w.
109a0 6d 73 67 20 63 6f 6e 66 69 67 75 72 65 20 2d 66 6f 6e 74 20 7b 54 69 6d 65 73 20 31 38 7d 0d 20 msg.configure.-font.{Times.18}..
109c0 20 20 20 7d 0d 20 20 20 20 70 61 63 6b 20 24 77 2e 6d 73 67 20 2d 69 6e 20 24 77 2e 74 6f 70 20 ...}.....pack.$w.msg.-in.$w.top.
109e0 2d 73 69 64 65 20 72 69 67 68 74 20 2d 65 78 70 61 6e 64 20 31 20 2d 66 69 6c 6c 20 62 6f 74 68 -side.right.-expand.1.-fill.both
10a00 20 2d 70 61 64 78 20 33 6d 20 2d 70 61 64 79 20 33 6d 0d 20 20 20 20 69 66 20 7b 24 62 69 74 6d .-padx.3m.-pady.3m.....if.{$bitm
10a20 61 70 20 21 3d 20 22 22 7d 20 7b 0d 09 69 66 20 7b 28 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 ap.!=.""}.{..if.{($tcl_platform(
10a40 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 29 20 26 26 20 28 24 62 platform).==."macintosh").&&.($b
10a60 69 74 6d 61 70 20 3d 3d 20 22 65 72 72 6f 72 22 29 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 62 69 itmap.==."error")}.{......set.bi
10a80 74 6d 61 70 20 22 73 74 6f 70 22 0d 09 7d 0d 09 6c 61 62 65 6c 20 24 77 2e 62 69 74 6d 61 70 20 tmap."stop"..}..label.$w.bitmap.
10aa0 2d 62 69 74 6d 61 70 20 24 62 69 74 6d 61 70 0d 09 70 61 63 6b 20 24 77 2e 62 69 74 6d 61 70 20 -bitmap.$bitmap..pack.$w.bitmap.
10ac0 2d 69 6e 20 24 77 2e 74 6f 70 20 2d 73 69 64 65 20 6c 65 66 74 20 2d 70 61 64 78 20 33 6d 20 2d -in.$w.top.-side.left.-padx.3m.-
10ae0 70 61 64 79 20 33 6d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 33 2e 20 43 72 65 61 74 65 20 61 pady.3m.....}......#.3..Create.a
10b00 20 72 6f 77 20 6f 66 20 62 75 74 74 6f 6e 73 20 61 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 6f 66 .row.of.buttons.at.the.bottom.of
10b20 20 74 68 65 20 64 69 61 6c 6f 67 2e 0d 0d 20 20 20 20 73 65 74 20 69 20 30 0d 20 20 20 20 66 6f .the.dialog.......set.i.0.....fo
10b40 72 65 61 63 68 20 62 75 74 20 24 61 72 67 73 20 7b 0d 09 62 75 74 74 6f 6e 20 24 77 2e 62 75 74 reach.but.$args.{..button.$w.but
10b60 74 6f 6e 24 69 20 2d 74 65 78 74 20 24 62 75 74 20 2d 63 6f 6d 6d 61 6e 64 20 22 73 65 74 20 74 ton$i.-text.$but.-command."set.t
10b80 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 20 24 69 22 0d 09 69 66 20 7b 24 69 20 3d 3d 20 24 64 65 kPriv(button).$i"..if.{$i.==.$de
10ba0 66 61 75 6c 74 7d 20 7b 0d 09 20 20 20 20 24 77 2e 62 75 74 74 6f 6e 24 69 20 63 6f 6e 66 69 67 fault}.{......$w.button$i.config
10bc0 75 72 65 20 2d 64 65 66 61 75 6c 74 20 61 63 74 69 76 65 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 ure.-default.active..}.else.{...
10be0 20 20 20 24 77 2e 62 75 74 74 6f 6e 24 69 20 63 6f 6e 66 69 67 75 72 65 20 2d 64 65 66 61 75 6c ...$w.button$i.configure.-defaul
10c00 74 20 6e 6f 72 6d 61 6c 0d 09 7d 0d 09 67 72 69 64 20 24 77 2e 62 75 74 74 6f 6e 24 69 20 2d 69 t.normal..}..grid.$w.button$i.-i
10c20 6e 20 24 77 2e 62 6f 74 20 2d 63 6f 6c 75 6d 6e 20 24 69 20 2d 72 6f 77 20 30 20 2d 73 74 69 63 n.$w.bot.-column.$i.-row.0.-stic
10c40 6b 79 20 65 77 20 2d 70 61 64 78 20 31 30 0d 09 67 72 69 64 20 63 6f 6c 75 6d 6e 63 6f 6e 66 69 ky.ew.-padx.10..grid.columnconfi
10c60 67 75 72 65 20 24 77 2e 62 6f 74 20 24 69 0d 09 23 20 57 65 20 62 6f 6f 73 74 20 74 68 65 20 73 gure.$w.bot.$i..#.We.boost.the.s
10c80 69 7a 65 20 6f 66 20 73 6f 6d 65 20 4d 61 63 20 62 75 74 74 6f 6e 73 20 66 6f 72 20 6c 26 66 0d ize.of.some.Mac.buttons.for.l&f.
10ca0 09 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 .if.{$tcl_platform(platform).==.
10cc0 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 74 6d 70 20 5b 73 74 72 "macintosh"}.{......set.tmp.[str
10ce0 69 6e 67 20 74 6f 6c 6f 77 65 72 20 24 62 75 74 5d 0d 09 20 20 20 20 69 66 20 7b 28 24 74 6d 70 ing.tolower.$but]......if.{($tmp
10d00 20 3d 3d 20 22 6f 6b 22 29 20 7c 7c 20 28 24 74 6d 70 20 3d 3d 20 22 63 61 6e 63 65 6c 22 29 7d .==."ok").||.($tmp.==."cancel")}
10d20 20 7b 0d 09 09 67 72 69 64 20 63 6f 6c 75 6d 6e 63 6f 6e 66 69 67 75 72 65 20 24 77 2e 62 6f 74 .{...grid.columnconfigure.$w.bot
10d40 20 24 69 20 2d 6d 69 6e 73 69 7a 65 20 5b 65 78 70 72 20 35 39 20 2b 20 32 30 5d 0d 09 20 20 20 .$i.-minsize.[expr.59.+.20].....
10d60 20 7d 0d 09 7d 0d 09 69 6e 63 72 20 69 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 34 2e 20 43 72 .}..}..incr.i.....}......#.4..Cr
10d80 65 61 74 65 20 61 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 3c 52 65 74 75 72 6e 3e 20 6f 6e 20 74 eate.a.binding.for.<Return>.on.t
10da0 68 65 20 64 69 61 6c 6f 67 20 69 66 20 74 68 65 72 65 20 69 73 20 61 0d 20 20 20 20 23 20 64 65 he.dialog.if.there.is.a.....#.de
10dc0 66 61 75 6c 74 20 62 75 74 74 6f 6e 2e 0d 0d 20 20 20 20 69 66 20 7b 24 64 65 66 61 75 6c 74 20 fault.button.......if.{$default.
10de0 3e 3d 20 30 7d 20 7b 0d 09 62 69 6e 64 20 24 77 20 3c 52 65 74 75 72 6e 3e 20 22 0d 09 20 20 20 >=.0}.{..bind.$w.<Return>.".....
10e00 20 24 77 2e 62 75 74 74 6f 6e 24 64 65 66 61 75 6c 74 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 .$w.button$default.configure.-st
10e20 61 74 65 20 61 63 74 69 76 65 20 2d 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e 0d 09 20 20 20 20 75 ate.active.-relief.sunken......u
10e40 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 09 20 20 20 20 61 66 74 65 72 20 31 30 30 0d 09 pdate.idletasks......after.100..
10e60 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 20 24 64 65 66 61 75 6c 74 0d ....set.tkPriv(button).$default.
10e80 09 22 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 35 2e 20 43 72 65 61 74 65 20 61 20 3c 44 65 73 .".....}......#.5..Create.a.<Des
10ea0 74 72 6f 79 3e 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 74 68 65 20 77 69 6e 64 6f 77 20 74 68 61 troy>.binding.for.the.window.tha
10ec0 74 20 73 65 74 73 20 74 68 65 0d 20 20 20 20 23 20 62 75 74 74 6f 6e 20 76 61 72 69 61 62 6c 65 t.sets.the.....#.button.variable
10ee0 20 74 6f 20 2d 31 3b 20 20 74 68 69 73 20 69 73 20 6e 65 65 64 65 64 20 69 6e 20 63 61 73 65 20 .to.-1;..this.is.needed.in.case.
10f00 73 6f 6d 65 74 68 69 6e 67 20 68 61 70 70 65 6e 73 0d 20 20 20 20 23 20 74 68 61 74 20 64 65 73 something.happens.....#.that.des
10f20 74 72 6f 79 73 20 74 68 65 20 77 69 6e 64 6f 77 2c 20 73 75 63 68 20 61 73 20 69 74 73 20 70 61 troys.the.window,.such.as.its.pa
10f40 72 65 6e 74 20 77 69 6e 64 6f 77 20 62 65 69 6e 67 20 64 65 73 74 72 6f 79 65 64 2e 0d 0d 20 20 rent.window.being.destroyed.....
10f60 20 20 62 69 6e 64 20 24 77 20 3c 44 65 73 74 72 6f 79 3e 20 7b 73 65 74 20 74 6b 50 72 69 76 28 ..bind.$w.<Destroy>.{set.tkPriv(
10f80 62 75 74 74 6f 6e 29 20 2d 31 7d 0d 0d 20 20 20 20 23 20 36 2e 20 57 69 74 68 64 72 61 77 20 74 button).-1}......#.6..Withdraw.t
10fa0 68 65 20 77 69 6e 64 6f 77 2c 20 74 68 65 6e 20 75 70 64 61 74 65 20 61 6c 6c 20 74 68 65 20 67 he.window,.then.update.all.the.g
10fc0 65 6f 6d 65 74 72 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0d 20 20 20 20 23 20 73 6f 20 77 65 20 eometry.information.....#.so.we.
10fe0 6b 6e 6f 77 20 68 6f 77 20 62 69 67 20 69 74 20 77 61 6e 74 73 20 74 6f 20 62 65 2c 20 74 68 65 know.how.big.it.wants.to.be,.the
11000 6e 20 63 65 6e 74 65 72 20 74 68 65 20 77 69 6e 64 6f 77 20 69 6e 20 74 68 65 0d 20 20 20 20 23 n.center.the.window.in.the.....#
11020 20 64 69 73 70 6c 61 79 20 61 6e 64 20 64 65 2d 69 63 6f 6e 69 66 79 20 69 74 2e 0d 0d 20 20 20 .display.and.de-iconify.it......
11040 20 77 6d 20 77 69 74 68 64 72 61 77 20 24 77 0d 20 20 20 20 75 70 64 61 74 65 20 69 64 6c 65 74 .wm.withdraw.$w.....update.idlet
11060 61 73 6b 73 0d 20 20 20 20 73 65 74 20 78 20 5b 65 78 70 72 20 5b 77 69 6e 66 6f 20 73 63 72 65 asks.....set.x.[expr.[winfo.scre
11080 65 6e 77 69 64 74 68 20 24 77 5d 2f 32 20 2d 20 5b 77 69 6e 66 6f 20 72 65 71 77 69 64 74 68 20 enwidth.$w]/2.-.[winfo.reqwidth.
110a0 24 77 5d 2f 32 20 5c 0d 09 20 20 20 20 2d 20 5b 77 69 6e 66 6f 20 76 72 6f 6f 74 78 20 5b 77 69 $w]/2.\......-.[winfo.vrootx.[wi
110c0 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 5d 5d 0d 20 20 20 20 73 65 74 20 79 20 5b 65 78 70 72 nfo.parent.$w]]].....set.y.[expr
110e0 20 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 68 65 69 67 68 74 20 24 77 5d 2f 32 20 2d 20 5b 77 69 .[winfo.screenheight.$w]/2.-.[wi
11100 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 77 5d 2f 32 20 5c 0d 09 20 20 20 20 2d 20 5b 77 69 nfo.reqheight.$w]/2.\......-.[wi
11120 6e 66 6f 20 76 72 6f 6f 74 79 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 5d 5d 0d 20 nfo.vrooty.[winfo.parent.$w]]]..
11140 20 20 20 77 6d 20 67 65 6f 6d 20 24 77 20 2b 24 78 2b 24 79 0d 20 20 20 20 77 6d 20 64 65 69 63 ...wm.geom.$w.+$x+$y.....wm.deic
11160 6f 6e 69 66 79 20 24 77 0d 0d 20 20 20 20 23 20 37 2e 20 53 65 74 20 61 20 67 72 61 62 20 61 6e onify.$w......#.7..Set.a.grab.an
11180 64 20 63 6c 61 69 6d 20 74 68 65 20 66 6f 63 75 73 20 74 6f 6f 2e 0d 0d 20 20 20 20 73 65 74 20 d.claim.the.focus.too.......set.
111a0 6f 6c 64 46 6f 63 75 73 20 5b 66 6f 63 75 73 5d 0d 20 20 20 20 73 65 74 20 6f 6c 64 47 72 61 62 oldFocus.[focus].....set.oldGrab
111c0 20 5b 67 72 61 62 20 63 75 72 72 65 6e 74 20 24 77 5d 0d 20 20 20 20 69 66 20 7b 24 6f 6c 64 47 .[grab.current.$w].....if.{$oldG
111e0 72 61 62 20 21 3d 20 22 22 7d 20 7b 0d 09 73 65 74 20 67 72 61 62 53 74 61 74 75 73 20 5b 67 72 rab.!=.""}.{..set.grabStatus.[gr
11200 61 62 20 73 74 61 74 75 73 20 24 6f 6c 64 47 72 61 62 5d 0d 20 20 20 20 7d 0d 20 20 20 20 67 72 ab.status.$oldGrab].....}.....gr
11220 61 62 20 24 77 0d 20 20 20 20 69 66 20 7b 24 64 65 66 61 75 6c 74 20 3e 3d 20 30 7d 20 7b 0d 09 ab.$w.....if.{$default.>=.0}.{..
11240 66 6f 63 75 73 20 24 77 2e 62 75 74 74 6f 6e 24 64 65 66 61 75 6c 74 0d 20 20 20 20 7d 20 65 6c focus.$w.button$default.....}.el
11260 73 65 20 7b 0d 09 66 6f 63 75 73 20 24 77 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 38 2e 20 57 se.{..focus.$w.....}......#.8..W
11280 61 69 74 20 66 6f 72 20 74 68 65 20 75 73 65 72 20 74 6f 20 72 65 73 70 6f 6e 64 2c 20 74 68 65 ait.for.the.user.to.respond,.the
112a0 6e 20 72 65 73 74 6f 72 65 20 74 68 65 20 66 6f 63 75 73 20 61 6e 64 0d 20 20 20 20 23 20 72 65 n.restore.the.focus.and.....#.re
112c0 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 62 turn.the.index.of.the.selected.b
112e0 75 74 74 6f 6e 2e 20 20 52 65 73 74 6f 72 65 20 74 68 65 20 66 6f 63 75 73 0d 20 20 20 20 23 20 utton...Restore.the.focus.....#.
11300 62 65 66 6f 72 65 20 64 65 6c 65 74 69 6e 67 20 74 68 65 20 77 69 6e 64 6f 77 2c 20 73 69 6e 63 before.deleting.the.window,.sinc
11320 65 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 0d 20 e.otherwise.the.window.manager..
11340 20 20 20 23 20 6d 61 79 20 74 61 6b 65 20 74 68 65 20 66 6f 63 75 73 20 61 77 61 79 20 73 6f 20 ...#.may.take.the.focus.away.so.
11360 77 65 20 63 61 6e 27 74 20 72 65 64 69 72 65 63 74 20 69 74 2e 20 20 46 69 6e 61 6c 6c 79 2c 0d we.can't.redirect.it...Finally,.
11380 20 20 20 20 23 20 72 65 73 74 6f 72 65 20 61 6e 79 20 67 72 61 62 20 74 68 61 74 20 77 61 73 20 ....#.restore.any.grab.that.was.
113a0 69 6e 20 65 66 66 65 63 74 2e 0d 0d 20 20 20 20 74 6b 77 61 69 74 20 76 61 72 69 61 62 6c 65 20 in.effect.......tkwait.variable.
113c0 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 0d 20 20 20 20 63 61 74 63 68 20 7b 66 6f 63 75 73 20 tkPriv(button).....catch.{focus.
113e0 24 6f 6c 64 46 6f 63 75 73 7d 0d 20 20 20 20 63 61 74 63 68 20 7b 0d 09 23 20 49 74 27 73 20 70 $oldFocus}.....catch.{..#.It's.p
11400 6f 73 73 69 62 6c 65 20 74 68 61 74 20 74 68 65 20 77 69 6e 64 6f 77 20 68 61 73 20 61 6c 72 65 ossible.that.the.window.has.alre
11420 61 64 79 20 62 65 65 6e 20 64 65 73 74 72 6f 79 65 64 2c 0d 09 23 20 68 65 6e 63 65 20 74 68 69 ady.been.destroyed,..#.hence.thi
11440 73 20 22 63 61 74 63 68 22 2e 20 20 44 65 6c 65 74 65 20 74 68 65 20 44 65 73 74 72 6f 79 20 68 s."catch"...Delete.the.Destroy.h
11460 61 6e 64 6c 65 72 20 73 6f 20 74 68 61 74 0d 09 23 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 andler.so.that..#.tkPriv(button)
11480 20 64 6f 65 73 6e 27 74 20 67 65 74 20 72 65 73 65 74 20 62 79 20 69 74 2e 0d 0d 09 62 69 6e 64 .doesn't.get.reset.by.it....bind
114a0 20 24 77 20 3c 44 65 73 74 72 6f 79 3e 20 7b 7d 0d 09 64 65 73 74 72 6f 79 20 24 77 0d 20 20 20 .$w.<Destroy>.{}..destroy.$w....
114c0 20 7d 0d 20 20 20 20 69 66 20 7b 24 6f 6c 64 47 72 61 62 20 21 3d 20 22 22 7d 20 7b 0d 09 69 66 .}.....if.{$oldGrab.!=.""}.{..if
114e0 20 7b 24 67 72 61 62 53 74 61 74 75 73 20 3d 3d 20 22 67 6c 6f 62 61 6c 22 7d 20 7b 0d 09 20 20 .{$grabStatus.==."global"}.{....
11500 20 20 67 72 61 62 20 2d 67 6c 6f 62 61 6c 20 24 6f 6c 64 47 72 61 62 0d 09 7d 20 65 6c 73 65 20 ..grab.-global.$oldGrab..}.else.
11520 7b 0d 09 20 20 20 20 67 72 61 62 20 24 6f 6c 64 47 72 61 62 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 {......grab.$oldGrab..}.....}...
11540 20 20 72 65 74 75 72 6e 20 24 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 0d 7d 0d 00 00 3b 53 23 ..return.$tkPriv(button).}...;S#
11560 20 65 6e 74 72 79 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 .entry.tcl.--.#.#.This.file.defi
11580 6e 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 54 6b 20 nes.the.default.bindings.for.Tk.
115a0 65 6e 74 72 79 20 77 69 64 67 65 74 73 20 61 6e 64 20 70 72 6f 76 69 64 65 73 0d 23 20 70 72 6f entry.widgets.and.provides.#.pro
115c0 63 65 64 75 72 65 73 20 74 68 61 74 20 68 65 6c 70 20 69 6e 20 69 6d 70 6c 65 6d 65 6e 74 69 6e cedures.that.help.in.implementin
115e0 67 20 74 68 6f 73 65 20 62 69 6e 64 69 6e 67 73 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 g.those.bindings..#.#.SCCS:.@(#)
11600 20 65 6e 74 72 79 2e 74 63 6c 20 31 2e 34 39 20 39 37 2f 30 39 2f 31 37 20 31 39 3a 30 38 3a 34 .entry.tcl.1.49.97/09/17.19:08:4
11620 38 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 32 2d 31 39 39 34 20 54 68 8.#.#.Copyright.(c).1992-1994.Th
11640 65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 e.Regents.of.the.University.of.C
11660 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d alifornia..#.Copyright.(c).1994-
11680 31 39 39 37 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 1997.Sun.Microsystems,.Inc..#.#.
116a0 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 See.the.file."license.terms".for
116c0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 .information.on.usage.and.redist
116e0 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 ribution.#.of.this.file,.and.for
11700 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e .a.DISCLAIMER.OF.ALL.WARRANTIES.
11720 0d 23 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .#..#---------------------------
11740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
11760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 45 6c 65 6d 65 6e 74 73 20 6f 66 20 74 6b 50 --------------.#.Elements.of.tkP
11780 72 69 76 20 74 68 61 74 20 61 72 65 20 75 73 65 64 20 69 6e 20 74 68 69 73 20 66 69 6c 65 3a 0d riv.that.are.used.in.this.file:.
117a0 23 0d 23 20 61 66 74 65 72 49 64 20 2d 09 09 49 66 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 69 74 20 6d #.#.afterId.-..If.non-null,.it.m
117c0 65 61 6e 73 20 74 68 61 74 20 61 75 74 6f 2d 73 63 61 6e 6e 69 6e 67 20 69 73 20 75 6e 64 65 72 eans.that.auto-scanning.is.under
117e0 77 61 79 0d 23 09 09 09 61 6e 64 20 69 74 20 67 69 76 65 73 20 74 68 65 20 22 61 66 74 65 72 22 way.#...and.it.gives.the."after"
11800 20 69 64 20 66 6f 72 20 74 68 65 20 6e 65 78 74 20 61 75 74 6f 2d 73 63 61 6e 0d 23 09 09 09 63 .id.for.the.next.auto-scan.#...c
11820 6f 6d 6d 61 6e 64 20 74 6f 20 62 65 20 65 78 65 63 75 74 65 64 2e 0d 23 20 6d 6f 75 73 65 4d 6f ommand.to.be.executed..#.mouseMo
11840 76 65 64 20 2d 09 09 4e 6f 6e 2d 7a 65 72 6f 20 6d 65 61 6e 73 20 74 68 65 20 6d 6f 75 73 65 20 ved.-..Non-zero.means.the.mouse.
11860 68 61 73 20 6d 6f 76 65 64 20 61 20 73 69 67 6e 69 66 69 63 61 6e 74 0d 23 09 09 09 61 6d 6f 75 has.moved.a.significant.#...amou
11880 6e 74 20 73 69 6e 63 65 20 74 68 65 20 62 75 74 74 6f 6e 20 77 65 6e 74 20 64 6f 77 6e 20 28 73 nt.since.the.button.went.down.(s
118a0 6f 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 0d 23 09 09 09 73 74 61 72 74 20 64 72 61 67 67 69 o,.for.example,.#...start.draggi
118c0 6e 67 20 6f 75 74 20 61 20 73 65 6c 65 63 74 69 6f 6e 29 2e 0d 23 20 70 72 65 73 73 58 20 2d 09 ng.out.a.selection)..#.pressX.-.
118e0 09 58 2d 63 6f 6f 72 64 69 6e 61 74 65 20 61 74 20 77 68 69 63 68 20 74 68 65 20 6d 6f 75 73 65 .X-coordinate.at.which.the.mouse
11900 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 65 73 73 65 64 2e 0d 23 20 73 65 6c 65 63 74 4d 6f 64 .button.was.pressed..#.selectMod
11920 65 20 2d 09 09 54 68 65 20 73 74 79 6c 65 20 6f 66 20 73 65 6c 65 63 74 69 6f 6e 20 63 75 72 72 e.-..The.style.of.selection.curr
11940 65 6e 74 6c 79 20 75 6e 64 65 72 77 61 79 3a 0d 23 09 09 09 63 68 61 72 2c 20 77 6f 72 64 2c 20 ently.underway:.#...char,.word,.
11960 6f 72 20 6c 69 6e 65 2e 0d 23 20 78 2c 20 79 20 2d 09 09 4c 61 73 74 20 6b 6e 6f 77 6e 20 6d 6f or.line..#.x,.y.-..Last.known.mo
11980 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 66 6f 72 20 73 63 61 6e 6e 69 6e 67 0d 23 09 09 use.coordinates.for.scanning.#..
119a0 09 61 6e 64 20 61 75 74 6f 2d 73 63 61 6e 6e 69 6e 67 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .and.auto-scanning..#-----------
119c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
119e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d ------------------------------..
11a00 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d #-------------------------------
11a20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
11a40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 63 72 65 61 ----------.#.The.code.below.crea
11a60 74 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 73 20 66 tes.the.default.class.bindings.f
11a80 6f 72 20 65 6e 74 72 69 65 73 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d or.entries..#-------------------
11aa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
11ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 62 69 6e 64 20 45 6e 74 ----------------------..bind.Ent
11ae0 72 79 20 3c 3c 43 75 74 3e 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 5b 63 61 74 63 68 20 7b 73 65 ry.<<Cut>>.{.....if.{![catch.{se
11b00 74 20 64 61 74 61 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 25 57 20 67 65 74 5d 20 5b 25 t.data.[string.range.[%W.get].[%
11b20 57 20 69 6e 64 65 78 20 73 65 6c 2e 66 69 72 73 74 5d 5c 0d 09 09 20 5b 65 78 70 72 20 5b 25 57 W.index.sel.first]\....[expr.[%W
11b40 20 69 6e 64 65 78 20 73 65 6c 2e 6c 61 73 74 5d 20 2d 20 31 5d 5d 7d 5d 7d 20 7b 0d 09 63 6c 69 .index.sel.last].-.1]]}]}.{..cli
11b60 70 62 6f 61 72 64 20 63 6c 65 61 72 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 0d 09 63 6c 69 70 pboard.clear.-displayof.%W..clip
11b80 62 6f 61 72 64 20 61 70 70 65 6e 64 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 20 24 64 61 74 61 board.append.-displayof.%W.$data
11ba0 0d 09 25 57 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 20 ..%W.delete.sel.first.sel.last..
11bc0 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 3c 43 6f 70 79 3e 3e 20 7b 0d 20 20 20 ...}.}.bind.Entry.<<Copy>>.{....
11be0 20 69 66 20 7b 21 5b 63 61 74 63 68 20 7b 73 65 74 20 64 61 74 61 20 5b 73 74 72 69 6e 67 20 72 .if.{![catch.{set.data.[string.r
11c00 61 6e 67 65 20 5b 25 57 20 67 65 74 5d 20 5b 25 57 20 69 6e 64 65 78 20 73 65 6c 2e 66 69 72 73 ange.[%W.get].[%W.index.sel.firs
11c20 74 5d 5c 0d 09 09 20 5b 65 78 70 72 20 5b 25 57 20 69 6e 64 65 78 20 73 65 6c 2e 6c 61 73 74 5d t]\....[expr.[%W.index.sel.last]
11c40 20 2d 20 31 5d 5d 7d 5d 7d 20 7b 0d 09 63 6c 69 70 62 6f 61 72 64 20 63 6c 65 61 72 20 2d 64 69 .-.1]]}]}.{..clipboard.clear.-di
11c60 73 70 6c 61 79 6f 66 20 25 57 0d 09 63 6c 69 70 62 6f 61 72 64 20 61 70 70 65 6e 64 20 2d 64 69 splayof.%W..clipboard.append.-di
11c80 73 70 6c 61 79 6f 66 20 25 57 20 24 64 61 74 61 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e splayof.%W.$data.....}.}.bind.En
11ca0 74 72 79 20 3c 3c 50 61 73 74 65 3e 3e 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 try.<<Paste>>.{.....global.tcl_p
11cc0 6c 61 74 66 6f 72 6d 0d 20 20 20 20 63 61 74 63 68 20 7b 0d 09 69 66 20 7b 22 24 74 63 6c 5f 70 latform.....catch.{..if.{"$tcl_p
11ce0 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 22 20 21 3d 20 22 75 6e 69 78 22 7d 20 7b 0d latform(platform)".!=."unix"}.{.
11d00 09 20 20 20 20 63 61 74 63 68 20 7b 0d 09 09 25 57 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 .....catch.{...%W.delete.sel.fir
11d20 73 74 20 73 65 6c 2e 6c 61 73 74 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 25 57 20 69 6e 73 65 72 74 st.sel.last......}..}..%W.insert
11d40 20 69 6e 73 65 72 74 20 5b 73 65 6c 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 6f .insert.[selection.get.-displayo
11d60 66 20 25 57 20 2d 73 65 6c 65 63 74 69 6f 6e 20 43 4c 49 50 42 4f 41 52 44 5d 0d 09 74 6b 45 6e f.%W.-selection.CLIPBOARD]..tkEn
11d80 74 72 79 53 65 65 49 6e 73 65 72 74 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 trySeeInsert.%W.....}.}.bind.Ent
11da0 72 79 20 3c 3c 43 6c 65 61 72 3e 3e 20 7b 0d 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 73 65 6c ry.<<Clear>>.{.....%W.delete.sel
11dc0 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 7d 0d 0d 23 20 53 74 61 6e 64 61 72 64 20 4d 6f .first.sel.last.}..#.Standard.Mo
11de0 74 69 66 20 62 69 6e 64 69 6e 67 73 3a 0d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 31 3e 20 7b 0d tif.bindings:..bind.Entry.<1>.{.
11e00 20 20 20 20 74 6b 45 6e 74 72 79 42 75 74 74 6f 6e 31 20 25 57 20 25 78 0d 20 20 20 20 25 57 20 ....tkEntryButton1.%W.%x.....%W.
11e20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 42 31 selection.clear.}.bind.Entry.<B1
11e40 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 78 29 20 25 78 0d -Motion>.{.....set.tkPriv(x).%x.
11e60 20 20 20 20 74 6b 45 6e 74 72 79 4d 6f 75 73 65 53 65 6c 65 63 74 20 25 57 20 25 78 0d 7d 0d 62 ....tkEntryMouseSelect.%W.%x.}.b
11e80 69 6e 64 20 45 6e 74 72 79 20 3c 44 6f 75 62 6c 65 2d 31 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 ind.Entry.<Double-1>.{.....set.t
11ea0 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 77 6f 72 64 0d 20 20 20 20 74 6b 45 6e 74 kPriv(selectMode).word.....tkEnt
11ec0 72 79 4d 6f 75 73 65 53 65 6c 65 63 74 20 25 57 20 25 78 0d 20 20 20 20 63 61 74 63 68 20 7b 25 ryMouseSelect.%W.%x.....catch.{%
11ee0 57 20 69 63 75 72 73 6f 72 20 73 65 6c 2e 66 69 72 73 74 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 W.icursor.sel.first}.}.bind.Entr
11f00 79 20 3c 54 72 69 70 6c 65 2d 31 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 y.<Triple-1>.{.....set.tkPriv(se
11f20 6c 65 63 74 4d 6f 64 65 29 20 6c 69 6e 65 0d 20 20 20 20 74 6b 45 6e 74 72 79 4d 6f 75 73 65 53 lectMode).line.....tkEntryMouseS
11f40 65 6c 65 63 74 20 25 57 20 25 78 0d 20 20 20 20 25 57 20 69 63 75 72 73 6f 72 20 30 0d 7d 0d 62 elect.%W.%x.....%W.icursor.0.}.b
11f60 69 6e 64 20 45 6e 74 72 79 20 3c 53 68 69 66 74 2d 31 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b ind.Entry.<Shift-1>.{.....set.tk
11f80 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 63 68 61 72 0d 20 20 20 20 25 57 20 73 65 6c Priv(selectMode).char.....%W.sel
11fa0 65 63 74 69 6f 6e 20 61 64 6a 75 73 74 20 40 25 78 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c ection.adjust.@%x.}.bind.Entry.<
11fc0 44 6f 75 62 6c 65 2d 53 68 69 66 74 2d 31 3e 09 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 Double-Shift-1>.{.....set.tkPriv
11fe0 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 77 6f 72 64 0d 20 20 20 20 74 6b 45 6e 74 72 79 4d 6f 75 (selectMode).word.....tkEntryMou
12000 73 65 53 65 6c 65 63 74 20 25 57 20 25 78 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 54 72 69 seSelect.%W.%x.}.bind.Entry.<Tri
12020 70 6c 65 2d 53 68 69 66 74 2d 31 3e 09 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 ple-Shift-1>.{.....set.tkPriv(se
12040 6c 65 63 74 4d 6f 64 65 29 20 6c 69 6e 65 0d 20 20 20 20 74 6b 45 6e 74 72 79 4d 6f 75 73 65 53 lectMode).line.....tkEntryMouseS
12060 65 6c 65 63 74 20 25 57 20 25 78 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 42 31 2d 4c 65 61 elect.%W.%x.}.bind.Entry.<B1-Lea
12080 76 65 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 78 29 20 25 78 0d 20 20 20 20 74 ve>.{.....set.tkPriv(x).%x.....t
120a0 6b 45 6e 74 72 79 41 75 74 6f 53 63 61 6e 20 25 57 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c kEntryAutoScan.%W.}.bind.Entry.<
120c0 42 31 2d 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 7d B1-Enter>.{.....tkCancelRepeat.}
120e0 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d .bind.Entry.<ButtonRelease-1>.{.
12100 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 ....tkCancelRepeat.}.bind.Entry.
12120 3c 43 6f 6e 74 72 6f 6c 2d 31 3e 20 7b 0d 20 20 20 20 25 57 20 69 63 75 72 73 6f 72 20 40 25 78 <Control-1>.{.....%W.icursor.@%x
12140 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 32 3e 20 .}.bind.Entry.<ButtonRelease-2>.
12160 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 7c {.....if.{!$tkPriv(mouseMoved).|
12180 7c 20 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 45 6e 74 72 79 50 61 73 |.$tk_strictMotif}.{..tkEntryPas
121a0 74 65 20 25 57 20 25 78 0d 20 20 20 20 7d 0d 7d 0d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 4c 65 te.%W.%x.....}.}..bind.Entry.<Le
121c0 66 74 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 65 ft>.{.....tkEntrySetCursor.%W.[e
121e0 78 70 72 20 5b 25 57 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 20 2d 20 31 5d 0d 7d 0d 62 69 6e xpr.[%W.index.insert].-.1].}.bin
12200 64 20 45 6e 74 72 79 20 3c 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 74 d.Entry.<Right>.{.....tkEntrySet
12220 43 75 72 73 6f 72 20 25 57 20 5b 65 78 70 72 20 5b 25 57 20 69 6e 64 65 78 20 69 6e 73 65 72 74 Cursor.%W.[expr.[%W.index.insert
12240 5d 20 2b 20 31 5d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 53 68 69 66 74 2d 4c 65 66 74 3e ].+.1].}.bind.Entry.<Shift-Left>
12260 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 65 78 70 72 .{.....tkEntryKeySelect.%W.[expr
12280 20 5b 25 57 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 20 2d 20 31 5d 0d 20 20 20 20 74 6b 45 6e .[%W.index.insert].-.1].....tkEn
122a0 74 72 79 53 65 65 49 6e 73 65 72 74 20 25 57 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 53 68 trySeeInsert.%W.}.bind.Entry.<Sh
122c0 69 66 74 2d 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 4b 65 79 53 65 6c 65 63 ift-Right>.{.....tkEntryKeySelec
122e0 74 20 25 57 20 5b 65 78 70 72 20 5b 25 57 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 20 2b 20 31 t.%W.[expr.[%W.index.insert].+.1
12300 5d 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 65 49 6e 73 65 72 74 20 25 57 0d 7d 0d 62 69 6e 64 ].....tkEntrySeeInsert.%W.}.bind
12320 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 45 6e .Entry.<Control-Left>.{.....tkEn
12340 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 45 6e 74 72 79 50 72 65 76 69 6f 75 73 trySetCursor.%W.[tkEntryPrevious
12360 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f Word.%W.insert].}.bind.Entry.<Co
12380 6e 74 72 6f 6c 2d 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 74 43 75 72 ntrol-Right>.{.....tkEntrySetCur
123a0 73 6f 72 20 25 57 20 5b 74 6b 45 6e 74 72 79 4e 65 78 74 57 6f 72 64 20 25 57 20 69 6e 73 65 72 sor.%W.[tkEntryNextWord.%W.inser
123c0 74 5d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 53 68 69 66 74 2d 43 6f 6e 74 72 6f 6c 2d 4c t].}.bind.Entry.<Shift-Control-L
123e0 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b eft>.{.....tkEntryKeySelect.%W.[
12400 74 6b 45 6e 74 72 79 50 72 65 76 69 6f 75 73 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 20 tkEntryPreviousWord.%W.insert]..
12420 20 20 20 74 6b 45 6e 74 72 79 53 65 65 49 6e 73 65 72 74 20 25 57 0d 7d 0d 62 69 6e 64 20 45 6e ...tkEntrySeeInsert.%W.}.bind.En
12440 74 72 79 20 3c 53 68 69 66 74 2d 43 6f 6e 74 72 6f 6c 2d 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 try.<Shift-Control-Right>.{.....
12460 74 6b 45 6e 74 72 79 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 45 6e 74 72 79 4e 65 78 74 tkEntryKeySelect.%W.[tkEntryNext
12480 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 65 49 6e Word.%W.insert].....tkEntrySeeIn
124a0 73 65 72 74 20 25 57 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 48 6f 6d 65 3e 20 7b 0d 20 20 sert.%W.}.bind.Entry.<Home>.{...
124c0 20 20 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 30 0d 7d 0d 62 69 6e 64 20 45 ..tkEntrySetCursor.%W.0.}.bind.E
124e0 6e 74 72 79 20 3c 53 68 69 66 74 2d 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 4b ntry.<Shift-Home>.{.....tkEntryK
12500 65 79 53 65 6c 65 63 74 20 25 57 20 30 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 65 49 6e 73 65 eySelect.%W.0.....tkEntrySeeInse
12520 72 74 20 25 57 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 45 6e 64 3e 20 7b 0d 20 20 20 20 74 rt.%W.}.bind.Entry.<End>.{.....t
12540 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 65 6e 64 0d 7d 0d 62 69 6e 64 20 45 6e kEntrySetCursor.%W.end.}.bind.En
12560 74 72 79 20 3c 53 68 69 66 74 2d 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 4b 65 79 try.<Shift-End>.{.....tkEntryKey
12580 53 65 6c 65 63 74 20 25 57 20 65 6e 64 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 65 49 6e 73 65 Select.%W.end.....tkEntrySeeInse
125a0 72 74 20 25 57 0d 7d 0d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 44 65 6c 65 74 65 3e 20 7b 0d 20 rt.%W.}..bind.Entry.<Delete>.{..
125c0 20 20 20 69 66 20 5b 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 70 72 65 73 65 6e 74 5d 20 7b 0d 09 ...if.[%W.selection.present].{..
125e0 25 57 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 20 20 20 %W.delete.sel.first.sel.last....
12600 20 7d 20 65 6c 73 65 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 0d 20 20 20 20 .}.else.{..%W.delete.insert.....
12620 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 42 61 63 6b 53 70 61 63 65 3e 20 7b 0d 20 20 20 }.}.bind.Entry.<BackSpace>.{....
12640 20 74 6b 45 6e 74 72 79 42 61 63 6b 73 70 61 63 65 20 25 57 0d 7d 0d 0d 62 69 6e 64 20 45 6e 74 .tkEntryBackspace.%W.}..bind.Ent
12660 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 6c 65 ry.<Control-space>.{.....%W.sele
12680 63 74 69 6f 6e 20 66 72 6f 6d 20 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c ction.from.insert.}.bind.Entry.<
126a0 53 65 6c 65 63 74 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 66 72 6f 6d 20 Select>.{.....%W.selection.from.
126c0 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 53 68 69 insert.}.bind.Entry.<Control-Shi
126e0 66 74 2d 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 61 64 6a ft-space>.{.....%W.selection.adj
12700 75 73 74 20 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 53 68 69 66 74 2d 53 ust.insert.}.bind.Entry.<Shift-S
12720 65 6c 65 63 74 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 61 64 6a 75 73 74 elect>.{.....%W.selection.adjust
12740 20 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 73 6c .insert.}.bind.Entry.<Control-sl
12760 61 73 68 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 72 61 6e 67 65 20 30 20 ash>.{.....%W.selection.range.0.
12780 65 6e 64 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 62 61 63 6b 73 6c end.}.bind.Entry.<Control-backsl
127a0 61 73 68 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 0d 7d 0d ash>.{.....%W.selection.clear.}.
127c0 62 69 6e 64 20 45 6e 74 72 79 20 3c 4b 65 79 50 72 65 73 73 3e 20 7b 0d 20 20 20 20 74 6b 45 6e bind.Entry.<KeyPress>.{.....tkEn
127e0 74 72 79 49 6e 73 65 72 74 20 25 57 20 25 41 0d 7d 0d 0d 23 20 49 67 6e 6f 72 65 20 61 6c 6c 20 tryInsert.%W.%A.}..#.Ignore.all.
12800 41 6c 74 2c 20 4d 65 74 61 2c 20 61 6e 64 20 43 6f 6e 74 72 6f 6c 20 6b 65 79 70 72 65 73 73 65 Alt,.Meta,.and.Control.keypresse
12820 73 20 75 6e 6c 65 73 73 20 65 78 70 6c 69 63 69 74 6c 79 20 62 6f 75 6e 64 2e 0d 23 20 4f 74 68 s.unless.explicitly.bound..#.Oth
12840 65 72 77 69 73 65 2c 20 69 66 20 61 20 77 69 64 67 65 74 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 erwise,.if.a.widget.binding.for.
12860 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 69 73 20 64 65 66 69 6e 65 64 2c 20 74 68 65 0d 23 20 3c one.of.these.is.defined,.the.#.<
12880 4b 65 79 50 72 65 73 73 3e 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 20 77 69 6c 6c 20 61 6c 73 KeyPress>.class.binding.will.als
128a0 6f 20 66 69 72 65 20 61 6e 64 20 69 6e 73 65 72 74 20 74 68 65 20 63 68 61 72 61 63 74 65 72 2c o.fire.and.insert.the.character,
128c0 0d 23 20 77 68 69 63 68 20 69 73 20 77 72 6f 6e 67 2e 20 20 44 69 74 74 6f 20 66 6f 72 20 45 73 .#.which.is.wrong...Ditto.for.Es
128e0 63 61 70 65 2c 20 52 65 74 75 72 6e 2c 20 61 6e 64 20 54 61 62 2e 0d 0d 62 69 6e 64 20 45 6e 74 cape,.Return,.and.Tab...bind.Ent
12900 72 79 20 3c 41 6c 74 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 69 ry.<Alt-KeyPress>.{#.nothing}.bi
12920 6e 64 20 45 6e 74 72 79 20 3c 4d 65 74 61 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 nd.Entry.<Meta-KeyPress>.{#.noth
12940 69 6e 67 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 50 72 65 73 ing}.bind.Entry.<Control-KeyPres
12960 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 45 73 63 61 70 s>.{#.nothing}.bind.Entry.<Escap
12980 65 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 52 65 74 75 72 e>.{#.nothing}.bind.Entry.<Retur
129a0 6e 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 4b 50 5f 45 6e n>.{#.nothing}.bind.Entry.<KP_En
129c0 74 65 72 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 54 61 62 ter>.{#.nothing}.bind.Entry.<Tab
129e0 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 >.{#.nothing}.if.{$tcl_platform(
12a00 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 62 69 6e platform).==."macintosh"}.{..bin
12a20 64 20 45 6e 74 72 79 20 3c 43 6f 6d 6d 61 6e 64 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f d.Entry.<Command-KeyPress>.{#.no
12a40 74 68 69 6e 67 7d 0d 7d 0d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 49 6e 73 65 72 74 3e 20 7b 0d thing}.}..bind.Entry.<Insert>.{.
12a60 20 20 20 20 63 61 74 63 68 20 7b 74 6b 45 6e 74 72 79 49 6e 73 65 72 74 20 25 57 20 5b 73 65 6c ....catch.{tkEntryInsert.%W.[sel
12a80 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 5d 7d 0d 7d 0d 0d 23 20 ection.get.-displayof.%W]}.}..#.
12aa0 41 64 64 69 74 69 6f 6e 61 6c 20 65 6d 61 63 73 2d 6c 69 6b 65 20 62 69 6e 64 69 6e 67 73 3a 0d Additional.emacs-like.bindings:.
12ac0 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 61 3e 20 7b 0d 20 20 20 20 69 66 .bind.Entry.<Control-a>.{.....if
12ae0 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 45 6e 74 72 79 53 65 74 43 .!$tk_strictMotif.{..tkEntrySetC
12b00 75 72 73 6f 72 20 25 57 20 30 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 ursor.%W.0.....}.}.bind.Entry.<C
12b20 6f 6e 74 72 6f 6c 2d 62 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f ontrol-b>.{.....if.!$tk_strictMo
12b40 74 69 66 20 7b 0d 09 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 65 78 70 72 tif.{..tkEntrySetCursor.%W.[expr
12b60 20 5b 25 57 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 20 2d 20 31 5d 0d 20 20 20 20 7d 0d 7d 0d .[%W.index.insert].-.1].....}.}.
12b80 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 64 3e 20 7b 0d 20 20 20 20 69 66 20 bind.Entry.<Control-d>.{.....if.
12ba0 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 69 6e !$tk_strictMotif.{..%W.delete.in
12bc0 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c sert.....}.}.bind.Entry.<Control
12be0 2d 65 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d -e>.{.....if.!$tk_strictMotif.{.
12c00 09 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 65 6e 64 0d 20 20 20 20 7d 0d 7d .tkEntrySetCursor.%W.end.....}.}
12c20 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 66 3e 20 7b 0d 20 20 20 20 69 66 .bind.Entry.<Control-f>.{.....if
12c40 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 45 6e 74 72 79 53 65 74 43 .!$tk_strictMotif.{..tkEntrySetC
12c60 75 72 73 6f 72 20 25 57 20 5b 65 78 70 72 20 5b 25 57 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d ursor.%W.[expr.[%W.index.insert]
12c80 20 2b 20 31 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f .+.1].....}.}.bind.Entry.<Contro
12ca0 6c 2d 68 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b l-h>.{.....if.!$tk_strictMotif.{
12cc0 0d 09 74 6b 45 6e 74 72 79 42 61 63 6b 73 70 61 63 65 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 62 69 ..tkEntryBackspace.%W.....}.}.bi
12ce0 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 6b 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 nd.Entry.<Control-k>.{.....if.!$
12d00 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 tk_strictMotif.{..%W.delete.inse
12d20 72 74 20 65 6e 64 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 rt.end.....}.}.bind.Entry.<Contr
12d40 6f 6c 2d 74 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 ol-t>.{.....if.!$tk_strictMotif.
12d60 7b 0d 09 74 6b 45 6e 74 72 79 54 72 61 6e 73 70 6f 73 65 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 62 {..tkEntryTranspose.%W.....}.}.b
12d80 69 6e 64 20 45 6e 74 72 79 20 3c 4d 65 74 61 2d 62 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b ind.Entry.<Meta-b>.{.....if.!$tk
12da0 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 _strictMotif.{..tkEntrySetCursor
12dc0 20 25 57 20 5b 74 6b 45 6e 74 72 79 50 72 65 76 69 6f 75 73 57 6f 72 64 20 25 57 20 69 6e 73 65 .%W.[tkEntryPreviousWord.%W.inse
12de0 72 74 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 4d 65 74 61 2d 64 3e 20 rt].....}.}.bind.Entry.<Meta-d>.
12e00 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 25 57 20 {.....if.!$tk_strictMotif.{..%W.
12e20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 20 5b 74 6b 45 6e 74 72 79 4e 65 78 74 57 6f 72 64 20 25 delete.insert.[tkEntryNextWord.%
12e40 57 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 4d 65 W.insert].....}.}.bind.Entry.<Me
12e60 74 61 2d 66 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 ta-f>.{.....if.!$tk_strictMotif.
12e80 7b 0d 09 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 45 6e 74 72 79 4e {..tkEntrySetCursor.%W.[tkEntryN
12ea0 65 78 74 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 extWord.%W.insert].....}.}.bind.
12ec0 45 6e 74 72 79 20 3c 4d 65 74 61 2d 42 61 63 6b 53 70 61 63 65 3e 20 7b 0d 20 20 20 20 69 66 20 Entry.<Meta-BackSpace>.{.....if.
12ee0 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 5b 74 !$tk_strictMotif.{..%W.delete.[t
12f00 6b 45 6e 74 72 79 50 72 65 76 69 6f 75 73 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 20 69 6e kEntryPreviousWord.%W.insert].in
12f20 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 4d 65 74 61 2d 44 65 sert.....}.}.bind.Entry.<Meta-De
12f40 6c 65 74 65 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 lete>.{.....if.!$tk_strictMotif.
12f60 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 5b 74 6b 45 6e 74 72 79 50 72 65 76 69 6f 75 73 57 6f 72 {..%W.delete.[tkEntryPreviousWor
12f80 64 20 25 57 20 69 6e 73 65 72 74 5d 20 69 6e 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 41 d.%W.insert].insert.....}.}..#.A
12fa0 20 66 65 77 20 61 64 64 69 74 69 6f 6e 61 6c 20 62 69 6e 64 69 6e 67 73 20 6f 66 20 6d 79 20 6f .few.additional.bindings.of.my.o
12fc0 77 6e 2e 0d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 32 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 wn...bind.Entry.<2>.{.....if.!$t
12fe0 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 25 57 20 73 63 61 6e 20 6d 61 72 6b 20 25 78 k_strictMotif.{..%W.scan.mark.%x
13000 0d 09 73 65 74 20 74 6b 50 72 69 76 28 78 29 20 25 78 0d 09 73 65 74 20 74 6b 50 72 69 76 28 79 ..set.tkPriv(x).%x..set.tkPriv(y
13020 29 20 25 79 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 30 0d 20 ).%y..set.tkPriv(mouseMoved).0..
13040 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 42 32 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d ...}.}.bind.Entry.<B2-Motion>.{.
13060 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 69 66 20 7b 61 ....if.!$tk_strictMotif.{..if.{a
13080 62 73 28 25 78 2d 24 74 6b 50 72 69 76 28 78 29 29 20 3e 20 32 7d 20 7b 0d 09 20 20 20 20 73 65 bs(%x-$tkPriv(x)).>.2}.{......se
130a0 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 31 0d 09 7d 0d 09 25 57 20 73 63 t.tkPriv(mouseMoved).1..}..%W.sc
130c0 61 6e 20 64 72 61 67 74 6f 20 25 78 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 43 an.dragto.%x.....}.}..#.tkEntryC
130e0 6c 6f 73 65 73 74 47 61 70 20 2d 2d 0d 23 20 47 69 76 65 6e 20 78 20 61 6e 64 20 79 20 63 6f 6f losestGap.--.#.Given.x.and.y.coo
13100 72 64 69 6e 61 74 65 73 2c 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 66 69 6e 64 73 20 74 rdinates,.this.procedure.finds.t
13120 68 65 20 63 6c 6f 73 65 73 74 20 62 6f 75 6e 64 61 72 79 0d 23 20 62 65 74 77 65 65 6e 20 63 68 he.closest.boundary.#.between.ch
13140 61 72 61 63 74 65 72 73 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 63 6f 6f 72 64 69 6e 61 74 65 aracters.to.the.given.coordinate
13160 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 0d 23 20 6f 66 20 74 68 65 s.and.returns.the.index.#.of.the
13180 20 63 68 61 72 61 63 74 65 72 20 6a 75 73 74 20 61 66 74 65 72 20 74 68 65 20 62 6f 75 6e 64 61 .character.just.after.the.bounda
131a0 72 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e ry..#.#.Arguments:.#.w.-..The.en
131c0 74 72 79 20 77 69 6e 64 6f 77 2e 0d 23 20 78 20 2d 09 09 58 2d 63 6f 6f 72 64 69 6e 61 74 65 20 try.window..#.x.-..X-coordinate.
131e0 77 69 74 68 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 within.the.window...proc.tkEntry
13200 43 6c 6f 73 65 73 74 47 61 70 20 7b 77 20 78 7d 20 7b 0d 20 20 20 20 73 65 74 20 70 6f 73 20 5b ClosestGap.{w.x}.{.....set.pos.[
13220 24 77 20 69 6e 64 65 78 20 40 24 78 5d 0d 20 20 20 20 73 65 74 20 62 62 6f 78 20 5b 24 77 20 62 $w.index.@$x].....set.bbox.[$w.b
13240 62 6f 78 20 24 70 6f 73 5d 0d 20 20 20 20 69 66 20 7b 28 24 78 20 2d 20 5b 6c 69 6e 64 65 78 20 box.$pos].....if.{($x.-.[lindex.
13260 24 62 62 6f 78 20 30 5d 29 20 3c 20 28 5b 6c 69 6e 64 65 78 20 24 62 62 6f 78 20 32 5d 2f 32 29 $bbox.0]).<.([lindex.$bbox.2]/2)
13280 7d 20 7b 0d 09 72 65 74 75 72 6e 20 24 70 6f 73 0d 20 20 20 20 7d 0d 20 20 20 20 69 6e 63 72 20 }.{..return.$pos.....}.....incr.
132a0 70 6f 73 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 42 75 74 74 6f 6e 31 20 2d 2d 0d 23 20 54 68 69 pos.}..#.tkEntryButton1.--.#.Thi
132c0 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 68 61 6e 64 6c 65 s.procedure.is.invoked.to.handle
132e0 20 62 75 74 74 6f 6e 2d 31 20 70 72 65 73 73 65 73 20 69 6e 20 65 6e 74 72 79 0d 23 20 77 69 64 .button-1.presses.in.entry.#.wid
13300 67 65 74 73 2e 20 20 49 74 20 6d 6f 76 65 73 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 gets...It.moves.the.insertion.cu
13320 72 73 6f 72 2c 20 73 65 74 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e 63 68 6f 72 2c rsor,.sets.the.selection.anchor,
13340 0d 23 20 61 6e 64 20 63 6c 61 69 6d 73 20 74 68 65 20 69 6e 70 75 74 20 66 6f 63 75 73 2e 0d 23 .#.and.claims.the.input.focus..#
13360 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e 74 72 79 20 77 .#.Arguments:.#.w.-..The.entry.w
13380 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 indow.in.which.the.button.was.pr
133a0 65 73 73 65 64 2e 0d 23 20 78 20 2d 09 09 54 68 65 20 78 2d 63 6f 6f 72 64 69 6e 61 74 65 20 6f essed..#.x.-..The.x-coordinate.o
133c0 66 20 74 68 65 20 62 75 74 74 6f 6e 20 70 72 65 73 73 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 f.the.button.press...proc.tkEntr
133e0 79 42 75 74 74 6f 6e 31 20 7b 77 20 78 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 yButton1.{w.x}.{.....global.tkPr
13400 69 76 0d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 63 iv......set.tkPriv(selectMode).c
13420 68 61 72 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 30 har.....set.tkPriv(mouseMoved).0
13440 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 72 65 73 73 58 29 20 24 78 0d 20 20 20 20 24 .....set.tkPriv(pressX).$x.....$
13460 77 20 69 63 75 72 73 6f 72 20 5b 74 6b 45 6e 74 72 79 43 6c 6f 73 65 73 74 47 61 70 20 24 77 20 w.icursor.[tkEntryClosestGap.$w.
13480 24 78 5d 0d 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 66 72 6f 6d 20 69 6e 73 65 72 74 $x].....$w.selection.from.insert
134a0 0d 20 20 20 20 69 66 20 7b 5b 6c 69 6e 64 65 78 20 5b 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d .....if.{[lindex.[$w.configure.-
134c0 73 74 61 74 65 5d 20 34 5d 20 3d 3d 20 22 6e 6f 72 6d 61 6c 22 7d 20 7b 66 6f 63 75 73 20 24 77 state].4].==."normal"}.{focus.$w
134e0 7d 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 4d 6f 75 73 65 53 65 6c 65 63 74 20 2d 2d 0d 23 20 54 }.}..#.tkEntryMouseSelect.--.#.T
13500 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 64 72 his.procedure.is.invoked.when.dr
13520 61 67 67 69 6e 67 20 6f 75 74 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 77 69 74 68 0d 23 20 74 68 agging.out.a.selection.with.#.th
13540 65 20 6d 6f 75 73 65 2e 20 20 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 73 65 6c 65 63 e.mouse...Depending.on.the.selec
13560 74 69 6f 6e 20 6d 6f 64 65 20 28 63 68 61 72 61 63 74 65 72 2c 20 77 6f 72 64 2c 0d 23 20 6c 69 tion.mode.(character,.word,.#.li
13580 6e 65 29 20 69 74 20 73 65 6c 65 63 74 73 20 69 6e 20 64 69 66 66 65 72 65 6e 74 2d 73 69 7a 65 ne).it.selects.in.different-size
135a0 64 20 75 6e 69 74 73 2e 20 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 0d 23 20 69 67 6e 6f 72 d.units...This.procedure.#.ignor
135c0 65 73 20 6d 6f 75 73 65 20 6d 6f 74 69 6f 6e 73 20 69 6e 69 74 69 61 6c 6c 79 20 75 6e 74 69 6c es.mouse.motions.initially.until
135e0 20 74 68 65 20 6d 6f 75 73 65 20 68 61 73 20 6d 6f 76 65 64 20 66 72 6f 6d 0d 23 20 6f 6e 65 20 .the.mouse.has.moved.from.#.one.
13600 63 68 61 72 61 63 74 65 72 20 74 6f 20 61 6e 6f 74 68 65 72 20 6f 72 20 75 6e 74 69 6c 20 74 68 character.to.another.or.until.th
13620 65 72 65 20 68 61 76 65 20 62 65 65 6e 20 6d 75 6c 74 69 70 6c 65 20 63 6c 69 63 6b 73 2e 0d 23 ere.have.been.multiple.clicks..#
13640 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e 74 72 79 20 77 .#.Arguments:.#.w.-..The.entry.w
13660 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 indow.in.which.the.button.was.pr
13680 65 73 73 65 64 2e 0d 23 20 78 20 2d 09 09 54 68 65 20 78 2d 63 6f 6f 72 64 69 6e 61 74 65 20 6f essed..#.x.-..The.x-coordinate.o
136a0 66 20 74 68 65 20 6d 6f 75 73 65 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 4d 6f 75 73 65 53 f.the.mouse...proc.tkEntryMouseS
136c0 65 6c 65 63 74 20 7b 77 20 78 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d elect.{w.x}.{.....global.tkPriv.
136e0 0d 20 20 20 20 73 65 74 20 63 75 72 20 5b 74 6b 45 6e 74 72 79 43 6c 6f 73 65 73 74 47 61 70 20 .....set.cur.[tkEntryClosestGap.
13700 24 77 20 24 78 5d 0d 20 20 20 20 73 65 74 20 61 6e 63 68 6f 72 20 5b 24 77 20 69 6e 64 65 78 20 $w.$x].....set.anchor.[$w.index.
13720 61 6e 63 68 6f 72 5d 0d 20 20 20 20 69 66 20 7b 28 24 63 75 72 20 21 3d 20 24 61 6e 63 68 6f 72 anchor].....if.{($cur.!=.$anchor
13740 29 20 7c 7c 20 28 61 62 73 28 24 74 6b 50 72 69 76 28 70 72 65 73 73 58 29 20 2d 20 24 78 29 20 ).||.(abs($tkPriv(pressX).-.$x).
13760 3e 3d 20 33 29 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 >=.3)}.{..set.tkPriv(mouseMoved)
13780 20 31 0d 20 20 20 20 7d 0d 20 20 20 20 73 77 69 74 63 68 20 24 74 6b 50 72 69 76 28 73 65 6c 65 .1.....}.....switch.$tkPriv(sele
137a0 63 74 4d 6f 64 65 29 20 7b 0d 09 63 68 61 72 20 7b 0d 09 20 20 20 20 69 66 20 24 74 6b 50 72 69 ctMode).{..char.{......if.$tkPri
137c0 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 7b 0d 09 09 69 66 20 7b 24 63 75 72 20 3c 20 24 61 6e v(mouseMoved).{...if.{$cur.<.$an
137e0 63 68 6f 72 7d 20 7b 0d 09 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 72 61 6e 67 65 chor}.{.......$w.selection.range
13800 20 24 63 75 72 20 24 61 6e 63 68 6f 72 0d 09 09 7d 20 65 6c 73 65 69 66 20 7b 24 63 75 72 20 3e .$cur.$anchor...}.elseif.{$cur.>
13820 20 24 61 6e 63 68 6f 72 7d 20 7b 0d 09 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 72 .$anchor}.{.......$w.selection.r
13840 61 6e 67 65 20 24 61 6e 63 68 6f 72 20 24 63 75 72 0d 09 09 7d 20 65 6c 73 65 20 7b 0d 09 09 20 ange.$anchor.$cur...}.else.{....
13860 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 0d 09 09 7d 0d 09 20 20 20 20 7d ...$w.selection.clear...}......}
13880 0d 09 7d 0d 09 77 6f 72 64 20 7b 0d 09 20 20 20 20 69 66 20 7b 24 63 75 72 20 3c 20 5b 24 77 20 ..}..word.{......if.{$cur.<.[$w.
138a0 69 6e 64 65 78 20 61 6e 63 68 6f 72 5d 7d 20 7b 0d 09 09 73 65 74 20 62 65 66 6f 72 65 20 5b 74 index.anchor]}.{...set.before.[t
138c0 63 6c 5f 77 6f 72 64 42 72 65 61 6b 42 65 66 6f 72 65 20 5b 24 77 20 67 65 74 5d 20 24 63 75 72 cl_wordBreakBefore.[$w.get].$cur
138e0 5d 0d 09 09 73 65 74 20 61 66 74 65 72 20 5b 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 41 66 74 65 ]...set.after.[tcl_wordBreakAfte
13900 72 20 5b 24 77 20 67 65 74 5d 20 5b 65 78 70 72 20 24 61 6e 63 68 6f 72 2d 31 5d 5d 0d 09 20 20 r.[$w.get].[expr.$anchor-1]]....
13920 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 62 65 66 6f 72 65 20 5b 74 63 6c 5f 77 6f 72 ..}.else.{...set.before.[tcl_wor
13940 64 42 72 65 61 6b 42 65 66 6f 72 65 20 5b 24 77 20 67 65 74 5d 20 24 61 6e 63 68 6f 72 5d 0d 09 dBreakBefore.[$w.get].$anchor]..
13960 09 73 65 74 20 61 66 74 65 72 20 5b 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 41 66 74 65 72 20 5b .set.after.[tcl_wordBreakAfter.[
13980 24 77 20 67 65 74 5d 20 5b 65 78 70 72 20 24 63 75 72 20 2d 20 31 5d 5d 0d 09 20 20 20 20 7d 0d $w.get].[expr.$cur.-.1]]......}.
139a0 09 20 20 20 20 69 66 20 7b 24 62 65 66 6f 72 65 20 3c 20 30 7d 20 7b 0d 09 09 73 65 74 20 62 65 .....if.{$before.<.0}.{...set.be
139c0 66 6f 72 65 20 30 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 24 61 66 74 65 72 20 3c 20 fore.0......}......if.{$after.<.
139e0 30 7d 20 7b 0d 09 09 73 65 74 20 61 66 74 65 72 20 65 6e 64 0d 09 20 20 20 20 7d 0d 09 20 20 20 0}.{...set.after.end......}.....
13a00 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 72 61 6e 67 65 20 24 62 65 66 6f 72 65 20 24 61 66 74 .$w.selection.range.$before.$aft
13a20 65 72 0d 09 7d 0d 09 6c 69 6e 65 20 7b 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 er..}..line.{......$w.selection.
13a40 72 61 6e 67 65 20 30 20 65 6e 64 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 75 70 64 61 74 65 20 range.0.end..}.....}.....update.
13a60 69 64 6c 65 74 61 73 6b 73 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 50 61 73 74 65 20 2d 2d 0d 23 idletasks.}..#.tkEntryPaste.--.#
13a80 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 73 65 74 73 20 74 68 65 20 69 6e 73 65 72 74 69 .This.procedure.sets.the.inserti
13aa0 6f 6e 20 63 75 72 73 6f 72 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d 6f 75 73 65 20 70 on.cursor.to.the.current.mouse.p
13ac0 6f 73 69 74 69 6f 6e 2c 0d 23 20 70 61 73 74 65 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 osition,.#.pastes.the.selection.
13ae0 74 68 65 72 65 2c 20 61 6e 64 20 73 65 74 73 20 74 68 65 20 66 6f 63 75 73 20 74 6f 20 74 68 65 there,.and.sets.the.focus.to.the
13b00 20 77 69 6e 64 6f 77 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 .window..#.#.Arguments:.#.w.-..T
13b20 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 2e 0d 23 20 78 20 2d 09 09 58 20 70 6f 73 69 74 69 he.entry.window..#.x.-..X.positi
13b40 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 50 61 on.of.the.mouse...proc.tkEntryPa
13b60 73 74 65 20 7b 77 20 78 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 ste.{w.x}.{.....global.tkPriv...
13b80 20 20 20 24 77 20 69 63 75 72 73 6f 72 20 5b 74 6b 45 6e 74 72 79 43 6c 6f 73 65 73 74 47 61 70 ...$w.icursor.[tkEntryClosestGap
13ba0 20 24 77 20 24 78 5d 0d 20 20 20 20 63 61 74 63 68 20 7b 24 77 20 69 6e 73 65 72 74 20 69 6e 73 .$w.$x].....catch.{$w.insert.ins
13bc0 65 72 74 20 5b 73 65 6c 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 6f 66 20 24 77 ert.[selection.get.-displayof.$w
13be0 5d 7d 0d 20 20 20 20 69 66 20 7b 5b 6c 69 6e 64 65 78 20 5b 24 77 20 63 6f 6e 66 69 67 75 72 65 ]}.....if.{[lindex.[$w.configure
13c00 20 2d 73 74 61 74 65 5d 20 34 5d 20 3d 3d 20 22 6e 6f 72 6d 61 6c 22 7d 20 7b 66 6f 63 75 73 20 .-state].4].==."normal"}.{focus.
13c20 24 77 7d 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 41 75 74 6f 53 63 61 6e 20 2d 2d 0d 23 20 54 68 $w}.}..#.tkEntryAutoScan.--.#.Th
13c40 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 is.procedure.is.invoked.when.the
13c60 20 6d 6f 75 73 65 20 6c 65 61 76 65 73 20 61 6e 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 0d 23 20 .mouse.leaves.an.entry.window.#.
13c80 77 69 74 68 20 62 75 74 74 6f 6e 20 31 20 64 6f 77 6e 2e 20 20 49 74 20 73 63 72 6f 6c 6c 73 20 with.button.1.down...It.scrolls.
13ca0 74 68 65 20 77 69 6e 64 6f 77 20 6c 65 66 74 20 6f 72 20 72 69 67 68 74 2c 0d 23 20 64 65 70 65 the.window.left.or.right,.#.depe
13cc0 6e 64 69 6e 67 20 6f 6e 20 77 68 65 72 65 20 74 68 65 20 6d 6f 75 73 65 20 69 73 2c 20 61 6e 64 nding.on.where.the.mouse.is,.and
13ce0 20 72 65 73 63 68 65 64 75 6c 65 73 20 69 74 73 65 6c 66 20 61 73 20 61 6e 0d 23 20 22 61 66 74 .reschedules.itself.as.an.#."aft
13d00 65 72 22 20 63 6f 6d 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 74 68 65 20 77 69 6e 64 6f 77 20 63 er".command.so.that.the.window.c
13d20 6f 6e 74 69 6e 75 65 73 20 74 6f 20 73 63 72 6f 6c 6c 20 75 6e 74 69 6c 20 74 68 65 0d 23 20 6d ontinues.to.scroll.until.the.#.m
13d40 6f 75 73 65 20 6d 6f 76 65 73 20 62 61 63 6b 20 69 6e 74 6f 20 74 68 65 20 77 69 6e 64 6f 77 20 ouse.moves.back.into.the.window.
13d60 6f 72 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 72 65 6c 65 61 73 65 64 2e or.the.mouse.button.is.released.
13d80 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e 74 72 79 .#.#.Arguments:.#.w.-..The.entry
13da0 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 41 75 74 6f 53 63 61 6e 20 7b .window...proc.tkEntryAutoScan.{
13dc0 77 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 78 w}.{.....global.tkPriv.....set.x
13de0 20 24 74 6b 50 72 69 76 28 78 29 0d 20 20 20 20 69 66 20 7b 21 5b 77 69 6e 66 6f 20 65 78 69 73 .$tkPriv(x).....if.{![winfo.exis
13e00 74 73 20 24 77 5d 7d 20 72 65 74 75 72 6e 0d 20 20 20 20 69 66 20 7b 24 78 20 3e 3d 20 5b 77 69 ts.$w]}.return.....if.{$x.>=.[wi
13e20 6e 66 6f 20 77 69 64 74 68 20 24 77 5d 7d 20 7b 0d 09 24 77 20 78 76 69 65 77 20 73 63 72 6f 6c nfo.width.$w]}.{..$w.xview.scrol
13e40 6c 20 32 20 75 6e 69 74 73 0d 09 74 6b 45 6e 74 72 79 4d 6f 75 73 65 53 65 6c 65 63 74 20 24 77 l.2.units..tkEntryMouseSelect.$w
13e60 20 24 78 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 78 20 3c 20 30 7d 20 7b 0d 09 24 77 20 .$x.....}.elseif.{$x.<.0}.{..$w.
13e80 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 2d 32 20 75 6e 69 74 73 0d 09 74 6b 45 6e 74 72 79 4d 6f xview.scroll.-2.units..tkEntryMo
13ea0 75 73 65 53 65 6c 65 63 74 20 24 77 20 24 78 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b useSelect.$w.$x.....}.....set.tk
13ec0 50 72 69 76 28 61 66 74 65 72 49 64 29 20 5b 61 66 74 65 72 20 35 30 20 74 6b 45 6e 74 72 79 41 Priv(afterId).[after.50.tkEntryA
13ee0 75 74 6f 53 63 61 6e 20 24 77 5d 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 4b 65 79 53 65 6c 65 63 utoScan.$w].}..#.tkEntryKeySelec
13f00 74 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 t.--.#.This.procedure.is.invoked
13f20 20 77 68 65 6e 20 73 74 72 6f 6b 69 6e 67 20 6f 75 74 20 73 65 6c 65 63 74 69 6f 6e 73 20 75 73 .when.stroking.out.selections.us
13f40 69 6e 67 20 74 68 65 0d 23 20 6b 65 79 62 6f 61 72 64 2e 20 20 49 74 20 6d 6f 76 65 73 20 74 68 ing.the.#.keyboard...It.moves.th
13f60 65 20 63 75 72 73 6f 72 20 74 6f 20 61 20 6e 65 77 20 70 6f 73 69 74 69 6f 6e 2c 20 74 68 65 6e e.cursor.to.a.new.position,.then
13f80 20 65 78 74 65 6e 64 73 0d 23 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 74 6f 20 74 68 61 74 .extends.#.the.selection.to.that
13fa0 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 .position..#.#.Arguments:.#.w.-.
13fc0 09 54 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 2e 0d 23 20 6e 65 77 20 2d 09 09 41 20 6e 65 .The.entry.window..#.new.-..A.ne
13fe0 77 20 70 6f 73 69 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 w.position.for.the.insertion.cur
14000 73 6f 72 20 28 74 68 65 20 63 75 72 73 6f 72 20 68 61 73 6e 27 74 0d 23 09 09 61 63 74 75 61 6c sor.(the.cursor.hasn't.#..actual
14020 6c 79 20 62 65 65 6e 20 6d 6f 76 65 64 20 74 6f 20 74 68 69 73 20 70 6f 73 69 74 69 6f 6e 20 79 ly.been.moved.to.this.position.y
14040 65 74 29 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 4b 65 79 53 65 6c 65 63 74 20 7b 77 20 6e et)...proc.tkEntryKeySelect.{w.n
14060 65 77 7d 20 7b 0d 20 20 20 20 69 66 20 21 5b 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 70 72 65 73 ew}.{.....if.![$w.selection.pres
14080 65 6e 74 5d 20 7b 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 66 72 6f 6d 20 69 6e 73 65 72 74 ent].{..$w.selection.from.insert
140a0 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 74 6f 20 24 6e 65 77 0d 20 20 20 20 7d 20 65 6c 73 ..$w.selection.to.$new.....}.els
140c0 65 20 7b 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 61 64 6a 75 73 74 20 24 6e 65 77 0d 20 20 e.{..$w.selection.adjust.$new...
140e0 20 20 7d 0d 20 20 20 20 24 77 20 69 63 75 72 73 6f 72 20 24 6e 65 77 0d 7d 0d 0d 23 20 74 6b 45 ..}.....$w.icursor.$new.}..#.tkE
14100 6e 74 72 79 49 6e 73 65 72 74 20 2d 2d 0d 23 20 49 6e 73 65 72 74 20 61 20 73 74 72 69 6e 67 20 ntryInsert.--.#.Insert.a.string.
14120 69 6e 74 6f 20 61 6e 20 65 6e 74 72 79 20 61 74 20 74 68 65 20 70 6f 69 6e 74 20 6f 66 20 74 68 into.an.entry.at.the.point.of.th
14140 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2e 0d 23 20 49 66 20 74 68 65 72 65 20 69 e.insertion.cursor..#.If.there.i
14160 73 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 65 6e 74 72 79 2c 20 61 6e 64 20 s.a.selection.in.the.entry,.and.
14180 69 74 20 63 6f 76 65 72 73 20 74 68 65 20 70 6f 69 6e 74 20 6f 66 20 74 68 65 0d 23 20 69 6e 73 it.covers.the.point.of.the.#.ins
141a0 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2c 20 74 68 65 6e 20 64 65 6c 65 74 65 20 74 68 65 20 73 ertion.cursor,.then.delete.the.s
141c0 65 6c 65 63 74 69 6f 6e 20 62 65 66 6f 72 65 20 69 6e 73 65 72 74 69 6e 67 2e 0d 23 0d 23 20 41 election.before.inserting..#.#.A
141e0 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f rguments:.#.w.-..The.entry.windo
14200 77 20 69 6e 20 77 68 69 63 68 20 74 6f 20 69 6e 73 65 72 74 20 74 68 65 20 73 74 72 69 6e 67 0d w.in.which.to.insert.the.string.
14220 23 20 73 20 2d 09 09 54 68 65 20 73 74 72 69 6e 67 20 74 6f 20 69 6e 73 65 72 74 20 28 75 73 75 #.s.-..The.string.to.insert.(usu
14240 61 6c 6c 79 20 6a 75 73 74 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 29 0d 0d 70 ally.just.a.single.character)..p
14260 72 6f 63 20 74 6b 45 6e 74 72 79 49 6e 73 65 72 74 20 7b 77 20 73 7d 20 7b 0d 20 20 20 20 69 66 roc.tkEntryInsert.{w.s}.{.....if
14280 20 7b 24 73 20 3d 3d 20 22 22 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 .{$s.==.""}.{..return.....}.....
142a0 63 61 74 63 68 20 7b 0d 09 73 65 74 20 69 6e 73 65 72 74 20 5b 24 77 20 69 6e 64 65 78 20 69 6e catch.{..set.insert.[$w.index.in
142c0 73 65 72 74 5d 0d 09 69 66 20 7b 28 5b 24 77 20 69 6e 64 65 78 20 73 65 6c 2e 66 69 72 73 74 5d sert]..if.{([$w.index.sel.first]
142e0 20 3c 3d 20 24 69 6e 73 65 72 74 29 0d 09 09 26 26 20 28 5b 24 77 20 69 6e 64 65 78 20 73 65 6c .<=.$insert)...&&.([$w.index.sel
14300 2e 6c 61 73 74 5d 20 3e 3d 20 24 69 6e 73 65 72 74 29 7d 20 7b 0d 09 20 20 20 20 24 77 20 64 65 .last].>=.$insert)}.{......$w.de
14320 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 09 7d 0d 20 20 20 20 7d lete.sel.first.sel.last..}.....}
14340 0d 20 20 20 20 24 77 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 20 24 73 0d 20 20 20 20 74 6b 45 .....$w.insert.insert.$s.....tkE
14360 6e 74 72 79 53 65 65 49 6e 73 65 72 74 20 24 77 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 42 61 63 ntrySeeInsert.$w.}..#.tkEntryBac
14380 6b 73 70 61 63 65 20 2d 2d 0d 23 20 42 61 63 6b 73 70 61 63 65 20 6f 76 65 72 20 74 68 65 20 63 kspace.--.#.Backspace.over.the.c
143a0 68 61 72 61 63 74 65 72 20 6a 75 73 74 20 62 65 66 6f 72 65 20 74 68 65 20 69 6e 73 65 72 74 69 haracter.just.before.the.inserti
143c0 6f 6e 20 63 75 72 73 6f 72 2e 0d 23 20 49 66 20 62 61 63 6b 73 70 61 63 69 6e 67 20 77 6f 75 6c on.cursor..#.If.backspacing.woul
143e0 64 20 6d 6f 76 65 20 74 68 65 20 63 75 72 73 6f 72 20 6f 66 66 20 74 68 65 20 6c 65 66 74 20 65 d.move.the.cursor.off.the.left.e
14400 64 67 65 20 6f 66 20 74 68 65 0d 23 20 77 69 6e 64 6f 77 2c 20 72 65 70 6f 73 69 74 69 6f 6e 20 dge.of.the.#.window,.reposition.
14420 74 68 65 20 63 75 72 73 6f 72 20 61 74 20 61 62 6f 75 74 20 74 68 65 20 6d 69 64 64 6c 65 20 6f the.cursor.at.about.the.middle.o
14440 66 20 74 68 65 20 77 69 6e 64 6f 77 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 f.the.window..#.#.Arguments:.#.w
14460 20 2d 09 09 54 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 6f .-..The.entry.window.in.which.to
14480 20 62 61 63 6b 73 70 61 63 65 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 42 61 63 6b 73 70 61 .backspace...proc.tkEntryBackspa
144a0 63 65 20 77 20 7b 0d 20 20 20 20 69 66 20 5b 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 70 72 65 73 ce.w.{.....if.[$w.selection.pres
144c0 65 6e 74 5d 20 7b 0d 09 24 77 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e ent].{..$w.delete.sel.first.sel.
144e0 6c 61 73 74 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 78 20 5b 65 78 70 72 20 7b last.....}.else.{..set.x.[expr.{
14500 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 20 2d 20 31 7d 5d 0d 09 69 66 20 7b 24 78 20 [$w.index.insert].-.1}]..if.{$x.
14520 3e 3d 20 30 7d 20 7b 24 77 20 64 65 6c 65 74 65 20 24 78 7d 0d 09 69 66 20 7b 5b 24 77 20 69 6e >=.0}.{$w.delete.$x}..if.{[$w.in
14540 64 65 78 20 40 30 5d 20 3e 3d 20 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 7d 20 7b 0d dex.@0].>=.[$w.index.insert]}.{.
14560 09 20 20 20 20 73 65 74 20 72 61 6e 67 65 20 5b 24 77 20 78 76 69 65 77 5d 0d 09 20 20 20 20 73 .....set.range.[$w.xview]......s
14580 65 74 20 6c 65 66 74 20 5b 6c 69 6e 64 65 78 20 24 72 61 6e 67 65 20 30 5d 0d 09 20 20 20 20 73 et.left.[lindex.$range.0]......s
145a0 65 74 20 72 69 67 68 74 20 5b 6c 69 6e 64 65 78 20 24 72 61 6e 67 65 20 31 5d 0d 09 20 20 20 20 et.right.[lindex.$range.1]......
145c0 24 77 20 78 76 69 65 77 20 6d 6f 76 65 74 6f 20 5b 65 78 70 72 20 24 6c 65 66 74 20 2d 20 28 24 $w.xview.moveto.[expr.$left.-.($
145e0 72 69 67 68 74 20 2d 20 24 6c 65 66 74 29 2f 32 2e 30 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d right.-.$left)/2.0]..}.....}.}..
14600 23 20 74 6b 45 6e 74 72 79 53 65 65 49 6e 73 65 72 74 20 2d 2d 0d 23 20 4d 61 6b 65 20 73 75 72 #.tkEntrySeeInsert.--.#.Make.sur
14620 65 20 74 68 61 74 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 69 73 20 76 e.that.the.insertion.cursor.is.v
14640 69 73 69 62 6c 65 20 69 6e 20 74 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 2e 0d 23 20 49 66 isible.in.the.entry.window..#.If
14660 20 6e 6f 74 2c 20 61 64 6a 75 73 74 20 74 68 65 20 76 69 65 77 20 73 6f 20 74 68 61 74 20 69 74 .not,.adjust.the.view.so.that.it
14680 20 69 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 .is..#.#.Arguments:.#.w.-..The.e
146a0 6e 74 72 79 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 53 65 65 49 6e 73 ntry.window...proc.tkEntrySeeIns
146c0 65 72 74 20 77 20 7b 0d 20 20 20 20 73 65 74 20 63 20 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 ert.w.{.....set.c.[$w.index.inse
146e0 72 74 5d 0d 20 20 20 20 73 65 74 20 6c 65 66 74 20 5b 24 77 20 69 6e 64 65 78 20 40 30 5d 0d 20 rt].....set.left.[$w.index.@0]..
14700 20 20 20 69 66 20 7b 24 6c 65 66 74 20 3e 20 24 63 7d 20 7b 0d 09 24 77 20 78 76 69 65 77 20 24 ...if.{$left.>.$c}.{..$w.xview.$
14720 63 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 78 20 5b 77 69 6e 66 6f c..return.....}.....set.x.[winfo
14740 20 77 69 64 74 68 20 24 77 5d 0d 20 20 20 20 77 68 69 6c 65 20 7b 28 5b 24 77 20 69 6e 64 65 78 .width.$w].....while.{([$w.index
14760 20 40 24 78 5d 20 3c 3d 20 24 63 29 20 26 26 20 28 24 6c 65 66 74 20 3c 20 24 63 29 7d 20 7b 0d .@$x].<=.$c).&&.($left.<.$c)}.{.
14780 09 69 6e 63 72 20 6c 65 66 74 0d 09 24 77 20 78 76 69 65 77 20 24 6c 65 66 74 0d 20 20 20 20 7d .incr.left..$w.xview.$left.....}
147a0 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 2d 0d 23 20 4d 6f 76 65 20 .}..#.tkEntrySetCursor.-.#.Move.
147c0 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 74 6f 20 61 20 67 69 76 65 6e 20 the.insertion.cursor.to.a.given.
147e0 70 6f 73 69 74 69 6f 6e 20 69 6e 20 61 6e 20 65 6e 74 72 79 2e 20 20 41 6c 73 6f 0d 23 20 63 6c position.in.an.entry...Also.#.cl
14800 65 61 72 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 2c 20 69 66 20 74 68 65 72 65 20 69 73 20 ears.the.selection,.if.there.is.
14820 6f 6e 65 20 69 6e 20 74 68 65 20 65 6e 74 72 79 2c 20 61 6e 64 20 6d 61 6b 65 73 20 73 75 72 65 one.in.the.entry,.and.makes.sure
14840 0d 23 20 74 68 61 74 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 69 73 20 .#.that.the.insertion.cursor.is.
14860 76 69 73 69 62 6c 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 visible..#.#.Arguments:.#.w.-..T
14880 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 2e 0d 23 20 70 6f 73 20 2d 09 09 54 68 65 20 64 65 he.entry.window..#.pos.-..The.de
148a0 73 69 72 65 64 20 6e 65 77 20 70 6f 73 69 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 75 72 73 6f sired.new.position.for.the.curso
148c0 72 20 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 53 65 r.in.the.window...proc.tkEntrySe
148e0 74 43 75 72 73 6f 72 20 7b 77 20 70 6f 73 7d 20 7b 0d 20 20 20 20 24 77 20 69 63 75 72 73 6f 72 tCursor.{w.pos}.{.....$w.icursor
14900 20 24 70 6f 73 0d 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 0d 20 20 20 .$pos.....$w.selection.clear....
14920 20 74 6b 45 6e 74 72 79 53 65 65 49 6e 73 65 72 74 20 24 77 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 .tkEntrySeeInsert.$w.}..#.tkEntr
14940 79 54 72 61 6e 73 70 6f 73 65 20 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 6d yTranspose.-.#.This.procedure.im
14960 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 22 74 72 61 6e 73 70 6f 73 65 22 20 66 75 6e 63 74 69 6f plements.the."transpose".functio
14980 6e 20 66 6f 72 20 65 6e 74 72 79 20 77 69 64 67 65 74 73 2e 0d 23 20 49 74 20 74 72 61 6e 70 6f n.for.entry.widgets..#.It.tranpo
149a0 73 65 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 6f 6e 20 65 69 74 68 65 72 20 73 69 64 ses.the.characters.on.either.sid
149c0 65 20 6f 66 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2c 0d 23 20 75 6e 6c e.of.the.insertion.cursor,.#.unl
149e0 65 73 73 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 ess.the.cursor.is.at.the.end.of.
14a00 74 68 65 20 6c 69 6e 65 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 69 74 0d 23 20 74 72 61 the.line...In.this.case.it.#.tra
14a20 6e 73 70 6f 73 65 73 20 74 68 65 20 74 77 6f 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 74 68 nsposes.the.two.characters.to.th
14a40 65 20 6c 65 66 74 20 6f 66 20 74 68 65 20 63 75 72 73 6f 72 2e 20 20 49 6e 20 65 69 74 68 65 72 e.left.of.the.cursor...In.either
14a60 0d 23 20 63 61 73 65 2c 20 74 68 65 20 63 75 72 73 6f 72 20 65 6e 64 73 20 75 70 20 74 6f 20 74 .#.case,.the.cursor.ends.up.to.t
14a80 68 65 20 72 69 67 68 74 20 6f 66 20 74 68 65 20 74 72 61 6e 73 70 6f 73 65 64 20 63 68 61 72 61 he.right.of.the.transposed.chara
14aa0 63 74 65 72 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 cters..#.#.Arguments:.#.w.-..The
14ac0 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 54 72 61 6e .entry.window...proc.tkEntryTran
14ae0 73 70 6f 73 65 20 77 20 7b 0d 20 20 20 20 73 65 74 20 69 20 5b 24 77 20 69 6e 64 65 78 20 69 6e spose.w.{.....set.i.[$w.index.in
14b00 73 65 72 74 5d 0d 20 20 20 20 69 66 20 7b 24 69 20 3c 20 5b 24 77 20 69 6e 64 65 78 20 65 6e 64 sert].....if.{$i.<.[$w.index.end
14b20 5d 7d 20 7b 0d 09 69 6e 63 72 20 69 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 66 69 72 73 74 ]}.{..incr.i.....}.....set.first
14b40 20 5b 65 78 70 72 20 24 69 2d 32 5d 0d 20 20 20 20 69 66 20 7b 24 66 69 72 73 74 20 3c 20 30 7d .[expr.$i-2].....if.{$first.<.0}
14b60 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6e 65 77 20 5b 73 74 .{..return.....}.....set.new.[st
14b80 72 69 6e 67 20 69 6e 64 65 78 20 5b 24 77 20 67 65 74 5d 20 5b 65 78 70 72 20 24 69 2d 31 5d 5d ring.index.[$w.get].[expr.$i-1]]
14ba0 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 20 5b 24 77 20 67 65 74 5d 20 24 66 69 72 73 74 5d 0d 20 [string.index.[$w.get].$first]..
14bc0 20 20 20 24 77 20 64 65 6c 65 74 65 20 24 66 69 72 73 74 20 24 69 0d 20 20 20 20 24 77 20 69 6e ...$w.delete.$first.$i.....$w.in
14be0 73 65 72 74 20 69 6e 73 65 72 74 20 24 6e 65 77 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 65 49 sert.insert.$new.....tkEntrySeeI
14c00 6e 73 65 72 74 20 24 77 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 4e 65 78 74 57 6f 72 64 20 2d 2d nsert.$w.}..#.tkEntryNextWord.--
14c20 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 6e 65 78 74 .#.Returns.the.index.of.the.next
14c40 20 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 61 20 67 69 76 65 6e 20 70 6f 73 .word.position.after.a.given.pos
14c60 69 74 69 6f 6e 20 69 6e 20 74 68 65 0d 23 20 65 6e 74 72 79 2e 20 20 54 68 65 20 6e 65 78 74 20 ition.in.the.#.entry...The.next.
14c80 77 6f 72 64 20 69 73 20 70 6c 61 74 66 6f 72 6d 20 64 65 70 65 6e 64 65 6e 74 20 61 6e 64 20 6d word.is.platform.dependent.and.m
14ca0 61 79 20 62 65 20 65 69 74 68 65 72 20 74 68 65 20 6e 65 78 74 0d 23 20 65 6e 64 2d 6f 66 2d 77 ay.be.either.the.next.#.end-of-w
14cc0 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 6f 72 20 74 68 65 20 6e 65 78 74 20 73 74 61 72 74 2d 6f ord.position.or.the.next.start-o
14ce0 66 2d 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 74 68 65 20 6e 65 78 74 0d 23 f-word.position.after.the.next.#
14d00 20 65 6e 64 2d 6f 66 2d 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d .end-of-word.position..#.#.Argum
14d20 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 20 69 6e ents:.#.w.-..The.entry.window.in
14d40 20 77 68 69 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 65 2e 0d 23 20 .which.the.cursor.is.to.move..#.
14d60 73 74 61 72 74 20 2d 09 50 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 68 20 74 6f 20 73 74 61 start.-.Position.at.which.to.sta
14d80 72 74 20 73 65 61 72 63 68 2e 0d 0d 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c rt.search...if.{$tcl_platform(pl
14da0 61 74 66 6f 72 6d 29 20 3d 3d 20 22 77 69 6e 64 6f 77 73 22 7d 20 20 7b 0d 20 20 20 20 70 72 6f atform).==."windows"}..{.....pro
14dc0 63 20 74 6b 45 6e 74 72 79 4e 65 78 74 57 6f 72 64 20 7b 77 20 73 74 61 72 74 7d 20 7b 0d 09 73 c.tkEntryNextWord.{w.start}.{..s
14de0 65 74 20 70 6f 73 20 5b 74 63 6c 5f 65 6e 64 4f 66 57 6f 72 64 20 5b 24 77 20 67 65 74 5d 20 5b et.pos.[tcl_endOfWord.[$w.get].[
14e00 24 77 20 69 6e 64 65 78 20 24 73 74 61 72 74 5d 5d 0d 09 69 66 20 7b 24 70 6f 73 20 3e 3d 20 30 $w.index.$start]]..if.{$pos.>=.0
14e20 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 70 6f 73 20 5b 74 63 6c 5f 73 74 61 72 74 4f 66 4e 65 78 }.{......set.pos.[tcl_startOfNex
14e40 74 57 6f 72 64 20 5b 24 77 20 67 65 74 5d 20 24 70 6f 73 5d 0d 09 7d 0d 09 69 66 20 7b 24 70 6f tWord.[$w.get].$pos]..}..if.{$po
14e60 73 20 3c 20 30 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 65 6e 64 0d 09 7d 0d 09 72 65 74 s.<.0}.{......return.end..}..ret
14e80 75 72 6e 20 24 70 6f 73 0d 20 20 20 20 7d 0d 7d 20 65 6c 73 65 20 7b 0d 20 20 20 20 70 72 6f 63 urn.$pos.....}.}.else.{.....proc
14ea0 20 74 6b 45 6e 74 72 79 4e 65 78 74 57 6f 72 64 20 7b 77 20 73 74 61 72 74 7d 20 7b 0d 09 73 65 .tkEntryNextWord.{w.start}.{..se
14ec0 74 20 70 6f 73 20 5b 74 63 6c 5f 65 6e 64 4f 66 57 6f 72 64 20 5b 24 77 20 67 65 74 5d 20 5b 24 t.pos.[tcl_endOfWord.[$w.get].[$
14ee0 77 20 69 6e 64 65 78 20 24 73 74 61 72 74 5d 5d 0d 09 69 66 20 7b 24 70 6f 73 20 3c 20 30 7d 20 w.index.$start]]..if.{$pos.<.0}.
14f00 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 65 6e 64 0d 09 7d 0d 09 72 65 74 75 72 6e 20 24 70 6f {......return.end..}..return.$po
14f20 73 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 50 72 65 76 69 6f 75 73 57 6f 72 64 s.....}.}..#.tkEntryPreviousWord
14f40 20 2d 2d 0d 23 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 .--.#.#.Returns.the.index.of.the
14f60 20 70 72 65 76 69 6f 75 73 20 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 62 65 66 6f 72 65 20 61 .previous.word.position.before.a
14f80 20 67 69 76 65 6e 0d 23 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 65 6e 74 72 79 2e 0d .given.#.position.in.the.entry..
14fa0 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e 74 72 79 20 #.#.Arguments:.#.w.-..The.entry.
14fc0 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f window.in.which.the.cursor.is.to
14fe0 20 6d 6f 76 65 2e 0d 23 20 73 74 61 72 74 20 2d 09 50 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 .move..#.start.-.Position.at.whi
15000 63 68 20 74 6f 20 73 74 61 72 74 20 73 65 61 72 63 68 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 ch.to.start.search...proc.tkEntr
15020 79 50 72 65 76 69 6f 75 73 57 6f 72 64 20 7b 77 20 73 74 61 72 74 7d 20 7b 0d 20 20 20 20 73 65 yPreviousWord.{w.start}.{.....se
15040 74 20 70 6f 73 20 5b 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 20 5b t.pos.[tcl_startOfPreviousWord.[
15060 24 77 20 67 65 74 5d 20 5b 24 77 20 69 6e 64 65 78 20 24 73 74 61 72 74 5d 5d 0d 20 20 20 20 69 $w.get].[$w.index.$start]].....i
15080 66 20 7b 24 70 6f 73 20 3c 20 30 7d 20 7b 0d 09 72 65 74 75 72 6e 20 30 0d 20 20 20 20 7d 0d 20 f.{$pos.<.0}.{..return.0.....}..
150a0 20 20 20 72 65 74 75 72 6e 20 24 70 6f 73 0d 7d 0d 0d 00 00 13 0e 23 20 66 6f 63 75 73 2e 74 63 ...return.$pos.}......#.focus.tc
150c0 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 73 65 76 65 72 l.--.#.#.This.file.defines.sever
150e0 61 6c 20 70 72 6f 63 65 64 75 72 65 73 20 66 6f 72 20 6d 61 6e 61 67 69 6e 67 20 74 68 65 20 69 al.procedures.for.managing.the.i
15100 6e 70 75 74 0d 23 20 66 6f 63 75 73 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 66 6f 63 nput.#.focus..#.#.SCCS:.@(#).foc
15120 75 73 2e 74 63 6c 20 31 2e 31 37 20 39 36 2f 30 32 2f 31 36 20 31 30 3a 34 38 3a 32 31 0d 23 0d us.tcl.1.17.96/02/16.10:48:21.#.
15140 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 35 20 53 75 6e 20 4d 69 #.Copyright.(c).1994-1995.Sun.Mi
15160 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c crosystems,.Inc..#.#.See.the.fil
15180 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f e."license.terms".for.informatio
151a0 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 n.on.usage.and.redistribution.#.
151c0 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d of.this.file,.and.for.a.DISCLAIM
151e0 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 74 6b 5f 66 6f ER.OF.ALL.WARRANTIES..#..#.tk_fo
15200 63 75 73 4e 65 78 74 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 72 65 74 75 cusNext.--.#.This.procedure.retu
15220 72 6e 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e 65 78 74 20 77 69 6e 64 6f 77 20 rns.the.name.of.the.next.window.
15240 61 66 74 65 72 20 22 77 22 20 69 6e 0d 23 20 22 66 6f 63 75 73 20 6f 72 64 65 72 22 20 28 74 68 after."w".in.#."focus.order".(th
15260 65 20 77 69 6e 64 6f 77 20 74 68 61 74 20 73 68 6f 75 6c 64 20 72 65 63 65 69 76 65 20 74 68 65 e.window.that.should.receive.the
15280 20 66 6f 63 75 73 20 6e 65 78 74 20 69 66 0d 23 20 54 61 62 20 69 73 20 74 79 70 65 64 20 69 6e .focus.next.if.#.Tab.is.typed.in
152a0 20 77 29 2e 20 20 22 4e 65 78 74 22 20 69 73 20 64 65 66 69 6e 65 64 20 62 79 20 61 20 70 72 65 .w)..."Next".is.defined.by.a.pre
152c0 2d 6f 72 64 65 72 20 73 65 61 72 63 68 0d 23 20 6f 66 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 61 -order.search.#.of.a.top-level.a
152e0 6e 64 20 69 74 73 20 6e 6f 6e 2d 74 6f 70 2d 6c 65 76 65 6c 20 64 65 73 63 65 6e 64 61 6e 74 73 nd.its.non-top-level.descendants
15300 2c 20 77 69 74 68 20 74 68 65 20 73 74 61 63 6b 69 6e 67 0d 23 20 6f 72 64 65 72 20 64 65 74 65 ,.with.the.stacking.#.order.dete
15320 72 6d 69 6e 69 6e 67 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 73 69 62 6c 69 6e 67 73 2e 20 20 rmining.the.order.of.siblings...
15340 54 68 65 20 22 2d 74 61 6b 65 66 6f 63 75 73 22 20 6f 70 74 69 6f 6e 73 0d 23 20 6f 6e 20 77 69 The."-takefocus".options.#.on.wi
15360 6e 64 6f 77 73 20 64 65 74 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 74 ndows.determine.whether.or.not.t
15380 68 65 79 20 73 68 6f 75 6c 64 20 62 65 20 73 6b 69 70 70 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d hey.should.be.skipped..#.#.Argum
153a0 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 4e 61 6d 65 20 6f 66 20 61 20 77 69 6e 64 6f 77 2e 0d 0d ents:.#.w.-..Name.of.a.window...
153c0 70 72 6f 63 20 74 6b 5f 66 6f 63 75 73 4e 65 78 74 20 77 20 7b 0d 20 20 20 20 73 65 74 20 63 75 proc.tk_focusNext.w.{.....set.cu
153e0 72 20 24 77 0d 20 20 20 20 77 68 69 6c 65 20 31 20 7b 0d 0d 09 23 20 44 65 73 63 65 6e 64 20 74 r.$w.....while.1.{...#.Descend.t
15400 6f 20 6a 75 73 74 20 62 65 66 6f 72 65 20 74 68 65 20 66 69 72 73 74 20 63 68 69 6c 64 20 6f 66 o.just.before.the.first.child.of
15420 20 74 68 65 20 63 75 72 72 65 6e 74 20 77 69 64 67 65 74 2e 0d 0d 09 73 65 74 20 70 61 72 65 6e .the.current.widget....set.paren
15440 74 20 24 63 75 72 0d 09 73 65 74 20 63 68 69 6c 64 72 65 6e 20 5b 77 69 6e 66 6f 20 63 68 69 6c t.$cur..set.children.[winfo.chil
15460 64 72 65 6e 20 24 63 75 72 5d 0d 09 73 65 74 20 69 20 2d 31 0d 0d 09 23 20 4c 6f 6f 6b 20 66 6f dren.$cur]..set.i.-1...#.Look.fo
15480 72 20 74 68 65 20 6e 65 78 74 20 73 69 62 6c 69 6e 67 20 74 68 61 74 20 69 73 6e 27 74 20 61 20 r.the.next.sibling.that.isn't.a.
154a0 74 6f 70 2d 6c 65 76 65 6c 2e 0d 0d 09 77 68 69 6c 65 20 31 20 7b 0d 09 20 20 20 20 69 6e 63 72 top-level....while.1.{......incr
154c0 20 69 0d 09 20 20 20 20 69 66 20 7b 24 69 20 3c 20 5b 6c 6c 65 6e 67 74 68 20 24 63 68 69 6c 64 .i......if.{$i.<.[llength.$child
154e0 72 65 6e 5d 7d 20 7b 0d 09 09 73 65 74 20 63 75 72 20 5b 6c 69 6e 64 65 78 20 24 63 68 69 6c 64 ren]}.{...set.cur.[lindex.$child
15500 72 65 6e 20 24 69 5d 0d 09 09 69 66 20 7b 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 63 ren.$i]...if.{[winfo.toplevel.$c
15520 75 72 5d 20 3d 3d 20 24 63 75 72 7d 20 7b 0d 09 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d 09 09 ur].==.$cur}.{.......continue...
15540 7d 20 65 6c 73 65 20 7b 0d 09 09 20 20 20 20 62 72 65 61 6b 0d 09 09 7d 0d 09 20 20 20 20 7d 0d }.else.{.......break...}......}.
15560 0d 09 20 20 20 20 23 20 4e 6f 20 6d 6f 72 65 20 73 69 62 6c 69 6e 67 73 2c 20 73 6f 20 67 6f 20 ......#.No.more.siblings,.so.go.
15580 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 77 69 64 67 65 74 27 73 20 70 61 72 65 6e 74 2e 0d to.the.current.widget's.parent..
155a0 09 20 20 20 20 23 20 49 66 20 69 74 27 73 20 61 20 74 6f 70 2d 6c 65 76 65 6c 2c 20 62 72 65 61 .....#.If.it's.a.top-level,.brea
155c0 6b 20 6f 75 74 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2c 20 6f 74 68 65 72 77 69 73 65 0d 09 20 20 k.out.of.the.loop,.otherwise....
155e0 20 20 23 20 6c 6f 6f 6b 20 66 6f 72 20 69 74 73 20 6e 65 78 74 20 73 69 62 6c 69 6e 67 2e 0d 0d ..#.look.for.its.next.sibling...
15600 09 20 20 20 20 73 65 74 20 63 75 72 20 24 70 61 72 65 6e 74 0d 09 20 20 20 20 69 66 20 7b 5b 77 .....set.cur.$parent......if.{[w
15620 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 63 75 72 5d 20 3d 3d 20 24 63 75 72 7d 20 7b 0d 09 info.toplevel.$cur].==.$cur}.{..
15640 09 62 72 65 61 6b 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 20 5b 77 .break......}......set.parent.[w
15660 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 70 61 72 65 6e 74 5d 0d 09 20 20 20 20 73 65 74 20 63 68 info.parent.$parent]......set.ch
15680 69 6c 64 72 65 6e 20 5b 77 69 6e 66 6f 20 63 68 69 6c 64 72 65 6e 20 24 70 61 72 65 6e 74 5d 0d ildren.[winfo.children.$parent].
156a0 09 20 20 20 20 73 65 74 20 69 20 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 24 63 68 69 6c .....set.i.[lsearch.-exact.$chil
156c0 64 72 65 6e 20 24 63 75 72 5d 0d 09 7d 0d 09 69 66 20 7b 28 24 63 75 72 20 3d 3d 20 24 77 29 20 dren.$cur]..}..if.{($cur.==.$w).
156e0 7c 7c 20 5b 74 6b 46 6f 63 75 73 4f 4b 20 24 63 75 72 5d 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 ||.[tkFocusOK.$cur]}.{......retu
15700 72 6e 20 24 63 75 72 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 5f 66 6f 63 75 73 50 72 rn.$cur..}.....}.}..#.tk_focusPr
15720 65 76 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 72 65 74 75 72 6e 73 20 74 ev.--.#.This.procedure.returns.t
15740 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 77 69 6e 64 6f 77 20 62 he.name.of.the.previous.window.b
15760 65 66 6f 72 65 20 22 77 22 20 69 6e 0d 23 20 22 66 6f 63 75 73 20 6f 72 64 65 72 22 20 28 74 68 efore."w".in.#."focus.order".(th
15780 65 20 77 69 6e 64 6f 77 20 74 68 61 74 20 73 68 6f 75 6c 64 20 72 65 63 65 69 76 65 20 74 68 65 e.window.that.should.receive.the
157a0 20 66 6f 63 75 73 20 6e 65 78 74 20 69 66 0d 23 20 53 68 69 66 74 2d 54 61 62 20 69 73 20 74 79 .focus.next.if.#.Shift-Tab.is.ty
157c0 70 65 64 20 69 6e 20 77 29 2e 20 20 22 4e 65 78 74 22 20 69 73 20 64 65 66 69 6e 65 64 20 62 79 ped.in.w)..."Next".is.defined.by
157e0 20 61 20 70 72 65 2d 6f 72 64 65 72 20 73 65 61 72 63 68 0d 23 20 6f 66 20 61 20 74 6f 70 2d 6c .a.pre-order.search.#.of.a.top-l
15800 65 76 65 6c 20 61 6e 64 20 69 74 73 20 6e 6f 6e 2d 74 6f 70 2d 6c 65 76 65 6c 20 64 65 73 63 65 evel.and.its.non-top-level.desce
15820 6e 64 61 6e 74 73 2c 20 77 69 74 68 20 74 68 65 20 73 74 61 63 6b 69 6e 67 0d 23 20 6f 72 64 65 ndants,.with.the.stacking.#.orde
15840 72 20 64 65 74 65 72 6d 69 6e 69 6e 67 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 73 69 62 6c 69 r.determining.the.order.of.sibli
15860 6e 67 73 2e 20 20 54 68 65 20 22 2d 74 61 6b 65 66 6f 63 75 73 22 20 6f 70 74 69 6f 6e 73 0d 23 ngs...The."-takefocus".options.#
15880 20 6f 6e 20 77 69 6e 64 6f 77 73 20 64 65 74 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 6f 72 .on.windows.determine.whether.or
158a0 20 6e 6f 74 20 74 68 65 79 20 73 68 6f 75 6c 64 20 62 65 20 73 6b 69 70 70 65 64 2e 0d 23 0d 23 .not.they.should.be.skipped..#.#
158c0 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 4e 61 6d 65 20 6f 66 20 61 20 77 69 6e .Arguments:.#.w.-..Name.of.a.win
158e0 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 5f 66 6f 63 75 73 50 72 65 76 20 77 20 7b 0d 20 20 20 20 dow...proc.tk_focusPrev.w.{.....
15900 73 65 74 20 63 75 72 20 24 77 0d 20 20 20 20 77 68 69 6c 65 20 31 20 7b 0d 0d 09 23 20 43 6f 6c set.cur.$w.....while.1.{...#.Col
15920 6c 65 63 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 63 75 72 72 65 lect.information.about.the.curre
15940 6e 74 20 77 69 6e 64 6f 77 27 73 20 70 6f 73 69 74 69 6f 6e 0d 09 23 20 61 6d 6f 6e 67 20 69 74 nt.window's.position..#.among.it
15960 73 20 73 69 62 6c 69 6e 67 73 2e 20 20 41 6c 73 6f 2c 20 69 66 20 74 68 65 20 77 69 6e 64 6f 77 s.siblings...Also,.if.the.window
15980 20 69 73 20 61 20 74 6f 70 2d 6c 65 76 65 6c 2c 0d 09 23 20 74 68 65 6e 20 72 65 70 6f 73 69 74 .is.a.top-level,..#.then.reposit
159a0 69 6f 6e 20 74 6f 20 6a 75 73 74 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 20 63 68 69 6c 64 ion.to.just.after.the.last.child
159c0 20 6f 66 20 74 68 65 20 77 69 6e 64 6f 77 2e 0d 20 20 20 20 0d 09 69 66 20 7b 5b 77 69 6e 66 6f .of.the.window........if.{[winfo
159e0 20 74 6f 70 6c 65 76 65 6c 20 24 63 75 72 5d 20 3d 3d 20 24 63 75 72 7d 20 20 7b 0d 09 20 20 20 .toplevel.$cur].==.$cur}..{.....
15a00 20 73 65 74 20 70 61 72 65 6e 74 20 24 63 75 72 0d 09 20 20 20 20 73 65 74 20 63 68 69 6c 64 72 .set.parent.$cur......set.childr
15a20 65 6e 20 5b 77 69 6e 66 6f 20 63 68 69 6c 64 72 65 6e 20 24 63 75 72 5d 0d 09 20 20 20 20 73 65 en.[winfo.children.$cur]......se
15a40 74 20 69 20 5b 6c 6c 65 6e 67 74 68 20 24 63 68 69 6c 64 72 65 6e 5d 0d 09 7d 20 65 6c 73 65 20 t.i.[llength.$children]..}.else.
15a60 7b 0d 09 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 {......set.parent.[winfo.parent.
15a80 24 63 75 72 5d 0d 09 20 20 20 20 73 65 74 20 63 68 69 6c 64 72 65 6e 20 5b 77 69 6e 66 6f 20 63 $cur]......set.children.[winfo.c
15aa0 68 69 6c 64 72 65 6e 20 24 70 61 72 65 6e 74 5d 0d 09 20 20 20 20 73 65 74 20 69 20 5b 6c 73 65 hildren.$parent]......set.i.[lse
15ac0 61 72 63 68 20 2d 65 78 61 63 74 20 24 63 68 69 6c 64 72 65 6e 20 24 63 75 72 5d 0d 09 7d 0d 0d arch.-exact.$children.$cur]..}..
15ae0 09 23 20 47 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 73 69 62 6c 69 6e 67 2c 20 74 .#.Go.to.the.previous.sibling,.t
15b00 68 65 6e 20 64 65 73 63 65 6e 64 20 74 6f 20 69 74 73 20 6c 61 73 74 20 64 65 73 63 65 6e 64 61 hen.descend.to.its.last.descenda
15b20 6e 74 0d 09 23 20 28 68 69 67 68 65 73 74 20 69 6e 20 73 74 61 63 6b 69 6e 67 20 6f 72 64 65 72 nt..#.(highest.in.stacking.order
15b40 2e 20 20 57 68 69 6c 65 20 64 6f 69 6e 67 20 74 68 69 73 2c 20 69 67 6e 6f 72 65 20 74 6f 70 2d ...While.doing.this,.ignore.top-
15b60 6c 65 76 65 6c 73 0d 09 23 20 61 6e 64 20 74 68 65 69 72 20 64 65 73 63 65 6e 64 61 6e 74 73 2e levels..#.and.their.descendants.
15b80 20 20 57 68 65 6e 20 77 65 20 72 75 6e 20 6f 75 74 20 6f 66 20 64 65 73 63 65 6e 64 61 6e 74 73 ..When.we.run.out.of.descendants
15ba0 2c 20 67 6f 20 75 70 0d 09 23 20 6f 6e 65 20 6c 65 76 65 6c 20 74 6f 20 74 68 65 20 70 61 72 65 ,.go.up..#.one.level.to.the.pare
15bc0 6e 74 2e 0d 0d 09 77 68 69 6c 65 20 7b 24 69 20 3e 20 30 7d 20 7b 0d 09 20 20 20 20 69 6e 63 72 nt....while.{$i.>.0}.{......incr
15be0 20 69 20 2d 31 0d 09 20 20 20 20 73 65 74 20 63 75 72 20 5b 6c 69 6e 64 65 78 20 24 63 68 69 6c .i.-1......set.cur.[lindex.$chil
15c00 64 72 65 6e 20 24 69 5d 0d 09 20 20 20 20 69 66 20 7b 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 dren.$i]......if.{[winfo.topleve
15c20 6c 20 24 63 75 72 5d 20 3d 3d 20 24 63 75 72 7d 20 7b 0d 09 09 63 6f 6e 74 69 6e 75 65 0d 09 20 l.$cur].==.$cur}.{...continue...
15c40 20 20 20 7d 0d 09 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 20 24 63 75 72 0d 09 20 20 20 20 73 ...}......set.parent.$cur......s
15c60 65 74 20 63 68 69 6c 64 72 65 6e 20 5b 77 69 6e 66 6f 20 63 68 69 6c 64 72 65 6e 20 24 70 61 72 et.children.[winfo.children.$par
15c80 65 6e 74 5d 0d 09 20 20 20 20 73 65 74 20 69 20 5b 6c 6c 65 6e 67 74 68 20 24 63 68 69 6c 64 72 ent]......set.i.[llength.$childr
15ca0 65 6e 5d 0d 09 7d 0d 09 73 65 74 20 63 75 72 20 24 70 61 72 65 6e 74 0d 09 69 66 20 7b 28 24 63 en]..}..set.cur.$parent..if.{($c
15cc0 75 72 20 3d 3d 20 24 77 29 20 7c 7c 20 5b 74 6b 46 6f 63 75 73 4f 4b 20 24 63 75 72 5d 7d 20 7b ur.==.$w).||.[tkFocusOK.$cur]}.{
15ce0 0d 09 20 20 20 20 72 65 74 75 72 6e 20 24 63 75 72 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 ......return.$cur..}.....}.}..#.
15d00 74 6b 46 6f 63 75 73 4f 4b 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 tkFocusOK.--.#.#.This.procedure.
15d20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 64 65 63 69 64 65 20 77 68 65 74 68 65 72 20 6f 72 20 is.invoked.to.decide.whether.or.
15d40 6e 6f 74 20 74 6f 20 66 6f 63 75 73 20 6f 6e 0d 23 20 61 20 67 69 76 65 6e 20 77 69 6e 64 6f 77 not.to.focus.on.#.a.given.window
15d60 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 31 20 69 66 20 69 74 27 73 20 4f 4b 20 74 6f 20 66 6f ...It.returns.1.if.it's.OK.to.fo
15d80 63 75 73 20 6f 6e 20 74 68 65 20 77 69 6e 64 6f 77 2c 0d 23 20 30 20 69 66 20 69 74 27 73 20 6e cus.on.the.window,.#.0.if.it's.n
15da0 6f 74 20 4f 4b 2e 20 20 54 68 65 20 63 6f 64 65 20 66 69 72 73 74 20 63 68 65 63 6b 73 20 77 68 ot.OK...The.code.first.checks.wh
15dc0 65 74 68 65 72 20 74 68 65 20 77 69 6e 64 6f 77 20 69 73 0d 23 20 76 69 65 77 61 62 6c 65 2e 20 ether.the.window.is.#.viewable..
15de0 20 49 66 20 6e 6f 74 2c 20 74 68 65 6e 20 69 74 20 6e 65 76 65 72 20 66 6f 63 75 73 65 73 20 6f .If.not,.then.it.never.focuses.o
15e00 6e 20 74 68 65 20 77 69 6e 64 6f 77 2e 20 20 54 68 65 6e 20 69 74 0d 23 20 63 68 65 63 6b 73 20 n.the.window...Then.it.#.checks.
15e20 74 68 65 20 2d 74 61 6b 65 66 6f 63 75 73 20 6f 70 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 77 69 the.-takefocus.option.for.the.wi
15e40 6e 64 6f 77 20 61 6e 64 20 75 73 65 73 20 69 74 20 69 66 20 69 74 27 73 0d 23 20 73 65 74 2e 20 ndow.and.uses.it.if.it's.#.set..
15e60 20 49 66 20 74 68 65 72 65 27 73 20 6e 6f 20 2d 74 61 6b 65 66 6f 63 75 73 20 6f 70 74 69 6f 6e .If.there's.no.-takefocus.option
15e80 2c 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 63 68 65 63 6b 73 20 74 6f 0d 23 20 73 65 65 20 ,.the.procedure.checks.to.#.see.
15ea0 69 66 20 28 61 29 20 74 68 65 20 77 69 64 67 65 74 20 69 73 6e 27 74 20 64 69 73 61 62 6c 65 64 if.(a).the.widget.isn't.disabled
15ec0 2c 20 61 6e 64 20 28 62 29 20 69 74 20 68 61 73 20 73 6f 6d 65 20 6b 65 79 0d 23 20 62 69 6e 64 ,.and.(b).it.has.some.key.#.bind
15ee0 69 6e 67 73 2e 20 20 49 66 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 20 61 72 65 20 74 72 75 65 2c ings...If.all.of.these.are.true,
15f00 20 74 68 65 6e 20 31 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e .then.1.is.returned..#.#.Argumen
15f20 74 73 3a 0d 23 20 77 20 2d 09 09 4e 61 6d 65 20 6f 66 20 61 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 ts:.#.w.-..Name.of.a.window...pr
15f40 6f 63 20 74 6b 46 6f 63 75 73 4f 4b 20 77 20 7b 0d 20 20 20 20 73 65 74 20 63 6f 64 65 20 5b 63 oc.tkFocusOK.w.{.....set.code.[c
15f60 61 74 63 68 20 7b 24 77 20 63 67 65 74 20 2d 74 61 6b 65 66 6f 63 75 73 7d 20 76 61 6c 75 65 5d atch.{$w.cget.-takefocus}.value]
15f80 0d 20 20 20 20 69 66 20 7b 28 24 63 6f 64 65 20 3d 3d 20 30 29 20 26 26 20 28 24 76 61 6c 75 65 .....if.{($code.==.0).&&.($value
15fa0 20 21 3d 20 22 22 29 7d 20 7b 0d 09 69 66 20 7b 24 76 61 6c 75 65 20 3d 3d 20 30 7d 20 7b 0d 09 .!=."")}.{..if.{$value.==.0}.{..
15fc0 20 20 20 20 72 65 74 75 72 6e 20 30 0d 09 7d 20 65 6c 73 65 69 66 20 7b 24 76 61 6c 75 65 20 3d ....return.0..}.elseif.{$value.=
15fe0 3d 20 31 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 77 69 6e 66 6f 20 76 69 65 77 61 62 =.1}.{......return.[winfo.viewab
16000 6c 65 20 24 77 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 76 61 6c 75 65 20 le.$w]..}.else.{......set.value.
16020 5b 75 70 6c 65 76 65 6c 20 23 30 20 24 76 61 6c 75 65 20 24 77 5d 0d 09 20 20 20 20 69 66 20 7b [uplevel.#0.$value.$w]......if.{
16040 24 76 61 6c 75 65 20 21 3d 20 22 22 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 24 76 61 6c 75 65 0d $value.!=.""}.{...return.$value.
16060 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 21 5b 77 69 6e 66 6f 20 .....}..}.....}.....if.{![winfo.
16080 76 69 65 77 61 62 6c 65 20 24 77 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 30 0d 20 20 20 20 7d 0d viewable.$w]}.{..return.0.....}.
160a0 20 20 20 20 73 65 74 20 63 6f 64 65 20 5b 63 61 74 63 68 20 7b 24 77 20 63 67 65 74 20 2d 73 74 ....set.code.[catch.{$w.cget.-st
160c0 61 74 65 7d 20 76 61 6c 75 65 5d 0d 20 20 20 20 69 66 20 7b 28 24 63 6f 64 65 20 3d 3d 20 30 29 ate}.value].....if.{($code.==.0)
160e0 20 26 26 20 28 24 76 61 6c 75 65 20 3d 3d 20 22 64 69 73 61 62 6c 65 64 22 29 7d 20 7b 0d 09 72 .&&.($value.==."disabled")}.{..r
16100 65 74 75 72 6e 20 30 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 67 65 78 70 20 4b 65 79 7c 46 6f 63 eturn.0.....}.....regexp.Key|Foc
16120 75 73 20 22 5b 62 69 6e 64 20 24 77 5d 20 5b 62 69 6e 64 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 us."[bind.$w].[bind.[winfo.class
16140 20 24 77 5d 5d 22 0d 7d 0d 0d 23 20 74 6b 5f 66 6f 63 75 73 46 6f 6c 6c 6f 77 73 4d 6f 75 73 65 .$w]]".}..#.tk_focusFollowsMouse
16160 20 2d 2d 0d 23 0d 23 20 49 66 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 .--.#.#.If.this.procedure.is.inv
16180 6f 6b 65 64 2c 20 54 6b 20 77 69 6c 6c 20 65 6e 74 65 72 20 22 66 6f 63 75 73 2d 66 6f 6c 6c 6f oked,.Tk.will.enter."focus-follo
161a0 77 73 2d 6d 6f 75 73 65 22 0d 23 20 6d 6f 64 65 2c 20 77 68 65 72 65 20 74 68 65 20 66 6f 63 75 ws-mouse".#.mode,.where.the.focu
161c0 73 20 69 73 20 61 6c 77 61 79 73 20 6f 6e 20 77 68 61 74 65 76 65 72 20 77 69 6e 64 6f 77 20 63 s.is.always.on.whatever.window.c
161e0 6f 6e 74 61 69 6e 73 20 74 68 65 0d 23 20 6d 6f 75 73 65 2e 20 20 49 66 20 74 68 69 73 20 70 72 ontains.the.#.mouse...If.this.pr
16200 6f 63 65 64 75 72 65 20 69 73 6e 27 74 20 69 6e 76 6f 6b 65 64 2c 20 74 68 65 6e 20 74 68 65 20 ocedure.isn't.invoked,.then.the.
16220 75 73 65 72 20 74 79 70 69 63 61 6c 6c 79 0d 23 20 68 61 73 20 74 6f 20 63 6c 69 63 6b 20 6f 6e user.typically.#.has.to.click.on
16240 20 61 20 77 69 6e 64 6f 77 20 74 6f 20 67 69 76 65 20 69 74 20 74 68 65 20 66 6f 63 75 73 2e 0d .a.window.to.give.it.the.focus..
16260 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 20 74 6b 5f #.#.Arguments:.#.None...proc.tk_
16280 66 6f 63 75 73 46 6f 6c 6c 6f 77 73 4d 6f 75 73 65 20 7b 7d 20 7b 0d 20 20 20 20 73 65 74 20 6f focusFollowsMouse.{}.{.....set.o
162a0 6c 64 20 5b 62 69 6e 64 20 61 6c 6c 20 3c 45 6e 74 65 72 3e 5d 0d 20 20 20 20 73 65 74 20 73 63 ld.[bind.all.<Enter>].....set.sc
162c0 72 69 70 74 20 7b 0d 09 69 66 20 7b 28 22 25 64 22 20 3d 3d 20 22 4e 6f 74 69 66 79 41 6e 63 65 ript.{..if.{("%d".==."NotifyAnce
162e0 73 74 6f 72 22 29 20 7c 7c 20 28 22 25 64 22 20 3d 3d 20 22 4e 6f 74 69 66 79 4e 6f 6e 6c 69 6e stor").||.("%d".==."NotifyNonlin
16300 65 61 72 22 29 0d 09 09 7c 7c 20 28 22 25 64 22 20 3d 3d 20 22 4e 6f 74 69 66 79 49 6e 66 65 72 ear")...||.("%d".==."NotifyInfer
16320 69 6f 72 22 29 7d 20 7b 0d 09 20 20 20 20 69 66 20 5b 74 6b 46 6f 63 75 73 4f 4b 20 25 57 5d 20 ior")}.{......if.[tkFocusOK.%W].
16340 7b 0d 09 09 66 6f 63 75 73 20 25 57 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 {...focus.%W......}..}.....}....
16360 20 69 66 20 7b 24 6f 6c 64 20 21 3d 20 22 22 7d 20 7b 0d 09 62 69 6e 64 20 61 6c 6c 20 3c 45 6e .if.{$old.!=.""}.{..bind.all.<En
16380 74 65 72 3e 20 22 24 6f 6c 64 3b 20 24 73 63 72 69 70 74 22 0d 20 20 20 20 7d 20 65 6c 73 65 20 ter>."$old;.$script".....}.else.
163a0 7b 0d 09 62 69 6e 64 20 61 6c 6c 20 3c 45 6e 74 65 72 3e 20 24 73 63 72 69 70 74 0d 20 20 20 20 {..bind.all.<Enter>.$script.....
163c0 7d 0d 7d 0d 00 00 2d b0 23 20 6c 69 73 74 62 6f 78 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 }.}...-.#.listbox.tcl.--.#.#.Thi
163e0 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 69 6e 64 69 s.file.defines.the.default.bindi
16400 6e 67 73 20 66 6f 72 20 54 6b 20 6c 69 73 74 62 6f 78 20 77 69 64 67 65 74 73 0d 23 20 61 6e 64 ngs.for.Tk.listbox.widgets.#.and
16420 20 70 72 6f 76 69 64 65 73 20 70 72 6f 63 65 64 75 72 65 73 20 74 68 61 74 20 68 65 6c 70 20 69 .provides.procedures.that.help.i
16440 6e 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 74 68 6f 73 65 20 62 69 6e 64 69 6e 67 73 2e 0d 23 n.implementing.those.bindings..#
16460 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 6c 69 73 74 62 6f 78 2e 74 63 6c 20 31 2e 32 31 20 39 .#.SCCS:.@(#).listbox.tcl.1.21.9
16480 37 2f 30 36 2f 31 30 20 31 37 3a 31 33 3a 35 35 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 7/06/10.17:13:55.#.#.Copyright.(
164a0 63 29 20 31 39 39 34 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 c).1994.The.Regents.of.the.Unive
164c0 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 rsity.of.California..#.Copyright
164e0 20 28 63 29 20 31 39 39 34 2d 31 39 39 35 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c .(c).1994-1995.Sun.Microsystems,
16500 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e .Inc..#.#.See.the.file."license.
16520 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 terms".for.information.on.usage.
16540 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c and.redistribution.#.of.this.fil
16560 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 e,.and.for.a.DISCLAIMER.OF.ALL.W
16580 41 52 52 41 4e 54 49 45 53 2e 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ARRANTIES...#-------------------
165a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
165c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 74 6b 50 72 69 76 -----------------------.#.tkPriv
165e0 20 65 6c 65 6d 65 6e 74 73 20 75 73 65 64 20 69 6e 20 74 68 69 73 20 66 69 6c 65 3a 0d 23 0d 23 .elements.used.in.this.file:.#.#
16600 20 61 66 74 65 72 49 64 20 2d 09 09 54 6f 6b 65 6e 20 72 65 74 75 72 6e 65 64 20 62 79 20 22 61 .afterId.-..Token.returned.by."a
16620 66 74 65 72 22 20 66 6f 72 20 61 75 74 6f 73 63 61 6e 6e 69 6e 67 2e 0d 23 20 6c 69 73 74 62 6f fter".for.autoscanning..#.listbo
16640 78 50 72 65 76 20 2d 09 09 54 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 74 6f 20 62 65 20 xPrev.-..The.last.element.to.be.
16660 73 65 6c 65 63 74 65 64 20 6f 72 20 64 65 73 65 6c 65 63 74 65 64 0d 23 09 09 09 64 75 72 69 6e selected.or.deselected.#...durin
16680 67 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 2e 0d 23 20 6c 69 73 74 62 g.a.selection.operation..#.listb
166a0 6f 78 53 65 6c 65 63 74 69 6f 6e 20 2d 09 41 6c 6c 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 74 oxSelection.-.All.of.the.items.t
166c0 68 61 74 20 77 65 72 65 20 73 65 6c 65 63 74 65 64 20 62 65 66 6f 72 65 20 74 68 65 0d 23 09 09 hat.were.selected.before.the.#..
166e0 09 63 75 72 72 65 6e 74 20 73 65 6c 65 63 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 28 73 75 .current.selection.operation.(su
16700 63 68 20 61 73 20 61 20 6d 6f 75 73 65 0d 23 09 09 09 64 72 61 67 29 20 73 74 61 72 74 65 64 3b ch.as.a.mouse.#...drag).started;
16720 20 20 75 73 65 64 20 74 6f 20 63 61 6e 63 65 6c 20 61 6e 20 6f 70 65 72 61 74 69 6f 6e 2e 0d 23 ..used.to.cancel.an.operation..#
16740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
16760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
16780 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------..#-------------------
167a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
167c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 65 20 63 6f 64 ----------------------.#.The.cod
167e0 65 20 62 65 6c 6f 77 20 63 72 65 61 74 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6c 61 73 e.below.creates.the.default.clas
16800 73 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 6c 69 73 74 62 6f 78 65 73 2e 0d 23 2d 2d 2d 2d 2d s.bindings.for.listboxes..#-----
16820 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
16840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
16860 2d 2d 2d 2d 0d 0d 23 20 4e 6f 74 65 3a 20 74 68 65 20 63 68 65 63 6b 20 66 6f 72 20 65 78 69 73 ----..#.Note:.the.check.for.exis
16880 74 65 6e 63 65 20 6f 66 20 25 57 20 62 65 6c 6f 77 20 69 73 20 62 65 63 61 75 73 65 20 74 68 69 tence.of.%W.below.is.because.thi
168a0 73 20 62 69 6e 64 69 6e 67 0d 23 20 69 73 20 73 6f 6d 65 74 69 6d 65 73 20 69 6e 76 6f 6b 65 64 s.binding.#.is.sometimes.invoked
168c0 20 61 66 74 65 72 20 61 20 77 69 6e 64 6f 77 20 68 61 73 20 62 65 65 6e 20 64 65 6c 65 74 65 64 .after.a.window.has.been.deleted
168e0 20 28 65 2e 67 2e 20 62 65 63 61 75 73 65 0d 23 20 74 68 65 72 65 20 69 73 20 61 20 64 6f 75 62 .(e.g..because.#.there.is.a.doub
16900 6c 65 2d 63 6c 69 63 6b 20 62 69 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 77 69 64 67 65 74 20 74 le-click.binding.on.the.widget.t
16920 68 61 74 20 64 65 6c 65 74 65 73 20 69 74 29 2e 20 20 55 73 65 72 73 0d 23 20 63 61 6e 20 70 75 hat.deletes.it)...Users.#.can.pu
16940 74 20 22 62 72 65 61 6b 22 73 20 69 6e 20 74 68 65 69 72 20 62 69 6e 64 69 6e 67 73 20 74 6f 20 t."break"s.in.their.bindings.to.
16960 61 76 6f 69 64 20 74 68 65 20 65 72 72 6f 72 2c 20 62 75 74 20 74 68 69 73 20 63 68 65 63 6b 0d avoid.the.error,.but.this.check.
16980 23 20 6d 61 6b 65 73 20 74 68 61 74 20 75 6e 6e 65 63 65 73 73 61 72 79 2e 0d 0d 62 69 6e 64 20 #.makes.that.unnecessary...bind.
169a0 4c 69 73 74 62 6f 78 20 3c 31 3e 20 7b 0d 20 20 20 20 69 66 20 5b 77 69 6e 66 6f 20 65 78 69 73 Listbox.<1>.{.....if.[winfo.exis
169c0 74 73 20 25 57 5d 20 7b 0d 09 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 53 65 6c 65 63 74 20 25 ts.%W].{..tkListboxBeginSelect.%
169e0 57 20 5b 25 57 20 69 6e 64 65 78 20 40 25 78 2c 25 79 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 49 W.[%W.index.@%x,%y].....}.}..#.I
16a00 67 6e 6f 72 65 20 64 6f 75 62 6c 65 20 63 6c 69 63 6b 73 20 73 6f 20 74 68 61 74 20 75 73 65 72 gnore.double.clicks.so.that.user
16a20 73 20 63 61 6e 20 64 65 66 69 6e 65 20 74 68 65 69 72 20 6f 77 6e 20 62 65 68 61 76 69 6f 72 73 s.can.define.their.own.behaviors
16a40 2e 0d 23 20 41 6d 6f 6e 67 20 6f 74 68 65 72 20 74 68 69 6e 67 73 2c 20 74 68 69 73 20 70 72 65 ..#.Among.other.things,.this.pre
16a60 76 65 6e 74 73 20 65 72 72 6f 72 73 20 69 66 20 74 68 65 20 75 73 65 72 20 64 65 6c 65 74 65 73 vents.errors.if.the.user.deletes
16a80 20 74 68 65 0d 23 20 6c 69 73 74 62 6f 78 20 6f 6e 20 61 20 64 6f 75 62 6c 65 20 63 6c 69 63 6b .the.#.listbox.on.a.double.click
16aa0 2e 0d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 44 6f 75 62 6c 65 2d 31 3e 20 7b 0d 20 20 20 ...bind.Listbox.<Double-1>.{....
16ac0 20 23 20 45 6d 70 74 79 20 73 63 72 69 70 74 0d 7d 0d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 .#.Empty.script.}..bind.Listbox.
16ae0 3c 42 31 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 78 29 20 <B1-Motion>.{.....set.tkPriv(x).
16b00 25 78 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 79 29 20 25 79 0d 20 20 20 20 74 6b 4c 69 %x.....set.tkPriv(y).%y.....tkLi
16b20 73 74 62 6f 78 4d 6f 74 69 6f 6e 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 40 25 78 2c 25 79 5d stboxMotion.%W.[%W.index.@%x,%y]
16b40 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 .}.bind.Listbox.<ButtonRelease-1
16b60 3e 20 7b 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 20 20 20 20 25 57 20 61 63 >.{.....tkCancelRepeat.....%W.ac
16b80 74 69 76 61 74 65 20 40 25 78 2c 25 79 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 53 68 tivate.@%x,%y.}.bind.Listbox.<Sh
16ba0 69 66 74 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 45 78 74 65 6e ift-1>.{.....tkListboxBeginExten
16bc0 64 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 40 25 78 2c 25 79 5d 0d 7d 0d 62 69 6e 64 20 4c 69 d.%W.[%W.index.@%x,%y].}.bind.Li
16be0 73 74 62 6f 78 20 3c 43 6f 6e 74 72 6f 6c 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f stbox.<Control-1>.{.....tkListbo
16c00 78 42 65 67 69 6e 54 6f 67 67 6c 65 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 40 25 78 2c 25 79 xBeginToggle.%W.[%W.index.@%x,%y
16c20 5d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 42 31 2d 4c 65 61 76 65 3e 20 7b 0d 20 20 ].}.bind.Listbox.<B1-Leave>.{...
16c40 20 20 73 65 74 20 74 6b 50 72 69 76 28 78 29 20 25 78 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 ..set.tkPriv(x).%x.....set.tkPri
16c60 76 28 79 29 20 25 79 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 41 75 74 6f 53 63 61 6e 20 25 57 v(y).%y.....tkListboxAutoScan.%W
16c80 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 42 31 2d 45 6e 74 65 72 3e 20 7b 0d 20 20 20 .}.bind.Listbox.<B1-Enter>.{....
16ca0 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 7d 0d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 .tkCancelRepeat.}..bind.Listbox.
16cc0 3c 55 70 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 55 70 44 6f 77 6e 20 25 57 20 2d 31 <Up>.{.....tkListboxUpDown.%W.-1
16ce0 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 53 68 69 66 74 2d 55 70 3e 20 7b 0d 20 20 20 .}.bind.Listbox.<Shift-Up>.{....
16d00 20 74 6b 4c 69 73 74 62 6f 78 45 78 74 65 6e 64 55 70 44 6f 77 6e 20 25 57 20 2d 31 0d 7d 0d 62 .tkListboxExtendUpDown.%W.-1.}.b
16d20 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 ind.Listbox.<Down>.{.....tkListb
16d40 6f 78 55 70 44 6f 77 6e 20 25 57 20 31 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 53 68 oxUpDown.%W.1.}.bind.Listbox.<Sh
16d60 69 66 74 2d 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 45 78 74 65 6e 64 55 ift-Down>.{.....tkListboxExtendU
16d80 70 44 6f 77 6e 20 25 57 20 31 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 4c 65 66 74 3e pDown.%W.1.}.bind.Listbox.<Left>
16da0 20 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 2d 31 20 75 6e 69 74 73 0d .{.....%W.xview.scroll.-1.units.
16dc0 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 6f 6e 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b 0d }.bind.Listbox.<Control-Left>.{.
16de0 20 20 20 20 25 57 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 2d 31 20 70 61 67 65 73 0d 7d 0d 62 ....%W.xview.scroll.-1.pages.}.b
16e00 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 25 57 20 78 76 69 ind.Listbox.<Right>.{.....%W.xvi
16e20 65 77 20 73 63 72 6f 6c 6c 20 31 20 75 6e 69 74 73 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 ew.scroll.1.units.}.bind.Listbox
16e40 20 3c 43 6f 6e 74 72 6f 6c 2d 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 .<Control-Right>.{.....%W.xview.
16e60 73 63 72 6f 6c 6c 20 31 20 70 61 67 65 73 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 50 scroll.1.pages.}.bind.Listbox.<P
16e80 72 69 6f 72 3e 20 7b 0d 20 20 20 20 25 57 20 79 76 69 65 77 20 73 63 72 6f 6c 6c 20 2d 31 20 70 rior>.{.....%W.yview.scroll.-1.p
16ea0 61 67 65 73 0d 20 20 20 20 25 57 20 61 63 74 69 76 61 74 65 20 40 30 2c 30 0d 7d 0d 62 69 6e 64 ages.....%W.activate.@0,0.}.bind
16ec0 20 4c 69 73 74 62 6f 78 20 3c 4e 65 78 74 3e 20 7b 0d 20 20 20 20 25 57 20 79 76 69 65 77 20 73 .Listbox.<Next>.{.....%W.yview.s
16ee0 63 72 6f 6c 6c 20 31 20 70 61 67 65 73 0d 20 20 20 20 25 57 20 61 63 74 69 76 61 74 65 20 40 30 croll.1.pages.....%W.activate.@0
16f00 2c 30 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 6f 6e 74 72 6f 6c 2d 50 72 69 6f 72 ,0.}.bind.Listbox.<Control-Prior
16f20 3e 20 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 2d 31 20 70 61 67 65 73 >.{.....%W.xview.scroll.-1.pages
16f40 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 6f 6e 74 72 6f 6c 2d 4e 65 78 74 3e 20 7b .}.bind.Listbox.<Control-Next>.{
16f60 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 31 20 70 61 67 65 73 0d 7d 0d 62 .....%W.xview.scroll.1.pages.}.b
16f80 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 25 57 20 78 76 69 65 ind.Listbox.<Home>.{.....%W.xvie
16fa0 77 20 6d 6f 76 65 74 6f 20 30 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 45 6e 64 3e 20 w.moveto.0.}.bind.Listbox.<End>.
16fc0 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 6d 6f 76 65 74 6f 20 31 0d 7d 0d 62 69 6e 64 20 4c {.....%W.xview.moveto.1.}.bind.L
16fe0 69 73 74 62 6f 78 20 3c 43 6f 6e 74 72 6f 6c 2d 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 25 57 20 61 istbox.<Control-Home>.{.....%W.a
17000 63 74 69 76 61 74 65 20 30 0d 20 20 20 20 25 57 20 73 65 65 20 30 0d 20 20 20 20 25 57 20 73 65 ctivate.0.....%W.see.0.....%W.se
17020 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 30 20 65 6e 64 0d 20 20 20 20 25 57 20 73 65 6c 65 63 lection.clear.0.end.....%W.selec
17040 74 69 6f 6e 20 73 65 74 20 30 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 53 68 69 66 74 tion.set.0.}.bind.Listbox.<Shift
17060 2d 43 6f 6e 74 72 6f 6c 2d 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 44 61 -Control-Home>.{.....tkListboxDa
17080 74 61 45 78 74 65 6e 64 20 25 57 20 30 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 6f taExtend.%W.0.}.bind.Listbox.<Co
170a0 6e 74 72 6f 6c 2d 45 6e 64 3e 20 7b 0d 20 20 20 20 25 57 20 61 63 74 69 76 61 74 65 20 65 6e 64 ntrol-End>.{.....%W.activate.end
170c0 0d 20 20 20 20 25 57 20 73 65 65 20 65 6e 64 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e .....%W.see.end.....%W.selection
170e0 20 63 6c 65 61 72 20 30 20 65 6e 64 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 .clear.0.end.....%W.selection.se
17100 74 20 65 6e 64 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 53 68 69 66 74 2d 43 6f 6e 74 t.end.}.bind.Listbox.<Shift-Cont
17120 72 6f 6c 2d 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 44 61 74 61 45 78 74 65 rol-End>.{.....tkListboxDataExte
17140 6e 64 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 65 6e 64 5d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 nd.%W.[%W.index.end].}.bind.List
17160 62 6f 78 20 3c 3c 43 6f 70 79 3e 3e 20 7b 0d 20 20 20 20 69 66 20 7b 5b 73 65 6c 65 63 74 69 6f box.<<Copy>>.{.....if.{[selectio
17180 6e 20 6f 77 6e 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 5d 20 3d 3d 20 22 25 57 22 7d 20 7b 0d n.own.-displayof.%W].==."%W"}.{.
171a0 09 63 6c 69 70 62 6f 61 72 64 20 63 6c 65 61 72 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 0d 09 .clipboard.clear.-displayof.%W..
171c0 63 6c 69 70 62 6f 61 72 64 20 61 70 70 65 6e 64 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 20 5b clipboard.append.-displayof.%W.[
171e0 73 65 6c 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 5d 0d 20 20 20 selection.get.-displayof.%W]....
17200 20 7d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 .}.}.bind.Listbox.<space>.{.....
17220 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 53 65 6c 65 63 74 20 25 57 20 5b 25 57 20 69 6e 64 65 tkListboxBeginSelect.%W.[%W.inde
17240 78 20 61 63 74 69 76 65 5d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 53 65 6c 65 63 74 x.active].}.bind.Listbox.<Select
17260 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 53 65 6c 65 63 74 20 25 57 20 >.{.....tkListboxBeginSelect.%W.
17280 5b 25 57 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 [%W.index.active].}.bind.Listbox
172a0 20 3c 43 6f 6e 74 72 6f 6c 2d 53 68 69 66 74 2d 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 74 6b 4c .<Control-Shift-space>.{.....tkL
172c0 69 73 74 62 6f 78 42 65 67 69 6e 45 78 74 65 6e 64 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 61 istboxBeginExtend.%W.[%W.index.a
172e0 63 74 69 76 65 5d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 53 68 69 66 74 2d 53 65 6c ctive].}.bind.Listbox.<Shift-Sel
17300 65 63 74 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 45 78 74 65 6e 64 20 ect>.{.....tkListboxBeginExtend.
17320 25 57 20 5b 25 57 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 %W.[%W.index.active].}.bind.List
17340 62 6f 78 20 3c 45 73 63 61 70 65 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 43 61 6e 63 box.<Escape>.{.....tkListboxCanc
17360 65 6c 20 25 57 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 6f 6e 74 72 6f 6c 2d 73 6c el.%W.}.bind.Listbox.<Control-sl
17380 61 73 68 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 53 65 6c 65 63 74 41 6c 6c 20 25 57 ash>.{.....tkListboxSelectAll.%W
173a0 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 6f 6e 74 72 6f 6c 2d 62 61 63 6b 73 6c 61 .}.bind.Listbox.<Control-backsla
173c0 73 68 3e 20 7b 0d 20 20 20 20 69 66 20 7b 5b 25 57 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f sh>.{.....if.{[%W.cget.-selectmo
173e0 64 65 5d 20 21 3d 20 22 62 72 6f 77 73 65 22 7d 20 7b 0d 09 25 57 20 73 65 6c 65 63 74 69 6f 6e de].!=."browse"}.{..%W.selection
17400 20 63 6c 65 61 72 20 30 20 65 6e 64 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 41 64 64 69 74 69 6f 6e .clear.0.end.....}.}..#.Addition
17420 61 6c 20 54 6b 20 62 69 6e 64 69 6e 67 73 20 74 68 61 74 20 61 72 65 6e 27 74 20 70 61 72 74 20 al.Tk.bindings.that.aren't.part.
17440 6f 66 20 74 68 65 20 4d 6f 74 69 66 20 6c 6f 6f 6b 20 61 6e 64 20 66 65 65 6c 3a 0d 0d 62 69 6e of.the.Motif.look.and.feel:..bin
17460 64 20 4c 69 73 74 62 6f 78 20 3c 32 3e 20 7b 0d 20 20 20 20 25 57 20 73 63 61 6e 20 6d 61 72 6b d.Listbox.<2>.{.....%W.scan.mark
17480 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 42 32 2d 4d 6f 74 69 6f 6e .%x.%y.}.bind.Listbox.<B2-Motion
174a0 3e 20 7b 0d 20 20 20 20 25 57 20 73 63 61 6e 20 64 72 61 67 74 6f 20 25 78 20 25 79 0d 7d 0d 0d >.{.....%W.scan.dragto.%x.%y.}..
174c0 23 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 53 65 6c 65 63 74 20 2d 2d 0d 23 0d 23 20 54 68 #.tkListboxBeginSelect.--.#.#.Th
174e0 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 69 6e 76 6f 6b 65 is.procedure.is.typically.invoke
17500 64 20 6f 6e 20 62 75 74 74 6f 6e 2d 31 20 70 72 65 73 73 65 73 2e 20 20 49 74 20 62 65 67 69 6e d.on.button-1.presses...It.begin
17520 73 0d 23 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 6d 61 6b 69 6e 67 20 61 20 73 65 6c 65 s.#.the.process.of.making.a.sele
17540 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 6c 69 73 74 62 6f 78 2e 20 20 49 74 73 20 65 78 61 63 74 ction.in.the.listbox...Its.exact
17560 20 62 65 68 61 76 69 6f 72 0d 23 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 73 65 6c 65 63 .behavior.#.depends.on.the.selec
17580 74 69 6f 6e 20 6d 6f 64 65 20 63 75 72 72 65 6e 74 6c 79 20 69 6e 20 65 66 66 65 63 74 20 66 6f tion.mode.currently.in.effect.fo
175a0 72 20 74 68 65 20 6c 69 73 74 62 6f 78 3b 0d 23 20 73 65 65 20 74 68 65 20 4d 6f 74 69 66 20 64 r.the.listbox;.#.see.the.Motif.d
175c0 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0d 23 0d 23 20 41 72 ocumentation.for.details..#.#.Ar
175e0 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f 78 20 77 69 64 67 guments:.#.w.-..The.listbox.widg
17600 65 74 2e 0d 23 20 65 6c 20 2d 09 09 54 68 65 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 74 68 65 20 et..#.el.-..The.element.for.the.
17620 73 65 6c 65 63 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 28 74 79 70 69 63 61 6c 6c 79 20 74 selection.operation.(typically.t
17640 68 65 0d 23 09 09 6f 6e 65 20 75 6e 64 65 72 20 74 68 65 20 70 6f 69 6e 74 65 72 29 2e 20 20 4d he.#..one.under.the.pointer)...M
17660 75 73 74 20 62 65 20 69 6e 20 6e 75 6d 65 72 69 63 61 6c 20 66 6f 72 6d 2e 0d 0d 70 72 6f 63 20 ust.be.in.numerical.form...proc.
17680 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 53 65 6c 65 63 74 20 7b 77 20 65 6c 7d 20 7b 0d 20 20 tkListboxBeginSelect.{w.el}.{...
176a0 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 ..global.tkPriv.....if.{[$w.cget
176c0 20 2d 73 65 6c 65 63 74 6d 6f 64 65 5d 20 20 3d 3d 20 22 6d 75 6c 74 69 70 6c 65 22 7d 20 7b 0d .-selectmode]..==."multiple"}.{.
176e0 09 69 66 20 5b 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 24 65 6c 5d 20 .if.[$w.selection.includes.$el].
17700 7b 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 24 65 6c 0d 09 7d {......$w.selection.clear.$el..}
17720 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 24 65 .else.{......$w.selection.set.$e
17740 6c 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 l..}.....}.else.{..$w.selection.
17760 63 6c 65 61 72 20 30 20 65 6e 64 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 24 65 clear.0.end..$w.selection.set.$e
17780 6c 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e 63 68 6f 72 20 24 65 6c 0d 09 73 65 74 20 l..$w.selection.anchor.$el..set.
177a0 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 53 65 6c 65 63 74 69 6f 6e 29 20 7b 7d 0d 09 73 65 74 tkPriv(listboxSelection).{}..set
177c0 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 50 72 65 76 29 20 24 65 6c 0d 20 20 20 20 7d 0d 7d .tkPriv(listboxPrev).$el.....}.}
177e0 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 4d 6f 74 69 6f 6e 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 ..#.tkListboxMotion.--.#.#.This.
17800 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 74 6f 20 70 72 6f 63 65 73 73 20 6d procedure.is.called.to.process.m
17820 6f 75 73 65 20 6d 6f 74 69 6f 6e 20 65 76 65 6e 74 73 20 77 68 69 6c 65 0d 23 20 62 75 74 74 6f ouse.motion.events.while.#.butto
17840 6e 20 31 20 69 73 20 64 6f 77 6e 2e 20 20 49 74 20 6d 61 79 20 6d 6f 76 65 20 6f 72 20 65 78 74 n.1.is.down...It.may.move.or.ext
17860 65 6e 64 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 2c 20 64 65 70 65 6e 64 69 6e 67 0d 23 20 6f end.the.selection,.depending.#.o
17880 6e 20 74 68 65 20 6c 69 73 74 62 6f 78 27 73 20 73 65 6c 65 63 74 69 6f 6e 20 6d 6f 64 65 2e 0d n.the.listbox's.selection.mode..
178a0 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f #.#.Arguments:.#.w.-..The.listbo
178c0 78 20 77 69 64 67 65 74 2e 0d 23 20 65 6c 20 2d 09 09 54 68 65 20 65 6c 65 6d 65 6e 74 20 75 6e x.widget..#.el.-..The.element.un
178e0 64 65 72 20 74 68 65 20 70 6f 69 6e 74 65 72 20 28 6d 75 73 74 20 62 65 20 61 20 6e 75 6d 62 65 der.the.pointer.(must.be.a.numbe
17900 72 29 2e 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 4d 6f 74 69 6f 6e 20 7b 77 20 65 6c 7d r)...proc.tkListboxMotion.{w.el}
17920 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 24 65 6c .{.....global.tkPriv.....if.{$el
17940 20 3d 3d 20 24 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 50 72 65 76 29 7d 20 7b 0d 09 72 65 74 .==.$tkPriv(listboxPrev)}.{..ret
17960 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 61 6e 63 68 6f 72 20 5b 24 77 20 69 6e 64 urn.....}.....set.anchor.[$w.ind
17980 65 78 20 61 6e 63 68 6f 72 5d 0d 20 20 20 20 73 77 69 74 63 68 20 5b 24 77 20 63 67 65 74 20 2d ex.anchor].....switch.[$w.cget.-
179a0 73 65 6c 65 63 74 6d 6f 64 65 5d 20 7b 0d 09 62 72 6f 77 73 65 20 7b 0d 09 20 20 20 20 24 77 20 selectmode].{..browse.{......$w.
179c0 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 30 20 65 6e 64 0d 09 20 20 20 20 24 77 20 73 65 selection.clear.0.end......$w.se
179e0 6c 65 63 74 69 6f 6e 20 73 65 74 20 24 65 6c 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 lection.set.$el......set.tkPriv(
17a00 6c 69 73 74 62 6f 78 50 72 65 76 29 20 24 65 6c 0d 09 7d 0d 09 65 78 74 65 6e 64 65 64 20 7b 0d listboxPrev).$el..}..extended.{.
17a20 09 20 20 20 20 73 65 74 20 69 20 24 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 50 72 65 76 29 0d .....set.i.$tkPriv(listboxPrev).
17a40 09 20 20 20 20 69 66 20 5b 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 61 .....if.[$w.selection.includes.a
17a60 6e 63 68 6f 72 5d 20 7b 0d 09 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 24 69 nchor].{...$w.selection.clear.$i
17a80 20 24 65 6c 0d 09 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 61 6e 63 68 6f 72 20 24 .$el...$w.selection.set.anchor.$
17aa0 65 6c 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 el......}.else.{...$w.selection.
17ac0 63 6c 65 61 72 20 24 69 20 24 65 6c 0d 09 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 clear.$i.$el...$w.selection.clea
17ae0 72 20 61 6e 63 68 6f 72 20 24 65 6c 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 77 68 69 6c 65 20 7b r.anchor.$el......}......while.{
17b00 28 24 69 20 3c 20 24 65 6c 29 20 26 26 20 28 24 69 20 3c 20 24 61 6e 63 68 6f 72 29 7d 20 7b 0d ($i.<.$el).&&.($i.<.$anchor)}.{.
17b20 09 09 69 66 20 7b 5b 6c 73 65 61 72 63 68 20 24 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 53 65 ..if.{[lsearch.$tkPriv(listboxSe
17b40 6c 65 63 74 69 6f 6e 29 20 24 69 5d 20 3e 3d 20 30 7d 20 7b 0d 09 09 20 20 20 20 24 77 20 73 65 lection).$i].>=.0}.{.......$w.se
17b60 6c 65 63 74 69 6f 6e 20 73 65 74 20 24 69 0d 09 09 7d 0d 09 09 69 6e 63 72 20 69 0d 09 20 20 20 lection.set.$i...}...incr.i.....
17b80 20 7d 0d 09 20 20 20 20 77 68 69 6c 65 20 7b 28 24 69 20 3e 20 24 65 6c 29 20 26 26 20 28 24 69 .}......while.{($i.>.$el).&&.($i
17ba0 20 3e 20 24 61 6e 63 68 6f 72 29 7d 20 7b 0d 09 09 69 66 20 7b 5b 6c 73 65 61 72 63 68 20 24 74 .>.$anchor)}.{...if.{[lsearch.$t
17bc0 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 53 65 6c 65 63 74 69 6f 6e 29 20 24 69 5d 20 3e 3d 20 30 kPriv(listboxSelection).$i].>=.0
17be0 7d 20 7b 0d 09 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 24 69 0d 09 09 }.{.......$w.selection.set.$i...
17c00 7d 0d 09 09 69 6e 63 72 20 69 20 2d 31 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 73 65 74 20 74 6b }...incr.i.-1......}......set.tk
17c20 50 72 69 76 28 6c 69 73 74 62 6f 78 50 72 65 76 29 20 24 65 6c 0d 09 7d 0d 20 20 20 20 7d 0d 7d Priv(listboxPrev).$el..}.....}.}
17c40 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 45 78 74 65 6e 64 20 2d 2d 0d 23 0d 23 20 ..#.tkListboxBeginExtend.--.#.#.
17c60 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 69 6e 76 6f This.procedure.is.typically.invo
17c80 6b 65 64 20 6f 6e 20 73 68 69 66 74 2d 62 75 74 74 6f 6e 2d 31 20 70 72 65 73 73 65 73 2e 20 20 ked.on.shift-button-1.presses...
17ca0 49 74 0d 23 20 62 65 67 69 6e 73 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 65 78 74 65 6e It.#.begins.the.process.of.exten
17cc0 64 69 6e 67 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 6c 69 73 74 62 6f 78 2e ding.a.selection.in.the.listbox.
17ce0 20 20 49 74 73 0d 23 20 65 78 61 63 74 20 62 65 68 61 76 69 6f 72 20 64 65 70 65 6e 64 73 20 6f ..Its.#.exact.behavior.depends.o
17d00 6e 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 6d 6f 64 65 20 63 75 72 72 65 6e 74 6c 79 20 69 n.the.selection.mode.currently.i
17d20 6e 20 65 66 66 65 63 74 0d 23 20 66 6f 72 20 74 68 65 20 6c 69 73 74 62 6f 78 3b 20 20 73 65 65 n.effect.#.for.the.listbox;..see
17d40 20 74 68 65 20 4d 6f 74 69 66 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 64 65 74 .the.Motif.documentation.for.det
17d60 61 69 6c 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 ails..#.#.Arguments:.#.w.-..The.
17d80 6c 69 73 74 62 6f 78 20 77 69 64 67 65 74 2e 0d 23 20 65 6c 20 2d 09 09 54 68 65 20 65 6c 65 6d listbox.widget..#.el.-..The.elem
17da0 65 6e 74 20 66 6f 72 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 ent.for.the.selection.operation.
17dc0 28 74 79 70 69 63 61 6c 6c 79 20 74 68 65 0d 23 09 09 6f 6e 65 20 75 6e 64 65 72 20 74 68 65 20 (typically.the.#..one.under.the.
17de0 70 6f 69 6e 74 65 72 29 2e 20 20 4d 75 73 74 20 62 65 20 69 6e 20 6e 75 6d 65 72 69 63 61 6c 20 pointer)...Must.be.in.numerical.
17e00 66 6f 72 6d 2e 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 45 78 74 65 6e 64 form...proc.tkListboxBeginExtend
17e20 20 7b 77 20 65 6c 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 65 6c 65 .{w.el}.{.....if.{[$w.cget.-sele
17e40 63 74 6d 6f 64 65 5d 20 3d 3d 20 22 65 78 74 65 6e 64 65 64 22 7d 20 7b 0d 09 69 66 20 7b 5b 24 ctmode].==."extended"}.{..if.{[$
17e60 77 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 61 6e 63 68 6f 72 5d 7d 20 7b 0d w.selection.includes.anchor]}.{.
17e80 09 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 4d 6f 74 69 6f 6e 20 24 77 20 24 65 6c 0d 09 7d 20 65 .....tkListboxMotion.$w.$el..}.e
17ea0 6c 73 65 20 7b 0d 09 20 20 20 20 23 20 4e 6f 20 73 65 6c 65 63 74 69 6f 6e 20 79 65 74 3b 20 73 lse.{......#.No.selection.yet;.s
17ec0 69 6d 75 6c 61 74 65 20 74 68 65 20 62 65 67 69 6e 2d 73 65 6c 65 63 74 20 6f 70 65 72 61 74 69 imulate.the.begin-select.operati
17ee0 6f 6e 2e 0d 0d 09 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 53 65 6c 65 63 74 20 24 on........tkListboxBeginSelect.$
17f00 77 20 24 65 6c 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 w.$el..}.....}.}..#.tkListboxBeg
17f20 69 6e 54 6f 67 67 6c 65 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 inToggle.--.#.#.This.procedure.i
17f40 73 20 74 79 70 69 63 61 6c 6c 79 20 69 6e 76 6f 6b 65 64 20 6f 6e 20 63 6f 6e 74 72 6f 6c 2d 62 s.typically.invoked.on.control-b
17f60 75 74 74 6f 6e 2d 31 20 70 72 65 73 73 65 73 2e 20 20 49 74 0d 23 20 62 65 67 69 6e 73 20 74 68 utton-1.presses...It.#.begins.th
17f80 65 20 70 72 6f 63 65 73 73 20 6f 66 20 74 6f 67 67 6c 69 6e 67 20 61 20 73 65 6c 65 63 74 69 6f e.process.of.toggling.a.selectio
17fa0 6e 20 69 6e 20 74 68 65 20 6c 69 73 74 62 6f 78 2e 20 20 49 74 73 0d 23 20 65 78 61 63 74 20 62 n.in.the.listbox...Its.#.exact.b
17fc0 65 68 61 76 69 6f 72 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e ehavior.depends.on.the.selection
17fe0 20 6d 6f 64 65 20 63 75 72 72 65 6e 74 6c 79 20 69 6e 20 65 66 66 65 63 74 0d 23 20 66 6f 72 20 .mode.currently.in.effect.#.for.
18000 74 68 65 20 6c 69 73 74 62 6f 78 3b 20 20 73 65 65 20 74 68 65 20 4d 6f 74 69 66 20 64 6f 63 75 the.listbox;..see.the.Motif.docu
18020 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0d 23 0d 23 20 41 72 67 75 6d mentation.for.details..#.#.Argum
18040 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f 78 20 77 69 64 67 65 74 2e ents:.#.w.-..The.listbox.widget.
18060 0d 23 20 65 6c 20 2d 09 09 54 68 65 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 74 68 65 20 73 65 6c .#.el.-..The.element.for.the.sel
18080 65 63 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 28 74 79 70 69 63 61 6c 6c 79 20 74 68 65 0d ection.operation.(typically.the.
180a0 23 09 09 6f 6e 65 20 75 6e 64 65 72 20 74 68 65 20 70 6f 69 6e 74 65 72 29 2e 20 20 4d 75 73 74 #..one.under.the.pointer)...Must
180c0 20 62 65 20 69 6e 20 6e 75 6d 65 72 69 63 61 6c 20 66 6f 72 6d 2e 0d 0d 70 72 6f 63 20 74 6b 4c .be.in.numerical.form...proc.tkL
180e0 69 73 74 62 6f 78 42 65 67 69 6e 54 6f 67 67 6c 65 20 7b 77 20 65 6c 7d 20 7b 0d 20 20 20 20 67 istboxBeginToggle.{w.el}.{.....g
18100 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 lobal.tkPriv.....if.{[$w.cget.-s
18120 65 6c 65 63 74 6d 6f 64 65 5d 20 3d 3d 20 22 65 78 74 65 6e 64 65 64 22 7d 20 7b 0d 09 73 65 74 electmode].==."extended"}.{..set
18140 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 53 65 6c 65 63 74 69 6f 6e 29 20 5b 24 77 20 63 75 .tkPriv(listboxSelection).[$w.cu
18160 72 73 65 6c 65 63 74 69 6f 6e 5d 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 50 rselection]..set.tkPriv(listboxP
18180 72 65 76 29 20 24 65 6c 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e 63 68 6f 72 20 24 65 rev).$el..$w.selection.anchor.$e
181a0 6c 0d 09 69 66 20 5b 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 24 65 6c l..if.[$w.selection.includes.$el
181c0 5d 20 7b 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 24 65 6c 0d ].{......$w.selection.clear.$el.
181e0 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 .}.else.{......$w.selection.set.
18200 24 65 6c 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 41 75 74 6f 53 $el..}.....}.}..#.tkListboxAutoS
18220 63 61 6e 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b can.--.#.This.procedure.is.invok
18240 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 6c 65 61 76 65 73 20 61 6e 20 65 6e 74 72 ed.when.the.mouse.leaves.an.entr
18260 79 20 77 69 6e 64 6f 77 0d 23 20 77 69 74 68 20 62 75 74 74 6f 6e 20 31 20 64 6f 77 6e 2e 20 20 y.window.#.with.button.1.down...
18280 49 74 20 73 63 72 6f 6c 6c 73 20 74 68 65 20 77 69 6e 64 6f 77 20 75 70 2c 20 64 6f 77 6e 2c 20 It.scrolls.the.window.up,.down,.
182a0 6c 65 66 74 2c 20 6f 72 0d 23 20 72 69 67 68 74 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 left,.or.#.right,.depending.on.w
182c0 68 65 72 65 20 74 68 65 20 6d 6f 75 73 65 20 6c 65 66 74 20 74 68 65 20 77 69 6e 64 6f 77 2c 20 here.the.mouse.left.the.window,.
182e0 61 6e 64 20 72 65 73 63 68 65 64 75 6c 65 73 0d 23 20 69 74 73 65 6c 66 20 61 73 20 61 6e 20 22 and.reschedules.#.itself.as.an."
18300 61 66 74 65 72 22 20 63 6f 6d 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 74 68 65 20 77 69 6e 64 6f after".command.so.that.the.windo
18320 77 20 63 6f 6e 74 69 6e 75 65 73 20 74 6f 20 73 63 72 6f 6c 6c 20 75 6e 74 69 6c 0d 23 20 74 68 w.continues.to.scroll.until.#.th
18340 65 20 6d 6f 75 73 65 20 6d 6f 76 65 73 20 62 61 63 6b 20 69 6e 74 6f 20 74 68 65 20 77 69 6e 64 e.mouse.moves.back.into.the.wind
18360 6f 77 20 6f 72 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 72 65 6c 65 61 73 ow.or.the.mouse.button.is.releas
18380 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e ed..#.#.Arguments:.#.w.-..The.en
183a0 74 72 79 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 41 75 74 6f 53 try.window...proc.tkListboxAutoS
183c0 63 61 6e 20 7b 77 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 can.{w}.{.....global.tkPriv.....
183e0 69 66 20 7b 21 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 24 77 5d 7d 20 72 65 74 75 72 6e 0d 20 if.{![winfo.exists.$w]}.return..
18400 20 20 20 73 65 74 20 78 20 24 74 6b 50 72 69 76 28 78 29 0d 20 20 20 20 73 65 74 20 79 20 24 74 ...set.x.$tkPriv(x).....set.y.$t
18420 6b 50 72 69 76 28 79 29 0d 20 20 20 20 69 66 20 7b 24 79 20 3e 3d 20 5b 77 69 6e 66 6f 20 68 65 kPriv(y).....if.{$y.>=.[winfo.he
18440 69 67 68 74 20 24 77 5d 7d 20 7b 0d 09 24 77 20 79 76 69 65 77 20 73 63 72 6f 6c 6c 20 31 20 75 ight.$w]}.{..$w.yview.scroll.1.u
18460 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 79 20 3c 20 30 7d 20 7b 0d 09 24 77 nits.....}.elseif.{$y.<.0}.{..$w
18480 20 79 76 69 65 77 20 73 63 72 6f 6c 6c 20 2d 31 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 .yview.scroll.-1.units.....}.els
184a0 65 69 66 20 7b 24 78 20 3e 3d 20 5b 77 69 6e 66 6f 20 77 69 64 74 68 20 24 77 5d 7d 20 7b 0d 09 eif.{$x.>=.[winfo.width.$w]}.{..
184c0 24 77 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 32 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c $w.xview.scroll.2.units.....}.el
184e0 73 65 69 66 20 7b 24 78 20 3c 20 30 7d 20 7b 0d 09 24 77 20 78 76 69 65 77 20 73 63 72 6f 6c 6c seif.{$x.<.0}.{..$w.xview.scroll
18500 20 2d 32 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 72 65 74 75 72 6e 0d 20 .-2.units.....}.else.{..return..
18520 20 20 20 7d 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 4d 6f 74 69 6f 6e 20 24 77 20 5b 24 77 20 ...}.....tkListboxMotion.$w.[$w.
18540 69 6e 64 65 78 20 40 24 78 2c 24 79 5d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 61 66 74 index.@$x,$y].....set.tkPriv(aft
18560 65 72 49 64 29 20 5b 61 66 74 65 72 20 35 30 20 74 6b 4c 69 73 74 62 6f 78 41 75 74 6f 53 63 61 erId).[after.50.tkListboxAutoSca
18580 6e 20 24 77 5d 0d 7d 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 55 70 44 6f 77 6e 20 2d 2d 0d 23 0d n.$w].}..#.tkListboxUpDown.--.#.
185a0 23 20 4d 6f 76 65 73 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 63 75 72 73 6f 72 20 28 61 63 74 #.Moves.the.location.cursor.(act
185c0 69 76 65 20 65 6c 65 6d 65 6e 74 29 20 75 70 20 6f 72 20 64 6f 77 6e 20 62 79 20 6f 6e 65 20 65 ive.element).up.or.down.by.one.e
185e0 6c 65 6d 65 6e 74 2c 0d 23 20 61 6e 64 20 63 68 61 6e 67 65 73 20 74 68 65 20 73 65 6c 65 63 74 lement,.#.and.changes.the.select
18600 69 6f 6e 20 69 66 20 77 65 27 72 65 20 69 6e 20 62 72 6f 77 73 65 20 6f 72 20 65 78 74 65 6e 64 ion.if.we're.in.browse.or.extend
18620 65 64 20 73 65 6c 65 63 74 69 6f 6e 0d 23 20 6d 6f 64 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e ed.selection.#.mode..#.#.Argumen
18640 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f 78 20 77 69 64 67 65 74 2e 0d 23 ts:.#.w.-..The.listbox.widget..#
18660 20 61 6d 6f 75 6e 74 20 2d 09 2b 31 20 74 6f 20 6d 6f 76 65 20 64 6f 77 6e 20 6f 6e 65 20 69 74 .amount.-.+1.to.move.down.one.it
18680 65 6d 2c 20 2d 31 20 74 6f 20 6d 6f 76 65 20 62 61 63 6b 20 6f 6e 65 20 69 74 65 6d 2e 0d 0d 70 em,.-1.to.move.back.one.item...p
186a0 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 55 70 44 6f 77 6e 20 7b 77 20 61 6d 6f 75 6e 74 7d 20 7b roc.tkListboxUpDown.{w.amount}.{
186c0 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 24 77 20 61 63 74 69 76 61 .....global.tkPriv.....$w.activa
186e0 74 65 20 5b 65 78 70 72 20 5b 24 77 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 20 2b 20 24 61 6d te.[expr.[$w.index.active].+.$am
18700 6f 75 6e 74 5d 0d 20 20 20 20 24 77 20 73 65 65 20 61 63 74 69 76 65 0d 20 20 20 20 73 77 69 74 ount].....$w.see.active.....swit
18720 63 68 20 5b 24 77 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f 64 65 5d 20 7b 0d 09 62 72 6f 77 ch.[$w.cget.-selectmode].{..brow
18740 73 65 20 7b 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 30 20 65 se.{......$w.selection.clear.0.e
18760 6e 64 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 61 63 74 69 76 65 0d nd......$w.selection.set.active.
18780 09 7d 0d 09 65 78 74 65 6e 64 65 64 20 7b 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e .}..extended.{......$w.selection
187a0 20 63 6c 65 61 72 20 30 20 65 6e 64 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 .clear.0.end......$w.selection.s
187c0 65 74 20 61 63 74 69 76 65 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e 63 68 et.active......$w.selection.anch
187e0 6f 72 20 61 63 74 69 76 65 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f or.active......set.tkPriv(listbo
18800 78 50 72 65 76 29 20 5b 24 77 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d 09 20 20 20 20 73 65 xPrev).[$w.index.active]......se
18820 74 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 53 65 6c 65 63 74 69 6f 6e 29 20 7b 7d 0d 09 7d t.tkPriv(listboxSelection).{}..}
18840 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 45 78 74 65 6e 64 55 70 44 6f 77 .....}.}..#.tkListboxExtendUpDow
18860 6e 20 2d 2d 0d 23 0d 23 20 44 6f 65 73 20 6e 6f 74 68 69 6e 67 20 75 6e 6c 65 73 73 20 77 65 27 n.--.#.#.Does.nothing.unless.we'
18880 72 65 20 69 6e 20 65 78 74 65 6e 64 65 64 20 73 65 6c 65 63 74 69 6f 6e 20 6d 6f 64 65 3b 20 20 re.in.extended.selection.mode;..
188a0 69 6e 20 74 68 69 73 0d 23 20 63 61 73 65 20 69 74 20 6d 6f 76 65 73 20 74 68 65 20 6c 6f 63 61 in.this.#.case.it.moves.the.loca
188c0 74 69 6f 6e 20 63 75 72 73 6f 72 20 28 61 63 74 69 76 65 20 65 6c 65 6d 65 6e 74 29 20 75 70 20 tion.cursor.(active.element).up.
188e0 6f 72 20 64 6f 77 6e 20 62 79 0d 23 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 65 78 or.down.by.#.one.element,.and.ex
18900 74 65 6e 64 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 74 6f 20 74 68 61 74 20 70 6f 69 6e tends.the.selection.to.that.poin
18920 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 t..#.#.Arguments:.#.w.-..The.lis
18940 74 62 6f 78 20 77 69 64 67 65 74 2e 0d 23 20 61 6d 6f 75 6e 74 20 2d 09 2b 31 20 74 6f 20 6d 6f tbox.widget..#.amount.-.+1.to.mo
18960 76 65 20 64 6f 77 6e 20 6f 6e 65 20 69 74 65 6d 2c 20 2d 31 20 74 6f 20 6d 6f 76 65 20 62 61 63 ve.down.one.item,.-1.to.move.bac
18980 6b 20 6f 6e 65 20 69 74 65 6d 2e 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 45 78 74 65 6e k.one.item...proc.tkListboxExten
189a0 64 55 70 44 6f 77 6e 20 7b 77 20 61 6d 6f 75 6e 74 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 24 77 dUpDown.{w.amount}.{.....if.{[$w
189c0 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f 64 65 5d 20 21 3d 20 22 65 78 74 65 6e 64 65 64 22 .cget.-selectmode].!=."extended"
189e0 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 61 63 74 69 76 61 74 }.{..return.....}.....$w.activat
18a00 65 20 5b 65 78 70 72 20 5b 24 77 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 20 2b 20 24 61 6d 6f e.[expr.[$w.index.active].+.$amo
18a20 75 6e 74 5d 0d 20 20 20 20 24 77 20 73 65 65 20 61 63 74 69 76 65 0d 20 20 20 20 74 6b 4c 69 73 unt].....$w.see.active.....tkLis
18a40 74 62 6f 78 4d 6f 74 69 6f 6e 20 24 77 20 5b 24 77 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d tboxMotion.$w.[$w.index.active].
18a60 7d 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 44 61 74 61 45 78 74 65 6e 64 0d 23 0d 23 20 54 68 69 }..#.tkListboxDataExtend.#.#.Thi
18a80 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 66 6f 72 20 6b 65 79 2d 70 72 s.procedure.is.called.for.key-pr
18aa0 65 73 73 65 73 20 73 75 63 68 20 61 73 20 53 68 69 66 74 2d 4b 45 6e 64 44 61 74 61 2e 0d 23 20 esses.such.as.Shift-KEndData..#.
18ac0 49 66 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 6d 6f 64 65 20 69 73 6e 27 74 20 6d 75 6c 74 If.the.selection.mode.isn't.mult
18ae0 69 70 6c 65 20 6f 72 20 65 78 74 65 6e 64 20 74 68 65 6e 20 69 74 20 64 6f 65 73 20 6e 6f 74 68 iple.or.extend.then.it.does.noth
18b00 69 6e 67 2e 0d 23 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 6d 6f 76 65 73 20 74 68 65 20 61 63 ing..#.Otherwise.it.moves.the.ac
18b20 74 69 76 65 20 65 6c 65 6d 65 6e 74 20 74 6f 20 65 6c 20 61 6e 64 2c 20 69 66 20 77 65 27 72 65 tive.element.to.el.and,.if.we're
18b40 20 69 6e 0d 23 20 65 78 74 65 6e 64 65 64 20 6d 6f 64 65 2c 20 65 78 74 65 6e 64 73 20 74 68 65 .in.#.extended.mode,.extends.the
18b60 20 73 65 6c 65 63 74 69 6f 6e 20 74 6f 20 74 68 61 74 20 70 6f 69 6e 74 2e 0d 23 0d 23 20 41 72 .selection.to.that.point..#.#.Ar
18b80 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f 78 20 77 69 64 67 guments:.#.w.-..The.listbox.widg
18ba0 65 74 2e 0d 23 20 65 6c 20 2d 09 09 41 6e 20 69 6e 74 65 67 65 72 20 65 6c 65 6d 65 6e 74 20 6e et..#.el.-..An.integer.element.n
18bc0 75 6d 62 65 72 2e 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 44 61 74 61 45 78 74 65 6e 64 umber...proc.tkListboxDataExtend
18be0 20 7b 77 20 65 6c 7d 20 7b 0d 20 20 20 20 73 65 74 20 6d 6f 64 65 20 5b 24 77 20 63 67 65 74 20 .{w.el}.{.....set.mode.[$w.cget.
18c00 2d 73 65 6c 65 63 74 6d 6f 64 65 5d 0d 20 20 20 20 69 66 20 7b 24 6d 6f 64 65 20 3d 3d 20 22 65 -selectmode].....if.{$mode.==."e
18c20 78 74 65 6e 64 65 64 22 7d 20 7b 0d 09 24 77 20 61 63 74 69 76 61 74 65 20 24 65 6c 0d 09 24 77 xtended"}.{..$w.activate.$el..$w
18c40 20 73 65 65 20 24 65 6c 0d 20 20 20 20 20 20 20 20 69 66 20 5b 24 77 20 73 65 6c 65 63 74 69 6f .see.$el.........if.[$w.selectio
18c60 6e 20 69 6e 63 6c 75 64 65 73 20 61 6e 63 68 6f 72 5d 20 7b 0d 09 20 20 20 20 74 6b 4c 69 73 74 n.includes.anchor].{......tkList
18c80 62 6f 78 4d 6f 74 69 6f 6e 20 24 77 20 24 65 6c 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 boxMotion.$w.$el..}.....}.elseif
18ca0 20 7b 24 6d 6f 64 65 20 3d 3d 20 22 6d 75 6c 74 69 70 6c 65 22 7d 20 7b 0d 09 24 77 20 61 63 74 .{$mode.==."multiple"}.{..$w.act
18cc0 69 76 61 74 65 20 24 65 6c 0d 09 24 77 20 73 65 65 20 24 65 6c 0d 20 20 20 20 7d 0d 7d 0d 0d 23 ivate.$el..$w.see.$el.....}.}..#
18ce0 20 74 6b 4c 69 73 74 62 6f 78 43 61 6e 63 65 6c 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 .tkListboxCancel.#.#.This.proced
18d00 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 63 61 6e 63 65 6c 20 61 6e 20 65 78 74 65 ure.is.invoked.to.cancel.an.exte
18d20 6e 64 65 64 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 0d 23 20 70 72 6f 67 72 65 73 73 2e 20 20 49 nded.selection.in.#.progress...I
18d40 66 20 74 68 65 72 65 20 69 73 20 61 6e 20 65 78 74 65 6e 64 65 64 20 73 65 6c 65 63 74 69 6f 6e f.there.is.an.extended.selection
18d60 20 69 6e 20 70 72 6f 67 72 65 73 73 2c 20 69 74 0d 23 20 72 65 73 74 6f 72 65 73 20 61 6c 6c 20 .in.progress,.it.#.restores.all.
18d80 6f 66 20 74 68 65 20 69 74 65 6d 73 20 62 65 74 77 65 65 6e 20 74 68 65 20 61 63 74 69 76 65 20 of.the.items.between.the.active.
18da0 6f 6e 65 20 61 6e 64 20 74 68 65 20 61 6e 63 68 6f 72 0d 23 20 74 6f 20 74 68 65 69 72 20 70 72 one.and.the.anchor.#.to.their.pr
18dc0 65 76 69 6f 75 73 20 73 65 6c 65 63 74 69 6f 6e 20 73 74 61 74 65 2e 0d 23 0d 23 20 41 72 67 75 evious.selection.state..#.#.Argu
18de0 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f 78 20 77 69 64 67 65 74 ments:.#.w.-..The.listbox.widget
18e00 2e 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 43 61 6e 63 65 6c 20 77 20 7b 0d 20 20 20 20 ...proc.tkListboxCancel.w.{.....
18e20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d global.tkPriv.....if.{[$w.cget.-
18e40 73 65 6c 65 63 74 6d 6f 64 65 5d 20 21 3d 20 22 65 78 74 65 6e 64 65 64 22 7d 20 7b 0d 09 72 65 selectmode].!=."extended"}.{..re
18e60 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 66 69 72 73 74 20 5b 24 77 20 69 6e 64 turn.....}.....set.first.[$w.ind
18e80 65 78 20 61 6e 63 68 6f 72 5d 0d 20 20 20 20 73 65 74 20 6c 61 73 74 20 24 74 6b 50 72 69 76 28 ex.anchor].....set.last.$tkPriv(
18ea0 6c 69 73 74 62 6f 78 50 72 65 76 29 0d 20 20 20 20 69 66 20 7b 24 66 69 72 73 74 20 3e 20 24 6c listboxPrev).....if.{$first.>.$l
18ec0 61 73 74 7d 20 7b 0d 09 73 65 74 20 74 6d 70 20 24 66 69 72 73 74 0d 09 73 65 74 20 66 69 72 73 ast}.{..set.tmp.$first..set.firs
18ee0 74 20 24 6c 61 73 74 0d 09 73 65 74 20 6c 61 73 74 20 24 74 6d 70 0d 20 20 20 20 7d 0d 20 20 20 t.$last..set.last.$tmp.....}....
18f00 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 24 66 69 72 73 74 20 24 6c 61 73 74 .$w.selection.clear.$first.$last
18f20 0d 20 20 20 20 77 68 69 6c 65 20 7b 24 66 69 72 73 74 20 3c 3d 20 24 6c 61 73 74 7d 20 7b 0d 09 .....while.{$first.<=.$last}.{..
18f40 69 66 20 7b 5b 6c 73 65 61 72 63 68 20 24 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 53 65 6c 65 if.{[lsearch.$tkPriv(listboxSele
18f60 63 74 69 6f 6e 29 20 24 66 69 72 73 74 5d 20 3e 3d 20 30 7d 20 7b 0d 09 20 20 20 20 24 77 20 73 ction).$first].>=.0}.{......$w.s
18f80 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 24 66 69 72 73 74 0d 09 7d 0d 09 69 6e 63 72 20 66 69 72 election.set.$first..}..incr.fir
18fa0 73 74 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 53 65 6c 65 63 74 41 6c 6c st.....}.}..#.tkListboxSelectAll
18fc0 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 .#.#.This.procedure.is.invoked.t
18fe0 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 22 73 65 6c 65 63 74 20 61 6c 6c 22 20 6f 70 65 72 61 74 o.handle.the."select.all".operat
19000 69 6f 6e 2e 0d 23 20 46 6f 72 20 73 69 6e 67 6c 65 20 61 6e 64 20 62 72 6f 77 73 65 20 6d 6f 64 ion..#.For.single.and.browse.mod
19020 65 2c 20 69 74 20 6a 75 73 74 20 73 65 6c 65 63 74 73 20 74 68 65 20 61 63 74 69 76 65 20 65 6c e,.it.just.selects.the.active.el
19040 65 6d 65 6e 74 2e 0d 23 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 73 65 6c 65 63 74 73 20 65 76 ement..#.Otherwise.it.selects.ev
19060 65 72 79 74 68 69 6e 67 20 69 6e 20 74 68 65 20 77 69 64 67 65 74 2e 0d 23 0d 23 20 41 72 67 75 erything.in.the.widget..#.#.Argu
19080 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f 78 20 77 69 64 67 65 74 ments:.#.w.-..The.listbox.widget
190a0 2e 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 53 65 6c 65 63 74 41 6c 6c 20 77 20 7b 0d 20 ...proc.tkListboxSelectAll.w.{..
190c0 20 20 20 73 65 74 20 6d 6f 64 65 20 5b 24 77 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f 64 65 ...set.mode.[$w.cget.-selectmode
190e0 5d 0d 20 20 20 20 69 66 20 7b 28 24 6d 6f 64 65 20 3d 3d 20 22 73 69 6e 67 6c 65 22 29 20 7c 7c ].....if.{($mode.==."single").||
19100 20 28 24 6d 6f 64 65 20 3d 3d 20 22 62 72 6f 77 73 65 22 29 7d 20 7b 0d 09 24 77 20 73 65 6c 65 .($mode.==."browse")}.{..$w.sele
19120 63 74 69 6f 6e 20 63 6c 65 61 72 20 30 20 65 6e 64 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 ction.clear.0.end..$w.selection.
19140 73 65 74 20 61 63 74 69 76 65 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 24 77 20 73 65 6c 65 set.active.....}.else.{..$w.sele
19160 63 74 69 6f 6e 20 73 65 74 20 30 20 65 6e 64 0d 20 20 20 20 7d 0d 7d 0d 00 00 83 9d 23 20 6d 65 ction.set.0.end.....}.}.....#.me
19180 6e 75 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 nu.tcl.--.#.#.This.file.defines.
191a0 74 68 65 20 64 65 66 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 54 6b 20 6d 65 6e 75 the.default.bindings.for.Tk.menu
191c0 73 20 61 6e 64 20 6d 65 6e 75 62 75 74 74 6f 6e 73 2e 0d 23 20 49 74 20 61 6c 73 6f 20 69 6d 70 s.and.menubuttons..#.It.also.imp
191e0 6c 65 6d 65 6e 74 73 20 6b 65 79 62 6f 61 72 64 20 74 72 61 76 65 72 73 61 6c 20 6f 66 20 6d 65 lements.keyboard.traversal.of.me
19200 6e 75 73 20 61 6e 64 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 66 65 77 0d 23 20 6f 74 68 65 72 nus.and.implements.a.few.#.other
19220 20 75 74 69 6c 69 74 79 20 70 72 6f 63 65 64 75 72 65 73 20 72 65 6c 61 74 65 64 20 74 6f 20 6d .utility.procedures.related.to.m
19240 65 6e 75 73 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 6d 65 6e 75 2e 74 63 6c 20 31 2e enus..#.#.SCCS:.@(#).menu.tcl.1.
19260 31 30 33 20 39 37 2f 31 30 2f 33 31 20 31 35 3a 32 36 3a 30 38 0d 23 0d 23 20 43 6f 70 79 72 69 103.97/10/31.15:26:08.#.#.Copyri
19280 67 68 74 20 28 63 29 20 31 39 39 32 2d 31 39 39 34 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 ght.(c).1992-1994.The.Regents.of
192a0 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 .the.University.of.California..#
192c0 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 37 20 53 75 6e 20 4d 69 63 .Copyright.(c).1994-1997.Sun.Mic
192e0 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 rosystems,.Inc..#.#.See.the.file
19300 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e ."license.terms".for.information
19320 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f .on.usage.and.redistribution.#.o
19340 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 f.this.file,.and.for.a.DISCLAIME
19360 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 2d 2d 2d 2d 2d 2d 2d R.OF.ALL.WARRANTIES..#..#-------
19380 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
193a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
193c0 2d 2d 0d 23 20 45 6c 65 6d 65 6e 74 73 20 6f 66 20 74 6b 50 72 69 76 20 74 68 61 74 20 61 72 65 --.#.Elements.of.tkPriv.that.are
193e0 20 75 73 65 64 20 69 6e 20 74 68 69 73 20 66 69 6c 65 3a 0d 23 0d 23 20 63 75 72 73 6f 72 20 2d .used.in.this.file:.#.#.cursor.-
19400 09 09 53 61 76 65 73 20 74 68 65 20 2d 63 75 72 73 6f 72 20 6f 70 74 69 6f 6e 20 66 6f 72 20 74 ..Saves.the.-cursor.option.for.t
19420 68 65 20 70 6f 73 74 65 64 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 20 66 6f 63 75 73 20 2d 09 he.posted.menubutton..#.focus.-.
19440 09 53 61 76 65 73 20 74 68 65 20 66 6f 63 75 73 20 64 75 72 69 6e 67 20 61 20 6d 65 6e 75 20 73 .Saves.the.focus.during.a.menu.s
19460 65 6c 65 63 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 2e 0d 23 09 09 09 46 6f 63 75 73 20 67 65 election.operation..#...Focus.ge
19480 74 73 20 72 65 73 74 6f 72 65 64 20 68 65 72 65 20 77 68 65 6e 20 74 68 65 20 6d 65 6e 75 20 69 ts.restored.here.when.the.menu.i
194a0 73 20 75 6e 70 6f 73 74 65 64 2e 0d 23 20 67 72 61 62 47 6c 6f 62 61 6c 20 2d 09 09 55 73 65 64 s.unposted..#.grabGlobal.-..Used
194c0 20 69 6e 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 6b 50 72 69 76 28 6f 6c 64 47 .in.conjunction.with.tkPriv(oldG
194e0 72 61 62 29 3a 20 20 69 66 0d 23 09 09 09 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 62 29 20 69 73 rab):..if.#...tkPriv(oldGrab).is
19500 20 6e 6f 6e 2d 65 6d 70 74 79 2c 20 74 68 65 6e 20 74 6b 50 72 69 76 28 67 72 61 62 47 6c 6f 62 .non-empty,.then.tkPriv(grabGlob
19520 61 6c 29 0d 23 09 09 09 63 6f 6e 74 61 69 6e 73 20 65 69 74 68 65 72 20 61 6e 20 65 6d 70 74 79 al).#...contains.either.an.empty
19540 20 73 74 72 69 6e 67 20 6f 72 20 22 2d 67 6c 6f 62 61 6c 22 20 74 6f 0d 23 09 09 09 69 6e 64 69 .string.or."-global".to.#...indi
19560 63 61 74 65 20 77 68 65 74 68 65 72 20 74 68 65 20 6f 6c 64 20 67 72 61 62 20 77 61 73 20 61 20 cate.whether.the.old.grab.was.a.
19580 6c 6f 63 61 6c 20 6f 6e 65 20 6f 72 0d 23 09 09 09 61 20 67 6c 6f 62 61 6c 20 6f 6e 65 2e 0d 23 local.one.or.#...a.global.one..#
195a0 20 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 20 2d 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 .inMenubutton.-.The.name.of.the.
195c0 6d 65 6e 75 62 75 74 74 6f 6e 20 77 69 64 67 65 74 20 63 6f 6e 74 61 69 6e 69 6e 67 0d 23 09 09 menubutton.widget.containing.#..
195e0 09 74 68 65 20 6d 6f 75 73 65 2c 20 6f 72 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 69 .the.mouse,.or.an.empty.string.i
19600 66 20 74 68 65 20 6d 6f 75 73 65 20 69 73 0d 23 09 09 09 6e 6f 74 20 6f 76 65 72 20 61 6e 79 20 f.the.mouse.is.#...not.over.any.
19620 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 20 6d 65 6e 75 42 61 72 20 2d 09 09 54 68 65 20 6e 61 6d menubutton..#.menuBar.-..The.nam
19640 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 62 61 72 20 74 68 61 74 20 69 73 20 74 68 65 20 72 6f 6f e.of.the.menubar.that.is.the.roo
19660 74 0d 23 09 09 09 6f 66 20 74 68 65 20 63 61 73 63 61 64 65 20 68 69 65 72 61 72 63 68 79 20 77 t.#...of.the.cascade.hierarchy.w
19680 68 69 63 68 20 69 73 20 63 75 72 72 65 6e 74 6c 79 0d 23 09 09 09 70 6f 73 74 65 64 2e 20 54 68 hich.is.currently.#...posted..Th
196a0 69 73 20 69 73 20 6e 75 6c 6c 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6d 65 6e 75 is.is.null.when.there.is.no.menu
196c0 20 63 75 72 72 65 6e 74 6c 79 0d 23 09 09 09 62 65 69 6e 67 20 70 75 6c 6c 65 64 20 64 6f 77 6e .currently.#...being.pulled.down
196e0 20 66 72 6f 6d 20 61 20 6d 65 6e 75 20 62 61 72 2e 0d 23 20 6f 6c 64 47 72 61 62 20 2d 09 09 57 .from.a.menu.bar..#.oldGrab.-..W
19700 69 6e 64 6f 77 20 74 68 61 74 20 68 61 64 20 74 68 65 20 67 72 61 62 20 62 65 66 6f 72 65 20 61 indow.that.had.the.grab.before.a
19720 20 6d 65 6e 75 20 77 61 73 20 70 6f 73 74 65 64 2e 0d 23 09 09 09 55 73 65 64 20 74 6f 20 72 65 .menu.was.posted..#...Used.to.re
19740 73 74 6f 72 65 20 74 68 65 20 67 72 61 62 20 73 74 61 74 65 20 61 66 74 65 72 20 74 68 65 20 6d store.the.grab.state.after.the.m
19760 65 6e 75 0d 23 09 09 09 69 73 20 75 6e 70 6f 73 74 65 64 2e 20 20 45 6d 70 74 79 20 73 74 72 69 enu.#...is.unposted...Empty.stri
19780 6e 67 20 6d 65 61 6e 73 20 74 68 65 72 65 20 77 61 73 20 6e 6f 0d 23 09 09 09 67 72 61 62 20 70 ng.means.there.was.no.#...grab.p
197a0 72 65 76 69 6f 75 73 6c 79 20 73 65 74 2e 0d 23 20 70 6f 70 75 70 20 2d 09 09 49 66 20 61 20 6d reviously.set..#.popup.-..If.a.m
197c0 65 6e 75 20 68 61 73 20 62 65 65 6e 20 70 6f 70 70 65 64 20 75 70 20 76 69 61 20 74 6b 5f 70 6f enu.has.been.popped.up.via.tk_po
197e0 70 75 70 2c 20 74 68 69 73 0d 23 09 09 09 67 69 76 65 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 pup,.this.#...gives.the.name.of.
19800 74 68 65 20 6d 65 6e 75 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 69 73 0d 23 09 09 09 76 61 the.menu...Otherwise.this.#...va
19820 6c 75 65 20 69 73 20 65 6d 70 74 79 2e 0d 23 20 70 6f 73 74 65 64 4d 62 20 2d 09 09 4e 61 6d 65 lue.is.empty..#.postedMb.-..Name
19840 20 6f 66 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 20 77 68 6f 73 65 20 6d 65 6e 75 20 69 73 .of.the.menubutton.whose.menu.is
19860 20 63 75 72 72 65 6e 74 6c 79 0d 23 09 09 09 70 6f 73 74 65 64 2c 20 6f 72 20 61 6e 20 65 6d 70 .currently.#...posted,.or.an.emp
19880 74 79 20 73 74 72 69 6e 67 20 69 66 20 6e 6f 74 68 69 6e 67 20 69 73 20 70 6f 73 74 65 64 0d 23 ty.string.if.nothing.is.posted.#
198a0 09 09 09 41 20 67 72 61 62 20 69 73 20 73 65 74 20 6f 6e 20 74 68 69 73 20 77 69 64 67 65 74 2e ...A.grab.is.set.on.this.widget.
198c0 0d 23 20 72 65 6c 69 65 66 20 2d 09 09 55 73 65 64 20 74 6f 20 73 61 76 65 20 74 68 65 20 6f 72 .#.relief.-..Used.to.save.the.or
198e0 69 67 69 6e 61 6c 20 72 65 6c 69 65 66 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 0d 23 09 09 iginal.relief.of.the.current.#..
19900 09 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 20 77 69 6e 64 6f 77 20 2d 09 09 57 68 65 6e 20 74 68 .menubutton..#.window.-..When.th
19920 65 20 6d 6f 75 73 65 20 69 73 20 6f 76 65 72 20 61 20 6d 65 6e 75 2c 20 74 68 69 73 20 68 6f 6c e.mouse.is.over.a.menu,.this.hol
19940 64 73 20 74 68 65 0d 23 09 09 09 6e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 3b 20 20 69 74 ds.the.#...name.of.the.menu;..it
19960 27 73 20 63 6c 65 61 72 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 0d 23 09 09 09 6c 65 's.cleared.when.the.mouse.#...le
19980 61 76 65 73 20 74 68 65 20 6d 65 6e 75 2e 0d 23 20 74 65 61 72 6f 66 66 20 2d 09 09 57 68 65 74 aves.the.menu..#.tearoff.-..Whet
199a0 68 65 72 20 74 68 65 20 6c 61 73 74 20 6d 65 6e 75 20 70 6f 73 74 65 64 20 77 61 73 20 61 20 74 her.the.last.menu.posted.was.a.t
199c0 65 61 72 6f 66 66 20 6f 72 20 6e 6f 74 2e 0d 23 09 09 09 54 68 69 73 20 69 73 20 74 72 75 65 20 earoff.or.not..#...This.is.true.
199e0 61 6c 77 61 79 73 20 66 6f 72 20 75 6e 69 78 2c 20 66 6f 72 20 74 65 61 72 6f 66 66 73 20 66 6f always.for.unix,.for.tearoffs.fo
19a00 72 20 4d 61 63 0d 23 09 09 09 61 6e 64 20 57 69 6e 64 6f 77 73 2e 0d 23 20 61 63 74 69 76 65 4d r.Mac.#...and.Windows..#.activeM
19a20 65 6e 75 20 2d 09 09 54 68 69 73 20 69 73 20 74 68 65 20 6c 61 73 74 20 61 63 74 69 76 65 20 6d enu.-..This.is.the.last.active.m
19a40 65 6e 75 20 66 6f 72 20 75 73 65 0d 23 09 09 09 77 69 74 68 20 74 68 65 20 3c 3c 4d 65 6e 75 53 enu.for.use.#...with.the.<<MenuS
19a60 65 6c 65 63 74 3e 3e 20 76 69 72 74 75 61 6c 20 65 76 65 6e 74 2e 0d 23 20 61 63 74 69 76 65 49 elect>>.virtual.event..#.activeI
19a80 74 65 6d 20 2d 09 09 54 68 69 73 20 69 73 20 74 68 65 20 6c 61 73 74 20 61 63 74 69 76 65 20 6d tem.-..This.is.the.last.active.m
19aa0 65 6e 75 20 69 74 65 6d 20 66 6f 72 0d 23 09 09 09 75 73 65 20 77 69 74 68 20 74 68 65 20 3c 3c enu.item.for.#...use.with.the.<<
19ac0 4d 65 6e 75 53 65 6c 65 63 74 3e 3e 20 76 69 72 74 75 61 6c 20 65 76 65 6e 74 2e 0d 23 2d 2d 2d MenuSelect>>.virtual.event..#---
19ae0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19b00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19b20 2d 2d 2d 2d 2d 2d 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ------..#-----------------------
19b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19b60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 4f 76 65 72 61 6c 6c 20 6e 6f 74 ------------------.#.Overall.not
19b80 65 3a 0d 23 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 74 72 69 63 6b 79 20 62 65 63 61 75 73 65 e:.#.This.file.is.tricky.because
19ba0 20 74 68 65 72 65 20 61 72 65 20 66 69 76 65 20 64 69 66 66 65 72 65 6e 74 20 77 61 79 73 20 74 .there.are.five.different.ways.t
19bc0 68 61 74 20 6d 65 6e 75 73 0d 23 20 63 61 6e 20 62 65 20 75 73 65 64 3a 0d 23 0d 23 20 31 2e 20 hat.menus.#.can.be.used:.#.#.1..
19be0 41 73 20 61 20 70 75 6c 6c 64 6f 77 6e 20 66 72 6f 6d 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 2e As.a.pulldown.from.a.menubutton.
19c00 20 49 6e 20 74 68 69 73 20 73 74 79 6c 65 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 0d 23 20 .In.this.style,.the.variable..#.
19c20 20 20 20 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 69 64 65 6e 74 69 66 69 65 73 20 74 ...tkPriv(postedMb).identifies.t
19c40 68 65 20 70 6f 73 74 65 64 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 20 32 2e 20 41 73 20 61 20 he.posted.menubutton..#.2..As.a.
19c60 74 6f 72 6e 2d 6f 66 66 20 6d 65 6e 75 20 63 6f 70 69 65 64 20 66 72 6f 6d 20 73 6f 6d 65 20 6f torn-off.menu.copied.from.some.o
19c80 74 68 65 72 20 6d 65 6e 75 2e 20 20 49 6e 20 74 68 69 73 20 73 74 79 6c 65 0d 23 20 20 20 20 74 ther.menu...In.this.style.#....t
19ca0 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 69 73 20 65 6d 70 74 79 2c 20 61 6e 64 20 6d 65 kPriv(postedMb).is.empty,.and.me
19cc0 6e 75 27 73 20 74 79 70 65 20 69 73 20 22 74 65 61 72 6f 66 66 22 2e 0d 23 20 33 2e 20 41 73 20 nu's.type.is."tearoff"..#.3..As.
19ce0 61 6e 20 6f 70 74 69 6f 6e 20 6d 65 6e 75 2c 20 74 72 69 67 67 65 72 65 64 20 66 72 6f 6d 20 61 an.option.menu,.triggered.from.a
19d00 6e 20 6f 70 74 69 6f 6e 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 20 20 49 6e 20 74 68 69 73 0d 23 20 n.option.menubutton...In.this.#.
19d20 20 20 20 73 74 79 6c 65 20 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 69 64 65 6e 74 69 ...style.tkPriv(postedMb).identi
19d40 66 69 65 73 20 74 68 65 20 70 6f 73 74 65 64 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 20 34 2e fies.the.posted.menubutton..#.4.
19d60 20 41 73 20 61 20 70 6f 70 75 70 20 6d 65 6e 75 2e 20 20 49 6e 20 74 68 69 73 20 73 74 79 6c 65 .As.a.popup.menu...In.this.style
19d80 20 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 69 73 20 65 6d 70 74 79 20 61 6e 64 0d 23 .tkPriv(postedMb).is.empty.and.#
19da0 20 20 20 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 6d 65 6e 75 27 73 20 74 79 70 65 20 69 73 ....the.top-level.menu's.type.is
19dc0 20 22 6e 6f 72 6d 61 6c 22 2e 0d 23 20 35 2e 20 41 73 20 61 20 70 75 6c 6c 64 6f 77 6e 20 66 72 ."normal"..#.5..As.a.pulldown.fr
19de0 6f 6d 20 61 20 6d 65 6e 75 62 61 72 2e 20 54 68 65 20 76 61 72 69 61 62 6c 65 20 74 6b 50 72 69 om.a.menubar..The.variable.tkPri
19e00 76 28 6d 65 6e 75 62 61 72 29 20 68 61 73 0d 23 20 20 20 20 74 68 65 20 6f 77 6e 69 6e 67 20 6d v(menubar).has.#....the.owning.m
19e20 65 6e 75 62 61 72 2c 20 61 6e 64 20 74 68 65 20 6d 65 6e 75 20 69 74 73 65 6c 66 20 69 73 20 6f enubar,.and.the.menu.itself.is.o
19e40 66 20 74 79 70 65 20 22 6e 6f 72 6d 61 6c 22 2e 0d 23 0d 23 20 54 68 65 20 76 61 72 69 6f 75 73 f.type."normal"..#.#.The.various
19e60 20 62 69 6e 64 69 6e 67 20 70 72 6f 63 65 64 75 72 65 73 20 75 73 65 20 74 68 65 20 20 73 74 61 .binding.procedures.use.the..sta
19e80 74 65 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 20 74 6f 0d 23 20 64 69 73 74 69 6e 67 75 te.described.above.to.#.distingu
19ea0 69 73 68 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 61 73 65 73 20 61 6e 64 20 74 61 6b 65 20 64 ish.the.various.cases.and.take.d
19ec0 69 66 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 73 20 69 6e 20 65 61 63 68 0d 23 20 63 61 73 65 2e ifferent.actions.in.each.#.case.
19ee0 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .#------------------------------
19f00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19f20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -----------..#------------------
19f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 65 20 63 6f -----------------------.#.The.co
19f80 64 65 20 62 65 6c 6f 77 20 63 72 65 61 74 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6c 61 de.below.creates.the.default.cla
19fa0 73 73 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 6d 65 6e 75 73 0d 23 20 61 6e 64 20 6d 65 6e 75 ss.bindings.for.menus.#.and.menu
19fc0 62 75 74 74 6f 6e 73 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d buttons..#----------------------
19fe0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1a000 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 62 69 6e 64 20 4d 65 6e 75 62 75 -------------------..bind.Menubu
1a020 74 74 6f 6e 20 3c 46 6f 63 75 73 49 6e 3e 20 7b 7d 0d 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f tton.<FocusIn>.{}.bind.Menubutto
1a040 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 74 6b 4d 62 45 6e 74 65 72 20 25 57 0d 7d 0d 62 n.<Enter>.{.....tkMbEnter.%W.}.b
1a060 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 3c 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 74 6b 4d ind.Menubutton.<Leave>.{.....tkM
1a080 62 4c 65 61 76 65 20 25 57 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 3c 31 3e 20 bLeave.%W.}.bind.Menubutton.<1>.
1a0a0 7b 0d 20 20 20 20 69 66 20 7b 24 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 20 {.....if.{$tkPriv(inMenubutton).
1a0c0 21 3d 20 22 22 7d 20 7b 0d 09 74 6b 4d 62 50 6f 73 74 20 24 74 6b 50 72 69 76 28 69 6e 4d 65 6e !=.""}.{..tkMbPost.$tkPriv(inMen
1a0e0 75 62 75 74 74 6f 6e 29 20 25 58 20 25 59 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 ubutton).%X.%Y.....}.}.bind.Menu
1a100 62 75 74 74 6f 6e 20 3c 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 74 6b 4d 62 4d 6f 74 69 6f 6e button.<Motion>.{.....tkMbMotion
1a120 20 25 57 20 75 70 20 25 58 20 25 59 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 3c .%W.up.%X.%Y.}.bind.Menubutton.<
1a140 42 31 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 74 6b 4d 62 4d 6f 74 69 6f 6e 20 25 57 20 64 B1-Motion>.{.....tkMbMotion.%W.d
1a160 6f 77 6e 20 25 58 20 25 59 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 3c 42 75 74 own.%X.%Y.}.bind.Menubutton.<But
1a180 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 4d 62 42 75 74 74 6f 6e 55 70 tonRelease-1>.{.....tkMbButtonUp
1a1a0 20 25 57 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 3c 73 70 61 63 65 3e 20 7b 0d .%W.}.bind.Menubutton.<space>.{.
1a1c0 20 20 20 20 74 6b 4d 62 50 6f 73 74 20 25 57 0d 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 ....tkMbPost.%W.....tkMenuFirstE
1a1e0 6e 74 72 79 20 5b 25 57 20 63 67 65 74 20 2d 6d 65 6e 75 5d 0d 7d 0d 0d 23 20 4d 75 73 74 20 73 ntry.[%W.cget.-menu].}..#.Must.s
1a200 65 74 20 66 6f 63 75 73 20 77 68 65 6e 20 6d 6f 75 73 65 20 65 6e 74 65 72 73 20 61 20 6d 65 6e et.focus.when.mouse.enters.a.men
1a220 75 2c 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 61 6c 6c 6f 77 0d 23 20 6d 69 78 65 64 2d 6d 6f 64 u,.in.order.to.allow.#.mixed-mod
1a240 65 20 70 72 6f 63 65 73 73 69 6e 67 20 75 73 69 6e 67 20 62 6f 74 68 20 74 68 65 20 6d 6f 75 73 e.processing.using.both.the.mous
1a260 65 20 61 6e 64 20 74 68 65 20 6b 65 79 62 6f 61 72 64 2e 0d 23 20 44 6f 6e 27 74 20 73 65 74 20 e.and.the.keyboard..#.Don't.set.
1a280 74 68 65 20 66 6f 63 75 73 20 69 66 20 74 68 65 20 65 76 65 6e 74 20 63 6f 6d 65 73 20 66 72 6f the.focus.if.the.event.comes.fro
1a2a0 6d 20 61 20 67 72 61 62 20 72 65 6c 65 61 73 65 2c 0d 23 20 74 68 6f 75 67 68 3a 20 20 73 75 63 m.a.grab.release,.#.though:..suc
1a2c0 68 20 61 6e 20 65 76 65 6e 74 20 63 61 6e 20 68 61 70 70 65 6e 20 61 66 74 65 72 20 61 73 20 70 h.an.event.can.happen.after.as.p
1a2e0 61 72 74 20 6f 66 20 75 6e 70 6f 73 74 69 6e 67 0d 23 20 61 20 63 61 73 63 61 64 65 64 20 63 68 art.of.unposting.#.a.cascaded.ch
1a300 61 69 6e 20 6f 66 20 6d 65 6e 75 73 2c 20 61 66 74 65 72 20 74 68 65 20 66 6f 63 75 73 20 68 61 ain.of.menus,.after.the.focus.ha
1a320 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 0d 23 20 72 65 73 74 6f 72 65 64 20 74 6f 20 77 68 65 s.already.been.#.restored.to.whe
1a340 72 65 76 65 72 20 69 74 20 77 61 73 20 62 65 66 6f 72 65 20 6d 65 6e 75 20 73 65 6c 65 63 74 69 rever.it.was.before.menu.selecti
1a360 6f 6e 20 73 74 61 72 74 65 64 2e 0d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 46 6f 63 75 73 49 6e 3e on.started...bind.Menu.<FocusIn>
1a380 20 7b 7d 0d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 73 65 74 .{}..bind.Menu.<Enter>.{.....set
1a3a0 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 25 57 0d 20 20 20 20 69 66 20 7b 5b 25 57 20 63 .tkPriv(window).%W.....if.{[%W.c
1a3c0 67 65 74 20 2d 74 79 70 65 5d 20 3d 3d 20 22 74 65 61 72 6f 66 66 22 7d 20 7b 0d 09 69 66 20 7b get.-type].==."tearoff"}.{..if.{
1a3e0 22 25 6d 22 20 21 3d 20 22 4e 6f 74 69 66 79 55 6e 67 72 61 62 22 7d 20 7b 0d 09 20 20 20 20 69 "%m".!=."NotifyUngrab"}.{......i
1a400 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 75 f.{$tcl_platform(platform).==."u
1a420 6e 69 78 22 7d 20 7b 0d 09 09 74 6b 5f 6d 65 6e 75 53 65 74 46 6f 63 75 73 20 25 57 0d 09 20 20 nix"}.{...tk_menuSetFocus.%W....
1a440 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 74 6b 4d 65 6e 75 4d 6f 74 69 6f 6e 20 25 57 ..}..}.....}.....tkMenuMotion.%W
1a460 20 25 78 20 25 79 20 25 73 0d 7d 0d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 4c 65 61 76 65 3e 20 7b .%x.%y.%s.}..bind.Menu.<Leave>.{
1a480 0d 20 20 20 20 74 6b 4d 65 6e 75 4c 65 61 76 65 20 25 57 20 25 58 20 25 59 20 25 73 0d 7d 0d 62 .....tkMenuLeave.%W.%X.%Y.%s.}.b
1a4a0 69 6e 64 20 4d 65 6e 75 20 3c 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 4d 6f ind.Menu.<Motion>.{.....tkMenuMo
1a4c0 74 69 6f 6e 20 25 57 20 25 78 20 25 79 20 25 73 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 42 75 tion.%W.%x.%y.%s.}.bind.Menu.<Bu
1a4e0 74 74 6f 6e 50 72 65 73 73 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 42 75 74 74 6f 6e 44 6f 77 ttonPress>.{.....tkMenuButtonDow
1a500 6e 20 25 57 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 3e n.%W.}.bind.Menu.<ButtonRelease>
1a520 20 7b 0d 20 20 20 74 6b 4d 65 6e 75 49 6e 76 6f 6b 65 20 25 57 20 31 0d 7d 0d 62 69 6e 64 20 4d .{....tkMenuInvoke.%W.1.}.bind.M
1a540 65 6e 75 20 3c 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 49 6e 76 6f 6b 65 20 25 enu.<space>.{.....tkMenuInvoke.%
1a560 57 20 30 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 52 65 74 75 72 6e 3e 20 7b 0d 20 20 20 20 74 W.0.}.bind.Menu.<Return>.{.....t
1a580 6b 4d 65 6e 75 49 6e 76 6f 6b 65 20 25 57 20 30 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 45 73 kMenuInvoke.%W.0.}.bind.Menu.<Es
1a5a0 63 61 70 65 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 45 73 63 61 70 65 20 25 57 0d 7d 0d 62 69 cape>.{.....tkMenuEscape.%W.}.bi
1a5c0 6e 64 20 4d 65 6e 75 20 3c 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 4c 65 66 74 41 nd.Menu.<Left>.{.....tkMenuLeftA
1a5e0 72 72 6f 77 20 25 57 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 52 69 67 68 74 3e 20 7b 0d 20 20 rrow.%W.}.bind.Menu.<Right>.{...
1a600 20 20 74 6b 4d 65 6e 75 52 69 67 68 74 41 72 72 6f 77 20 25 57 0d 7d 0d 62 69 6e 64 20 4d 65 6e ..tkMenuRightArrow.%W.}.bind.Men
1a620 75 20 3c 55 70 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 55 70 41 72 72 6f 77 20 25 57 0d 7d 0d u.<Up>.{.....tkMenuUpArrow.%W.}.
1a640 62 69 6e 64 20 4d 65 6e 75 20 3c 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 44 6f 77 bind.Menu.<Down>.{.....tkMenuDow
1a660 6e 41 72 72 6f 77 20 25 57 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 4b 65 79 50 72 65 73 73 3e nArrow.%W.}.bind.Menu.<KeyPress>
1a680 20 7b 0d 20 20 20 20 74 6b 54 72 61 76 65 72 73 65 57 69 74 68 69 6e 4d 65 6e 75 20 25 57 20 25 .{.....tkTraverseWithinMenu.%W.%
1a6a0 41 0d 7d 0d 0d 23 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 69 6e 64 69 6e 67 73 20 61 70 A.}..#.The.following.bindings.ap
1a6c0 70 6c 79 20 74 6f 20 61 6c 6c 20 77 69 6e 64 6f 77 73 2c 20 61 6e 64 20 61 72 65 20 75 73 65 64 ply.to.all.windows,.and.are.used
1a6e0 20 74 6f 0d 23 20 69 6d 70 6c 65 6d 65 6e 74 20 6b 65 79 62 6f 61 72 64 20 6d 65 6e 75 20 74 72 .to.#.implement.keyboard.menu.tr
1a700 61 76 65 72 73 61 6c 2e 0d 0d 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 aversal...if.{$tcl_platform(plat
1a720 66 6f 72 6d 29 20 3d 3d 20 22 75 6e 69 78 22 7d 20 7b 0d 20 20 20 20 62 69 6e 64 20 61 6c 6c 20 form).==."unix"}.{.....bind.all.
1a740 3c 41 6c 74 2d 4b 65 79 50 72 65 73 73 3e 20 7b 0d 09 74 6b 54 72 61 76 65 72 73 65 54 6f 4d 65 <Alt-KeyPress>.{..tkTraverseToMe
1a760 6e 75 20 25 57 20 25 41 0d 20 20 20 20 7d 0d 0d 20 20 20 20 62 69 6e 64 20 61 6c 6c 20 3c 46 31 nu.%W.%A.....}......bind.all.<F1
1a780 30 3e 20 7b 0d 09 74 6b 46 69 72 73 74 4d 65 6e 75 20 25 57 0d 20 20 20 20 7d 0d 7d 20 65 6c 73 0>.{..tkFirstMenu.%W.....}.}.els
1a7a0 65 20 7b 0d 20 20 20 20 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 3c 41 6c 74 2d 4b 65 79 e.{.....bind.Menubutton.<Alt-Key
1a7c0 50 72 65 73 73 3e 20 7b 0d 09 74 6b 54 72 61 76 65 72 73 65 54 6f 4d 65 6e 75 20 25 57 20 25 41 Press>.{..tkTraverseToMenu.%W.%A
1a7e0 0d 20 20 20 20 7d 0d 0d 20 20 20 20 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 3c 46 31 30 .....}......bind.Menubutton.<F10
1a800 3e 20 7b 0d 09 74 6b 46 69 72 73 74 4d 65 6e 75 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 >.{..tkFirstMenu.%W.....}.}..#.t
1a820 6b 4d 62 45 6e 74 65 72 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 kMbEnter.--.#.This.procedure.is.
1a840 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 65 6e 74 65 72 73 20 61 20 invoked.when.the.mouse.enters.a.
1a860 6d 65 6e 75 62 75 74 74 6f 6e 0d 23 20 77 69 64 67 65 74 2e 20 20 49 74 20 61 63 74 69 76 61 74 menubutton.#.widget...It.activat
1a880 65 73 20 74 68 65 20 77 69 64 67 65 74 20 75 6e 6c 65 73 73 20 69 74 20 69 73 20 64 69 73 61 62 es.the.widget.unless.it.is.disab
1a8a0 6c 65 64 2e 20 20 4e 6f 74 65 3a 0d 23 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 led...Note:.#.this.procedure.is.
1a8c0 6f 6e 6c 79 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 31 only.invoked.when.mouse.button.1
1a8e0 20 69 73 20 2a 6e 6f 74 2a 20 64 6f 77 6e 2e 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 .is.*not*.down..#.The.procedure.
1a900 74 6b 4d 62 42 31 45 6e 74 65 72 20 69 73 20 69 6e 76 6f 6b 65 64 20 69 66 20 74 68 65 20 62 75 tkMbB1Enter.is.invoked.if.the.bu
1a920 74 74 6f 6e 20 69 73 20 64 6f 77 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 tton.is.down..#.#.Arguments:.#.w
1a940 20 2d 09 09 09 54 68 65 20 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 .-...The..name.of.the.widget...p
1a960 72 6f 63 20 74 6b 4d 62 45 6e 74 65 72 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 roc.tkMbEnter.w.{.....global.tkP
1a980 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 24 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f riv......if.{$tkPriv(inMenubutto
1a9a0 6e 29 20 21 3d 20 22 22 7d 20 7b 0d 09 74 6b 4d 62 4c 65 61 76 65 20 24 74 6b 50 72 69 76 28 69 n).!=.""}.{..tkMbLeave.$tkPriv(i
1a9c0 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 nMenubutton).....}.....set.tkPri
1a9e0 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 20 24 77 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 v(inMenubutton).$w.....if.{[$w.c
1aa00 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 7d 20 7b 0d 09 24 77 get.-state].!=."disabled"}.{..$w
1aa20 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 0d 20 20 20 20 7d 0d 7d .configure.-state.active.....}.}
1aa40 0d 0d 23 20 74 6b 4d 62 4c 65 61 76 65 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 ..#.tkMbLeave.--.#.This.procedur
1aa60 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 6c 65 61 76 e.is.invoked.when.the.mouse.leav
1aa80 65 73 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 0d 23 20 49 74 20 64 65 2d es.a.menubutton.widget..#.It.de-
1aaa0 61 63 74 69 76 61 74 65 73 20 74 68 65 20 77 69 64 67 65 74 2c 20 69 66 20 74 68 65 20 77 69 64 activates.the.widget,.if.the.wid
1aac0 67 65 74 20 73 74 69 6c 6c 20 65 78 69 73 74 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a get.still.exists..#.#.Arguments:
1aae0 0d 23 20 77 20 2d 09 09 09 54 68 65 20 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 .#.w.-...The..name.of.the.widget
1ab00 2e 0d 0d 70 72 6f 63 20 74 6b 4d 62 4c 65 61 76 65 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c ...proc.tkMbLeave.w.{.....global
1ab20 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 .tkPriv......set.tkPriv(inMenubu
1ab40 74 74 6f 6e 29 20 7b 7d 0d 20 20 20 20 69 66 20 21 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 24 tton).{}.....if.![winfo.exists.$
1ab60 77 5d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 w].{..return.....}.....if.{[$w.c
1ab80 67 65 74 20 2d 73 74 61 74 65 5d 20 3d 3d 20 22 61 63 74 69 76 65 22 7d 20 7b 0d 09 24 77 20 63 get.-state].==."active"}.{..$w.c
1aba0 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 20 20 20 20 7d 0d 7d 0d 0d onfigure.-state.normal.....}.}..
1abc0 23 20 74 6b 4d 62 50 6f 73 74 20 2d 2d 0d 23 20 47 69 76 65 6e 20 61 20 6d 65 6e 75 62 75 74 74 #.tkMbPost.--.#.Given.a.menubutt
1abe0 6f 6e 2c 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 64 6f 65 73 20 61 6c 6c 20 74 68 65 20 on,.this.procedure.does.all.the.
1ac00 77 6f 72 6b 20 6f 66 20 70 6f 73 74 69 6e 67 0d 23 20 69 74 73 20 61 73 73 6f 63 69 61 74 65 64 work.of.posting.#.its.associated
1ac20 20 6d 65 6e 75 20 61 6e 64 20 75 6e 70 6f 73 74 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 20 6d 65 .menu.and.unposting.any.other.me
1ac40 6e 75 20 74 68 61 74 20 69 73 20 63 75 72 72 65 6e 74 6c 79 0d 23 20 70 6f 73 74 65 64 2e 0d 23 nu.that.is.currently.#.posted..#
1ac60 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 09 54 68 65 20 6e 61 6d 65 20 6f .#.Arguments:.#.w.-...The.name.o
1ac80 66 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 20 77 69 64 67 65 74 20 77 68 6f 73 65 20 6d 65 f.the.menubutton.widget.whose.me
1aca0 6e 75 0d 23 09 09 09 69 73 20 74 6f 20 62 65 20 70 6f 73 74 65 64 2e 0d 23 20 78 2c 20 79 20 2d nu.#...is.to.be.posted..#.x,.y.-
1acc0 09 09 52 6f 6f 74 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 20 63 75 72 73 6f 72 2c 20 75 73 ..Root.coordinates.of.cursor,.us
1ace0 65 64 20 66 6f 72 20 70 6f 73 69 74 69 6f 6e 69 6e 67 0d 23 09 09 09 6f 70 74 69 6f 6e 20 6d 65 ed.for.positioning.#...option.me
1ad00 6e 75 73 2e 20 20 49 66 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 6e 20 74 68 65 nus...If.not.specified,.then.the
1ad20 20 63 65 6e 74 65 72 0d 23 09 09 09 6f 66 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 20 69 73 .center.#...of.the.menubutton.is
1ad40 20 75 73 65 64 20 66 6f 72 20 61 6e 20 6f 70 74 69 6f 6e 20 6d 65 6e 75 2e 0d 0d 70 72 6f 63 20 .used.for.an.option.menu...proc.
1ad60 74 6b 4d 62 50 6f 73 74 20 7b 77 20 7b 78 20 7b 7d 7d 20 7b 79 20 7b 7d 7d 7d 20 7b 0d 20 20 20 tkMbPost.{w.{x.{}}.{y.{}}}.{....
1ad80 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 20 65 72 72 6f 72 49 6e 66 6f 0d 20 20 20 20 67 6c 6f .global.tkPriv.errorInfo.....glo
1ada0 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 69 66 20 7b 28 5b 24 77 20 63 bal.tcl_platform......if.{([$w.c
1adc0 67 65 74 20 2d 73 74 61 74 65 5d 20 3d 3d 20 22 64 69 73 61 62 6c 65 64 22 29 20 7c 7c 20 28 24 get.-state].==."disabled").||.($
1ade0 77 20 3d 3d 20 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 29 7d 20 7b 0d 09 72 65 74 75 w.==.$tkPriv(postedMb))}.{..retu
1ae00 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6d 65 6e 75 20 5b 24 77 20 63 67 65 74 20 2d rn.....}.....set.menu.[$w.cget.-
1ae20 6d 65 6e 75 5d 0d 20 20 20 20 69 66 20 7b 24 6d 65 6e 75 20 3d 3d 20 22 22 7d 20 7b 0d 09 72 65 menu].....if.{$menu.==.""}.{..re
1ae40 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 65 61 72 6f 66 66 20 5b 65 78 70 72 turn.....}.....set.tearoff.[expr
1ae60 20 7b 28 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 75 .{($tcl_platform(platform).==."u
1ae80 6e 69 78 22 29 20 5c 0d 09 09 20 20 20 20 20 7c 7c 20 28 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d nix").\........||.([$menu.cget.-
1aea0 74 79 70 65 5d 20 3d 3d 20 22 74 65 61 72 6f 66 66 22 29 7d 5d 0d 20 20 20 20 69 66 20 7b 5b 73 type].==."tearoff")}].....if.{[s
1aec0 74 72 69 6e 67 20 66 69 72 73 74 20 24 77 20 24 6d 65 6e 75 5d 20 21 3d 20 30 7d 20 7b 0d 09 65 tring.first.$w.$menu].!=.0}.{..e
1aee0 72 72 6f 72 20 22 63 61 6e 27 74 20 70 6f 73 74 20 24 6d 65 6e 75 3a 20 20 69 74 20 69 73 6e 27 rror."can't.post.$menu:..it.isn'
1af00 74 20 61 20 64 65 73 63 65 6e 64 61 6e 74 20 6f 66 20 24 77 20 28 74 68 69 73 20 69 73 20 61 20 t.a.descendant.of.$w.(this.is.a.
1af20 6e 65 77 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 6e 20 54 6b 20 76 65 72 73 69 6f 6e 73 20 33 new.requirement.in.Tk.versions.3
1af40 2e 30 20 61 6e 64 20 6c 61 74 65 72 29 22 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 63 75 72 .0.and.later)".....}.....set.cur
1af60 20 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 0d 20 20 20 20 69 66 20 7b 24 63 75 72 20 .$tkPriv(postedMb).....if.{$cur.
1af80 21 3d 20 22 22 7d 20 7b 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 7b 7d 0d 20 20 20 20 7d 0d !=.""}.{..tkMenuUnpost.{}.....}.
1afa0 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 63 75 72 73 6f 72 29 20 5b 24 77 20 63 67 65 74 20 ....set.tkPriv(cursor).[$w.cget.
1afc0 2d 63 75 72 73 6f 72 5d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 20 -cursor].....set.tkPriv(relief).
1afe0 5b 24 77 20 63 67 65 74 20 2d 72 65 6c 69 65 66 5d 0d 20 20 20 20 24 77 20 63 6f 6e 66 69 67 75 [$w.cget.-relief].....$w.configu
1b000 72 65 20 2d 63 75 72 73 6f 72 20 61 72 72 6f 77 0d 20 20 20 20 24 77 20 63 6f 6e 66 69 67 75 72 re.-cursor.arrow.....$w.configur
1b020 65 20 2d 72 65 6c 69 65 66 20 72 61 69 73 65 64 0d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 e.-relief.raised......set.tkPriv
1b040 28 70 6f 73 74 65 64 4d 62 29 20 24 77 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 (postedMb).$w.....set.tkPriv(foc
1b060 75 73 29 20 5b 66 6f 63 75 73 5d 0d 20 20 20 20 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 6e us).[focus].....$menu.activate.n
1b080 6f 6e 65 0d 20 20 20 20 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 one.....tkGenerateMenuSelect.$me
1b0a0 6e 75 0d 0d 20 20 20 20 23 20 49 66 20 74 68 69 73 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 61 6e 20 nu......#.If.this.looks.like.an.
1b0c0 6f 70 74 69 6f 6e 20 6d 65 6e 75 62 75 74 74 6f 6e 20 74 68 65 6e 20 70 6f 73 74 20 74 68 65 20 option.menubutton.then.post.the.
1b0e0 6d 65 6e 75 20 73 6f 0d 20 20 20 20 23 20 74 68 61 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 menu.so.....#.that.the.current.e
1b100 6e 74 72 79 20 69 73 20 6f 6e 20 74 6f 70 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 2e 20 20 4f 74 ntry.is.on.top.of.the.mouse...Ot
1b120 68 65 72 77 69 73 65 20 70 6f 73 74 0d 20 20 20 20 23 20 74 68 65 20 6d 65 6e 75 20 6a 75 73 74 herwise.post.....#.the.menu.just
1b140 20 62 65 6c 6f 77 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 2c 20 61 73 20 66 6f 72 20 61 20 .below.the.menubutton,.as.for.a.
1b160 70 75 6c 6c 2d 64 6f 77 6e 2e 0d 0d 20 20 20 20 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 pull-down.......update.idletasks
1b180 0d 20 20 20 20 69 66 20 5b 63 61 74 63 68 20 7b 0d 20 20 20 20 09 20 73 77 69 74 63 68 20 5b 24 .....if.[catch.{.......switch.[$
1b1a0 77 20 63 67 65 74 20 2d 64 69 72 65 63 74 69 6f 6e 5d 20 7b 0d 20 20 20 20 09 20 20 20 20 61 62 w.cget.-direction].{..........ab
1b1c0 6f 76 65 20 7b 0d 20 20 20 20 09 20 20 20 20 09 73 65 74 20 78 20 5b 77 69 6e 66 6f 20 72 6f 6f ove.{...........set.x.[winfo.roo
1b1e0 74 78 20 24 77 5d 0d 20 20 20 20 09 20 20 20 20 09 73 65 74 20 79 20 5b 65 78 70 72 20 5b 77 69 tx.$w]...........set.y.[expr.[wi
1b200 6e 66 6f 20 72 6f 6f 74 79 20 24 77 5d 20 2d 20 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 nfo.rooty.$w].-.[winfo.reqheight
1b220 20 24 6d 65 6e 75 5d 5d 0d 20 20 20 20 09 20 20 20 20 09 24 6d 65 6e 75 20 70 6f 73 74 20 24 78 .$menu]]...........$menu.post.$x
1b240 20 24 79 0d 20 20 20 20 09 20 20 20 20 7d 0d 20 20 20 20 09 20 20 20 20 62 65 6c 6f 77 20 7b 0d .$y..........}..........below.{.
1b260 20 20 20 20 09 20 20 20 20 09 73 65 74 20 78 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 78 20 24 77 5d ..........set.x.[winfo.rootx.$w]
1b280 0d 20 20 20 20 09 20 20 20 20 09 73 65 74 20 79 20 5b 65 78 70 72 20 5b 77 69 6e 66 6f 20 72 6f ...........set.y.[expr.[winfo.ro
1b2a0 6f 74 79 20 24 77 5d 20 2b 20 5b 77 69 6e 66 6f 20 68 65 69 67 68 74 20 24 77 5d 5d 0d 20 20 20 oty.$w].+.[winfo.height.$w]]....
1b2c0 20 09 20 20 20 20 09 24 6d 65 6e 75 20 70 6f 73 74 20 24 78 20 24 79 0d 20 20 20 20 09 20 20 20 .......$menu.post.$x.$y.........
1b2e0 20 7d 0d 20 20 20 20 09 20 20 20 20 6c 65 66 74 20 7b 0d 20 20 20 20 09 20 20 20 20 09 73 65 74 .}..........left.{...........set
1b300 20 78 20 5b 65 78 70 72 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 78 20 24 77 5d 20 2d 20 5b 77 69 6e .x.[expr.[winfo.rootx.$w].-.[win
1b320 66 6f 20 72 65 71 77 69 64 74 68 20 24 6d 65 6e 75 5d 5d 0d 20 20 20 20 09 20 20 20 20 09 73 65 fo.reqwidth.$menu]]...........se
1b340 74 20 79 20 5b 65 78 70 72 20 28 32 20 2a 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 79 20 24 77 5d 20 t.y.[expr.(2.*.[winfo.rooty.$w].
1b360 2b 20 5b 77 69 6e 66 6f 20 68 65 69 67 68 74 20 24 77 5d 29 20 2f 20 32 5d 0d 20 20 20 20 09 20 +.[winfo.height.$w])./.2].......
1b380 20 20 20 09 73 65 74 20 65 6e 74 72 79 20 5b 74 6b 4d 65 6e 75 46 69 6e 64 4e 61 6d 65 20 24 6d ....set.entry.[tkMenuFindName.$m
1b3a0 65 6e 75 20 5b 24 77 20 63 67 65 74 20 2d 74 65 78 74 5d 5d 0d 20 20 20 20 09 20 20 20 20 09 69 enu.[$w.cget.-text]]...........i
1b3c0 66 20 5b 24 77 20 63 67 65 74 20 2d 69 6e 64 69 63 61 74 6f 72 6f 6e 5d 20 7b 0d 09 09 20 20 20 f.[$w.cget.-indicatoron].{......
1b3e0 20 69 66 20 7b 24 65 6e 74 72 79 20 3d 3d 20 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 6c 61 73 74 .if.{$entry.==.[$menu.index.last
1b400 5d 7d 20 7b 0d 09 09 20 20 20 20 09 69 6e 63 72 20 79 20 5b 65 78 70 72 20 2d 28 5b 24 6d 65 6e ]}.{........incr.y.[expr.-([$men
1b420 75 20 79 70 6f 73 69 74 69 6f 6e 20 24 65 6e 74 72 79 5d 20 5c 0d 09 09 09 20 20 20 20 09 2b 20 u.yposition.$entry].\.........+.
1b440 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 6d 65 6e 75 5d 29 2f 32 5d 0d 09 09 20 20 [winfo.reqheight.$menu])/2].....
1b460 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 20 20 20 20 09 69 6e 63 72 20 79 20 5b 65 78 70 72 20 2d ..}.else.{........incr.y.[expr.-
1b480 28 5b 24 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 24 65 6e 74 72 79 5d 20 5c 0d 09 09 09 20 ([$menu.yposition.$entry].\.....
1b4a0 20 20 20 20 20 20 20 2b 20 5b 24 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 5b 65 78 70 72 20 .......+.[$menu.yposition.[expr.
1b4c0 24 65 6e 74 72 79 2b 31 5d 5d 29 2f 32 5d 0d 09 09 20 20 20 20 7d 0d 20 20 20 20 09 20 20 20 20 $entry+1]])/2].......}..........
1b4e0 09 7d 0d 20 20 20 20 09 20 20 20 20 09 24 6d 65 6e 75 20 70 6f 73 74 20 24 78 20 24 79 0d 20 20 .}...........$menu.post.$x.$y...
1b500 20 20 09 20 20 20 20 09 69 66 20 7b 28 24 65 6e 74 72 79 20 21 3d 20 7b 7d 29 20 26 26 20 28 5b ........if.{($entry.!=.{}).&&.([
1b520 24 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 24 65 6e 74 72 79 20 2d 73 74 61 74 65 5d 20 21 $menu.entrycget.$entry.-state].!
1b540 3d 20 22 64 69 73 61 62 6c 65 64 22 29 7d 20 7b 0d 20 20 20 20 09 20 20 20 20 09 20 20 20 20 24 =."disabled")}.{...............$
1b560 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 24 65 6e 74 72 79 0d 09 09 20 20 20 20 74 6b 47 65 6e menu.activate.$entry.......tkGen
1b580 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 6e 75 0d 20 20 20 20 09 20 20 20 20 09 erateMenuSelect.$menu...........
1b5a0 7d 0d 20 20 20 20 09 20 20 20 20 7d 0d 20 20 20 20 09 20 20 20 20 72 69 67 68 74 20 7b 0d 20 20 }..........}..........right.{...
1b5c0 20 20 09 20 20 20 20 09 73 65 74 20 78 20 5b 65 78 70 72 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 78 ........set.x.[expr.[winfo.rootx
1b5e0 20 24 77 5d 20 2b 20 5b 77 69 6e 66 6f 20 77 69 64 74 68 20 24 77 5d 5d 0d 20 20 20 20 09 20 20 .$w].+.[winfo.width.$w]]........
1b600 20 20 09 73 65 74 20 79 20 5b 65 78 70 72 20 28 32 20 2a 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 79 ...set.y.[expr.(2.*.[winfo.rooty
1b620 20 24 77 5d 20 2b 20 5b 77 69 6e 66 6f 20 68 65 69 67 68 74 20 24 77 5d 29 20 2f 20 32 5d 0d 20 .$w].+.[winfo.height.$w])./.2]..
1b640 20 20 20 09 20 20 20 20 09 73 65 74 20 65 6e 74 72 79 20 5b 74 6b 4d 65 6e 75 46 69 6e 64 4e 61 .........set.entry.[tkMenuFindNa
1b660 6d 65 20 24 6d 65 6e 75 20 5b 24 77 20 63 67 65 74 20 2d 74 65 78 74 5d 5d 0d 20 20 20 20 09 20 me.$menu.[$w.cget.-text]].......
1b680 20 20 20 09 69 66 20 5b 24 77 20 63 67 65 74 20 2d 69 6e 64 69 63 61 74 6f 72 6f 6e 5d 20 7b 0d ....if.[$w.cget.-indicatoron].{.
1b6a0 09 09 20 20 20 20 69 66 20 7b 24 65 6e 74 72 79 20 3d 3d 20 5b 24 6d 65 6e 75 20 69 6e 64 65 78 ......if.{$entry.==.[$menu.index
1b6c0 20 6c 61 73 74 5d 7d 20 7b 0d 09 09 20 20 20 20 09 69 6e 63 72 20 79 20 5b 65 78 70 72 20 2d 28 .last]}.{........incr.y.[expr.-(
1b6e0 5b 24 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 24 65 6e 74 72 79 5d 20 5c 0d 09 09 09 20 20 [$menu.yposition.$entry].\......
1b700 20 20 09 2b 20 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 6d 65 6e 75 5d 29 2f 32 5d ...+.[winfo.reqheight.$menu])/2]
1b720 0d 09 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 20 20 20 20 09 69 6e 63 72 20 79 20 5b 65 .......}.else.{........incr.y.[e
1b740 78 70 72 20 2d 28 5b 24 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 24 65 6e 74 72 79 5d 20 5c xpr.-([$menu.yposition.$entry].\
1b760 0d 09 09 09 20 20 20 20 20 20 20 20 2b 20 5b 24 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 5b ............+.[$menu.yposition.[
1b780 65 78 70 72 20 24 65 6e 74 72 79 2b 31 5d 5d 29 2f 32 5d 0d 09 09 20 20 20 20 7d 0d 20 20 20 20 expr.$entry+1]])/2].......}.....
1b7a0 09 20 20 20 20 09 7d 0d 20 20 20 20 09 20 20 20 20 09 24 6d 65 6e 75 20 70 6f 73 74 20 24 78 20 ......}...........$menu.post.$x.
1b7c0 24 79 0d 20 20 20 20 09 20 20 20 20 09 69 66 20 7b 28 24 65 6e 74 72 79 20 21 3d 20 7b 7d 29 20 $y...........if.{($entry.!=.{}).
1b7e0 26 26 20 28 5b 24 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 24 65 6e 74 72 79 20 2d 73 74 61 &&.([$menu.entrycget.$entry.-sta
1b800 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 29 7d 20 7b 0d 20 20 20 20 09 20 20 20 20 09 te].!=."disabled")}.{...........
1b820 20 20 20 20 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 24 65 6e 74 72 79 0d 09 09 20 20 20 20 ....$menu.activate.$entry.......
1b840 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 6e 75 0d 20 20 20 20 09 tkGenerateMenuSelect.$menu......
1b860 20 20 20 20 09 7d 0d 20 20 20 20 09 20 20 20 20 7d 0d 20 20 20 20 09 20 20 20 20 64 65 66 61 75 .....}..........}..........defau
1b880 6c 74 20 7b 0d 20 20 20 20 09 20 20 20 20 09 69 66 20 5b 24 77 20 63 67 65 74 20 2d 69 6e 64 69 lt.{...........if.[$w.cget.-indi
1b8a0 63 61 74 6f 72 6f 6e 5d 20 7b 0d 09 20 20 20 20 09 20 20 20 20 69 66 20 7b 24 79 20 3d 3d 20 22 catoron].{...........if.{$y.==."
1b8c0 22 7d 20 7b 0d 09 09 09 73 65 74 20 78 20 5b 65 78 70 72 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 78 "}.{....set.x.[expr.[winfo.rootx
1b8e0 20 24 77 5d 20 2b 20 5b 77 69 6e 66 6f 20 77 69 64 74 68 20 24 77 5d 2f 32 5d 0d 09 09 09 73 65 .$w].+.[winfo.width.$w]/2]....se
1b900 74 20 79 20 5b 65 78 70 72 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 79 20 24 77 5d 20 2b 20 5b 77 69 t.y.[expr.[winfo.rooty.$w].+.[wi
1b920 6e 66 6f 20 68 65 69 67 68 74 20 24 77 5d 2f 32 5d 0d 09 20 20 20 20 09 20 20 20 20 7d 0d 09 20 nfo.height.$w]/2]...........}...
1b940 20 20 20 20 20 20 20 20 20 20 20 74 6b 50 6f 73 74 4f 76 65 72 50 6f 69 6e 74 20 24 6d 65 6e 75 ...........tkPostOverPoint.$menu
1b960 20 24 78 20 24 79 20 5b 74 6b 4d 65 6e 75 46 69 6e 64 4e 61 6d 65 20 24 6d 65 6e 75 20 5b 24 77 .$x.$y.[tkMenuFindName.$menu.[$w
1b980 20 63 67 65 74 20 2d 74 65 78 74 5d 5d 0d 09 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 09 20 .cget.-text]]...}.else.{........
1b9a0 20 20 20 24 6d 65 6e 75 20 70 6f 73 74 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 78 20 24 77 5d 20 5b ...$menu.post.[winfo.rootx.$w].[
1b9c0 65 78 70 72 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 79 20 24 77 5d 2b 5b 77 69 6e 66 6f 20 68 65 69 expr.[winfo.rooty.$w]+[winfo.hei
1b9e0 67 68 74 20 24 77 5d 5d 0d 20 20 20 20 09 20 20 20 20 09 7d 20 20 0d 20 20 20 20 09 20 20 20 20 ght.$w]]...........}............
1ba00 7d 0d 20 20 20 20 09 20 7d 0d 20 20 20 20 20 7d 20 6d 73 67 5d 20 7b 0d 09 23 20 45 72 72 6f 72 }.......}......}.msg].{..#.Error
1ba20 20 70 6f 73 74 69 6e 67 20 6d 65 6e 75 20 28 65 2e 67 2e 20 62 6f 67 75 73 20 2d 70 6f 73 74 63 .posting.menu.(e.g..bogus.-postc
1ba40 6f 6d 6d 61 6e 64 29 2e 20 55 6e 70 6f 73 74 20 69 74 20 61 6e 64 0d 09 23 20 72 65 66 6c 65 63 ommand)..Unpost.it.and..#.reflec
1ba60 74 20 74 68 65 20 65 72 72 6f 72 2e 0d 09 0d 09 73 65 74 20 73 61 76 65 64 49 6e 66 6f 20 24 65 t.the.error.....set.savedInfo.$e
1ba80 72 72 6f 72 49 6e 66 6f 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 7b 7d 0d 09 65 72 72 6f 72 rrorInfo..tkMenuUnpost.{}..error
1baa0 20 24 6d 73 67 20 24 73 61 76 65 64 49 6e 66 6f 0d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 74 .$msg.$savedInfo......}......set
1bac0 20 74 6b 50 72 69 76 28 74 65 61 72 6f 66 66 29 20 24 74 65 61 72 6f 66 66 0d 20 20 20 20 69 66 .tkPriv(tearoff).$tearoff.....if
1bae0 20 7b 24 74 65 61 72 6f 66 66 20 21 3d 20 30 7d 20 7b 0d 20 20 20 20 09 66 6f 63 75 73 20 24 6d .{$tearoff.!=.0}.{......focus.$m
1bb00 65 6e 75 0d 20 20 20 20 09 74 6b 53 61 76 65 47 72 61 62 49 6e 66 6f 20 24 77 0d 20 20 20 20 09 enu......tkSaveGrabInfo.$w......
1bb20 67 72 61 62 20 2d 67 6c 6f 62 61 6c 20 24 77 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e grab.-global.$w.....}.}..#.tkMen
1bb40 75 55 6e 70 6f 73 74 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 75 6e 70 6f uUnpost.--.#.This.procedure.unpo
1bb60 73 74 73 20 61 20 67 69 76 65 6e 20 6d 65 6e 75 2c 20 70 6c 75 73 20 61 6c 6c 20 6f 66 20 69 74 sts.a.given.menu,.plus.all.of.it
1bb80 73 20 61 6e 63 65 73 74 6f 72 73 20 75 70 0d 23 20 74 6f 20 28 61 6e 64 20 69 6e 63 6c 75 64 69 s.ancestors.up.#.to.(and.includi
1bba0 6e 67 29 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 2c 20 69 66 20 61 6e 79 2e 20 20 49 74 20 61 6c ng).a.menubutton,.if.any...It.al
1bbc0 73 6f 20 72 65 73 74 6f 72 65 73 20 76 61 72 69 6f 75 73 0d 23 20 76 61 6c 75 65 73 20 74 6f 20 so.restores.various.#.values.to.
1bbe0 77 68 61 74 20 74 68 65 79 20 77 65 72 65 20 62 65 66 6f 72 65 20 74 68 65 20 6d 65 6e 75 20 77 what.they.were.before.the.menu.w
1bc00 61 73 20 70 6f 73 74 65 64 2c 20 61 6e 64 20 72 65 6c 65 61 73 65 73 0d 23 20 61 20 67 72 61 62 as.posted,.and.releases.#.a.grab
1bc20 20 69 66 20 74 68 65 72 65 27 73 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 20 69 6e 76 6f 6c 76 65 .if.there's.a.menubutton.involve
1bc40 64 2e 20 20 53 70 65 63 69 61 6c 20 6e 6f 74 65 73 3a 0d 23 20 31 2e 20 49 74 27 73 20 69 6d 70 d...Special.notes:.#.1..It's.imp
1bc60 6f 72 74 61 6e 74 20 74 6f 20 75 6e 70 6f 73 74 20 61 6c 6c 20 6d 65 6e 75 73 20 62 65 66 6f 72 ortant.to.unpost.all.menus.befor
1bc80 65 20 72 65 6c 65 61 73 69 6e 67 20 74 68 65 20 67 72 61 62 2c 20 73 6f 0d 23 20 20 20 20 74 68 e.releasing.the.grab,.so.#....th
1bca0 61 74 20 61 6e 79 20 45 6e 74 65 72 2d 4c 65 61 76 65 20 65 76 65 6e 74 73 20 28 65 2e 67 2e 20 at.any.Enter-Leave.events.(e.g..
1bcc0 66 72 6f 6d 20 6d 65 6e 75 20 62 61 63 6b 20 74 6f 20 6d 61 69 6e 0d 23 20 20 20 20 61 70 70 6c from.menu.back.to.main.#....appl
1bce0 69 63 61 74 69 6f 6e 29 20 68 61 76 65 20 6d 6f 64 65 20 4e 6f 74 69 66 79 47 72 61 62 2e 0d 23 ication).have.mode.NotifyGrab..#
1bd00 20 32 2e 20 42 65 20 73 75 72 65 20 74 6f 20 65 6e 63 6c 6f 73 65 20 76 61 72 69 6f 75 73 20 67 .2..Be.sure.to.enclose.various.g
1bd20 72 6f 75 70 73 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 22 63 61 74 63 68 22 20 73 6f 20 roups.of.commands.in."catch".so.
1bd40 74 68 61 74 0d 23 20 20 20 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 77 69 6c 6c 20 63 6f 6d that.#....the.procedure.will.com
1bd60 70 6c 65 74 65 20 65 76 65 6e 20 69 66 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 20 6f 72 20 plete.even.if.the.menubutton.or.
1bd80 74 68 65 20 6d 65 6e 75 0d 23 20 20 20 20 6f 72 20 74 68 65 20 67 72 61 62 20 77 69 6e 64 6f 77 the.menu.#....or.the.grab.window
1bda0 20 68 61 73 20 62 65 65 6e 20 64 65 6c 65 74 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 .has.been.deleted..#.#.Arguments
1bdc0 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 4e 61 6d 65 20 6f 66 20 61 20 6d 65 6e 75 20 74 6f 20 75 6e :.#.menu.-..Name.of.a.menu.to.un
1bde0 70 6f 73 74 2e 20 20 49 67 6e 6f 72 65 64 20 69 66 20 74 68 65 72 65 0d 23 09 09 09 69 73 20 61 post...Ignored.if.there.#...is.a
1be00 20 70 6f 73 74 65 64 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 .posted.menubutton...proc.tkMenu
1be20 55 6e 70 6f 73 74 20 6d 65 6e 75 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 Unpost.menu.{.....global.tcl_pla
1be40 74 66 6f 72 6d 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 tform.....global.tkPriv.....set.
1be60 6d 62 20 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 0d 0d 20 20 20 20 23 20 52 65 73 74 mb.$tkPriv(postedMb)......#.Rest
1be80 6f 72 65 20 66 6f 63 75 73 20 72 69 67 68 74 20 61 77 61 79 20 28 6f 74 68 65 72 77 69 73 65 20 ore.focus.right.away.(otherwise.
1bea0 58 20 77 69 6c 6c 20 74 61 6b 65 20 66 6f 63 75 73 20 61 77 61 79 20 77 68 65 6e 0d 20 20 20 20 X.will.take.focus.away.when.....
1bec0 23 20 74 68 65 20 6d 65 6e 75 20 69 73 20 75 6e 6d 61 70 70 65 64 20 61 6e 64 20 75 6e 64 65 72 #.the.menu.is.unmapped.and.under
1bee0 20 73 6f 6d 65 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 73 20 28 65 2e 67 2e 20 6f 6c 76 77 .some.window.managers.(e.g..olvw
1bf00 6d 29 0d 20 20 20 20 23 20 77 65 27 6c 6c 20 6c 6f 73 65 20 74 68 65 20 66 6f 63 75 73 20 63 6f m).....#.we'll.lose.the.focus.co
1bf20 6d 70 6c 65 74 65 6c 79 29 2e 0d 0d 20 20 20 20 63 61 74 63 68 20 7b 66 6f 63 75 73 20 24 74 6b mpletely).......catch.{focus.$tk
1bf40 50 72 69 76 28 66 6f 63 75 73 29 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 Priv(focus)}.....set.tkPriv(focu
1bf60 73 29 20 22 22 0d 0d 20 20 20 20 23 20 55 6e 70 6f 73 74 20 6d 65 6e 75 28 73 29 20 61 6e 64 20 s).""......#.Unpost.menu(s).and.
1bf80 72 65 73 74 6f 72 65 20 73 6f 6d 65 20 73 74 75 66 66 20 74 68 61 74 27 73 20 64 65 70 65 6e 64 restore.some.stuff.that's.depend
1bfa0 65 6e 74 20 6f 6e 0d 20 20 20 20 23 20 77 68 61 74 20 77 61 73 20 70 6f 73 74 65 64 2e 0d 0d 20 ent.on.....#.what.was.posted....
1bfc0 20 20 20 63 61 74 63 68 20 7b 0d 09 69 66 20 7b 24 6d 62 20 21 3d 20 22 22 7d 20 7b 0d 09 20 20 ...catch.{..if.{$mb.!=.""}.{....
1bfe0 20 20 73 65 74 20 6d 65 6e 75 20 5b 24 6d 62 20 63 67 65 74 20 2d 6d 65 6e 75 5d 0d 09 20 20 20 ..set.menu.[$mb.cget.-menu].....
1c000 20 24 6d 65 6e 75 20 75 6e 70 6f 73 74 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 6f .$menu.unpost......set.tkPriv(po
1c020 73 74 65 64 4d 62 29 20 7b 7d 0d 09 20 20 20 20 24 6d 62 20 63 6f 6e 66 69 67 75 72 65 20 2d 63 stedMb).{}......$mb.configure.-c
1c040 75 72 73 6f 72 20 24 74 6b 50 72 69 76 28 63 75 72 73 6f 72 29 0d 09 20 20 20 20 24 6d 62 20 63 ursor.$tkPriv(cursor)......$mb.c
1c060 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 65 66 20 24 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 onfigure.-relief.$tkPriv(relief)
1c080 0d 09 7d 20 65 6c 73 65 69 66 20 7b 24 74 6b 50 72 69 76 28 70 6f 70 75 70 29 20 21 3d 20 22 22 ..}.elseif.{$tkPriv(popup).!=.""
1c0a0 7d 20 7b 0d 09 20 20 20 20 24 74 6b 50 72 69 76 28 70 6f 70 75 70 29 20 75 6e 70 6f 73 74 0d 09 }.{......$tkPriv(popup).unpost..
1c0c0 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 6f 70 75 70 29 20 7b 7d 0d 09 7d 20 65 6c 73 65 ....set.tkPriv(popup).{}..}.else
1c0e0 69 66 20 7b 28 21 28 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 79 70 65 5d 20 3d 3d 20 22 6d 65 if.{(!([$menu.cget.-type].==."me
1c100 6e 75 62 61 72 22 29 0d 09 09 26 26 20 21 28 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 79 70 65 nubar")...&&.!([$menu.cget.-type
1c120 5d 20 3d 3d 20 22 74 65 61 72 6f 66 66 22 29 29 7d 20 7b 0d 09 20 20 20 20 23 20 57 65 27 72 65 ].==."tearoff"))}.{......#.We're
1c140 20 69 6e 20 61 20 63 61 73 63 61 64 65 64 20 73 75 62 2d 6d 65 6e 75 20 66 72 6f 6d 20 61 20 74 .in.a.cascaded.sub-menu.from.a.t
1c160 6f 72 6e 2d 6f 66 66 20 6d 65 6e 75 20 6f 72 20 70 6f 70 75 70 2e 0d 09 20 20 20 20 23 20 55 6e orn-off.menu.or.popup.......#.Un
1c180 70 6f 73 74 20 61 6c 6c 20 74 68 65 20 6d 65 6e 75 73 20 75 70 20 74 6f 20 74 68 65 20 74 6f 70 post.all.the.menus.up.to.the.top
1c1a0 6c 65 76 65 6c 20 6f 6e 65 20 28 62 75 74 20 6e 6f 74 0d 09 20 20 20 20 23 20 69 6e 63 6c 75 64 level.one.(but.not......#.includ
1c1c0 69 6e 67 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 74 6f 72 6e 2d 6f 66 66 20 6f 6e 65 29 20 ing.the.top-level.torn-off.one).
1c1e0 61 6e 64 20 64 65 61 63 74 69 76 61 74 65 20 74 68 65 0d 09 20 20 20 20 23 20 74 6f 70 2d 6c 65 and.deactivate.the......#.top-le
1c200 76 65 6c 20 74 6f 72 6e 20 6f 66 66 20 6d 65 6e 75 20 69 66 20 74 68 65 72 65 20 69 73 20 6f 6e vel.torn.off.menu.if.there.is.on
1c220 65 2e 0d 0d 09 20 20 20 20 77 68 69 6c 65 20 31 20 7b 0d 09 09 73 65 74 20 70 61 72 65 6e 74 20 e........while.1.{...set.parent.
1c240 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d 65 6e 75 5d 0d 09 09 69 66 20 7b 28 5b 77 69 6e [winfo.parent.$menu]...if.{([win
1c260 66 6f 20 63 6c 61 73 73 20 24 70 61 72 65 6e 74 5d 20 21 3d 20 22 4d 65 6e 75 22 29 0d 09 09 09 fo.class.$parent].!=."Menu")....
1c280 7c 7c 20 21 5b 77 69 6e 66 6f 20 69 73 6d 61 70 70 65 64 20 24 70 61 72 65 6e 74 5d 7d 20 7b 0d ||.![winfo.ismapped.$parent]}.{.
1c2a0 09 09 20 20 20 20 62 72 65 61 6b 0d 09 09 7d 0d 09 09 24 70 61 72 65 6e 74 20 61 63 74 69 76 61 ......break...}...$parent.activa
1c2c0 74 65 20 6e 6f 6e 65 0d 09 09 24 70 61 72 65 6e 74 20 70 6f 73 74 63 61 73 63 61 64 65 20 6e 6f te.none...$parent.postcascade.no
1c2e0 6e 65 0d 09 09 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 70 61 72 65 6e ne...tkGenerateMenuSelect.$paren
1c300 74 0d 09 09 73 65 74 20 74 79 70 65 20 5b 24 70 61 72 65 6e 74 20 63 67 65 74 20 2d 74 79 70 65 t...set.type.[$parent.cget.-type
1c320 5d 0d 09 09 69 66 20 7b 28 24 74 79 70 65 20 3d 3d 20 22 6d 65 6e 75 62 61 72 22 29 7c 7c 20 28 ]...if.{($type.==."menubar")||.(
1c340 24 74 79 70 65 20 3d 3d 20 22 74 65 61 72 6f 66 66 22 29 7d 20 7b 0d 09 09 20 20 20 20 62 72 65 $type.==."tearoff")}.{.......bre
1c360 61 6b 0d 09 09 7d 0d 09 09 73 65 74 20 6d 65 6e 75 20 24 70 61 72 65 6e 74 0d 09 20 20 20 20 7d ak...}...set.menu.$parent......}
1c380 0d 09 20 20 20 20 69 66 20 7b 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 79 70 65 5d 20 21 3d 20 ......if.{[$menu.cget.-type].!=.
1c3a0 22 6d 65 6e 75 62 61 72 22 7d 20 7b 0d 09 09 24 6d 65 6e 75 20 75 6e 70 6f 73 74 0d 09 20 20 20 "menubar"}.{...$menu.unpost.....
1c3c0 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 69 66 20 7b 28 24 74 6b 50 72 69 76 28 74 65 .}..}.....}......if.{($tkPriv(te
1c3e0 61 72 6f 66 66 29 20 21 3d 20 30 29 20 7c 7c 20 28 24 74 6b 50 72 69 76 28 6d 65 6e 75 42 61 72 aroff).!=.0).||.($tkPriv(menuBar
1c400 29 20 21 3d 20 22 22 29 7d 20 7b 0d 20 20 20 20 09 23 20 52 65 6c 65 61 73 65 20 67 72 61 62 2c ).!=."")}.{......#.Release.grab,
1c420 20 69 66 20 61 6e 79 2c 20 61 6e 64 20 72 65 73 74 6f 72 65 20 74 68 65 20 70 72 65 76 69 6f 75 .if.any,.and.restore.the.previou
1c440 73 20 67 72 61 62 2c 20 69 66 20 74 68 65 72 65 0d 20 20 20 20 09 23 20 77 61 73 20 6f 6e 65 2e s.grab,.if.there......#.was.one.
1c460 0d 0d 09 69 66 20 7b 24 6d 65 6e 75 20 21 3d 20 22 22 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 67 ...if.{$menu.!=.""}.{......set.g
1c480 72 61 62 20 5b 67 72 61 62 20 63 75 72 72 65 6e 74 20 24 6d 65 6e 75 5d 0d 09 20 20 20 20 69 66 rab.[grab.current.$menu]......if
1c4a0 20 7b 24 67 72 61 62 20 21 3d 20 22 22 7d 20 7b 0d 09 09 67 72 61 62 20 72 65 6c 65 61 73 65 20 .{$grab.!=.""}.{...grab.release.
1c4c0 24 67 72 61 62 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 74 6b 52 65 73 74 6f 72 65 4f 6c 64 47 72 61 $grab......}..}..tkRestoreOldGra
1c4e0 62 0d 09 69 66 20 7b 24 74 6b 50 72 69 76 28 6d 65 6e 75 42 61 72 29 20 21 3d 20 22 22 7d 20 7b b..if.{$tkPriv(menuBar).!=.""}.{
1c500 0d 09 20 20 20 20 24 74 6b 50 72 69 76 28 6d 65 6e 75 42 61 72 29 20 63 6f 6e 66 69 67 75 72 65 ......$tkPriv(menuBar).configure
1c520 20 2d 63 75 72 73 6f 72 20 24 74 6b 50 72 69 76 28 63 75 72 73 6f 72 29 0d 09 20 20 20 20 73 65 .-cursor.$tkPriv(cursor)......se
1c540 74 20 74 6b 50 72 69 76 28 6d 65 6e 75 42 61 72 29 20 7b 7d 0d 09 7d 0d 09 69 66 20 7b 24 74 63 t.tkPriv(menuBar).{}..}..if.{$tc
1c560 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 21 3d 20 22 75 6e 69 78 22 7d 20 l_platform(platform).!=."unix"}.
1c580 7b 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 74 65 61 72 6f 66 66 29 20 30 0d 09 7d 0d {......set.tkPriv(tearoff).0..}.
1c5a0 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 62 4d 6f 74 69 6f 6e 20 2d 2d 0d 23 20 54 68 69 73 20 ....}.}..#.tkMbMotion.--.#.This.
1c5c0 70 72 6f 63 65 64 75 72 65 20 68 61 6e 64 6c 65 73 20 6d 6f 75 73 65 20 6d 6f 74 69 6f 6e 20 65 procedure.handles.mouse.motion.e
1c5e0 76 65 6e 74 73 20 69 6e 73 69 64 65 20 6d 65 6e 75 62 75 74 74 6f 6e 73 2c 20 61 6e 64 0d 23 20 vents.inside.menubuttons,.and.#.
1c600 61 6c 73 6f 20 6f 75 74 73 69 64 65 20 6d 65 6e 75 62 75 74 74 6f 6e 73 20 77 68 65 6e 20 61 20 also.outside.menubuttons.when.a.
1c620 6d 65 6e 75 62 75 74 74 6f 6e 20 68 61 73 20 61 20 67 72 61 62 20 28 65 2e 67 2e 20 77 68 65 6e menubutton.has.a.grab.(e.g..when
1c640 20 61 0d 23 20 6d 65 6e 75 20 73 65 6c 65 63 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 .a.#.menu.selection.operation.is
1c660 20 69 6e 20 70 72 6f 67 72 65 73 73 29 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 .in.progress)..#.#.Arguments:.#.
1c680 77 20 2d 09 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e w.-...The.name.of.the.menubutton
1c6a0 20 77 69 64 67 65 74 2e 0d 23 20 75 70 44 6f 77 6e 20 2d 20 09 09 22 64 6f 77 6e 22 20 6d 65 61 .widget..#.upDown.-..."down".mea
1c6c0 6e 73 20 62 75 74 74 6f 6e 20 31 20 69 73 20 70 72 65 73 73 65 64 2c 20 22 75 70 22 20 6d 65 61 ns.button.1.is.pressed,."up".mea
1c6e0 6e 73 0d 23 09 09 09 69 74 20 69 73 6e 27 74 2e 0d 23 20 72 6f 6f 74 78 2c 20 72 6f 6f 74 79 20 ns.#...it.isn't..#.rootx,.rooty.
1c700 2d 09 43 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 20 6d 6f 75 73 65 2c 20 69 6e 20 28 76 69 72 74 -.Coordinates.of.mouse,.in.(virt
1c720 75 61 6c 3f 29 20 72 6f 6f 74 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 4d 62 4d 6f 74 ual?).root.window...proc.tkMbMot
1c740 69 6f 6e 20 7b 77 20 75 70 44 6f 77 6e 20 72 6f 6f 74 78 20 72 6f 6f 74 79 7d 20 7b 0d 20 20 20 ion.{w.upDown.rootx.rooty}.{....
1c760 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 24 74 6b 50 72 69 76 28 .global.tkPriv......if.{$tkPriv(
1c780 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 20 3d 3d 20 24 77 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 inMenubutton).==.$w}.{..return..
1c7a0 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6e 65 77 20 5b 77 69 6e 66 6f 20 63 6f 6e 74 61 69 6e 69 ...}.....set.new.[winfo.containi
1c7c0 6e 67 20 24 72 6f 6f 74 78 20 24 72 6f 6f 74 79 5d 0d 20 20 20 20 69 66 20 7b 28 24 6e 65 77 20 ng.$rootx.$rooty].....if.{($new.
1c7e0 21 3d 20 24 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 29 20 26 26 20 28 28 24 !=.$tkPriv(inMenubutton)).&&.(($
1c800 6e 65 77 20 3d 3d 20 22 22 29 0d 09 20 20 20 20 7c 7c 20 28 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 new.==."")......||.([winfo.tople
1c820 76 65 6c 20 24 6e 65 77 5d 20 3d 3d 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 77 5d vel.$new].==.[winfo.toplevel.$w]
1c840 29 29 7d 20 7b 0d 09 69 66 20 7b 24 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 ))}.{..if.{$tkPriv(inMenubutton)
1c860 20 21 3d 20 22 22 7d 20 7b 0d 09 20 20 20 20 74 6b 4d 62 4c 65 61 76 65 20 24 74 6b 50 72 69 76 .!=.""}.{......tkMbLeave.$tkPriv
1c880 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 0d 09 7d 0d 09 69 66 20 7b 28 24 6e 65 77 20 21 3d 20 (inMenubutton)..}..if.{($new.!=.
1c8a0 22 22 29 20 26 26 20 28 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 6e 65 77 5d 20 3d 3d 20 22 4d "").&&.([winfo.class.$new].==."M
1c8c0 65 6e 75 62 75 74 74 6f 6e 22 29 0d 09 09 26 26 20 28 5b 24 6e 65 77 20 63 67 65 74 20 2d 69 6e enubutton")...&&.([$new.cget.-in
1c8e0 64 69 63 61 74 6f 72 6f 6e 5d 20 3d 3d 20 30 29 0d 09 09 26 26 20 28 5b 24 77 20 63 67 65 74 20 dicatoron].==.0)...&&.([$w.cget.
1c900 2d 69 6e 64 69 63 61 74 6f 72 6f 6e 5d 20 3d 3d 20 30 29 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b -indicatoron].==.0)}.{......if.{
1c920 24 75 70 44 6f 77 6e 20 3d 3d 20 22 64 6f 77 6e 22 7d 20 7b 0d 09 09 74 6b 4d 62 50 6f 73 74 20 $upDown.==."down"}.{...tkMbPost.
1c940 24 6e 65 77 20 24 72 6f 6f 74 78 20 24 72 6f 6f 74 79 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b $new.$rootx.$rooty......}.else.{
1c960 0d 09 09 74 6b 4d 62 45 6e 74 65 72 20 24 6e 65 77 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 ...tkMbEnter.$new......}..}.....
1c980 7d 0d 7d 0d 0d 23 20 74 6b 4d 62 42 75 74 74 6f 6e 55 70 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 }.}..#.tkMbButtonUp.--.#.This.pr
1c9a0 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 68 61 6e 64 6c 65 20 62 75 74 ocedure.is.invoked.to.handle.but
1c9c0 74 6f 6e 20 31 20 72 65 6c 65 61 73 65 73 20 66 6f 72 20 6d 65 6e 75 62 75 74 74 6f 6e 73 2e 0d ton.1.releases.for.menubuttons..
1c9e0 23 20 49 66 20 74 68 65 20 72 65 6c 65 61 73 65 20 68 61 70 70 65 6e 73 20 69 6e 73 69 64 65 20 #.If.the.release.happens.inside.
1ca00 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 20 74 68 65 6e 20 6c 65 61 76 65 20 69 74 73 20 6d 65 the.menubutton.then.leave.its.me
1ca20 6e 75 0d 23 20 70 6f 73 74 65 64 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 30 20 61 63 74 69 76 nu.#.posted.with.element.0.activ
1ca40 61 74 65 64 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 75 6e 70 6f 73 74 20 74 68 65 20 6d 65 6e ated...Otherwise,.unpost.the.men
1ca60 75 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 09 54 68 65 20 6e 61 u..#.#.Arguments:.#.w.-...The.na
1ca80 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 0d 0d 70 72 me.of.the.menubutton.widget...pr
1caa0 6f 63 20 74 6b 4d 62 42 75 74 74 6f 6e 55 70 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 oc.tkMbButtonUp.w.{.....global.t
1cac0 6b 50 72 69 76 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 kPriv.....global.tcl_platform...
1cae0 20 20 20 73 65 74 20 74 65 61 72 6f 66 66 20 5b 65 78 70 72 20 7b 28 24 74 63 6c 5f 70 6c 61 74 ...set.tearoff.[expr.{($tcl_plat
1cb00 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 75 6e 69 78 22 29 20 5c 0d 09 09 20 20 form(platform).==."unix").\.....
1cb20 20 20 20 7c 7c 20 28 5b 5b 24 77 20 63 67 65 74 20 2d 6d 65 6e 75 5d 20 63 67 65 74 20 2d 74 79 ...||.([[$w.cget.-menu].cget.-ty
1cb40 70 65 5d 20 3d 3d 20 22 74 65 61 72 6f 66 66 22 29 7d 5d 0d 20 20 20 20 69 66 20 7b 28 24 74 65 pe].==."tearoff")}].....if.{($te
1cb60 61 72 6f 66 66 20 21 3d 20 30 29 20 26 26 20 28 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 aroff.!=.0).&&.($tkPriv(postedMb
1cb80 29 20 3d 3d 20 24 77 29 20 0d 09 20 20 20 20 26 26 20 28 24 74 6b 50 72 69 76 28 69 6e 4d 65 6e ).==.$w).......&&.($tkPriv(inMen
1cba0 75 62 75 74 74 6f 6e 29 20 3d 3d 20 24 77 29 7d 20 7b 0d 09 74 6b 4d 65 6e 75 46 69 72 73 74 45 ubutton).==.$w)}.{..tkMenuFirstE
1cbc0 6e 74 72 79 20 5b 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 63 67 65 74 20 2d 6d 65 ntry.[$tkPriv(postedMb).cget.-me
1cbe0 6e 75 5d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 7b nu].....}.else.{..tkMenuUnpost.{
1cc00 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 4d 6f 74 69 6f 6e 20 2d 2d 0d 23 20 54 }.....}.}..#.tkMenuMotion.--.#.T
1cc20 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 74 6f 20 68 61 6e 64 6c his.procedure.is.called.to.handl
1cc40 65 20 6d 6f 75 73 65 20 6d 6f 74 69 6f 6e 20 65 76 65 6e 74 73 20 66 6f 72 20 6d 65 6e 75 73 2e e.mouse.motion.events.for.menus.
1cc60 0d 23 20 49 74 20 64 6f 65 73 20 74 77 6f 20 74 68 69 6e 67 73 2e 20 20 46 69 72 73 74 2c 20 69 .#.It.does.two.things...First,.i
1cc80 74 20 72 65 73 65 74 73 20 74 68 65 20 61 63 74 69 76 65 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 t.resets.the.active.element.in.t
1cca0 68 65 0d 23 20 6d 65 6e 75 2c 20 69 66 20 74 68 65 20 6d 6f 75 73 65 20 69 73 20 6f 76 65 72 20 he.#.menu,.if.the.mouse.is.over.
1ccc0 74 68 65 20 6d 65 6e 75 2e 20 20 53 65 63 6f 6e 64 2c 20 69 66 20 61 20 6d 6f 75 73 65 20 62 75 the.menu...Second,.if.a.mouse.bu
1cce0 74 74 6f 6e 0d 23 20 69 73 20 64 6f 77 6e 2c 20 69 74 20 70 6f 73 74 73 20 61 6e 64 20 75 6e 70 tton.#.is.down,.it.posts.and.unp
1cd00 6f 73 74 73 20 63 61 73 63 61 64 65 20 65 6e 74 72 69 65 73 20 74 6f 20 6d 61 74 63 68 20 74 68 osts.cascade.entries.to.match.th
1cd20 65 20 6d 6f 75 73 65 0d 23 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 e.mouse.#.position..#.#.Argument
1cd40 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 54 68 65 20 6d 65 6e 75 20 77 69 6e 64 6f 77 2e 0d 23 20 s:.#.menu.-..The.menu.window..#.
1cd60 78 20 2d 09 09 09 54 68 65 20 78 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 75 73 x.-...The.x.position.of.the.mous
1cd80 65 2e 0d 23 20 79 20 2d 09 09 09 54 68 65 20 79 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 e..#.y.-...The.y.position.of.the
1cda0 20 6d 6f 75 73 65 2e 0d 23 20 73 74 61 74 65 20 2d 09 09 4d 6f 64 69 66 69 65 72 20 73 74 61 74 .mouse..#.state.-..Modifier.stat
1cdc0 65 20 28 74 65 6c 6c 73 20 77 68 65 74 68 65 72 20 62 75 74 74 6f 6e 73 20 61 72 65 20 64 6f 77 e.(tells.whether.buttons.are.dow
1cde0 6e 29 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 4d 6f 74 69 6f 6e 20 7b 6d 65 6e 75 20 78 20 79 n)...proc.tkMenuMotion.{menu.x.y
1ce00 20 73 74 61 74 65 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 .state}.{.....global.tkPriv.....
1ce20 69 66 20 7b 24 6d 65 6e 75 20 3d 3d 20 24 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 7d 20 7b 0d if.{$menu.==.$tkPriv(window)}.{.
1ce40 09 69 66 20 7b 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 79 70 65 5d 20 3d 3d 20 22 6d 65 6e 75 .if.{[$menu.cget.-type].==."menu
1ce60 62 61 72 22 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b bar"}.{......if.{[info.exists.tk
1ce80 50 72 69 76 28 66 6f 63 75 73 29 5d 20 26 26 20 5c 0d 09 09 20 20 20 20 28 5b 73 74 72 69 6e 67 Priv(focus)].&&.\.......([string
1cea0 20 63 6f 6d 70 61 72 65 20 24 6d 65 6e 75 20 24 74 6b 50 72 69 76 28 66 6f 63 75 73 29 5d 20 21 .compare.$menu.$tkPriv(focus)].!
1cec0 3d 20 30 29 7d 20 7b 0d 09 09 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 40 24 78 2c 24 79 0d =.0)}.{...$menu.activate.@$x,$y.
1cee0 09 09 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 6e 75 0d 09 20 20 ..tkGenerateMenuSelect.$menu....
1cf00 20 20 7d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 24 6d 65 6e 75 20 61 63 74 69 76 61 74 ..}..}.else.{......$menu.activat
1cf20 65 20 40 24 78 2c 24 79 0d 09 20 20 20 20 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 e.@$x,$y......tkGenerateMenuSele
1cf40 63 74 20 24 6d 65 6e 75 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 28 24 73 74 61 74 ct.$menu..}.....}.....if.{($stat
1cf60 65 20 26 20 30 78 31 66 30 30 29 20 21 3d 20 30 7d 20 7b 0d 09 24 6d 65 6e 75 20 70 6f 73 74 63 e.&.0x1f00).!=.0}.{..$menu.postc
1cf80 61 73 63 61 64 65 20 61 63 74 69 76 65 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 42 ascade.active.....}.}..#.tkMenuB
1cfa0 75 74 74 6f 6e 44 6f 77 6e 20 2d 2d 0d 23 20 48 61 6e 64 6c 65 73 20 62 75 74 74 6f 6e 20 70 72 uttonDown.--.#.Handles.button.pr
1cfc0 65 73 73 65 73 20 69 6e 20 6d 65 6e 75 73 2e 20 20 54 68 65 72 65 20 61 72 65 20 61 20 63 6f 75 esses.in.menus...There.are.a.cou
1cfe0 70 6c 65 20 6f 66 20 74 72 69 63 6b 79 20 74 68 69 6e 67 73 0d 23 20 68 65 72 65 3a 0d 23 20 31 ple.of.tricky.things.#.here:.#.1
1d000 2e 20 43 68 61 6e 67 65 20 74 68 65 20 70 6f 73 74 65 64 20 63 61 73 63 61 64 65 20 65 6e 74 72 ..Change.the.posted.cascade.entr
1d020 79 20 28 69 66 20 61 6e 79 29 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 6d 6f 75 73 65 20 70 6f y.(if.any).to.match.the.mouse.po
1d040 73 69 74 69 6f 6e 2e 0d 23 20 32 2e 20 49 66 20 74 68 65 72 65 20 69 73 20 61 20 70 6f 73 74 65 sition..#.2..If.there.is.a.poste
1d060 64 20 6d 65 6e 75 62 75 74 74 6f 6e 2c 20 6d 75 73 74 20 67 72 61 62 20 74 6f 20 74 68 65 20 6d d.menubutton,.must.grab.to.the.m
1d080 65 6e 75 62 75 74 74 6f 6e 3b 20 20 74 68 69 73 0d 23 20 20 20 20 6f 76 65 72 72 72 69 64 65 73 enubutton;..this.#....overrrides
1d0a0 20 74 68 65 20 69 6d 70 6c 69 63 69 74 20 67 72 61 62 20 6f 6e 20 62 75 74 74 6f 6e 20 70 72 65 .the.implicit.grab.on.button.pre
1d0c0 73 73 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 6d 65 6e 75 0d 23 20 20 20 20 62 75 74 74 6f 6e ss,.so.that.the.menu.#....button
1d0e0 20 63 61 6e 20 74 72 61 63 6b 20 6d 6f 75 73 65 20 6d 6f 74 69 6f 6e 73 20 6f 76 65 72 20 6f 74 .can.track.mouse.motions.over.ot
1d100 68 65 72 20 6d 65 6e 75 62 75 74 74 6f 6e 73 20 61 6e 64 20 63 68 61 6e 67 65 0d 23 20 20 20 20 her.menubuttons.and.change.#....
1d120 74 68 65 20 70 6f 73 74 65 64 20 6d 65 6e 75 2e 0d 23 20 33 2e 20 49 66 20 74 68 65 72 65 27 73 the.posted.menu..#.3..If.there's
1d140 20 6e 6f 20 70 6f 73 74 65 64 20 6d 65 6e 75 62 75 74 74 6f 6e 20 28 65 2e 67 2e 20 62 65 63 61 .no.posted.menubutton.(e.g..beca
1d160 75 73 65 20 77 65 27 72 65 20 61 20 74 6f 72 6e 2d 6f 66 66 20 6d 65 6e 75 0d 23 20 20 20 20 6f use.we're.a.torn-off.menu.#....o
1d180 72 20 6f 6e 65 20 6f 66 20 69 74 73 20 64 65 73 63 65 6e 64 61 6e 74 73 29 20 6d 75 73 74 20 67 r.one.of.its.descendants).must.g
1d1a0 72 61 62 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 6d 65 6e 75 20 73 6f 20 74 68 61 rab.to.the.top-level.menu.so.tha
1d1c0 74 0d 23 20 20 20 20 77 65 20 63 61 6e 20 74 72 61 63 6b 20 6d 6f 75 73 65 20 6d 6f 74 69 6f 6e t.#....we.can.track.mouse.motion
1d1e0 73 20 61 63 72 6f 73 73 20 74 68 65 20 65 6e 74 69 72 65 20 6d 65 6e 75 20 68 69 65 72 61 72 63 s.across.the.entire.menu.hierarc
1d200 68 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 54 68 65 hy..#.#.Arguments:.#.menu.-..The
1d220 20 6d 65 6e 75 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 42 75 74 74 6f 6e .menu.window...proc.tkMenuButton
1d240 44 6f 77 6e 20 6d 65 6e 75 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 Down.menu.{.....global.tkPriv...
1d260 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 20 20 20 20 24 6d 65 6e 75 20 ..global.tcl_platform.....$menu.
1d280 70 6f 73 74 63 61 73 63 61 64 65 20 61 63 74 69 76 65 0d 20 20 20 20 69 66 20 7b 24 74 6b 50 72 postcascade.active.....if.{$tkPr
1d2a0 69 76 28 70 6f 73 74 65 64 4d 62 29 20 21 3d 20 22 22 7d 20 7b 0d 09 67 72 61 62 20 2d 67 6c 6f iv(postedMb).!=.""}.{..grab.-glo
1d2c0 62 61 6c 20 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 0d 20 20 20 20 7d 20 65 6c 73 65 bal.$tkPriv(postedMb).....}.else
1d2e0 20 7b 0d 09 77 68 69 6c 65 20 7b 28 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 79 70 65 5d 20 3d .{..while.{([$menu.cget.-type].=
1d300 3d 20 22 6e 6f 72 6d 61 6c 22 29 20 0d 09 09 26 26 20 28 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 =."normal")....&&.([winfo.class.
1d320 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d 65 6e 75 5d 5d 20 3d 3d 20 22 4d 65 6e 75 22 29 [winfo.parent.$menu]].==."Menu")
1d340 0d 09 09 26 26 20 5b 77 69 6e 66 6f 20 69 73 6d 61 70 70 65 64 20 5b 77 69 6e 66 6f 20 70 61 72 ...&&.[winfo.ismapped.[winfo.par
1d360 65 6e 74 20 24 6d 65 6e 75 5d 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 6d 65 6e 75 20 5b 77 69 ent.$menu]]}.{......set.menu.[wi
1d380 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d 65 6e 75 5d 0d 09 7d 0d 0d 09 69 66 20 7b 24 74 6b 50 72 nfo.parent.$menu]..}...if.{$tkPr
1d3a0 69 76 28 6d 65 6e 75 42 61 72 29 20 3d 3d 20 7b 7d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 74 6b iv(menuBar).==.{}}.{......set.tk
1d3c0 50 72 69 76 28 6d 65 6e 75 42 61 72 29 20 24 6d 65 6e 75 0d 09 20 20 20 20 73 65 74 20 74 6b 50 Priv(menuBar).$menu......set.tkP
1d3e0 72 69 76 28 63 75 72 73 6f 72 29 20 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 63 75 72 73 6f 72 5d riv(cursor).[$menu.cget.-cursor]
1d400 0d 09 20 20 20 20 24 6d 65 6e 75 20 63 6f 6e 66 69 67 75 72 65 20 2d 63 75 72 73 6f 72 20 61 72 ......$menu.configure.-cursor.ar
1d420 72 6f 77 0d 20 20 20 20 20 20 20 20 7d 0d 0d 09 23 20 44 6f 6e 27 74 20 75 70 64 61 74 65 20 67 row.........}...#.Don't.update.g
1d440 72 61 62 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 66 20 74 68 65 20 67 72 61 62 20 77 69 6e 64 rab.information.if.the.grab.wind
1d460 6f 77 20 69 73 6e 27 74 20 63 68 61 6e 67 69 6e 67 2e 0d 09 23 20 4f 74 68 65 72 77 69 73 65 2c ow.isn't.changing...#.Otherwise,
1d480 20 77 65 27 6c 6c 20 67 65 74 20 61 6e 20 65 72 72 6f 72 20 77 68 65 6e 20 77 65 20 75 6e 70 6f .we'll.get.an.error.when.we.unpo
1d4a0 73 74 20 74 68 65 20 6d 65 6e 75 73 20 61 6e 64 0d 09 23 20 72 65 73 74 6f 72 65 20 74 68 65 20 st.the.menus.and..#.restore.the.
1d4c0 67 72 61 62 2c 20 73 69 6e 63 65 20 74 68 65 20 6f 6c 64 20 67 72 61 62 20 77 69 6e 64 6f 77 20 grab,.since.the.old.grab.window.
1d4e0 77 69 6c 6c 20 6e 6f 74 20 62 65 20 76 69 65 77 61 62 6c 65 0d 09 23 20 61 6e 79 6d 6f 72 65 2e will.not.be.viewable..#.anymore.
1d500 0d 0d 09 69 66 20 7b 24 6d 65 6e 75 20 21 3d 20 5b 67 72 61 62 20 63 75 72 72 65 6e 74 20 24 6d ...if.{$menu.!=.[grab.current.$m
1d520 65 6e 75 5d 7d 20 7b 0d 09 20 20 20 20 74 6b 53 61 76 65 47 72 61 62 49 6e 66 6f 20 24 6d 65 6e enu]}.{......tkSaveGrabInfo.$men
1d540 75 0d 09 7d 0d 0d 09 23 20 4d 75 73 74 20 72 65 2d 67 72 61 62 20 65 76 65 6e 20 69 66 20 74 68 u..}...#.Must.re-grab.even.if.th
1d560 65 20 67 72 61 62 20 77 69 6e 64 6f 77 20 68 61 73 6e 27 74 20 63 68 61 6e 67 65 64 2c 20 69 6e e.grab.window.hasn't.changed,.in
1d580 20 6f 72 64 65 72 0d 09 23 20 74 6f 20 72 65 6c 65 61 73 65 20 74 68 65 20 69 6d 70 6c 69 63 69 .order..#.to.release.the.implici
1d5a0 74 20 67 72 61 62 20 66 72 6f 6d 20 74 68 65 20 62 75 74 74 6f 6e 20 70 72 65 73 73 2e 0d 0d 09 t.grab.from.the.button.press....
1d5c0 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 if.{$tcl_platform(platform).==."
1d5e0 75 6e 69 78 22 7d 20 7b 0d 09 20 20 20 20 67 72 61 62 20 2d 67 6c 6f 62 61 6c 20 24 6d 65 6e 75 unix"}.{......grab.-global.$menu
1d600 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 4c 65 61 76 65 20 2d 2d 0d 23 20 ..}.....}.}..#.tkMenuLeave.--.#.
1d620 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 68 61 6e This.procedure.is.invoked.to.han
1d640 64 6c 65 20 4c 65 61 76 65 20 65 76 65 6e 74 73 20 66 6f 72 20 61 20 6d 65 6e 75 2e 20 20 49 74 dle.Leave.events.for.a.menu...It
1d660 0d 23 20 64 65 61 63 74 69 76 61 74 65 73 20 65 76 65 72 79 74 68 69 6e 67 20 75 6e 6c 65 73 73 .#.deactivates.everything.unless
1d680 20 74 68 65 20 61 63 74 69 76 65 20 65 6c 65 6d 65 6e 74 20 69 73 20 61 20 63 61 73 63 61 64 65 .the.active.element.is.a.cascade
1d6a0 20 65 6c 65 6d 65 6e 74 0d 23 20 61 6e 64 20 74 68 65 20 6d 6f 75 73 65 20 69 73 20 6e 6f 77 20 .element.#.and.the.mouse.is.now.
1d6c0 6f 76 65 72 20 74 68 65 20 73 75 62 6d 65 6e 75 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a over.the.submenu..#.#.Arguments:
1d6e0 0d 23 20 6d 65 6e 75 20 2d 09 09 54 68 65 20 6d 65 6e 75 20 77 69 6e 64 6f 77 2e 0d 23 20 72 6f .#.menu.-..The.menu.window..#.ro
1d700 6f 74 78 2c 20 72 6f 6f 74 79 20 2d 09 52 6f 6f 74 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 otx,.rooty.-.Root.coordinates.of
1d720 20 6d 6f 75 73 65 2e 0d 23 20 73 74 61 74 65 20 2d 09 09 4d 6f 64 69 66 69 65 72 20 73 74 61 74 .mouse..#.state.-..Modifier.stat
1d740 65 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 4c 65 61 76 65 20 7b 6d 65 6e 75 20 72 6f 6f 74 78 e...proc.tkMenuLeave.{menu.rootx
1d760 20 72 6f 6f 74 79 20 73 74 61 74 65 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 .rooty.state}.{.....global.tkPri
1d780 76 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 7b 7d 0d 20 20 20 20 v.....set.tkPriv(window).{}.....
1d7a0 69 66 20 7b 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 20 3d 3d 20 22 6e 6f 6e if.{[$menu.index.active].==."non
1d7c0 65 22 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 28 5b 24 6d e"}.{..return.....}.....if.{([$m
1d7e0 65 6e 75 20 74 79 70 65 20 61 63 74 69 76 65 5d 20 3d 3d 20 22 63 61 73 63 61 64 65 22 29 0d 09 enu.type.active].==."cascade")..
1d800 20 20 20 20 26 26 20 28 5b 77 69 6e 66 6f 20 63 6f 6e 74 61 69 6e 69 6e 67 20 24 72 6f 6f 74 78 ....&&.([winfo.containing.$rootx
1d820 20 24 72 6f 6f 74 79 5d 0d 09 20 20 20 20 3d 3d 20 5b 24 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 .$rooty]......==.[$menu.entrycge
1d840 74 20 61 63 74 69 76 65 20 2d 6d 65 6e 75 5d 29 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 t.active.-menu])}.{..return.....
1d860 7d 0d 20 20 20 20 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 6e 6f 6e 65 0d 20 20 20 20 74 6b }.....$menu.activate.none.....tk
1d880 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 6e 75 0d 7d 0d 0d 23 20 74 6b GenerateMenuSelect.$menu.}..#.tk
1d8a0 4d 65 6e 75 49 6e 76 6f 6b 65 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 MenuInvoke.--.#.This.procedure.i
1d8c0 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 62 75 74 74 6f 6e 20 31 20 69 73 20 72 65 6c 65 61 s.invoked.when.button.1.is.relea
1d8e0 73 65 64 20 6f 76 65 72 20 61 20 6d 65 6e 75 2e 0d 23 20 49 74 20 69 6e 76 6f 6b 65 73 20 74 68 sed.over.a.menu..#.It.invokes.th
1d900 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 6d 65 6e 75 20 61 63 74 69 6f 6e 20 61 6e 64 20 75 6e e.appropriate.menu.action.and.un
1d920 70 6f 73 74 73 20 74 68 65 20 6d 65 6e 75 20 69 66 0d 23 20 69 74 20 63 61 6d 65 20 66 72 6f 6d posts.the.menu.if.#.it.came.from
1d940 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 .a.menubutton..#.#.Arguments:.#.
1d960 77 20 2d 09 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 77 69 64 67 65 74 2e 0d 23 w.-...Name.of.the.menu.widget..#
1d980 20 62 75 74 74 6f 6e 52 65 6c 65 61 73 65 20 2d 09 31 20 6d 65 61 6e 73 20 74 68 69 73 20 70 72 .buttonRelease.-.1.means.this.pr
1d9a0 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 62 65 63 61 75 73 65 20 6f 66 0d 23 09 09 ocedure.is.called.because.of.#..
1d9c0 09 61 20 62 75 74 74 6f 6e 20 72 65 6c 65 61 73 65 3b 20 20 30 20 6d 65 61 6e 73 20 62 65 63 61 .a.button.release;..0.means.beca
1d9e0 75 73 65 20 6f 66 20 6b 65 79 73 74 72 6f 6b 65 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 49 6e use.of.keystroke...proc.tkMenuIn
1da00 76 6f 6b 65 20 7b 77 20 62 75 74 74 6f 6e 52 65 6c 65 61 73 65 7d 20 7b 0d 20 20 20 20 67 6c 6f voke.{w.buttonRelease}.{.....glo
1da20 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 24 62 75 74 74 6f 6e 52 65 6c 65 61 bal.tkPriv......if.{$buttonRelea
1da40 73 65 20 26 26 20 28 24 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 3d 3d 20 22 22 29 7d 20 7b se.&&.($tkPriv(window).==."")}.{
1da60 0d 09 23 20 4d 6f 75 73 65 20 77 61 73 20 70 72 65 73 73 65 64 20 6f 76 65 72 20 61 20 6d 65 6e ..#.Mouse.was.pressed.over.a.men
1da80 75 20 77 69 74 68 6f 75 74 20 61 20 6d 65 6e 75 20 62 75 74 74 6f 6e 2c 20 74 68 65 6e 0d 09 23 u.without.a.menu.button,.then..#
1daa0 20 64 72 61 67 67 65 64 20 6f 66 66 20 74 68 65 20 6d 65 6e 75 20 28 70 6f 73 73 69 62 6c 79 20 .dragged.off.the.menu.(possibly.
1dac0 77 69 74 68 20 61 20 63 61 73 63 61 64 65 20 70 6f 73 74 65 64 29 20 61 6e 64 0d 09 23 20 72 65 with.a.cascade.posted).and..#.re
1dae0 6c 65 61 73 65 64 2e 20 20 55 6e 70 6f 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 61 6e 64 20 71 leased...Unpost.everything.and.q
1db00 75 69 74 2e 0d 0d 09 24 77 20 70 6f 73 74 63 61 73 63 61 64 65 20 6e 6f 6e 65 0d 09 24 77 20 61 uit....$w.postcascade.none..$w.a
1db20 63 74 69 76 61 74 65 20 6e 6f 6e 65 0d 09 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 77 20 ctivate.none..event.generate.$w.
1db40 3c 3c 4d 65 6e 75 53 65 6c 65 63 74 3e 3e 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 24 77 0d <<MenuSelect>>..tkMenuUnpost.$w.
1db60 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 74 79 70 65 20 61 .return.....}.....if.{[$w.type.a
1db80 63 74 69 76 65 5d 20 3d 3d 20 22 63 61 73 63 61 64 65 22 7d 20 7b 0d 09 24 77 20 70 6f 73 74 63 ctive].==."cascade"}.{..$w.postc
1dba0 61 73 63 61 64 65 20 61 63 74 69 76 65 0d 09 73 65 74 20 6d 65 6e 75 20 5b 24 77 20 65 6e 74 72 ascade.active..set.menu.[$w.entr
1dbc0 79 63 67 65 74 20 61 63 74 69 76 65 20 2d 6d 65 6e 75 5d 0d 09 74 6b 4d 65 6e 75 46 69 72 73 74 ycget.active.-menu]..tkMenuFirst
1dbe0 45 6e 74 72 79 20 24 6d 65 6e 75 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 5b 24 77 20 74 79 Entry.$menu.....}.elseif.{[$w.ty
1dc00 70 65 20 61 63 74 69 76 65 5d 20 3d 3d 20 22 74 65 61 72 6f 66 66 22 7d 20 7b 0d 09 74 6b 4d 65 pe.active].==."tearoff"}.{..tkMe
1dc20 6e 75 55 6e 70 6f 73 74 20 24 77 0d 09 74 6b 54 65 61 72 4f 66 66 4d 65 6e 75 20 24 77 0d 20 20 nuUnpost.$w..tkTearOffMenu.$w...
1dc40 20 20 7d 20 65 6c 73 65 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 74 79 70 65 5d 20 3d 3d 20 22 ..}.elseif.{[$w.cget.-type].==."
1dc60 6d 65 6e 75 62 61 72 22 7d 20 7b 0d 09 24 77 20 70 6f 73 74 63 61 73 63 61 64 65 20 6e 6f 6e 65 menubar"}.{..$w.postcascade.none
1dc80 0d 09 24 77 20 61 63 74 69 76 61 74 65 20 6e 6f 6e 65 0d 09 65 76 65 6e 74 20 67 65 6e 65 72 61 ..$w.activate.none..event.genera
1dca0 74 65 20 24 77 20 3c 3c 4d 65 6e 75 53 65 6c 65 63 74 3e 3e 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f te.$w.<<MenuSelect>>..tkMenuUnpo
1dcc0 73 74 20 24 77 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 st.$w.....}.else.{..tkMenuUnpost
1dce0 20 24 77 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 5b 6c 69 73 74 20 24 77 20 69 6e 76 6f 6b 65 20 .$w..uplevel.#0.[list.$w.invoke.
1dd00 61 63 74 69 76 65 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 45 73 63 61 70 65 20 active].....}.}..#.tkMenuEscape.
1dd20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 66 --.#.This.procedure.is.invoked.f
1dd40 6f 72 20 74 68 65 20 43 61 6e 63 65 6c 20 28 6f 72 20 45 73 63 61 70 65 29 20 6b 65 79 2e 20 20 or.the.Cancel.(or.Escape).key...
1dd60 49 74 20 75 6e 70 6f 73 74 73 0d 23 20 74 68 65 20 67 69 76 65 6e 20 6d 65 6e 75 20 61 6e 64 2c It.unposts.#.the.given.menu.and,
1dd80 20 69 66 20 69 74 20 69 73 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 6d 65 6e 75 20 66 6f 72 .if.it.is.the.top-level.menu.for
1dda0 20 61 20 6d 65 6e 75 20 62 75 74 74 6f 6e 2c 0d 23 20 75 6e 70 6f 73 74 73 20 74 68 65 20 6d 65 .a.menu.button,.#.unposts.the.me
1ddc0 6e 75 20 62 75 74 74 6f 6e 20 61 73 20 77 65 6c 6c 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 nu.button.as.well..#.#.Arguments
1dde0 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 77 69 6e :.#.menu.-..Name.of.the.menu.win
1de00 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 45 73 63 61 70 65 20 6d 65 6e 75 20 7b 0d 20 dow...proc.tkMenuEscape.menu.{..
1de20 20 20 20 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d 65 6e ...set.parent.[winfo.parent.$men
1de40 75 5d 0d 20 20 20 20 69 66 20 7b 28 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 70 61 72 65 6e 74 u].....if.{([winfo.class.$parent
1de60 5d 20 21 3d 20 22 4d 65 6e 75 22 29 7d 20 7b 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 24 6d ].!=."Menu")}.{..tkMenuUnpost.$m
1de80 65 6e 75 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 28 5b 24 70 61 72 65 6e 74 20 63 67 65 74 enu.....}.elseif.{([$parent.cget
1dea0 20 2d 74 79 70 65 5d 20 3d 3d 20 22 6d 65 6e 75 62 61 72 22 29 7d 20 7b 0d 09 74 6b 4d 65 6e 75 .-type].==."menubar")}.{..tkMenu
1dec0 55 6e 70 6f 73 74 20 24 6d 65 6e 75 0d 09 74 6b 52 65 73 74 6f 72 65 4f 6c 64 47 72 61 62 0d 20 Unpost.$menu..tkRestoreOldGrab..
1dee0 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 74 6b 4d 65 6e 75 4e 65 78 74 4d 65 6e 75 20 24 6d 65 6e ...}.else.{..tkMenuNextMenu.$men
1df00 75 20 6c 65 66 74 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 u.left.....}.}..#.The.following.
1df20 72 6f 75 74 69 6e 65 73 20 68 61 6e 64 6c 65 20 61 72 72 6f 77 20 6b 65 79 73 2e 20 41 72 72 6f routines.handle.arrow.keys..Arro
1df40 77 20 6b 65 79 73 20 62 65 68 61 76 65 0d 23 20 64 69 66 66 65 72 65 6e 74 6c 79 20 64 65 70 65 w.keys.behave.#.differently.depe
1df60 6e 64 69 6e 67 20 6f 6e 20 77 68 65 74 68 65 72 20 74 68 65 20 6d 65 6e 75 20 69 73 20 61 20 6d nding.on.whether.the.menu.is.a.m
1df80 65 6e 75 20 62 61 72 20 6f 72 20 6e 6f 74 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 55 70 41 72 enu.bar.or.not...proc.tkMenuUpAr
1dfa0 72 6f 77 20 7b 6d 65 6e 75 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 24 6d 65 6e 75 20 63 67 65 74 row.{menu}.{.....if.{[$menu.cget
1dfc0 20 2d 74 79 70 65 5d 20 3d 3d 20 22 6d 65 6e 75 62 61 72 22 7d 20 7b 0d 09 74 6b 4d 65 6e 75 4e .-type].==."menubar"}.{..tkMenuN
1dfe0 65 78 74 4d 65 6e 75 20 24 6d 65 6e 75 20 6c 65 66 74 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d extMenu.$menu.left.....}.else.{.
1e000 09 74 6b 4d 65 6e 75 4e 65 78 74 45 6e 74 72 79 20 24 6d 65 6e 75 20 2d 31 0d 20 20 20 20 7d 0d .tkMenuNextEntry.$menu.-1.....}.
1e020 7d 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 44 6f 77 6e 41 72 72 6f 77 20 7b 6d 65 6e 75 7d 20 7b }..proc.tkMenuDownArrow.{menu}.{
1e040 0d 20 20 20 20 69 66 20 7b 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 79 70 65 5d 20 3d 3d 20 22 .....if.{[$menu.cget.-type].==."
1e060 6d 65 6e 75 62 61 72 22 7d 20 7b 0d 09 74 6b 4d 65 6e 75 4e 65 78 74 4d 65 6e 75 20 24 6d 65 6e menubar"}.{..tkMenuNextMenu.$men
1e080 75 20 72 69 67 68 74 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 74 6b 4d 65 6e 75 4e 65 78 74 u.right.....}.else.{..tkMenuNext
1e0a0 45 6e 74 72 79 20 24 6d 65 6e 75 20 31 0d 20 20 20 20 7d 0d 7d 0d 0d 70 72 6f 63 20 74 6b 4d 65 Entry.$menu.1.....}.}..proc.tkMe
1e0c0 6e 75 4c 65 66 74 41 72 72 6f 77 20 7b 6d 65 6e 75 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 24 6d nuLeftArrow.{menu}.{.....if.{[$m
1e0e0 65 6e 75 20 63 67 65 74 20 2d 74 79 70 65 5d 20 3d 3d 20 22 6d 65 6e 75 62 61 72 22 7d 20 7b 0d enu.cget.-type].==."menubar"}.{.
1e100 09 74 6b 4d 65 6e 75 4e 65 78 74 45 6e 74 72 79 20 24 6d 65 6e 75 20 2d 31 0d 20 20 20 20 7d 20 .tkMenuNextEntry.$menu.-1.....}.
1e120 65 6c 73 65 20 7b 0d 09 74 6b 4d 65 6e 75 4e 65 78 74 4d 65 6e 75 20 24 6d 65 6e 75 20 6c 65 66 else.{..tkMenuNextMenu.$menu.lef
1e140 74 0d 20 20 20 20 7d 0d 7d 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 52 69 67 68 74 41 72 72 6f 77 t.....}.}..proc.tkMenuRightArrow
1e160 20 7b 6d 65 6e 75 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 .{menu}.{.....if.{[$menu.cget.-t
1e180 79 70 65 5d 20 3d 3d 20 22 6d 65 6e 75 62 61 72 22 7d 20 7b 0d 09 74 6b 4d 65 6e 75 4e 65 78 74 ype].==."menubar"}.{..tkMenuNext
1e1a0 45 6e 74 72 79 20 24 6d 65 6e 75 20 31 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 74 6b 4d 65 Entry.$menu.1.....}.else.{..tkMe
1e1c0 6e 75 4e 65 78 74 4d 65 6e 75 20 24 6d 65 6e 75 20 72 69 67 68 74 0d 20 20 20 20 7d 0d 7d 0d 0d nuNextMenu.$menu.right.....}.}..
1e1e0 23 20 74 6b 4d 65 6e 75 4e 65 78 74 4d 65 6e 75 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 #.tkMenuNextMenu.--.#.This.proce
1e200 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 68 61 6e 64 6c 65 20 22 6c 65 66 74 22 dure.is.invoked.to.handle."left"
1e220 20 61 6e 64 20 22 72 69 67 68 74 22 20 74 72 61 76 65 72 73 61 6c 0d 23 20 6d 6f 74 69 6f 6e 73 .and."right".traversal.#.motions
1e240 20 69 6e 20 6d 65 6e 75 73 2e 20 20 49 74 20 74 72 61 76 65 72 73 65 73 20 74 6f 20 74 68 65 20 .in.menus...It.traverses.to.the.
1e260 6e 65 78 74 20 6d 65 6e 75 20 69 6e 20 61 20 6d 65 6e 75 20 62 61 72 2c 0d 23 20 6f 72 20 69 6e next.menu.in.a.menu.bar,.#.or.in
1e280 74 6f 20 6f 72 20 6f 75 74 20 6f 66 20 61 20 63 61 73 63 61 64 65 64 20 6d 65 6e 75 2e 0d 23 0d to.or.out.of.a.cascaded.menu..#.
1e2a0 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 54 68 65 20 6d 65 6e 75 20 #.Arguments:.#.menu.-..The.menu.
1e2c0 74 68 61 74 20 72 65 63 65 69 76 65 64 20 74 68 65 20 6b 65 79 62 6f 61 72 64 0d 23 09 09 09 65 that.received.the.keyboard.#...e
1e2e0 76 65 6e 74 2e 0d 23 20 64 69 72 65 63 74 69 6f 6e 20 2d 09 09 44 69 72 65 63 74 69 6f 6e 20 69 vent..#.direction.-..Direction.i
1e300 6e 20 77 68 69 63 68 20 74 6f 20 6d 6f 76 65 3a 20 22 6c 65 66 74 22 20 6f 72 20 22 72 69 67 68 n.which.to.move:."left".or."righ
1e320 74 22 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 4e 65 78 74 4d 65 6e 75 20 7b 6d 65 6e 75 20 64 69 t"..proc.tkMenuNextMenu.{menu.di
1e340 72 65 63 74 69 6f 6e 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 rection}.{.....global.tkPriv....
1e360 20 20 23 20 46 69 72 73 74 20 68 61 6e 64 6c 65 20 74 72 61 76 65 72 73 61 6c 73 20 69 6e 74 6f ..#.First.handle.traversals.into
1e380 20 61 6e 64 20 6f 75 74 20 6f 66 20 63 61 73 63 61 64 65 64 20 6d 65 6e 75 73 2e 0d 0d 20 20 20 .and.out.of.cascaded.menus......
1e3a0 20 69 66 20 7b 24 64 69 72 65 63 74 69 6f 6e 20 3d 3d 20 22 72 69 67 68 74 22 7d 20 7b 0d 09 73 .if.{$direction.==."right"}.{..s
1e3c0 65 74 20 63 6f 75 6e 74 20 31 0d 09 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 70 61 et.count.1..set.parent.[winfo.pa
1e3e0 72 65 6e 74 20 24 6d 65 6e 75 5d 0d 09 73 65 74 20 63 6c 61 73 73 20 5b 77 69 6e 66 6f 20 63 6c rent.$menu]..set.class.[winfo.cl
1e400 61 73 73 20 24 70 61 72 65 6e 74 5d 0d 09 69 66 20 7b 5b 24 6d 65 6e 75 20 74 79 70 65 20 61 63 ass.$parent]..if.{[$menu.type.ac
1e420 74 69 76 65 5d 20 3d 3d 20 22 63 61 73 63 61 64 65 22 7d 20 7b 0d 09 20 20 20 20 24 6d 65 6e 75 tive].==."cascade"}.{......$menu
1e440 20 70 6f 73 74 63 61 73 63 61 64 65 20 61 63 74 69 76 65 0d 09 20 20 20 20 73 65 74 20 6d 32 20 .postcascade.active......set.m2.
1e460 5b 24 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 61 63 74 69 76 65 20 2d 6d 65 6e 75 5d 0d 09 [$menu.entrycget.active.-menu]..
1e480 20 20 20 20 69 66 20 7b 24 6d 32 20 21 3d 20 22 22 7d 20 7b 0d 09 09 74 6b 4d 65 6e 75 46 69 72 ....if.{$m2.!=.""}.{...tkMenuFir
1e4a0 73 74 45 6e 74 72 79 20 24 6d 32 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 stEntry.$m2......}......return..
1e4c0 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 }.else.{......set.parent.[winfo.
1e4e0 70 61 72 65 6e 74 20 24 6d 65 6e 75 5d 0d 09 20 20 20 20 77 68 69 6c 65 20 7b 28 24 70 61 72 65 parent.$menu]......while.{($pare
1e500 6e 74 20 21 3d 20 22 2e 22 29 7d 20 7b 0d 09 09 69 66 20 7b 28 5b 77 69 6e 66 6f 20 63 6c 61 73 nt.!=.".")}.{...if.{([winfo.clas
1e520 73 20 24 70 61 72 65 6e 74 5d 20 3d 3d 20 22 4d 65 6e 75 22 29 0d 09 09 09 26 26 20 28 5b 24 70 s.$parent].==."Menu")....&&.([$p
1e540 61 72 65 6e 74 20 63 67 65 74 20 2d 74 79 70 65 5d 20 3d 3d 20 22 6d 65 6e 75 62 61 72 22 29 7d arent.cget.-type].==."menubar")}
1e560 20 7b 0d 09 09 20 20 20 20 74 6b 5f 6d 65 6e 75 53 65 74 46 6f 63 75 73 20 24 70 61 72 65 6e 74 .{.......tk_menuSetFocus.$parent
1e580 0d 09 09 20 20 20 20 74 6b 4d 65 6e 75 4e 65 78 74 45 6e 74 72 79 20 24 70 61 72 65 6e 74 20 31 .......tkMenuNextEntry.$parent.1
1e5a0 0d 09 09 20 20 20 20 72 65 74 75 72 6e 0d 09 09 7d 0d 09 09 73 65 74 20 70 61 72 65 6e 74 20 5b .......return...}...set.parent.[
1e5c0 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 70 61 72 65 6e 74 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d winfo.parent.$parent]......}..}.
1e5e0 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 63 6f 75 6e 74 20 2d 31 0d 09 73 65 74 20 ....}.else.{..set.count.-1..set.
1e600 6d 32 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d 65 6e 75 5d 0d 09 69 66 20 7b 5b 77 69 m2.[winfo.parent.$menu]..if.{[wi
1e620 6e 66 6f 20 63 6c 61 73 73 20 24 6d 32 5d 20 3d 3d 20 22 4d 65 6e 75 22 7d 20 7b 0d 09 20 20 20 nfo.class.$m2].==."Menu"}.{.....
1e640 20 69 66 20 7b 5b 24 6d 32 20 63 67 65 74 20 2d 74 79 70 65 5d 20 21 3d 20 22 6d 65 6e 75 62 61 .if.{[$m2.cget.-type].!=."menuba
1e660 72 22 7d 20 7b 0d 09 09 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 6e 6f 6e 65 0d 09 09 74 6b r"}.{...$menu.activate.none...tk
1e680 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 6e 75 0d 09 09 74 6b 5f 6d 65 GenerateMenuSelect.$menu...tk_me
1e6a0 6e 75 53 65 74 46 6f 63 75 73 20 24 6d 32 0d 09 09 0d 09 09 23 20 54 68 69 73 20 63 6f 64 65 20 nuSetFocus.$m2......#.This.code.
1e6c0 75 6e 70 6f 73 74 73 20 61 6e 79 20 70 6f 73 74 65 64 20 73 75 62 6d 65 6e 75 20 69 6e 20 74 68 unposts.any.posted.submenu.in.th
1e6e0 65 20 70 61 72 65 6e 74 2e 0d 09 09 0d 09 09 73 65 74 20 74 6d 70 20 5b 24 6d 32 20 69 6e 64 65 e.parent.......set.tmp.[$m2.inde
1e700 78 20 61 63 74 69 76 65 5d 0d 09 09 24 6d 32 20 61 63 74 69 76 61 74 65 20 6e 6f 6e 65 0d 09 09 x.active]...$m2.activate.none...
1e720 24 6d 32 20 61 63 74 69 76 61 74 65 20 24 74 6d 70 0d 09 09 72 65 74 75 72 6e 0d 09 20 20 20 20 $m2.activate.$tmp...return......
1e740 7d 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 43 61 6e 27 74 20 74 72 61 76 65 72 73 65 }..}.....}......#.Can't.traverse
1e760 20 69 6e 74 6f 20 6f 72 20 6f 75 74 20 6f 66 20 61 20 63 61 73 63 61 64 65 64 20 6d 65 6e 75 2e .into.or.out.of.a.cascaded.menu.
1e780 20 20 47 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 0d 20 20 20 20 23 20 6f 72 20 70 72 65 76 69 6f ..Go.to.the.next.....#.or.previo
1e7a0 75 73 20 6d 65 6e 75 62 75 74 74 6f 6e 2c 20 69 66 20 74 68 61 74 20 6d 61 6b 65 73 20 73 65 6e us.menubutton,.if.that.makes.sen
1e7c0 73 65 2e 0d 0d 20 20 20 20 73 65 74 20 6d 32 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d se.......set.m2.[winfo.parent.$m
1e7e0 65 6e 75 5d 0d 20 20 20 20 69 66 20 7b 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 6d 32 5d 20 3d enu].....if.{[winfo.class.$m2].=
1e800 3d 20 22 4d 65 6e 75 22 7d 20 7b 0d 09 69 66 20 7b 5b 24 6d 32 20 63 67 65 74 20 2d 74 79 70 65 =."Menu"}.{..if.{[$m2.cget.-type
1e820 5d 20 3d 3d 20 22 6d 65 6e 75 62 61 72 22 7d 20 7b 0d 09 20 20 20 20 74 6b 5f 6d 65 6e 75 53 65 ].==."menubar"}.{......tk_menuSe
1e840 74 46 6f 63 75 73 20 24 6d 32 0d 09 20 20 20 20 74 6b 4d 65 6e 75 4e 65 78 74 45 6e 74 72 79 20 tFocus.$m2......tkMenuNextEntry.
1e860 24 6d 32 20 2d 31 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 $m2.-1......return..}.....}.....
1e880 20 73 65 74 20 77 20 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 0d 20 20 20 20 69 66 20 .set.w.$tkPriv(postedMb).....if.
1e8a0 7b 24 77 20 3d 3d 20 22 22 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 {$w.==.""}.{..return.....}.....s
1e8c0 65 74 20 62 75 74 74 6f 6e 73 20 5b 77 69 6e 66 6f 20 63 68 69 6c 64 72 65 6e 20 5b 77 69 6e 66 et.buttons.[winfo.children.[winf
1e8e0 6f 20 70 61 72 65 6e 74 20 24 77 5d 5d 0d 20 20 20 20 73 65 74 20 6c 65 6e 67 74 68 20 5b 6c 6c o.parent.$w]].....set.length.[ll
1e900 65 6e 67 74 68 20 24 62 75 74 74 6f 6e 73 5d 0d 20 20 20 20 73 65 74 20 69 20 5b 65 78 70 72 20 ength.$buttons].....set.i.[expr.
1e920 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 24 62 75 74 74 6f 6e 73 20 24 77 5d 20 2b 20 24 [lsearch.-exact.$buttons.$w].+.$
1e940 63 6f 75 6e 74 5d 0d 20 20 20 20 77 68 69 6c 65 20 31 20 7b 0d 09 77 68 69 6c 65 20 7b 24 69 20 count].....while.1.{..while.{$i.
1e960 3c 20 30 7d 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 69 20 24 6c 65 6e 67 74 68 0d 09 7d 0d 09 77 <.0}.{......incr.i.$length..}..w
1e980 68 69 6c 65 20 7b 24 69 20 3e 3d 20 24 6c 65 6e 67 74 68 7d 20 7b 0d 09 20 20 20 20 69 6e 63 72 hile.{$i.>=.$length}.{......incr
1e9a0 20 69 20 2d 24 6c 65 6e 67 74 68 0d 09 7d 0d 09 73 65 74 20 6d 62 20 5b 6c 69 6e 64 65 78 20 24 .i.-$length..}..set.mb.[lindex.$
1e9c0 62 75 74 74 6f 6e 73 20 24 69 5d 0d 09 69 66 20 7b 28 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 buttons.$i]..if.{([winfo.class.$
1e9e0 6d 62 5d 20 3d 3d 20 22 4d 65 6e 75 62 75 74 74 6f 6e 22 29 0d 09 09 26 26 20 28 5b 24 6d 62 20 mb].==."Menubutton")...&&.([$mb.
1ea00 63 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 29 0d 09 09 26 26 cget.-state].!=."disabled")...&&
1ea20 20 28 5b 24 6d 62 20 63 67 65 74 20 2d 6d 65 6e 75 5d 20 21 3d 20 22 22 29 0d 09 09 26 26 20 28 .([$mb.cget.-menu].!=."")...&&.(
1ea40 5b 5b 24 6d 62 20 63 67 65 74 20 2d 6d 65 6e 75 5d 20 69 6e 64 65 78 20 6c 61 73 74 5d 20 21 3d [[$mb.cget.-menu].index.last].!=
1ea60 20 22 6e 6f 6e 65 22 29 7d 20 7b 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 09 69 66 20 7b 24 ."none")}.{......break..}..if.{$
1ea80 6d 62 20 3d 3d 20 24 77 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 09 69 6e 63 72 mb.==.$w}.{......return..}..incr
1eaa0 20 69 20 24 63 6f 75 6e 74 0d 20 20 20 20 7d 0d 20 20 20 20 74 6b 4d 62 50 6f 73 74 20 24 6d 62 .i.$count.....}.....tkMbPost.$mb
1eac0 0d 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 5b 24 6d 62 20 63 67 65 74 20 .....tkMenuFirstEntry.[$mb.cget.
1eae0 2d 6d 65 6e 75 5d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 4e 65 78 74 45 6e 74 72 79 20 2d 2d 0d 23 -menu].}..#.tkMenuNextEntry.--.#
1eb00 20 41 63 74 69 76 61 74 65 20 74 68 65 20 6e 65 78 74 20 68 69 67 68 65 72 20 6f 72 20 6c 6f 77 .Activate.the.next.higher.or.low
1eb20 65 72 20 65 6e 74 72 79 20 69 6e 20 74 68 65 20 70 6f 73 74 65 64 20 6d 65 6e 75 2c 0d 23 20 77 er.entry.in.the.posted.menu,.#.w
1eb40 72 61 70 70 69 6e 67 20 61 72 6f 75 6e 64 20 61 74 20 74 68 65 20 65 6e 64 73 2e 20 20 44 69 73 rapping.around.at.the.ends...Dis
1eb60 61 62 6c 65 64 20 65 6e 74 72 69 65 73 20 61 72 65 20 73 6b 69 70 70 65 64 2e 0d 23 0d 23 20 41 abled.entries.are.skipped..#.#.A
1eb80 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 09 4d 65 6e 75 20 77 69 6e 64 6f 77 rguments:.#.menu.-...Menu.window
1eba0 20 74 68 61 74 20 72 65 63 65 69 76 65 64 20 74 68 65 20 6b 65 79 73 74 72 6f 6b 65 2e 0d 23 20 .that.received.the.keystroke..#.
1ebc0 63 6f 75 6e 74 20 2d 09 09 09 31 20 6d 65 61 6e 73 20 67 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 count.-...1.means.go.to.the.next
1ebe0 20 6c 6f 77 65 72 20 65 6e 74 72 79 2c 0d 23 09 09 09 09 2d 31 20 6d 65 61 6e 73 20 67 6f 20 74 .lower.entry,.#....-1.means.go.t
1ec00 6f 20 74 68 65 20 6e 65 78 74 20 68 69 67 68 65 72 20 65 6e 74 72 79 2e 0d 0d 70 72 6f 63 20 74 o.the.next.higher.entry...proc.t
1ec20 6b 4d 65 6e 75 4e 65 78 74 45 6e 74 72 79 20 7b 6d 65 6e 75 20 63 6f 75 6e 74 7d 20 7b 0d 20 20 kMenuNextEntry.{menu.count}.{...
1ec40 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 5b 24 6d 65 6e 75 20 ..global.tkPriv......if.{[$menu.
1ec60 69 6e 64 65 78 20 6c 61 73 74 5d 20 3d 3d 20 22 6e 6f 6e 65 22 7d 20 7b 0d 09 72 65 74 75 72 6e index.last].==."none"}.{..return
1ec80 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6c 65 6e 67 74 68 20 5b 65 78 70 72 20 5b 24 6d 65 .....}.....set.length.[expr.[$me
1eca0 6e 75 20 69 6e 64 65 78 20 6c 61 73 74 5d 2b 31 5d 0d 20 20 20 20 73 65 74 20 71 75 69 74 41 66 nu.index.last]+1].....set.quitAf
1ecc0 74 65 72 20 24 6c 65 6e 67 74 68 0d 20 20 20 20 73 65 74 20 61 63 74 69 76 65 20 5b 24 6d 65 6e ter.$length.....set.active.[$men
1ece0 75 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d 20 20 20 20 69 66 20 7b 24 61 63 74 69 76 65 20 u.index.active].....if.{$active.
1ed00 3d 3d 20 22 6e 6f 6e 65 22 7d 20 7b 0d 09 73 65 74 20 69 20 30 0d 20 20 20 20 7d 20 65 6c 73 65 ==."none"}.{..set.i.0.....}.else
1ed20 20 7b 0d 09 73 65 74 20 69 20 5b 65 78 70 72 20 24 61 63 74 69 76 65 20 2b 20 24 63 6f 75 6e 74 .{..set.i.[expr.$active.+.$count
1ed40 5d 0d 20 20 20 20 7d 0d 20 20 20 20 77 68 69 6c 65 20 31 20 7b 0d 09 69 66 20 7b 24 71 75 69 74 ].....}.....while.1.{..if.{$quit
1ed60 41 66 74 65 72 20 3c 3d 20 30 7d 20 7b 0d 09 20 20 20 20 23 20 57 65 27 76 65 20 74 72 69 65 64 After.<=.0}.{......#.We've.tried
1ed80 20 65 76 65 72 79 20 65 6e 74 72 79 20 69 6e 20 74 68 65 20 6d 65 6e 75 2e 20 20 45 69 74 68 65 .every.entry.in.the.menu...Eithe
1eda0 72 20 74 68 65 72 65 20 61 72 65 0d 09 20 20 20 20 23 20 6e 6f 6e 65 2c 20 6f 72 20 74 68 65 79 r.there.are......#.none,.or.they
1edc0 27 72 65 20 61 6c 6c 20 64 69 73 61 62 6c 65 64 2e 20 20 4a 75 73 74 20 67 69 76 65 20 75 70 2e 're.all.disabled...Just.give.up.
1ede0 0d 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 09 77 68 69 6c 65 20 7b 24 69 20 3c 20 30 7d .......return..}..while.{$i.<.0}
1ee00 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 69 20 24 6c 65 6e 67 74 68 0d 09 7d 0d 09 77 68 69 6c 65 .{......incr.i.$length..}..while
1ee20 20 7b 24 69 20 3e 3d 20 24 6c 65 6e 67 74 68 7d 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 69 20 2d .{$i.>=.$length}.{......incr.i.-
1ee40 24 6c 65 6e 67 74 68 0d 09 7d 0d 09 69 66 20 7b 5b 63 61 74 63 68 20 7b 24 6d 65 6e 75 20 65 6e $length..}..if.{[catch.{$menu.en
1ee60 74 72 79 63 67 65 74 20 24 69 20 2d 73 74 61 74 65 7d 20 73 74 61 74 65 5d 20 3d 3d 20 30 7d 20 trycget.$i.-state}.state].==.0}.
1ee80 7b 0d 09 20 20 20 20 69 66 20 7b 24 73 74 61 74 65 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 7d {......if.{$state.!=."disabled"}
1eea0 20 7b 0d 09 09 62 72 65 61 6b 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 69 66 20 7b 24 69 20 3d 3d 20 .{...break......}..}..if.{$i.==.
1eec0 24 61 63 74 69 76 65 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 09 69 6e 63 72 20 $active}.{......return..}..incr.
1eee0 69 20 24 63 6f 75 6e 74 0d 09 69 6e 63 72 20 71 75 69 74 41 66 74 65 72 20 2d 31 0d 20 20 20 20 i.$count..incr.quitAfter.-1.....
1ef00 7d 0d 20 20 20 20 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 24 69 0d 20 20 20 20 74 6b 47 65 }.....$menu.activate.$i.....tkGe
1ef20 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 6e 75 0d 20 20 20 20 69 66 20 7b 5b nerateMenuSelect.$menu.....if.{[
1ef40 24 6d 65 6e 75 20 74 79 70 65 20 24 69 5d 20 3d 3d 20 22 63 61 73 63 61 64 65 22 7d 20 7b 0d 09 $menu.type.$i].==."cascade"}.{..
1ef60 73 65 74 20 63 61 73 63 61 64 65 20 5b 24 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 24 69 20 set.cascade.[$menu.entrycget.$i.
1ef80 2d 6d 65 6e 75 5d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 63 61 73 -menu]..if.{[string.compare.$cas
1efa0 63 61 64 65 20 22 22 5d 20 21 3d 20 30 7d 20 7b 0d 09 20 20 20 20 24 6d 65 6e 75 20 70 6f 73 74 cade.""].!=.0}.{......$menu.post
1efc0 63 61 73 63 61 64 65 20 24 69 0d 09 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 cascade.$i......tkMenuFirstEntry
1efe0 20 24 63 61 73 63 61 64 65 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 46 69 .$cascade..}.....}.}..#.tkMenuFi
1f000 6e 64 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 73 65 61 72 63 68 65 73 20 nd.--.#.This.procedure.searches.
1f020 74 68 65 20 65 6e 74 69 72 65 20 77 69 6e 64 6f 77 20 68 69 65 72 61 72 63 68 79 20 75 6e 64 65 the.entire.window.hierarchy.unde
1f040 72 20 77 20 66 6f 72 0d 23 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 20 74 68 61 74 20 69 73 6e 27 r.w.for.#.a.menubutton.that.isn'
1f060 74 20 64 69 73 61 62 6c 65 64 20 61 6e 64 20 77 68 6f 73 65 20 75 6e 64 65 72 6c 69 6e 65 64 20 t.disabled.and.whose.underlined.
1f080 63 68 61 72 61 63 74 65 72 0d 23 20 69 73 20 22 63 68 61 72 22 20 6f 72 20 61 6e 20 65 6e 74 72 character.#.is."char".or.an.entr
1f0a0 79 20 69 6e 20 61 20 6d 65 6e 75 62 61 72 20 74 68 61 74 20 69 73 6e 27 74 20 64 69 73 61 62 6c y.in.a.menubar.that.isn't.disabl
1f0c0 65 64 20 61 6e 64 20 77 68 6f 73 65 0d 23 20 75 6e 64 65 72 6c 69 6e 65 64 20 63 68 61 72 61 63 ed.and.whose.#.underlined.charac
1f0e0 74 65 72 20 69 73 20 22 63 68 61 72 22 2e 0d 23 20 49 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 ter.is."char"..#.It.returns.the.
1f100 6e 61 6d 65 20 6f 66 20 74 68 61 74 20 77 69 6e 64 6f 77 2c 20 69 66 20 66 6f 75 6e 64 2c 20 6f name.of.that.window,.if.found,.o
1f120 72 20 61 6e 0d 23 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 69 66 20 6e 6f 20 6d 61 74 63 68 69 r.an.#.empty.string.if.no.matchi
1f140 6e 67 20 77 69 6e 64 6f 77 20 77 61 73 20 66 6f 75 6e 64 2e 20 20 49 66 20 22 63 68 61 72 22 20 ng.window.was.found...If."char".
1f160 69 73 20 61 6e 0d 23 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 74 68 65 6e 20 74 68 65 20 70 72 is.an.#.empty.string.then.the.pr
1f180 6f 63 65 64 75 72 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 ocedure.returns.the.name.of.the.
1f1a0 66 69 72 73 74 0d 23 20 6d 65 6e 75 62 75 74 74 6f 6e 20 66 6f 75 6e 64 20 74 68 61 74 20 69 73 first.#.menubutton.found.that.is
1f1c0 6e 27 74 20 64 69 73 61 62 6c 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 n't.disabled..#.#.Arguments:.#.w
1f1e0 20 2d 09 09 09 09 4e 61 6d 65 20 6f 66 20 77 69 6e 64 6f 77 20 77 68 65 72 65 20 6b 65 79 20 77 .-....Name.of.window.where.key.w
1f200 61 73 20 74 79 70 65 64 2e 0d 23 20 63 68 61 72 20 2d 09 09 09 55 6e 64 65 72 6c 69 6e 65 64 20 as.typed..#.char.-...Underlined.
1f220 63 68 61 72 61 63 74 65 72 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 3b 0d 23 09 09 09 09 6d 61 character.to.search.for;.#....ma
1f240 79 20 62 65 20 65 69 74 68 65 72 20 75 70 70 65 72 20 6f 72 20 6c 6f 77 65 72 20 63 61 73 65 2c y.be.either.upper.or.lower.case,
1f260 20 61 6e 64 0d 23 09 09 09 09 77 69 6c 6c 20 6d 61 74 63 68 20 65 69 74 68 65 72 20 75 70 70 65 .and.#....will.match.either.uppe
1f280 72 20 6f 72 20 6c 6f 77 65 72 20 63 61 73 65 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 46 69 6e r.or.lower.case...proc.tkMenuFin
1f2a0 64 20 7b 77 20 63 68 61 72 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 d.{w.char}.{.....global.tkPriv..
1f2c0 20 20 20 73 65 74 20 63 68 61 72 20 5b 73 74 72 69 6e 67 20 74 6f 6c 6f 77 65 72 20 24 63 68 61 ...set.char.[string.tolower.$cha
1f2e0 72 5d 0d 20 20 20 20 73 65 74 20 77 69 6e 64 6f 77 6c 69 73 74 20 5b 77 69 6e 66 6f 20 63 68 69 r].....set.windowlist.[winfo.chi
1f300 6c 64 20 24 77 5d 0d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 63 68 69 6c 64 20 24 77 69 6e 64 6f ld.$w]......foreach.child.$windo
1f320 77 6c 69 73 74 20 7b 0d 09 73 77 69 74 63 68 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 63 68 wlist.{..switch.[winfo.class.$ch
1f340 69 6c 64 5d 20 7b 0d 09 20 20 20 20 4d 65 6e 75 20 7b 0d 09 09 69 66 20 7b 5b 24 63 68 69 6c 64 ild].{......Menu.{...if.{[$child
1f360 20 63 67 65 74 20 2d 74 79 70 65 5d 20 3d 3d 20 22 6d 65 6e 75 62 61 72 22 7d 20 7b 0d 09 09 20 .cget.-type].==."menubar"}.{....
1f380 20 20 20 69 66 20 7b 24 63 68 61 72 20 3d 3d 20 22 22 7d 20 7b 0d 09 09 09 72 65 74 75 72 6e 20 ...if.{$char.==.""}.{....return.
1f3a0 24 63 68 69 6c 64 0d 09 09 20 20 20 20 7d 0d 09 09 20 20 20 20 73 65 74 20 6c 61 73 74 20 5b 24 $child.......}.......set.last.[$
1f3c0 63 68 69 6c 64 20 69 6e 64 65 78 20 6c 61 73 74 5d 0d 09 09 20 20 20 20 66 6f 72 20 7b 73 65 74 child.index.last].......for.{set
1f3e0 20 69 20 5b 24 63 68 69 6c 64 20 63 67 65 74 20 2d 74 65 61 72 6f 66 66 5d 7d 20 7b 24 69 20 3c .i.[$child.cget.-tearoff]}.{$i.<
1f400 3d 20 24 6c 61 73 74 7d 20 7b 69 6e 63 72 20 69 7d 20 7b 0d 09 09 09 69 66 20 7b 5b 24 63 68 69 =.$last}.{incr.i}.{....if.{[$chi
1f420 6c 64 20 74 79 70 65 20 24 69 5d 20 3d 3d 20 22 73 65 70 61 72 61 74 6f 72 22 7d 20 7b 0d 09 09 ld.type.$i].==."separator"}.{...
1f440 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d 09 09 09 7d 0d 09 09 09 73 65 74 20 63 68 61 72 32 20 .....continue....}....set.char2.
1f460 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 20 5b 24 63 68 69 6c 64 20 65 6e 74 72 79 63 67 65 74 20 [string.index.[$child.entrycget.
1f480 24 69 20 2d 6c 61 62 65 6c 5d 20 5c 0d 09 09 09 09 5b 24 63 68 69 6c 64 20 65 6e 74 72 79 63 67 $i.-label].\.....[$child.entrycg
1f4a0 65 74 20 24 69 20 2d 75 6e 64 65 72 6c 69 6e 65 5d 5d 0d 09 09 09 69 66 20 7b 28 5b 73 74 72 69 et.$i.-underline]]....if.{([stri
1f4c0 6e 67 20 63 6f 6d 70 61 72 65 20 24 63 68 61 72 20 5b 73 74 72 69 6e 67 20 74 6f 6c 6f 77 65 72 ng.compare.$char.[string.tolower
1f4e0 20 24 63 68 61 72 32 5d 5d 20 5c 0d 09 09 09 09 3d 3d 20 30 29 20 7c 7c 20 28 24 63 68 61 72 20 .$char2]].\.....==.0).||.($char.
1f500 3d 3d 20 22 22 29 7d 20 7b 0d 09 09 09 20 20 20 20 69 66 20 7b 5b 24 63 68 69 6c 64 20 65 6e 74 ==."")}.{........if.{[$child.ent
1f520 72 79 63 67 65 74 20 24 69 20 2d 73 74 61 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 7d rycget.$i.-state].!=."disabled"}
1f540 20 7b 0d 09 09 09 09 72 65 74 75 72 6e 20 24 63 68 69 6c 64 0d 09 09 09 20 20 20 20 7d 0d 09 09 .{.....return.$child........}...
1f560 09 7d 0d 09 09 20 20 20 20 7d 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 0d .}.......}...}......}..}.....}..
1f580 20 20 20 20 66 6f 72 65 61 63 68 20 63 68 69 6c 64 20 24 77 69 6e 64 6f 77 6c 69 73 74 20 7b 0d ....foreach.child.$windowlist.{.
1f5a0 09 73 77 69 74 63 68 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 63 68 69 6c 64 5d 20 7b 0d 09 .switch.[winfo.class.$child].{..
1f5c0 20 20 20 20 4d 65 6e 75 62 75 74 74 6f 6e 20 7b 0d 09 09 73 65 74 20 63 68 61 72 32 20 5b 73 74 ....Menubutton.{...set.char2.[st
1f5e0 72 69 6e 67 20 69 6e 64 65 78 20 5b 24 63 68 69 6c 64 20 63 67 65 74 20 2d 74 65 78 74 5d 20 5c ring.index.[$child.cget.-text].\
1f600 0d 09 09 09 5b 24 63 68 69 6c 64 20 63 67 65 74 20 2d 75 6e 64 65 72 6c 69 6e 65 5d 5d 0d 09 09 ....[$child.cget.-underline]]...
1f620 69 66 20 7b 28 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 63 68 61 72 20 5b 73 74 72 69 if.{([string.compare.$char.[stri
1f640 6e 67 20 74 6f 6c 6f 77 65 72 20 24 63 68 61 72 32 5d 5d 20 3d 3d 20 30 29 0d 09 09 09 7c 7c 20 ng.tolower.$char2]].==.0)....||.
1f660 28 24 63 68 61 72 20 3d 3d 20 22 22 29 7d 20 7b 0d 09 09 20 20 20 20 69 66 20 7b 5b 24 63 68 69 ($char.==."")}.{.......if.{[$chi
1f680 6c 64 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 7d 20 7b ld.cget.-state].!=."disabled"}.{
1f6a0 0d 09 09 09 72 65 74 75 72 6e 20 24 63 68 69 6c 64 0d 09 09 20 20 20 20 7d 0d 09 09 7d 0d 09 20 ....return.$child.......}...}...
1f6c0 20 20 20 7d 0d 0d 09 20 20 20 20 64 65 66 61 75 6c 74 20 7b 0d 09 09 73 65 74 20 6d 61 74 63 68 ...}.......default.{...set.match
1f6e0 20 5b 74 6b 4d 65 6e 75 46 69 6e 64 20 24 63 68 69 6c 64 20 24 63 68 61 72 5d 0d 09 09 69 66 20 .[tkMenuFind.$child.$char]...if.
1f700 7b 24 6d 61 74 63 68 20 21 3d 20 22 22 7d 20 7b 0d 09 09 20 20 20 20 72 65 74 75 72 6e 20 24 6d {$match.!=.""}.{.......return.$m
1f720 61 74 63 68 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 atch...}......}..}.....}.....ret
1f740 75 72 6e 20 7b 7d 0d 7d 0d 0d 23 20 74 6b 54 72 61 76 65 72 73 65 54 6f 4d 65 6e 75 20 2d 2d 0d urn.{}.}..#.tkTraverseToMenu.--.
1f760 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 6b 65 79 62 #.This.procedure.implements.keyb
1f780 6f 61 72 64 20 74 72 61 76 65 72 73 61 6c 20 6f 66 20 6d 65 6e 75 73 2e 20 20 47 69 76 65 6e 20 oard.traversal.of.menus...Given.
1f7a0 61 6e 0d 23 20 41 53 43 49 49 20 63 68 61 72 61 63 74 65 72 20 22 63 68 61 72 22 2c 20 69 74 20 an.#.ASCII.character."char",.it.
1f7c0 6c 6f 6f 6b 73 20 66 6f 72 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 20 77 69 74 68 20 74 68 61 74 looks.for.a.menubutton.with.that
1f7e0 20 63 68 61 72 61 63 74 65 72 0d 23 20 75 6e 64 65 72 6c 69 6e 65 64 2e 20 20 49 66 20 6f 6e 65 .character.#.underlined...If.one
1f800 20 69 73 20 66 6f 75 6e 64 2c 20 69 74 20 70 6f 73 74 73 20 74 68 65 20 6d 65 6e 75 62 75 74 74 .is.found,.it.posts.the.menubutt
1f820 6f 6e 27 73 20 6d 65 6e 75 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 on's.menu.#.#.Arguments:.#.w.-..
1f840 09 09 57 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 6b 65 79 20 77 61 73 20 74 79 ..Window.in.which.the.key.was.ty
1f860 70 65 64 20 28 73 65 6c 65 63 74 73 0d 23 09 09 09 09 61 20 74 6f 70 6c 65 76 65 6c 20 77 69 6e ped.(selects.#....a.toplevel.win
1f880 64 6f 77 29 2e 0d 23 20 63 68 61 72 20 2d 09 09 09 43 68 61 72 61 63 74 65 72 20 74 68 61 74 20 dow)..#.char.-...Character.that.
1f8a0 73 65 6c 65 63 74 73 20 61 20 6d 65 6e 75 2e 20 20 54 68 65 20 63 61 73 65 0d 23 09 09 09 09 69 selects.a.menu...The.case.#....i
1f8c0 73 20 69 67 6e 6f 72 65 64 2e 20 20 49 66 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 20 s.ignored...If.an.empty.string,.
1f8e0 6e 6f 74 68 69 6e 67 0d 23 09 09 09 09 68 61 70 70 65 6e 73 2e 0d 0d 70 72 6f 63 20 74 6b 54 72 nothing.#....happens...proc.tkTr
1f900 61 76 65 72 73 65 54 6f 4d 65 6e 75 20 7b 77 20 63 68 61 72 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 averseToMenu.{w.char}.{.....glob
1f920 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 24 63 68 61 72 20 3d 3d 20 22 22 7d 20 7b al.tkPriv.....if.{$char.==.""}.{
1f940 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 77 68 69 6c 65 20 7b 5b 77 69 6e 66 6f ..return.....}.....while.{[winfo
1f960 20 63 6c 61 73 73 20 24 77 5d 20 3d 3d 20 22 4d 65 6e 75 22 7d 20 7b 0d 09 69 66 20 7b 28 5b 24 .class.$w].==."Menu"}.{..if.{([$
1f980 77 20 63 67 65 74 20 2d 74 79 70 65 5d 20 21 3d 20 22 6d 65 6e 75 62 61 72 22 29 20 26 26 20 28 w.cget.-type].!=."menubar").&&.(
1f9a0 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 3d 3d 20 22 22 29 7d 20 7b 0d 09 20 20 20 $tkPriv(postedMb).==."")}.{.....
1f9c0 20 72 65 74 75 72 6e 0d 09 7d 0d 09 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 74 79 70 65 5d 20 .return..}..if.{[$w.cget.-type].
1f9e0 3d 3d 20 22 6d 65 6e 75 62 61 72 22 7d 20 7b 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 09 73 ==."menubar"}.{......break..}..s
1fa00 65 74 20 77 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 0d 20 20 20 20 7d 0d 20 20 20 et.w.[winfo.parent.$w].....}....
1fa20 20 73 65 74 20 77 20 5b 74 6b 4d 65 6e 75 46 69 6e 64 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 .set.w.[tkMenuFind.[winfo.toplev
1fa40 65 6c 20 24 77 5d 20 24 63 68 61 72 5d 0d 20 20 20 20 69 66 20 7b 24 77 20 21 3d 20 22 22 7d 20 el.$w].$char].....if.{$w.!=.""}.
1fa60 7b 0d 09 69 66 20 7b 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 77 5d 20 3d 3d 20 22 4d 65 6e 75 {..if.{[winfo.class.$w].==."Menu
1fa80 22 7d 20 7b 0d 09 20 20 20 20 74 6b 5f 6d 65 6e 75 53 65 74 46 6f 63 75 73 20 24 77 0d 09 20 20 "}.{......tk_menuSetFocus.$w....
1faa0 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 24 77 0d 09 20 20 20 20 74 6b 53 ..set.tkPriv(window).$w......tkS
1fac0 61 76 65 47 72 61 62 49 6e 66 6f 20 24 77 0d 09 20 20 20 20 67 72 61 62 20 2d 67 6c 6f 62 61 6c aveGrabInfo.$w......grab.-global
1fae0 20 24 77 0d 09 20 20 20 20 74 6b 54 72 61 76 65 72 73 65 57 69 74 68 69 6e 4d 65 6e 75 20 24 77 .$w......tkTraverseWithinMenu.$w
1fb00 20 24 63 68 61 72 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 74 6b 4d 62 50 6f 73 74 20 24 .$char..}.else.{......tkMbPost.$
1fb20 77 0d 09 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 5b 24 77 20 63 67 65 74 w......tkMenuFirstEntry.[$w.cget
1fb40 20 2d 6d 65 6e 75 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 46 69 72 73 74 4d 65 6e .-menu]..}.....}.}..#.tkFirstMen
1fb60 75 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 74 72 61 76 65 72 73 65 73 20 u.--.#.This.procedure.traverses.
1fb80 74 6f 20 74 68 65 20 66 69 72 73 74 20 6d 65 6e 75 62 75 74 74 6f 6e 20 69 6e 20 74 68 65 20 74 to.the.first.menubutton.in.the.t
1fba0 6f 70 6c 65 76 65 6c 0d 23 20 66 6f 72 20 61 20 67 69 76 65 6e 20 77 69 6e 64 6f 77 2c 20 61 6e oplevel.#.for.a.given.window,.an
1fbc0 64 20 70 6f 73 74 73 20 74 68 61 74 20 6d 65 6e 75 62 75 74 74 6f 6e 27 73 20 6d 65 6e 75 2e 0d d.posts.that.menubutton's.menu..
1fbe0 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 09 09 4e 61 6d 65 20 6f 66 20 #.#.Arguments:.#.w.-....Name.of.
1fc00 61 20 77 69 6e 64 6f 77 2e 20 20 53 65 6c 65 63 74 73 20 77 68 69 63 68 20 74 6f 70 6c 65 76 65 a.window...Selects.which.topleve
1fc20 6c 0d 23 09 09 09 09 74 6f 20 73 65 61 72 63 68 20 66 6f 72 20 6d 65 6e 75 62 75 74 74 6f 6e 73 l.#....to.search.for.menubuttons
1fc40 2e 0d 0d 70 72 6f 63 20 74 6b 46 69 72 73 74 4d 65 6e 75 20 77 20 7b 0d 20 20 20 20 73 65 74 20 ...proc.tkFirstMenu.w.{.....set.
1fc60 77 20 5b 74 6b 4d 65 6e 75 46 69 6e 64 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 77 w.[tkMenuFind.[winfo.toplevel.$w
1fc80 5d 20 22 22 5d 0d 20 20 20 20 69 66 20 7b 24 77 20 21 3d 20 22 22 7d 20 7b 0d 09 69 66 20 7b 5b ].""].....if.{$w.!=.""}.{..if.{[
1fca0 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 77 5d 20 3d 3d 20 22 4d 65 6e 75 22 7d 20 7b 0d 09 20 20 winfo.class.$w].==."Menu"}.{....
1fcc0 20 20 74 6b 5f 6d 65 6e 75 53 65 74 46 6f 63 75 73 20 24 77 0d 09 20 20 20 20 73 65 74 20 74 6b ..tk_menuSetFocus.$w......set.tk
1fce0 50 72 69 76 28 77 69 6e 64 6f 77 29 20 24 77 0d 09 20 20 20 20 74 6b 53 61 76 65 47 72 61 62 49 Priv(window).$w......tkSaveGrabI
1fd00 6e 66 6f 20 24 77 0d 09 20 20 20 20 67 72 61 62 20 2d 67 6c 6f 62 61 6c 20 24 77 0d 09 20 20 20 nfo.$w......grab.-global.$w.....
1fd20 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 24 77 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 .tkMenuFirstEntry.$w..}.else.{..
1fd40 20 20 20 20 74 6b 4d 62 50 6f 73 74 20 24 77 0d 09 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 73 74 ....tkMbPost.$w......tkMenuFirst
1fd60 45 6e 74 72 79 20 5b 24 77 20 63 67 65 74 20 2d 6d 65 6e 75 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d Entry.[$w.cget.-menu]..}.....}.}
1fd80 0d 0d 23 20 74 6b 54 72 61 76 65 72 73 65 57 69 74 68 69 6e 4d 65 6e 75 0d 23 20 54 68 69 73 20 ..#.tkTraverseWithinMenu.#.This.
1fda0 70 72 6f 63 65 64 75 72 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 6b 65 79 62 6f 61 72 64 20 74 72 procedure.implements.keyboard.tr
1fdc0 61 76 65 72 73 61 6c 20 77 69 74 68 69 6e 20 61 20 6d 65 6e 75 2e 20 20 49 74 0d 23 20 73 65 61 aversal.within.a.menu...It.#.sea
1fde0 72 63 68 65 73 20 66 6f 72 20 61 6e 20 65 6e 74 72 79 20 69 6e 20 74 68 65 20 6d 65 6e 75 20 74 rches.for.an.entry.in.the.menu.t
1fe00 68 61 74 20 68 61 73 20 22 63 68 61 72 22 20 75 6e 64 65 72 6c 69 6e 65 64 2e 20 20 49 66 0d 23 hat.has."char".underlined...If.#
1fe20 20 73 75 63 68 20 61 6e 20 65 6e 74 72 79 20 69 73 20 66 6f 75 6e 64 2c 20 69 74 20 69 73 20 69 .such.an.entry.is.found,.it.is.i
1fe40 6e 76 6f 6b 65 64 20 61 6e 64 20 74 68 65 20 6d 65 6e 75 20 69 73 20 75 6e 70 6f 73 74 65 64 2e nvoked.and.the.menu.is.unposted.
1fe60 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 09 09 54 68 65 20 6e 61 6d .#.#.Arguments:.#.w.-....The.nam
1fe80 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 77 69 64 67 65 74 2e 0d 23 20 63 68 61 72 20 2d 09 09 e.of.the.menu.widget..#.char.-..
1fea0 09 54 68 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 3b 20 20 63 61 73 .The.character.to.look.for;..cas
1fec0 65 20 69 73 0d 23 09 09 09 09 69 67 6e 6f 72 65 64 2e 20 20 49 66 20 74 68 65 20 73 74 72 69 6e e.is.#....ignored...If.the.strin
1fee0 67 20 69 73 20 65 6d 70 74 79 20 74 68 65 6e 0d 23 09 09 09 09 6e 6f 74 68 69 6e 67 20 68 61 70 g.is.empty.then.#....nothing.hap
1ff00 70 65 6e 73 2e 0d 0d 70 72 6f 63 20 74 6b 54 72 61 76 65 72 73 65 57 69 74 68 69 6e 4d 65 6e 75 pens...proc.tkTraverseWithinMenu
1ff20 20 7b 77 20 63 68 61 72 7d 20 7b 0d 20 20 20 20 69 66 20 7b 24 63 68 61 72 20 3d 3d 20 22 22 7d .{w.char}.{.....if.{$char.==.""}
1ff40 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 63 68 61 72 20 5b 73 .{..return.....}.....set.char.[s
1ff60 74 72 69 6e 67 20 74 6f 6c 6f 77 65 72 20 24 63 68 61 72 5d 0d 20 20 20 20 73 65 74 20 6c 61 73 tring.tolower.$char].....set.las
1ff80 74 20 5b 24 77 20 69 6e 64 65 78 20 6c 61 73 74 5d 0d 20 20 20 20 69 66 20 7b 24 6c 61 73 74 20 t.[$w.index.last].....if.{$last.
1ffa0 3d 3d 20 22 6e 6f 6e 65 22 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 66 ==."none"}.{..return.....}.....f
1ffc0 6f 72 20 7b 73 65 74 20 69 20 30 7d 20 7b 24 69 20 3c 3d 20 24 6c 61 73 74 7d 20 7b 69 6e 63 72 or.{set.i.0}.{$i.<=.$last}.{incr
1ffe0 20 69 7d 20 7b 0d 09 69 66 20 5b 63 61 74 63 68 20 7b 73 65 74 20 63 68 61 72 32 20 5b 73 74 72 .i}.{..if.[catch.{set.char2.[str
20000 69 6e 67 20 69 6e 64 65 78 20 5c 0d 09 09 5b 24 77 20 65 6e 74 72 79 63 67 65 74 20 24 69 20 2d ing.index.\...[$w.entrycget.$i.-
20020 6c 61 62 65 6c 5d 20 5c 0d 09 09 5b 24 77 20 65 6e 74 72 79 63 67 65 74 20 24 69 20 2d 75 6e 64 label].\...[$w.entrycget.$i.-und
20040 65 72 6c 69 6e 65 5d 5d 7d 5d 20 7b 0d 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d 09 7d 0d 09 69 erline]]}].{......continue..}..i
20060 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 63 68 61 72 20 5b 73 74 72 69 6e 67 f.{[string.compare.$char.[string
20080 20 74 6f 6c 6f 77 65 72 20 24 63 68 61 72 32 5d 5d 20 3d 3d 20 30 7d 20 7b 0d 09 20 20 20 20 69 .tolower.$char2]].==.0}.{......i
200a0 66 20 7b 5b 24 77 20 74 79 70 65 20 24 69 5d 20 3d 3d 20 22 63 61 73 63 61 64 65 22 7d 20 7b 0d f.{[$w.type.$i].==."cascade"}.{.
200c0 09 09 24 77 20 61 63 74 69 76 61 74 65 20 24 69 0d 09 09 24 77 20 70 6f 73 74 63 61 73 63 61 64 ..$w.activate.$i...$w.postcascad
200e0 65 20 61 63 74 69 76 65 0d 09 09 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 77 20 3c 3c 4d e.active...event.generate.$w.<<M
20100 65 6e 75 53 65 6c 65 63 74 3e 3e 0d 09 09 73 65 74 20 6d 32 20 5b 24 77 20 65 6e 74 72 79 63 67 enuSelect>>...set.m2.[$w.entrycg
20120 65 74 20 24 69 20 2d 6d 65 6e 75 5d 0d 09 09 69 66 20 7b 24 6d 32 20 21 3d 20 22 22 7d 20 7b 0d et.$i.-menu]...if.{$m2.!=.""}.{.
20140 09 09 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 24 6d 32 0d 09 09 7d 0d 09 ......tkMenuFirstEntry.$m2...}..
20160 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 24 77 0d 09 ....}.else.{...tkMenuUnpost.$w..
20180 09 75 70 6c 65 76 65 6c 20 23 30 20 5b 6c 69 73 74 20 24 77 20 69 6e 76 6f 6b 65 20 24 69 5d 0d .uplevel.#0.[list.$w.invoke.$i].
201a0 09 20 20 20 20 7d 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 .....}......return..}.....}.}..#
201c0 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 2d 2d 0d 23 20 47 69 76 65 6e 20 61 20 6d .tkMenuFirstEntry.--.#.Given.a.m
201e0 65 6e 75 2c 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 66 69 6e 64 73 20 74 68 65 20 66 69 enu,.this.procedure.finds.the.fi
20200 72 73 74 20 65 6e 74 72 79 20 74 68 61 74 20 69 73 6e 27 74 0d 23 20 64 69 73 61 62 6c 65 64 20 rst.entry.that.isn't.#.disabled.
20220 6f 72 20 61 20 74 65 61 72 2d 6f 66 66 20 6f 72 20 73 65 70 61 72 61 74 6f 72 2c 20 61 6e 64 20 or.a.tear-off.or.separator,.and.
20240 61 63 74 69 76 61 74 65 73 20 74 68 61 74 20 65 6e 74 72 79 2e 0d 23 20 48 6f 77 65 76 65 72 2c activates.that.entry..#.However,
20260 20 69 66 20 74 68 65 72 65 20 69 73 20 61 6c 72 65 61 64 79 20 61 6e 20 61 63 74 69 76 65 20 65 .if.there.is.already.an.active.e
20280 6e 74 72 79 20 69 6e 20 74 68 65 20 6d 65 6e 75 20 28 65 2e 67 2e 2c 0d 23 20 62 65 63 61 75 73 ntry.in.the.menu.(e.g.,.#.becaus
202a0 65 20 6f 66 20 61 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 20 74 6f 20 74 6b 50 6f 73 74 4f 76 e.of.a.previous.call.to.tkPostOv
202c0 65 72 50 6f 69 6e 74 29 20 74 68 65 6e 20 74 68 65 20 61 63 74 69 76 65 0d 23 20 65 6e 74 72 79 erPoint).then.the.active.#.entry
202e0 20 69 73 6e 27 74 20 63 68 61 6e 67 65 64 2e 20 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 .isn't.changed...This.procedure.
20300 61 6c 73 6f 20 73 65 74 73 20 74 68 65 20 69 6e 70 75 74 20 66 6f 63 75 73 0d 23 20 74 6f 20 74 also.sets.the.input.focus.#.to.t
20320 68 65 20 6d 65 6e 75 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d he.menu..#.#.Arguments:.#.menu.-
20340 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 77 69 6e 64 6f 77 20 28 70 6f 73 73 69 ..Name.of.the.menu.window.(possi
20360 62 6c 79 20 65 6d 70 74 79 29 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 bly.empty)...proc.tkMenuFirstEnt
20380 72 79 20 6d 65 6e 75 20 7b 0d 20 20 20 20 69 66 20 7b 24 6d 65 6e 75 20 3d 3d 20 22 22 7d 20 7b ry.menu.{.....if.{$menu.==.""}.{
203a0 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 74 6b 5f 6d 65 6e 75 53 65 74 46 6f 63 ..return.....}.....tk_menuSetFoc
203c0 75 73 20 24 6d 65 6e 75 0d 20 20 20 20 69 66 20 7b 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 61 63 us.$menu.....if.{[$menu.index.ac
203e0 74 69 76 65 5d 20 21 3d 20 22 6e 6f 6e 65 22 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d tive].!=."none"}.{..return.....}
20400 0d 20 20 20 20 73 65 74 20 6c 61 73 74 20 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 6c 61 73 74 5d .....set.last.[$menu.index.last]
20420 0d 20 20 20 20 69 66 20 7b 24 6c 61 73 74 20 3d 3d 20 22 6e 6f 6e 65 22 7d 20 7b 0d 09 72 65 74 .....if.{$last.==."none"}.{..ret
20440 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 20 30 7d 20 7b 24 69 20 urn.....}.....for.{set.i.0}.{$i.
20460 3c 3d 20 24 6c 61 73 74 7d 20 7b 69 6e 63 72 20 69 7d 20 7b 0d 09 69 66 20 7b 28 5b 63 61 74 63 <=.$last}.{incr.i}.{..if.{([catc
20480 68 20 7b 73 65 74 20 73 74 61 74 65 20 5b 24 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 24 69 h.{set.state.[$menu.entrycget.$i
204a0 20 2d 73 74 61 74 65 5d 7d 5d 20 3d 3d 20 30 29 0d 09 09 26 26 20 28 24 73 74 61 74 65 20 21 3d .-state]}].==.0)...&&.($state.!=
204c0 20 22 64 69 73 61 62 6c 65 64 22 29 20 26 26 20 28 5b 24 6d 65 6e 75 20 74 79 70 65 20 24 69 5d ."disabled").&&.([$menu.type.$i]
204e0 20 21 3d 20 22 74 65 61 72 6f 66 66 22 29 7d 20 7b 0d 09 20 20 20 20 24 6d 65 6e 75 20 61 63 74 .!=."tearoff")}.{......$menu.act
20500 69 76 61 74 65 20 24 69 0d 09 20 20 20 20 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 ivate.$i......tkGenerateMenuSele
20520 63 74 20 24 6d 65 6e 75 0d 09 20 20 20 20 69 66 20 7b 5b 24 6d 65 6e 75 20 74 79 70 65 20 24 69 ct.$menu......if.{[$menu.type.$i
20540 5d 20 3d 3d 20 22 63 61 73 63 61 64 65 22 7d 20 7b 0d 09 09 73 65 74 20 63 61 73 63 61 64 65 20 ].==."cascade"}.{...set.cascade.
20560 5b 24 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 24 69 20 2d 6d 65 6e 75 5d 0d 09 09 69 66 20 [$menu.entrycget.$i.-menu]...if.
20580 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 63 61 73 63 61 64 65 20 22 22 5d 20 21 3d {[string.compare.$cascade.""].!=
205a0 20 30 7d 20 7b 0d 09 09 20 20 20 20 24 6d 65 6e 75 20 70 6f 73 74 63 61 73 63 61 64 65 20 24 69 .0}.{.......$menu.postcascade.$i
205c0 0d 09 09 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 24 63 61 73 63 61 64 65 .......tkMenuFirstEntry.$cascade
205e0 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 20 20 20 20 7d ...}......}......return..}.....}
20600 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 46 69 6e 64 4e 61 6d 65 20 2d 2d 0d 23 20 47 69 76 65 6e 20 .}..#.tkMenuFindName.--.#.Given.
20620 61 20 6d 65 6e 75 20 61 6e 64 20 61 20 74 65 78 74 20 73 74 72 69 6e 67 2c 20 72 65 74 75 72 6e a.menu.and.a.text.string,.return
20640 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 65 6e 74 72 79 0d 23 20 74 .the.index.of.the.menu.entry.#.t
20660 68 61 74 20 64 69 73 70 6c 61 79 73 20 74 68 65 20 73 74 72 69 6e 67 20 61 73 20 69 74 73 20 6c hat.displays.the.string.as.its.l
20680 61 62 65 6c 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 6e 74 72 79 abel...If.there.is.no.such.entry
206a0 2c 0d 23 20 72 65 74 75 72 6e 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 20 20 54 68 69 ,.#.return.an.empty.string...Thi
206c0 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 74 72 69 63 6b 79 20 62 65 63 61 75 73 65 20 73 6f s.procedure.is.tricky.because.so
206e0 6d 65 20 6e 61 6d 65 73 0d 23 20 6c 69 6b 65 20 22 61 63 74 69 76 65 22 20 68 61 76 65 20 61 20 me.names.#.like."active".have.a.
20700 73 70 65 63 69 61 6c 20 6d 65 61 6e 69 6e 67 20 69 6e 20 6d 65 6e 75 20 63 6f 6d 6d 61 6e 64 73 special.meaning.in.menu.commands
20720 2c 20 73 6f 20 77 65 20 63 61 6e 27 74 0d 23 20 61 6c 77 61 79 73 20 75 73 65 20 74 68 65 20 22 ,.so.we.can't.#.always.use.the."
20740 69 6e 64 65 78 22 20 77 69 64 67 65 74 20 63 6f 6d 6d 61 6e 64 2e 0d 23 0d 23 20 41 72 67 75 6d index".widget.command..#.#.Argum
20760 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 ents:.#.menu.-..Name.of.the.menu
20780 20 77 69 64 67 65 74 2e 0d 23 20 73 20 2d 09 09 09 53 74 72 69 6e 67 20 74 6f 20 6c 6f 6f 6b 20 .widget..#.s.-...String.to.look.
207a0 66 6f 72 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 46 69 6e 64 4e 61 6d 65 20 7b 6d 65 6e 75 20 for...proc.tkMenuFindName.{menu.
207c0 73 7d 20 7b 0d 20 20 20 20 73 65 74 20 69 20 22 22 0d 20 20 20 20 69 66 20 7b 21 5b 72 65 67 65 s}.{.....set.i."".....if.{![rege
207e0 78 70 20 7b 5e 61 63 74 69 76 65 24 7c 5e 6c 61 73 74 24 7c 5e 6e 6f 6e 65 24 7c 5e 5b 30 2d 39 xp.{^active$|^last$|^none$|^[0-9
20800 5d 7c 5e 40 7d 20 24 73 5d 7d 20 7b 0d 09 63 61 74 63 68 20 7b 73 65 74 20 69 20 5b 24 6d 65 6e ]|^@}.$s]}.{..catch.{set.i.[$men
20820 75 20 69 6e 64 65 78 20 24 73 5d 7d 0d 09 72 65 74 75 72 6e 20 24 69 0d 20 20 20 20 7d 0d 20 20 u.index.$s]}..return.$i.....}...
20840 20 20 73 65 74 20 6c 61 73 74 20 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 6c 61 73 74 5d 0d 20 20 ..set.last.[$menu.index.last]...
20860 20 20 69 66 20 7b 24 6c 61 73 74 20 3d 3d 20 22 6e 6f 6e 65 22 7d 20 7b 0d 09 72 65 74 75 72 6e ..if.{$last.==."none"}.{..return
20880 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 20 30 7d 20 7b 24 69 20 3c 3d 20 .....}.....for.{set.i.0}.{$i.<=.
208a0 24 6c 61 73 74 7d 20 7b 69 6e 63 72 20 69 7d 20 7b 0d 09 69 66 20 21 5b 63 61 74 63 68 20 7b 24 $last}.{incr.i}.{..if.![catch.{$
208c0 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 24 69 20 2d 6c 61 62 65 6c 7d 20 6c 61 62 65 6c 5d menu.entrycget.$i.-label}.label]
208e0 20 7b 0d 09 20 20 20 20 69 66 20 7b 24 6c 61 62 65 6c 20 3d 3d 20 24 73 7d 20 7b 0d 09 09 72 65 .{......if.{$label.==.$s}.{...re
20900 74 75 72 6e 20 24 69 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 turn.$i......}..}.....}.....retu
20920 72 6e 20 22 22 0d 7d 0d 0d 23 20 74 6b 50 6f 73 74 4f 76 65 72 50 6f 69 6e 74 20 2d 2d 0d 23 20 rn."".}..#.tkPostOverPoint.--.#.
20940 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 70 6f 73 74 73 20 61 20 67 69 76 65 6e 20 6d 65 6e This.procedure.posts.a.given.men
20960 75 20 73 75 63 68 20 74 68 61 74 20 61 20 67 69 76 65 6e 20 65 6e 74 72 79 20 69 6e 20 74 68 65 u.such.that.a.given.entry.in.the
20980 0d 23 20 6d 65 6e 75 20 69 73 20 63 65 6e 74 65 72 65 64 20 6f 76 65 72 20 61 20 67 69 76 65 6e .#.menu.is.centered.over.a.given
209a0 20 70 6f 69 6e 74 20 69 6e 20 74 68 65 20 72 6f 6f 74 20 77 69 6e 64 6f 77 2e 20 20 49 74 20 61 .point.in.the.root.window...It.a
209c0 6c 73 6f 0d 23 20 61 63 74 69 76 61 74 65 73 20 74 68 65 20 67 69 76 65 6e 20 65 6e 74 72 79 2e lso.#.activates.the.given.entry.
209e0 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 4d 65 6e 75 20 74 .#.#.Arguments:.#.menu.-..Menu.t
20a00 6f 20 70 6f 73 74 2e 0d 23 20 78 2c 20 79 20 2d 09 09 52 6f 6f 74 20 63 6f 6f 72 64 69 6e 61 74 o.post..#.x,.y.-..Root.coordinat
20a20 65 73 20 6f 66 20 70 6f 69 6e 74 2e 0d 23 20 65 6e 74 72 79 20 2d 09 09 49 6e 64 65 78 20 6f 66 es.of.point..#.entry.-..Index.of
20a40 20 65 6e 74 72 79 20 77 69 74 68 69 6e 20 6d 65 6e 75 20 74 6f 20 63 65 6e 74 65 72 20 6f 76 65 .entry.within.menu.to.center.ove
20a60 72 20 28 78 2c 79 29 2e 0d 23 09 09 09 49 66 20 6f 6d 69 74 74 65 64 20 6f 72 20 73 70 65 63 69 r.(x,y)..#...If.omitted.or.speci
20a80 66 69 65 64 20 61 73 20 7b 7d 2c 20 74 68 65 6e 20 74 68 65 20 6d 65 6e 75 27 73 0d 23 09 09 09 fied.as.{},.then.the.menu's.#...
20aa0 75 70 70 65 72 2d 6c 65 66 74 20 63 6f 72 6e 65 72 20 67 6f 65 73 20 61 74 20 28 78 2c 79 29 2e upper-left.corner.goes.at.(x,y).
20ac0 0d 0d 70 72 6f 63 20 74 6b 50 6f 73 74 4f 76 65 72 50 6f 69 6e 74 20 7b 6d 65 6e 75 20 78 20 79 ..proc.tkPostOverPoint.{menu.x.y
20ae0 20 7b 65 6e 74 72 79 20 7b 7d 7d 7d 20 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 .{entry.{}}}..{.....global.tcl_p
20b00 6c 61 74 66 6f 72 6d 0d 20 20 20 20 0d 20 20 20 20 69 66 20 7b 24 65 6e 74 72 79 20 21 3d 20 7b latform..........if.{$entry.!=.{
20b20 7d 7d 20 7b 0d 09 69 66 20 7b 24 65 6e 74 72 79 20 3d 3d 20 5b 24 6d 65 6e 75 20 69 6e 64 65 78 }}.{..if.{$entry.==.[$menu.index
20b40 20 6c 61 73 74 5d 7d 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 79 20 5b 65 78 70 72 20 2d 28 5b 24 .last]}.{......incr.y.[expr.-([$
20b60 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 24 65 6e 74 72 79 5d 20 5c 0d 09 09 20 20 20 20 2b menu.yposition.$entry].\.......+
20b80 20 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 6d 65 6e 75 5d 29 2f 32 5d 0d 09 7d 20 .[winfo.reqheight.$menu])/2]..}.
20ba0 65 6c 73 65 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 79 20 5b 65 78 70 72 20 2d 28 5b 24 6d 65 6e else.{......incr.y.[expr.-([$men
20bc0 75 20 79 70 6f 73 69 74 69 6f 6e 20 24 65 6e 74 72 79 5d 20 5c 0d 09 09 20 20 20 20 2b 20 5b 24 u.yposition.$entry].\.......+.[$
20be0 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 5b 65 78 70 72 20 24 65 6e 74 72 79 2b 31 5d 5d 29 menu.yposition.[expr.$entry+1]])
20c00 2f 32 5d 0d 09 7d 0d 09 69 6e 63 72 20 78 20 5b 65 78 70 72 20 2d 5b 77 69 6e 66 6f 20 72 65 71 /2]..}..incr.x.[expr.-[winfo.req
20c20 77 69 64 74 68 20 24 6d 65 6e 75 5d 2f 32 5d 0d 20 20 20 20 7d 0d 20 20 20 20 24 6d 65 6e 75 20 width.$menu]/2].....}.....$menu.
20c40 70 6f 73 74 20 24 78 20 24 79 0d 20 20 20 20 69 66 20 7b 28 24 65 6e 74 72 79 20 21 3d 20 7b 7d post.$x.$y.....if.{($entry.!=.{}
20c60 29 20 26 26 20 28 5b 24 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 24 65 6e 74 72 79 20 2d 73 ).&&.([$menu.entrycget.$entry.-s
20c80 74 61 74 65 5d 20 21 3d 20 22 64 69 73 61 62 6c 65 64 22 29 7d 20 7b 0d 09 24 6d 65 6e 75 20 61 tate].!=."disabled")}.{..$menu.a
20ca0 63 74 69 76 61 74 65 20 24 65 6e 74 72 79 0d 09 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 ctivate.$entry..tkGenerateMenuSe
20cc0 6c 65 63 74 20 24 6d 65 6e 75 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 61 76 65 47 72 61 62 lect.$menu.....}.}..#.tkSaveGrab
20ce0 49 6e 66 6f 20 2d 2d 0d 23 20 53 65 74 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 74 6b 50 Info.--.#.Sets.the.variables.tkP
20d00 72 69 76 28 6f 6c 64 47 72 61 62 29 20 61 6e 64 20 74 6b 50 72 69 76 28 67 72 61 62 53 74 61 74 riv(oldGrab).and.tkPriv(grabStat
20d20 75 73 29 20 74 6f 20 72 65 63 6f 72 64 0d 23 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 61 6e 79 us).to.record.#.the.state.of.any
20d40 20 65 78 69 73 74 69 6e 67 20 67 72 61 62 20 6f 6e 20 74 68 65 20 77 27 73 20 64 69 73 70 6c 61 .existing.grab.on.the.w's.displa
20d60 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 09 4e 61 6d 65 20 6f y..#.#.Arguments:.#.w.-...Name.o
20d80 66 20 61 20 77 69 6e 64 6f 77 3b 20 20 75 73 65 64 20 74 6f 20 73 65 6c 65 63 74 20 74 68 65 20 f.a.window;..used.to.select.the.
20da0 64 69 73 70 6c 61 79 0d 23 09 09 09 77 68 6f 73 65 20 67 72 61 62 20 69 6e 66 6f 72 6d 61 74 69 display.#...whose.grab.informati
20dc0 6f 6e 20 69 73 20 74 6f 20 62 65 20 72 65 63 6f 72 64 65 64 2e 0d 0d 70 72 6f 63 20 74 6b 53 61 on.is.to.be.recorded...proc.tkSa
20de0 76 65 47 72 61 62 49 6e 66 6f 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 veGrabInfo.w.{.....global.tkPriv
20e00 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 62 29 20 5b 67 72 61 62 20 63 .....set.tkPriv(oldGrab).[grab.c
20e20 75 72 72 65 6e 74 20 24 77 5d 0d 20 20 20 20 69 66 20 7b 24 74 6b 50 72 69 76 28 6f 6c 64 47 72 urrent.$w].....if.{$tkPriv(oldGr
20e40 61 62 29 20 21 3d 20 22 22 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 67 72 61 62 53 74 61 ab).!=.""}.{..set.tkPriv(grabSta
20e60 74 75 73 29 20 5b 67 72 61 62 20 73 74 61 74 75 73 20 24 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 tus).[grab.status.$tkPriv(oldGra
20e80 62 29 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 52 65 73 74 6f 72 65 4f 6c 64 47 72 61 62 20 b)].....}.}..#.tkRestoreOldGrab.
20ea0 2d 2d 0d 23 20 52 65 73 74 6f 72 65 73 20 74 68 65 20 67 72 61 62 20 74 6f 20 77 68 61 74 20 69 --.#.Restores.the.grab.to.what.i
20ec0 74 20 77 61 73 20 62 65 66 6f 72 65 20 54 6b 53 61 76 65 47 72 61 62 49 6e 66 6f 20 77 61 73 20 t.was.before.TkSaveGrabInfo.was.
20ee0 63 61 6c 6c 65 64 2e 0d 23 0d 0d 70 72 6f 63 20 74 6b 52 65 73 74 6f 72 65 4f 6c 64 47 72 61 62 called..#..proc.tkRestoreOldGrab
20f00 20 7b 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 .{}.{.....global.tkPriv......if.
20f20 7b 24 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 62 29 20 21 3d 20 22 22 7d 20 7b 0d 0d 20 20 20 20 {$tkPriv(oldGrab).!=.""}.{......
20f40 09 23 20 42 65 20 63 61 72 65 66 75 6c 20 72 65 73 74 6f 72 69 6e 67 20 74 68 65 20 6f 6c 64 20 .#.Be.careful.restoring.the.old.
20f60 67 72 61 62 2c 20 73 69 6e 63 65 20 69 74 27 73 20 77 69 6e 64 6f 77 20 6d 61 79 20 6e 6f 74 0d grab,.since.it's.window.may.not.
20f80 09 23 20 62 65 20 76 69 73 69 62 6c 65 20 61 6e 79 6d 6f 72 65 2e 0d 0d 09 63 61 74 63 68 20 7b .#.be.visible.anymore....catch.{
20fa0 0d 09 20 20 20 20 69 66 20 7b 24 74 6b 50 72 69 76 28 67 72 61 62 53 74 61 74 75 73 29 20 3d 3d ......if.{$tkPriv(grabStatus).==
20fc0 20 22 67 6c 6f 62 61 6c 22 7d 20 7b 0d 09 09 67 72 61 62 20 73 65 74 20 2d 67 6c 6f 62 61 6c 20 ."global"}.{...grab.set.-global.
20fe0 24 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 62 29 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 $tkPriv(oldGrab)......}.else.{..
21000 09 67 72 61 62 20 73 65 74 20 24 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 62 29 0d 09 20 20 20 20 .grab.set.$tkPriv(oldGrab)......
21020 7d 0d 09 7d 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 62 29 20 22 22 0d 20 20 20 }..}..set.tkPriv(oldGrab).""....
21040 20 7d 0d 7d 0d 0d 70 72 6f 63 20 74 6b 5f 6d 65 6e 75 53 65 74 46 6f 63 75 73 20 7b 6d 65 6e 75 .}.}..proc.tk_menuSetFocus.{menu
21060 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 21 5b }.{.....global.tkPriv.....if.{![
21080 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 66 6f 63 75 73 29 5d 20 7c 7c 20 5b 73 info.exists.tkPriv(focus)].||.[s
210a0 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 74 6b 50 72 69 76 28 66 6f 63 75 73 29 5d 20 3d 3d 20 tring.length.$tkPriv(focus)].==.
210c0 30 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 29 20 5b 66 6f 63 75 73 5d 0d 0}.{..set.tkPriv(focus).[focus].
210e0 20 20 20 20 7d 0d 20 20 20 20 66 6f 63 75 73 20 24 6d 65 6e 75 0d 7d 0d 20 20 20 20 0d 70 72 6f ....}.....focus.$menu.}......pro
21100 63 20 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 7b 6d 65 6e 75 7d 20 7b 0d c.tkGenerateMenuSelect.{menu}.{.
21120 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 28 5b 73 74 72 ....global.tkPriv......if.{([str
21140 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 6b 50 72 69 76 28 61 63 74 69 76 65 4d 65 6e 75 29 20 ing.compare.$tkPriv(activeMenu).
21160 24 6d 65 6e 75 5d 20 3d 3d 20 30 29 20 5c 0d 09 20 20 20 20 26 26 20 28 5b 73 74 72 69 6e 67 20 $menu].==.0).\......&&.([string.
21180 63 6f 6d 70 61 72 65 20 24 74 6b 50 72 69 76 28 61 63 74 69 76 65 49 74 65 6d 29 20 5b 24 6d 65 compare.$tkPriv(activeItem).[$me
211a0 6e 75 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 5d 20 5c 0d 09 20 20 20 20 3d 3d 20 30 29 7d 20 nu.index.active]].\......==.0)}.
211c0 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 {..return.....}......set.tkPriv(
211e0 61 63 74 69 76 65 4d 65 6e 75 29 20 24 6d 65 6e 75 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 activeMenu).$menu.....set.tkPriv
21200 28 61 63 74 69 76 65 49 74 65 6d 29 20 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 61 63 74 69 76 65 (activeItem).[$menu.index.active
21220 5d 0d 20 20 20 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 6d 65 6e 75 20 3c 3c 4d 65 6e ].....event.generate.$menu.<<Men
21240 75 53 65 6c 65 63 74 3e 3e 0d 7d 0d 0d 23 20 74 6b 5f 70 6f 70 75 70 20 2d 2d 0d 23 20 54 68 69 uSelect>>.}..#.tk_popup.--.#.Thi
21260 73 20 70 72 6f 63 65 64 75 72 65 20 70 6f 70 73 20 75 70 20 61 20 6d 65 6e 75 20 61 6e 64 20 73 s.procedure.pops.up.a.menu.and.s
21280 65 74 73 20 74 68 69 6e 67 73 20 75 70 20 66 6f 72 20 74 72 61 76 65 72 73 69 6e 67 0d 23 20 74 ets.things.up.for.traversing.#.t
212a0 68 65 20 6d 65 6e 75 20 61 6e 64 20 69 74 73 20 73 75 62 6d 65 6e 75 73 2e 0d 23 0d 23 20 41 72 he.menu.and.its.submenus..#.#.Ar
212c0 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 20 6d guments:.#.menu.-..Name.of.the.m
212e0 65 6e 75 20 74 6f 20 62 65 20 70 6f 70 70 65 64 20 75 70 2e 0d 23 20 78 2c 20 79 20 2d 09 09 52 enu.to.be.popped.up..#.x,.y.-..R
21300 6f 6f 74 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 61 74 20 77 68 69 63 68 20 74 6f 20 70 6f 70 20 oot.coordinates.at.which.to.pop.
21320 75 70 20 74 68 65 0d 23 09 09 09 6d 65 6e 75 2e 0d 23 20 65 6e 74 72 79 20 2d 09 09 49 6e 64 65 up.the.#...menu..#.entry.-..Inde
21340 78 20 6f 66 20 61 20 6d 65 6e 75 20 65 6e 74 72 79 20 74 6f 20 63 65 6e 74 65 72 20 6f 76 65 72 x.of.a.menu.entry.to.center.over
21360 20 28 78 2c 79 29 2e 0d 23 09 09 09 49 66 20 6f 6d 69 74 74 65 64 20 6f 72 20 73 70 65 63 69 66 .(x,y)..#...If.omitted.or.specif
21380 69 65 64 20 61 73 20 7b 7d 2c 20 74 68 65 6e 20 6d 65 6e 75 27 73 0d 23 09 09 09 75 70 70 65 72 ied.as.{},.then.menu's.#...upper
213a0 2d 6c 65 66 74 20 63 6f 72 6e 65 72 20 67 6f 65 73 20 61 74 20 28 78 2c 79 29 2e 0d 0d 70 72 6f -left.corner.goes.at.(x,y)...pro
213c0 63 20 74 6b 5f 70 6f 70 75 70 20 7b 6d 65 6e 75 20 78 20 79 20 7b 65 6e 74 72 79 20 7b 7d 7d 7d c.tk_popup.{menu.x.y.{entry.{}}}
213e0 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 67 6c 6f 62 61 6c 20 .{.....global.tkPriv.....global.
21400 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 20 20 20 20 69 66 20 7b 28 24 74 6b 50 72 69 76 28 70 6f tcl_platform.....if.{($tkPriv(po
21420 70 75 70 29 20 21 3d 20 22 22 29 20 7c 7c 20 28 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 pup).!=."").||.($tkPriv(postedMb
21440 29 20 21 3d 20 22 22 29 7d 20 7b 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 7b 7d 0d 20 20 20 ).!=."")}.{..tkMenuUnpost.{}....
21460 20 7d 0d 20 20 20 20 74 6b 50 6f 73 74 4f 76 65 72 50 6f 69 6e 74 20 24 6d 65 6e 75 20 24 78 20 .}.....tkPostOverPoint.$menu.$x.
21480 24 79 20 24 65 6e 74 72 79 0d 20 20 20 20 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 $y.$entry.....if.{$tcl_platform(
214a0 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 75 6e 69 78 22 7d 20 7b 0d 09 74 6b 53 61 76 65 47 72 platform).==."unix"}.{..tkSaveGr
214c0 61 62 49 6e 66 6f 20 24 6d 65 6e 75 0d 09 67 72 61 62 20 2d 67 6c 6f 62 61 6c 20 24 6d 65 6e 75 abInfo.$menu..grab.-global.$menu
214e0 0d 09 73 65 74 20 74 6b 50 72 69 76 28 70 6f 70 75 70 29 20 24 6d 65 6e 75 0d 09 74 6b 5f 6d 65 ..set.tkPriv(popup).$menu..tk_me
21500 6e 75 53 65 74 46 6f 63 75 73 20 24 6d 65 6e 75 0d 20 20 20 20 7d 0d 7d 0d 00 00 06 64 23 20 6f nuSetFocus.$menu.....}.}....d#.o
21520 70 74 4d 65 6e 75 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 ptMenu.tcl.--.#.#.This.file.defi
21540 6e 65 73 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 74 6b 5f 6f 70 74 69 6f 6e 4d 65 6e 75 2c nes.the.procedure.tk_optionMenu,
21560 20 77 68 69 63 68 20 63 72 65 61 74 65 73 0d 23 20 61 6e 20 6f 70 74 69 6f 6e 20 62 75 74 74 6f .which.creates.#.an.option.butto
21580 6e 20 61 6e 64 20 69 74 73 20 61 73 73 6f 63 69 61 74 65 64 20 6d 65 6e 75 2e 0d 23 0d 23 20 53 n.and.its.associated.menu..#.#.S
215a0 43 43 53 3a 20 40 28 23 29 20 6f 70 74 4d 65 6e 75 2e 74 63 6c 20 31 2e 31 31 20 39 37 2f 30 38 CCS:.@(#).optMenu.tcl.1.11.97/08
215c0 2f 32 32 20 31 34 3a 32 31 3a 31 33 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 /22.14:21:13.#.#.Copyright.(c).1
215e0 39 39 34 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 994.The.Regents.of.the.Universit
21600 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 y.of.California..#.Copyright.(c)
21620 20 31 39 39 34 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 .1994.Sun.Microsystems,.Inc..#.#
21640 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f .See.the.file."license.terms".fo
21660 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 r.information.on.usage.and.redis
21680 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f tribution.#.of.this.file,.and.fo
216a0 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 r.a.DISCLAIMER.OF.ALL.WARRANTIES
216c0 2e 0d 23 0d 0d 23 20 74 6b 5f 6f 70 74 69 6f 6e 4d 65 6e 75 20 2d 2d 0d 23 20 54 68 69 73 20 70 ..#..#.tk_optionMenu.--.#.This.p
216e0 72 6f 63 65 64 75 72 65 20 63 72 65 61 74 65 73 20 61 6e 20 6f 70 74 69 6f 6e 20 62 75 74 74 6f rocedure.creates.an.option.butto
21700 6e 20 6e 61 6d 65 64 20 24 77 20 61 6e 64 20 61 6e 20 61 73 73 6f 63 69 61 74 65 64 0d 23 20 6d n.named.$w.and.an.associated.#.m
21720 65 6e 75 2e 20 20 54 6f 67 65 74 68 65 72 20 74 68 65 79 20 70 72 6f 76 69 64 65 20 74 68 65 20 enu...Together.they.provide.the.
21740 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 6f 66 20 4d 6f 74 69 66 20 6f 70 74 69 6f 6e 20 6d 65 functionality.of.Motif.option.me
21760 6e 75 73 3a 0d 23 20 74 68 65 79 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 65 6c 65 63 nus:.#.they.can.be.used.to.selec
21780 74 20 6f 6e 65 20 6f 66 20 6d 61 6e 79 20 76 61 6c 75 65 73 2c 20 61 6e 64 20 74 68 65 20 63 75 t.one.of.many.values,.and.the.cu
217a0 72 72 65 6e 74 20 76 61 6c 75 65 0d 23 20 61 70 70 65 61 72 73 20 69 6e 20 74 68 65 20 67 6c 6f rrent.value.#.appears.in.the.glo
217c0 62 61 6c 20 76 61 72 69 61 62 6c 65 20 76 61 72 4e 61 6d 65 2c 20 61 73 20 77 65 6c 6c 20 61 73 bal.variable.varName,.as.well.as
217e0 20 69 6e 20 74 68 65 20 74 65 78 74 20 6f 66 0d 23 20 74 68 65 20 6f 70 74 69 6f 6e 20 6d 65 6e .in.the.text.of.#.the.option.men
21800 75 62 75 74 74 6f 6e 2e 20 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 69 ubutton...The.name.of.the.menu.i
21820 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 74 68 65 0d 23 20 70 72 6f 63 65 64 75 72 65 27 73 20 s.returned.as.the.#.procedure's.
21840 72 65 73 75 6c 74 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 65 72 20 63 61 6e 20 75 result,.so.that.the.caller.can.u
21860 73 65 20 69 74 20 74 6f 20 63 68 61 6e 67 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0d 23 20 se.it.to.change.configuration.#.
21880 6f 70 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 6d 65 6e 75 20 6f 72 20 6f 74 68 65 72 77 69 73 65 options.on.the.menu.or.otherwise
218a0 20 6d 61 6e 69 70 75 6c 61 74 65 20 69 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 .manipulate.it..#.#.Arguments:.#
218c0 20 77 20 2d 09 09 09 54 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65 20 6d .w.-...The.name.to.use.for.the.m
218e0 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 20 76 61 72 4e 61 6d 65 20 2d 09 09 47 6c 6f 62 61 6c 20 76 enubutton..#.varName.-..Global.v
21900 61 72 69 61 62 6c 65 20 74 6f 20 68 6f 6c 64 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 ariable.to.hold.the.currently.se
21920 6c 65 63 74 65 64 20 76 61 6c 75 65 2e 0d 23 20 66 69 72 73 74 56 61 6c 75 65 20 2d 09 09 46 69 lected.value..#.firstValue.-..Fi
21940 72 73 74 20 6f 66 20 6c 65 67 61 6c 20 76 61 6c 75 65 73 20 66 6f 72 20 6f 70 74 69 6f 6e 20 28 rst.of.legal.values.for.option.(
21960 6d 75 73 74 20 62 65 20 3e 3d 20 31 29 2e 0d 23 20 61 72 67 73 20 2d 09 09 41 6e 79 20 6e 75 6d must.be.>=.1)..#.args.-..Any.num
21980 62 65 72 20 6f 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 76 61 6c 75 65 73 2e 0d 0d 70 72 6f 63 20 ber.of.additional.values...proc.
219a0 74 6b 5f 6f 70 74 69 6f 6e 4d 65 6e 75 20 7b 77 20 76 61 72 4e 61 6d 65 20 66 69 72 73 74 56 61 tk_optionMenu.{w.varName.firstVa
219c0 6c 75 65 20 61 72 67 73 7d 20 7b 0d 20 20 20 20 75 70 76 61 72 20 23 30 20 24 76 61 72 4e 61 6d lue.args}.{.....upvar.#0.$varNam
219e0 65 20 76 61 72 0d 0d 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 76 61 72 5d e.var......if.![info.exists.var]
21a00 20 7b 0d 09 73 65 74 20 76 61 72 20 24 66 69 72 73 74 56 61 6c 75 65 0d 20 20 20 20 7d 0d 20 20 .{..set.var.$firstValue.....}...
21a20 20 20 6d 65 6e 75 62 75 74 74 6f 6e 20 24 77 20 2d 74 65 78 74 76 61 72 69 61 62 6c 65 20 24 76 ..menubutton.$w.-textvariable.$v
21a40 61 72 4e 61 6d 65 20 2d 69 6e 64 69 63 61 74 6f 72 6f 6e 20 31 20 2d 6d 65 6e 75 20 24 77 2e 6d arName.-indicatoron.1.-menu.$w.m
21a60 65 6e 75 20 5c 0d 09 20 20 20 20 2d 72 65 6c 69 65 66 20 72 61 69 73 65 64 20 2d 62 64 20 32 20 enu.\......-relief.raised.-bd.2.
21a80 2d 68 69 67 68 6c 69 67 68 74 74 68 69 63 6b 6e 65 73 73 20 32 20 2d 61 6e 63 68 6f 72 20 63 20 -highlightthickness.2.-anchor.c.
21aa0 5c 0d 09 20 20 20 20 2d 64 69 72 65 63 74 69 6f 6e 20 66 6c 75 73 68 0d 20 20 20 20 6d 65 6e 75 \......-direction.flush.....menu
21ac0 20 24 77 2e 6d 65 6e 75 20 2d 74 65 61 72 6f 66 66 20 30 0d 20 20 20 20 24 77 2e 6d 65 6e 75 20 .$w.menu.-tearoff.0.....$w.menu.
21ae0 61 64 64 20 72 61 64 69 6f 62 75 74 74 6f 6e 20 2d 6c 61 62 65 6c 20 24 66 69 72 73 74 56 61 6c add.radiobutton.-label.$firstVal
21b00 75 65 20 2d 76 61 72 69 61 62 6c 65 20 24 76 61 72 4e 61 6d 65 0d 20 20 20 20 66 6f 72 65 61 63 ue.-variable.$varName.....foreac
21b20 68 20 69 20 24 61 72 67 73 20 7b 0d 20 20 20 20 09 24 77 2e 6d 65 6e 75 20 61 64 64 20 72 61 64 h.i.$args.{......$w.menu.add.rad
21b40 69 6f 62 75 74 74 6f 6e 20 2d 6c 61 62 65 6c 20 24 69 20 2d 76 61 72 69 61 62 6c 65 20 24 76 61 iobutton.-label.$i.-variable.$va
21b60 72 4e 61 6d 65 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 77 2e 6d 65 6e 75 0d 7d rName.....}.....return.$w.menu.}
21b80 0d 00 00 1c 75 23 20 70 61 6c 65 74 74 65 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 ....u#.palette.tcl.--.#.#.This.f
21ba0 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20 70 72 6f 63 65 64 75 72 65 73 20 74 68 61 74 20 63 68 61 ile.contains.procedures.that.cha
21bc0 6e 67 65 20 74 68 65 20 63 6f 6c 6f 72 20 70 61 6c 65 74 74 65 20 75 73 65 64 0d 23 20 62 79 20 nge.the.color.palette.used.#.by.
21be0 54 6b 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 70 61 6c 65 74 74 65 2e 74 63 6c 20 31 Tk..#.#.SCCS:.@(#).palette.tcl.1
21c00 2e 31 31 20 39 37 2f 30 36 2f 32 33 20 32 30 3a 33 35 3a 34 34 0d 23 0d 23 20 43 6f 70 79 72 69 .11.97/06/23.20:35:44.#.#.Copyri
21c20 67 68 74 20 28 63 29 20 31 39 39 35 2d 31 39 39 37 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 ght.(c).1995-1997.Sun.Microsyste
21c40 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e ms,.Inc..#.#.See.the.file."licen
21c60 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 se.terms".for.information.on.usa
21c80 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 ge.and.redistribution.#.of.this.
21ca0 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c file,.and.for.a.DISCLAIMER.OF.AL
21cc0 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 74 6b 5f 73 65 74 50 61 6c 65 74 74 65 L.WARRANTIES..#..#.tk_setPalette
21ce0 20 2d 2d 0d 23 20 43 68 61 6e 67 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6f 6c 6f 72 20 .--.#.Changes.the.default.color.
21d00 73 63 68 65 6d 65 20 66 6f 72 20 61 20 54 6b 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 62 79 20 73 scheme.for.a.Tk.application.by.s
21d20 65 74 74 69 6e 67 0d 23 20 64 65 66 61 75 6c 74 20 63 6f 6c 6f 72 73 20 69 6e 20 74 68 65 20 6f etting.#.default.colors.in.the.o
21d40 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 20 61 6e 64 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 20 ption.database.and.by.modifying.
21d60 61 6c 6c 20 6f 66 20 74 68 65 0d 23 20 63 6f 6c 6f 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 65 all.of.the.#.color.options.for.e
21d80 78 69 73 74 69 6e 67 20 77 69 64 67 65 74 73 20 74 68 61 74 20 68 61 76 65 20 74 68 65 20 64 65 xisting.widgets.that.have.the.de
21da0 66 61 75 6c 74 20 76 61 6c 75 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 54 68 fault.value..#.#.Arguments:.#.Th
21dc0 65 20 61 72 67 75 6d 65 6e 74 73 20 63 6f 6e 73 69 73 74 20 6f 66 20 65 69 74 68 65 72 20 61 20 e.arguments.consist.of.either.a.
21de0 73 69 6e 67 6c 65 20 63 6f 6c 6f 72 20 6e 61 6d 65 2c 20 77 68 69 63 68 0d 23 20 77 69 6c 6c 20 single.color.name,.which.#.will.
21e00 62 65 20 75 73 65 64 20 61 73 20 74 68 65 20 6e 65 77 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f be.used.as.the.new.background.co
21e20 6c 6f 72 20 28 61 6c 6c 20 6f 74 68 65 72 20 63 6f 6c 6f 72 73 20 77 69 6c 6c 0d 23 20 62 65 20 lor.(all.other.colors.will.#.be.
21e40 63 6f 6d 70 75 74 65 64 20 66 72 6f 6d 20 74 68 69 73 29 20 6f 72 20 61 6e 20 65 76 65 6e 20 6e computed.from.this).or.an.even.n
21e60 75 6d 62 65 72 20 6f 66 20 76 61 6c 75 65 73 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 0d 23 20 umber.of.values.consisting.of.#.
21e80 6f 70 74 69 6f 6e 20 6e 61 6d 65 73 20 61 6e 64 20 76 61 6c 75 65 73 2e 20 20 54 68 65 20 6e 61 option.names.and.values...The.na
21ea0 6d 65 20 66 6f 72 20 61 6e 20 6f 70 74 69 6f 6e 20 69 73 20 74 68 65 20 6f 6e 65 20 75 73 65 64 me.for.an.option.is.the.one.used
21ec0 0d 23 20 66 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 2c 20 73 75 63 68 .#.for.the.option.database,.such
21ee0 20 61 73 20 61 63 74 69 76 65 46 6f 72 65 67 72 6f 75 6e 64 2c 20 6e 6f 74 20 2d 61 63 74 69 76 .as.activeForeground,.not.-activ
21f00 65 66 6f 72 65 67 72 6f 75 6e 64 2e 0d 0d 70 72 6f 63 20 74 6b 5f 73 65 74 50 61 6c 65 74 74 65 eforeground...proc.tk_setPalette
21f20 20 7b 61 72 67 73 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 61 6c 65 74 74 65 0d 0d .{args}.{.....global.tkPalette..
21f40 20 20 20 20 23 20 43 72 65 61 74 65 20 61 6e 20 61 72 72 61 79 20 74 68 61 74 20 68 61 73 20 74 ....#.Create.an.array.that.has.t
21f60 68 65 20 63 6f 6d 70 6c 65 74 65 20 6e 65 77 20 70 61 6c 65 74 74 65 2e 20 20 49 66 20 73 6f 6d he.complete.new.palette...If.som
21f80 65 20 63 6f 6c 6f 72 73 0d 20 20 20 20 23 20 61 72 65 6e 27 74 20 73 70 65 63 69 66 69 65 64 2c e.colors.....#.aren't.specified,
21fa0 20 63 6f 6d 70 75 74 65 20 74 68 65 6d 20 66 72 6f 6d 20 6f 74 68 65 72 20 63 6f 6c 6f 72 73 20 .compute.them.from.other.colors.
21fc0 74 68 61 74 20 61 72 65 20 73 70 65 63 69 66 69 65 64 2e 0d 0d 20 20 20 20 69 66 20 7b 5b 6c 6c that.are.specified.......if.{[ll
21fe0 65 6e 67 74 68 20 24 61 72 67 73 5d 20 3d 3d 20 31 7d 20 7b 0d 09 73 65 74 20 6e 65 77 28 62 61 ength.$args].==.1}.{..set.new(ba
22000 63 6b 67 72 6f 75 6e 64 29 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 30 5d 0d 20 20 20 20 7d ckground).[lindex.$args.0].....}
22020 20 65 6c 73 65 20 7b 0d 09 61 72 72 61 79 20 73 65 74 20 6e 65 77 20 24 61 72 67 73 0d 20 20 20 .else.{..array.set.new.$args....
22040 20 7d 0d 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e 65 77 28 62 61 63 6b .}.....if.![info.exists.new(back
22060 67 72 6f 75 6e 64 29 5d 20 7b 0d 09 65 72 72 6f 72 20 22 6d 75 73 74 20 73 70 65 63 69 66 79 20 ground)].{..error."must.specify.
22080 61 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 22 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 a.background.color".....}.....if
220a0 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e 65 77 28 66 6f 72 65 67 72 6f 75 6e 64 29 5d 20 .![info.exists.new(foreground)].
220c0 7b 0d 09 73 65 74 20 6e 65 77 28 66 6f 72 65 67 72 6f 75 6e 64 29 20 62 6c 61 63 6b 0d 20 20 20 {..set.new(foreground).black....
220e0 20 7d 0d 20 20 20 20 73 65 74 20 62 67 20 5b 77 69 6e 66 6f 20 72 67 62 20 2e 20 24 6e 65 77 28 .}.....set.bg.[winfo.rgb...$new(
22100 62 61 63 6b 67 72 6f 75 6e 64 29 5d 0d 20 20 20 20 73 65 74 20 66 67 20 5b 77 69 6e 66 6f 20 72 background)].....set.fg.[winfo.r
22120 67 62 20 2e 20 24 6e 65 77 28 66 6f 72 65 67 72 6f 75 6e 64 29 5d 0d 20 20 20 20 73 65 74 20 64 gb...$new(foreground)].....set.d
22140 61 72 6b 65 72 42 67 20 5b 66 6f 72 6d 61 74 20 23 25 30 32 78 25 30 32 78 25 30 32 78 20 5b 65 arkerBg.[format.#%02x%02x%02x.[e
22160 78 70 72 20 28 39 2a 5b 6c 69 6e 64 65 78 20 24 62 67 20 30 5d 29 2f 32 35 36 30 5d 20 5c 0d 09 xpr.(9*[lindex.$bg.0])/2560].\..
22180 20 20 20 20 5b 65 78 70 72 20 28 39 2a 5b 6c 69 6e 64 65 78 20 24 62 67 20 31 5d 29 2f 32 35 36 ....[expr.(9*[lindex.$bg.1])/256
221a0 30 5d 20 5b 65 78 70 72 20 28 39 2a 5b 6c 69 6e 64 65 78 20 24 62 67 20 32 5d 29 2f 32 35 36 30 0].[expr.(9*[lindex.$bg.2])/2560
221c0 5d 5d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 69 20 7b 61 63 74 69 76 65 46 6f 72 65 67 72 6f 75 ]].....foreach.i.{activeForegrou
221e0 6e 64 20 69 6e 73 65 72 74 42 61 63 6b 67 72 6f 75 6e 64 20 73 65 6c 65 63 74 46 6f 72 65 67 72 nd.insertBackground.selectForegr
22200 6f 75 6e 64 20 5c 0d 09 20 20 20 20 68 69 67 68 6c 69 67 68 74 43 6f 6c 6f 72 7d 20 7b 0d 09 69 ound.\......highlightColor}.{..i
22220 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e 65 77 28 24 69 29 5d 20 7b 0d 09 20 20 20 20 f.![info.exists.new($i)].{......
22240 73 65 74 20 6e 65 77 28 24 69 29 20 24 6e 65 77 28 66 6f 72 65 67 72 6f 75 6e 64 29 0d 09 7d 0d set.new($i).$new(foreground)..}.
22260 20 20 20 20 7d 0d 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e 65 77 28 64 ....}.....if.![info.exists.new(d
22280 69 73 61 62 6c 65 64 46 6f 72 65 67 72 6f 75 6e 64 29 5d 20 7b 0d 09 73 65 74 20 6e 65 77 28 64 isabledForeground)].{..set.new(d
222a0 69 73 61 62 6c 65 64 46 6f 72 65 67 72 6f 75 6e 64 29 20 5b 66 6f 72 6d 61 74 20 23 25 30 32 78 isabledForeground).[format.#%02x
222c0 25 30 32 78 25 30 32 78 20 5c 0d 09 09 5b 65 78 70 72 20 28 33 2a 5b 6c 69 6e 64 65 78 20 24 62 %02x%02x.\...[expr.(3*[lindex.$b
222e0 67 20 30 5d 20 2b 20 5b 6c 69 6e 64 65 78 20 24 66 67 20 30 5d 29 2f 31 30 32 34 5d 20 5c 0d 09 g.0].+.[lindex.$fg.0])/1024].\..
22300 09 5b 65 78 70 72 20 28 33 2a 5b 6c 69 6e 64 65 78 20 24 62 67 20 31 5d 20 2b 20 5b 6c 69 6e 64 .[expr.(3*[lindex.$bg.1].+.[lind
22320 65 78 20 24 66 67 20 31 5d 29 2f 31 30 32 34 5d 20 5c 0d 09 09 5b 65 78 70 72 20 28 33 2a 5b 6c ex.$fg.1])/1024].\...[expr.(3*[l
22340 69 6e 64 65 78 20 24 62 67 20 32 5d 20 2b 20 5b 6c 69 6e 64 65 78 20 24 66 67 20 32 5d 29 2f 31 index.$bg.2].+.[lindex.$fg.2])/1
22360 30 32 34 5d 5d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 024]].....}.....if.![info.exists
22380 20 6e 65 77 28 68 69 67 68 6c 69 67 68 74 42 61 63 6b 67 72 6f 75 6e 64 29 5d 20 7b 0d 09 73 65 .new(highlightBackground)].{..se
223a0 74 20 6e 65 77 28 68 69 67 68 6c 69 67 68 74 42 61 63 6b 67 72 6f 75 6e 64 29 20 24 6e 65 77 28 t.new(highlightBackground).$new(
223c0 62 61 63 6b 67 72 6f 75 6e 64 29 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 background).....}.....if.![info.
223e0 65 78 69 73 74 73 20 6e 65 77 28 61 63 74 69 76 65 42 61 63 6b 67 72 6f 75 6e 64 29 5d 20 7b 0d exists.new(activeBackground)].{.
22400 09 23 20 50 69 63 6b 20 61 20 64 65 66 61 75 6c 74 20 61 63 74 69 76 65 20 62 61 63 6b 67 72 6f .#.Pick.a.default.active.backgro
22420 75 6e 64 20 74 68 61 74 20 69 73 6c 69 67 68 74 65 72 20 74 68 61 6e 20 74 68 65 0d 09 23 20 6e und.that.islighter.than.the..#.n
22440 6f 72 6d 61 6c 20 62 61 63 6b 67 72 6f 75 6e 64 2e 20 20 54 6f 20 64 6f 20 74 68 69 73 2c 20 72 ormal.background...To.do.this,.r
22460 6f 75 6e 64 20 65 61 63 68 20 63 6f 6c 6f 72 20 63 6f 6d 70 6f 6e 65 6e 74 0d 09 23 20 75 70 20 ound.each.color.component..#.up.
22480 62 79 20 31 35 25 20 6f 72 20 31 2f 33 20 6f 66 20 74 68 65 20 77 61 79 20 74 6f 20 66 75 6c 6c by.15%.or.1/3.of.the.way.to.full
224a0 20 77 68 69 74 65 2c 20 77 68 69 63 68 65 76 65 72 20 69 73 0d 09 23 20 67 72 65 61 74 65 72 2e .white,.whichever.is..#.greater.
224c0 0d 0d 09 66 6f 72 65 61 63 68 20 69 20 7b 30 20 31 20 32 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 ...foreach.i.{0.1.2}.{......set.
224e0 6c 69 67 68 74 28 24 69 29 20 5b 65 78 70 72 20 5b 6c 69 6e 64 65 78 20 24 62 67 20 24 69 5d 2f light($i).[expr.[lindex.$bg.$i]/
22500 32 35 36 5d 0d 09 20 20 20 20 73 65 74 20 69 6e 63 31 20 5b 65 78 70 72 20 28 24 6c 69 67 68 74 256]......set.inc1.[expr.($light
22520 28 24 69 29 2a 31 35 29 2f 31 30 30 5d 0d 09 20 20 20 20 73 65 74 20 69 6e 63 32 20 5b 65 78 70 ($i)*15)/100]......set.inc2.[exp
22540 72 20 28 32 35 35 2d 24 6c 69 67 68 74 28 24 69 29 29 2f 33 5d 0d 09 20 20 20 20 69 66 20 7b 24 r.(255-$light($i))/3]......if.{$
22560 69 6e 63 31 20 3e 20 24 69 6e 63 32 7d 20 7b 0d 09 09 69 6e 63 72 20 6c 69 67 68 74 28 24 69 29 inc1.>.$inc2}.{...incr.light($i)
22580 20 24 69 6e 63 31 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 69 6e 63 72 20 6c 69 67 68 .$inc1......}.else.{...incr.ligh
225a0 74 28 24 69 29 20 24 69 6e 63 32 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 24 6c 69 67 t($i).$inc2......}......if.{$lig
225c0 68 74 28 24 69 29 20 3e 20 32 35 35 7d 20 7b 0d 09 09 73 65 74 20 6c 69 67 68 74 28 24 69 29 20 ht($i).>.255}.{...set.light($i).
225e0 32 35 35 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 73 65 74 20 6e 65 77 28 61 63 74 69 76 65 42 61 63 255......}..}..set.new(activeBac
22600 6b 67 72 6f 75 6e 64 29 20 5b 66 6f 72 6d 61 74 20 23 25 30 32 78 25 30 32 78 25 30 32 78 20 24 kground).[format.#%02x%02x%02x.$
22620 6c 69 67 68 74 28 30 29 20 5c 0d 09 09 24 6c 69 67 68 74 28 31 29 20 24 6c 69 67 68 74 28 32 29 light(0).\...$light(1).$light(2)
22640 5d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e 65 77 ].....}.....if.![info.exists.new
22660 28 73 65 6c 65 63 74 42 61 63 6b 67 72 6f 75 6e 64 29 5d 20 7b 0d 09 73 65 74 20 6e 65 77 28 73 (selectBackground)].{..set.new(s
22680 65 6c 65 63 74 42 61 63 6b 67 72 6f 75 6e 64 29 20 24 64 61 72 6b 65 72 42 67 0d 20 20 20 20 7d electBackground).$darkerBg.....}
226a0 0d 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e 65 77 28 74 72 6f 75 67 68 .....if.![info.exists.new(trough
226c0 43 6f 6c 6f 72 29 5d 20 7b 0d 09 73 65 74 20 6e 65 77 28 74 72 6f 75 67 68 43 6f 6c 6f 72 29 20 Color)].{..set.new(troughColor).
226e0 24 64 61 72 6b 65 72 42 67 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 78 $darkerBg.....}.....if.![info.ex
22700 69 73 74 73 20 6e 65 77 28 73 65 6c 65 63 74 43 6f 6c 6f 72 29 5d 20 7b 0d 09 73 65 74 20 6e 65 ists.new(selectColor)].{..set.ne
22720 77 28 73 65 6c 65 63 74 43 6f 6c 6f 72 29 20 23 62 30 33 30 36 30 0d 20 20 20 20 7d 0d 0d 20 20 w(selectColor).#b03060.....}....
22740 20 20 23 20 6c 65 74 27 73 20 6d 61 6b 65 20 6f 6e 65 20 6f 66 20 65 61 63 68 20 6f 66 20 74 68 ..#.let's.make.one.of.each.of.th
22760 65 20 77 69 64 67 65 74 73 20 73 6f 20 77 65 20 6b 6e 6f 77 20 77 68 61 74 20 74 68 65 20 0d 20 e.widgets.so.we.know.what.the...
22780 20 20 20 23 20 64 65 66 61 75 6c 74 73 20 61 72 65 20 63 75 72 72 65 6e 74 6c 79 20 66 6f 72 20 ...#.defaults.are.currently.for.
227a0 74 68 69 73 20 70 6c 61 74 66 6f 72 6d 2e 0d 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 2e 5f 5f 5f this.platform......toplevel..___
227c0 74 6b 5f 73 65 74 5f 70 61 6c 65 74 74 65 0d 20 20 20 20 77 6d 20 77 69 74 68 64 72 61 77 20 2e tk_set_palette.....wm.withdraw..
227e0 5f 5f 5f 74 6b 5f 73 65 74 5f 70 61 6c 65 74 74 65 0d 20 20 20 20 66 6f 72 65 61 63 68 20 71 20 ___tk_set_palette.....foreach.q.
22800 7b 62 75 74 74 6f 6e 20 63 61 6e 76 61 73 20 63 68 65 63 6b 62 75 74 74 6f 6e 20 65 6e 74 72 79 {button.canvas.checkbutton.entry
22820 20 66 72 61 6d 65 20 6c 61 62 65 6c 20 6c 69 73 74 62 6f 78 20 6d 65 6e 75 62 75 74 74 6f 6e 20 .frame.label.listbox.menubutton.
22840 6d 65 6e 75 20 6d 65 73 73 61 67 65 20 5c 0d 09 09 20 72 61 64 69 6f 62 75 74 74 6f 6e 20 73 63 menu.message.\....radiobutton.sc
22860 61 6c 65 20 73 63 72 6f 6c 6c 62 61 72 20 74 65 78 74 7d 20 7b 0d 09 24 71 20 2e 5f 5f 5f 74 6b ale.scrollbar.text}.{..$q..___tk
22880 5f 73 65 74 5f 70 61 6c 65 74 74 65 2e 24 71 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 57 61 6c _set_palette.$q.....}......#.Wal
228a0 6b 20 74 68 65 20 77 69 64 67 65 74 20 68 69 65 72 61 72 63 68 79 2c 20 72 65 63 6f 6c 6f 72 69 k.the.widget.hierarchy,.recolori
228c0 6e 67 20 61 6c 6c 20 65 78 69 73 74 69 6e 67 20 77 69 6e 64 6f 77 73 2e 0d 20 20 20 20 23 20 54 ng.all.existing.windows......#.T
228e0 68 65 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 20 6d 75 73 74 20 62 65 20 73 65 74 20 61 he.option.database.must.be.set.a
22900 63 63 6f 72 64 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 64 6f 20 68 65 72 65 2c 20 0d 20 20 ccording.to.what.we.do.here,....
22920 20 20 23 20 62 75 74 20 69 74 20 62 72 65 61 6b 73 20 74 68 69 6e 67 73 20 69 66 20 77 65 20 73 ..#.but.it.breaks.things.if.we.s
22940 65 74 20 74 68 69 6e 67 73 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 20 77 68 69 6c 65 20 et.things.in.the.database.while.
22960 0d 20 20 20 20 23 20 77 65 20 61 72 65 20 63 68 61 6e 67 69 6e 67 20 63 6f 6c 6f 72 73 2e 2e 2e .....#.we.are.changing.colors...
22980 73 6f 2c 20 74 6b 52 65 63 6f 6c 6f 72 54 72 65 65 20 6e 6f 77 20 72 65 74 75 72 6e 73 20 74 68 so,.tkRecolorTree.now.returns.th
229a0 65 0d 20 20 20 20 23 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 20 63 68 61 6e 67 65 73 20 e.....#.option.database.changes.
229c0 74 68 61 74 20 6e 65 65 64 20 74 6f 20 62 65 20 6d 61 64 65 2c 20 61 6e 64 20 74 68 65 79 0d 20 that.need.to.be.made,.and.they..
229e0 20 20 20 23 20 6e 65 65 64 20 74 6f 20 62 65 20 65 76 61 6c 6c 65 64 20 68 65 72 65 20 74 6f 20 ...#.need.to.be.evalled.here.to.
22a00 74 61 6b 65 20 65 66 66 65 63 74 2e 0d 20 20 20 20 23 20 57 65 20 68 61 76 65 20 74 6f 20 77 61 take.effect......#.We.have.to.wa
22a20 6c 6b 20 74 68 65 20 77 68 6f 6c 65 20 77 69 64 67 65 74 20 74 72 65 65 20 69 6e 73 74 65 61 64 lk.the.whole.widget.tree.instead
22a40 20 6f 66 20 6a 75 73 74 20 0d 20 20 20 20 23 20 72 65 6c 79 69 6e 67 20 6f 6e 20 74 68 65 20 77 .of.just......#.relying.on.the.w
22a60 69 64 67 65 74 73 20 77 65 27 76 65 20 63 72 65 61 74 65 64 20 61 62 6f 76 65 20 74 6f 20 64 6f idgets.we've.created.above.to.do
22a80 20 74 68 65 20 77 6f 72 6b 0d 20 20 20 20 23 20 62 65 63 61 75 73 65 20 64 69 66 66 65 72 65 6e .the.work.....#.because.differen
22aa0 74 20 65 78 74 65 6e 73 69 6f 6e 73 20 6d 61 79 20 70 72 6f 76 69 64 65 20 6f 74 68 65 72 20 6b t.extensions.may.provide.other.k
22ac0 69 6e 64 73 0d 20 20 20 20 23 20 6f 66 20 77 69 64 67 65 74 73 20 74 68 61 74 20 77 65 20 64 6f inds.....#.of.widgets.that.we.do
22ae0 6e 27 74 20 63 75 72 72 65 6e 74 6c 79 20 6b 6e 6f 77 20 61 62 6f 75 74 2c 20 73 6f 20 77 65 27 n't.currently.know.about,.so.we'
22b00 6c 6c 0d 20 20 20 20 23 20 77 61 6c 6b 20 74 68 65 20 77 68 6f 6c 65 20 68 69 65 72 61 72 63 68 ll.....#.walk.the.whole.hierarch
22b20 79 20 6a 75 73 74 20 69 6e 20 63 61 73 65 2e 0d 0d 20 20 20 20 65 76 61 6c 20 5b 74 6b 52 65 63 y.just.in.case.......eval.[tkRec
22b40 6f 6c 6f 72 54 72 65 65 20 2e 20 6e 65 77 5d 0d 0d 20 20 20 20 63 61 74 63 68 20 7b 64 65 73 74 olorTree...new]......catch.{dest
22b60 72 6f 79 20 2e 5f 5f 5f 74 6b 5f 73 65 74 5f 70 61 6c 65 74 74 65 7d 0d 0d 20 20 20 20 23 20 43 roy..___tk_set_palette}......#.C
22b80 68 61 6e 67 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 20 73 6f 20 74 68 61 hange.the.option.database.so.tha
22ba0 74 20 66 75 74 75 72 65 20 77 69 6e 64 6f 77 73 20 77 69 6c 6c 20 67 65 74 20 74 68 65 0d 20 20 t.future.windows.will.get.the...
22bc0 20 20 23 20 73 61 6d 65 20 63 6f 6c 6f 72 73 2e 0d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 6f 70 ..#.same.colors.......foreach.op
22be0 74 69 6f 6e 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 6e 65 77 5d 20 7b 0d 09 6f 70 74 69 6f 6e tion.[array.names.new].{..option
22c00 20 61 64 64 20 2a 24 6f 70 74 69 6f 6e 20 24 6e 65 77 28 24 6f 70 74 69 6f 6e 29 20 77 69 64 67 .add.*$option.$new($option).widg
22c20 65 74 44 65 66 61 75 6c 74 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 53 61 76 65 20 74 68 65 20 etDefault.....}......#.Save.the.
22c40 6f 70 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 74 options.in.the.global.variable.t
22c60 6b 50 61 6c 65 74 74 65 2c 20 66 6f 72 20 75 73 65 20 74 68 65 0d 20 20 20 20 23 20 6e 65 78 74 kPalette,.for.use.the.....#.next
22c80 20 74 69 6d 65 20 77 65 20 63 68 61 6e 67 65 20 74 68 65 20 6f 70 74 69 6f 6e 73 2e 0d 0d 20 20 .time.we.change.the.options.....
22ca0 20 20 61 72 72 61 79 20 73 65 74 20 74 6b 50 61 6c 65 74 74 65 20 5b 61 72 72 61 79 20 67 65 74 ..array.set.tkPalette.[array.get
22cc0 20 6e 65 77 5d 0d 7d 0d 0d 23 20 74 6b 52 65 63 6f 6c 6f 72 54 72 65 65 20 2d 2d 0d 23 20 54 68 .new].}..#.tkRecolorTree.--.#.Th
22ce0 69 73 20 70 72 6f 63 65 64 75 72 65 20 63 68 61 6e 67 65 73 20 74 68 65 20 63 6f 6c 6f 72 73 20 is.procedure.changes.the.colors.
22d00 69 6e 20 61 20 77 69 6e 64 6f 77 20 61 6e 64 20 61 6c 6c 20 6f 66 20 69 74 73 0d 23 20 64 65 73 in.a.window.and.all.of.its.#.des
22d20 63 65 6e 64 61 6e 74 73 2c 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 69 6e 66 6f 72 6d 61 74 69 cendants,.according.to.informati
22d40 6f 6e 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 63 6f 6c 6f 72 73 0d 23 20 61 72 67 75 on.provided.by.the.colors.#.argu
22d60 6d 65 6e 74 2e 20 54 68 69 73 20 6c 6f 6f 6b 73 20 61 74 20 74 68 65 20 64 65 66 61 75 6c 74 73 ment..This.looks.at.the.defaults
22d80 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 6f 70 74 69 6f 6e 20 0d 23 20 64 61 74 61 62 .provided.by.the.option..#.datab
22da0 61 73 65 2c 20 69 66 20 69 74 20 65 78 69 73 74 73 2c 20 61 6e 64 20 69 66 20 6e 6f 74 2c 20 74 ase,.if.it.exists,.and.if.not,.t
22dc0 68 65 6e 20 69 74 20 6c 6f 6f 6b 73 20 61 74 20 74 68 65 20 64 65 66 61 75 6c 74 0d 23 20 76 61 hen.it.looks.at.the.default.#.va
22de0 6c 75 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 20 69 74 73 65 6c 66 2e 0d 23 0d 23 20 41 72 lue.of.the.widget.itself..#.#.Ar
22e00 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 77 guments:.#.w.-...The.name.of.a.w
22e20 69 6e 64 6f 77 2e 20 20 54 68 69 73 20 77 69 6e 64 6f 77 20 61 6e 64 20 61 6c 6c 20 69 74 73 0d indow...This.window.and.all.its.
22e40 23 09 09 09 64 65 73 63 65 6e 64 61 6e 74 73 20 61 72 65 20 72 65 63 6f 6c 6f 72 65 64 2e 0d 23 #...descendants.are.recolored..#
22e60 20 63 6f 6c 6f 72 73 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 61 6e 20 61 72 72 61 79 20 .colors.-..The.name.of.an.array.
22e80 76 61 72 69 61 62 6c 65 20 69 6e 20 74 68 65 20 63 61 6c 6c 65 72 2c 0d 23 09 09 09 77 68 69 63 variable.in.the.caller,.#...whic
22ea0 68 20 63 6f 6e 74 61 69 6e 73 20 63 6f 6c 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 45 h.contains.color.information...E
22ec0 61 63 68 20 65 6c 65 6d 65 6e 74 0d 23 09 09 09 69 73 20 6e 61 6d 65 64 20 61 66 74 65 72 20 61 ach.element.#...is.named.after.a
22ee0 20 77 69 64 67 65 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 2c 20 61 6e .widget.configuration.option,.an
22f00 64 0d 23 09 09 09 65 61 63 68 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 66 6f d.#...each.value.is.the.value.fo
22f20 72 20 74 68 61 74 20 6f 70 74 69 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 52 65 63 6f 6c 6f 72 54 72 r.that.option...proc.tkRecolorTr
22f40 65 65 20 7b 77 20 63 6f 6c 6f 72 73 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 61 6c ee.{w.colors}.{.....global.tkPal
22f60 65 74 74 65 0d 20 20 20 20 75 70 76 61 72 20 24 63 6f 6c 6f 72 73 20 63 0d 20 20 20 20 73 65 74 ette.....upvar.$colors.c.....set
22f80 20 72 65 73 75 6c 74 20 7b 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 64 62 4f 70 74 69 6f 6e 20 .result.{}.....foreach.dbOption.
22fa0 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 63 5d 20 7b 0d 09 73 65 74 20 6f 70 74 69 6f 6e 20 2d 5b [array.names.c].{..set.option.-[
22fc0 73 74 72 69 6e 67 20 74 6f 6c 6f 77 65 72 20 24 64 62 4f 70 74 69 6f 6e 5d 0d 09 69 66 20 7b 21 string.tolower.$dbOption]..if.{!
22fe0 5b 63 61 74 63 68 20 7b 24 77 20 63 6f 6e 66 69 67 20 24 6f 70 74 69 6f 6e 7d 20 76 61 6c 75 65 [catch.{$w.config.$option}.value
23000 5d 7d 20 7b 0d 09 20 20 20 20 23 20 69 66 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 ]}.{......#.if.the.option.databa
23020 73 65 20 68 61 73 20 61 20 70 72 65 66 65 72 65 6e 63 65 20 66 6f 72 20 74 68 69 73 0d 09 20 20 se.has.a.preference.for.this....
23040 20 20 23 20 64 62 4f 70 74 69 6f 6e 2c 20 74 68 65 6e 20 75 73 65 20 69 74 2c 20 6f 74 68 65 72 ..#.dbOption,.then.use.it,.other
23060 77 69 73 65 20 75 73 65 20 74 68 65 20 64 65 66 61 75 6c 74 73 0d 09 20 20 20 20 23 20 66 6f 72 wise.use.the.defaults......#.for
23080 20 74 68 65 20 77 69 64 67 65 74 2e 0d 09 20 20 20 20 73 65 74 20 64 65 66 61 75 6c 74 63 6f 6c .the.widget.......set.defaultcol
230a0 6f 72 20 5b 6f 70 74 69 6f 6e 20 67 65 74 20 24 77 20 24 64 62 4f 70 74 69 6f 6e 20 77 69 64 67 or.[option.get.$w.$dbOption.widg
230c0 65 74 44 65 66 61 75 6c 74 5d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 etDefault]......if.{[string.matc
230e0 68 20 7b 7d 20 24 64 65 66 61 75 6c 74 63 6f 6c 6f 72 5d 7d 20 7b 0d 09 09 73 65 74 20 64 65 66 h.{}.$defaultcolor]}.{...set.def
23100 61 75 6c 74 63 6f 6c 6f 72 20 5b 77 69 6e 66 6f 20 72 67 62 20 2e 20 5b 6c 69 6e 64 65 78 20 24 aultcolor.[winfo.rgb...[lindex.$
23120 76 61 6c 75 65 20 33 5d 5d 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 64 65 value.3]]......}.else.{...set.de
23140 66 61 75 6c 74 63 6f 6c 6f 72 20 5b 77 69 6e 66 6f 20 72 67 62 20 2e 20 24 64 65 66 61 75 6c 74 faultcolor.[winfo.rgb...$default
23160 63 6f 6c 6f 72 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 73 65 74 20 63 68 6f 73 65 6e 63 6f 6c color]......}......set.chosencol
23180 6f 72 20 5b 77 69 6e 66 6f 20 72 67 62 20 2e 20 5b 6c 69 6e 64 65 78 20 24 76 61 6c 75 65 20 34 or.[winfo.rgb...[lindex.$value.4
231a0 5d 5d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 64 65 66 61 75 ]]......if.{[string.match.$defau
231c0 6c 74 63 6f 6c 6f 72 20 24 63 68 6f 73 65 6e 63 6f 6c 6f 72 5d 7d 20 7b 0d 09 09 23 20 43 68 61 ltcolor.$chosencolor]}.{...#.Cha
231e0 6e 67 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 20 73 6f 20 74 68 61 74 20 nge.the.option.database.so.that.
23200 66 75 74 75 72 65 20 77 69 6e 64 6f 77 73 20 77 69 6c 6c 20 67 65 74 0d 09 09 23 20 74 68 65 20 future.windows.will.get...#.the.
23220 73 61 6d 65 20 63 6f 6c 6f 72 73 2e 0d 09 09 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20 22 3b 5c same.colors....append.result.";\
23240 6e 6f 70 74 69 6f 6e 20 61 64 64 20 5b 6c 69 73 74 20 5c 0d 09 09 20 20 20 20 2a 5b 77 69 6e 66 noption.add.[list.\.......*[winf
23260 6f 20 63 6c 61 73 73 20 24 77 5d 2e 24 64 62 4f 70 74 69 6f 6e 20 24 63 28 24 64 62 4f 70 74 69 o.class.$w].$dbOption.$c($dbOpti
23280 6f 6e 29 20 36 30 5d 22 0d 09 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 24 6f 70 74 69 6f 6e 20 on).60]"...$w.configure.$option.
232a0 24 63 28 24 64 62 4f 70 74 69 6f 6e 29 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 $c($dbOption)......}..}.....}...
232c0 20 20 66 6f 72 65 61 63 68 20 63 68 69 6c 64 20 5b 77 69 6e 66 6f 20 63 68 69 6c 64 72 65 6e 20 ..foreach.child.[winfo.children.
232e0 24 77 5d 20 7b 0d 09 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20 22 3b 5c 6e 5b 74 6b 52 65 63 6f $w].{..append.result.";\n[tkReco
23300 6c 6f 72 54 72 65 65 20 24 63 68 69 6c 64 20 63 5d 22 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 lorTree.$child.c]".....}.....ret
23320 75 72 6e 20 24 72 65 73 75 6c 74 0d 7d 0d 0d 23 20 74 6b 44 61 72 6b 65 6e 20 2d 2d 0d 23 20 47 urn.$result.}..#.tkDarken.--.#.G
23340 69 76 65 6e 20 61 20 63 6f 6c 6f 72 20 6e 61 6d 65 2c 20 63 6f 6d 70 75 74 65 73 20 61 20 6e 65 iven.a.color.name,.computes.a.ne
23360 77 20 63 6f 6c 6f 72 20 76 61 6c 75 65 20 74 68 61 74 20 64 61 72 6b 65 6e 73 20 28 6f 72 0d 23 w.color.value.that.darkens.(or.#
23380 20 62 72 69 67 68 74 65 6e 73 29 20 74 68 65 20 67 69 76 65 6e 20 63 6f 6c 6f 72 20 62 79 20 61 .brightens).the.given.color.by.a
233a0 20 67 69 76 65 6e 20 70 65 72 63 65 6e 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 .given.percent..#.#.Arguments:.#
233c0 20 63 6f 6c 6f 72 20 2d 09 4e 61 6d 65 20 6f 66 20 73 74 61 72 74 69 6e 67 20 63 6f 6c 6f 72 2e .color.-.Name.of.starting.color.
233e0 0d 23 20 70 65 72 65 63 65 6e 74 20 2d 09 49 6e 74 65 67 65 72 20 74 65 6c 6c 69 6e 67 20 68 6f .#.perecent.-.Integer.telling.ho
23400 77 20 6d 75 63 68 20 74 6f 20 62 72 69 67 68 74 65 6e 20 6f 72 20 64 61 72 6b 65 6e 20 61 73 20 w.much.to.brighten.or.darken.as.
23420 61 0d 23 09 09 70 65 72 63 65 6e 74 3a 20 35 30 20 6d 65 61 6e 73 20 64 61 72 6b 65 6e 20 62 79 a.#..percent:.50.means.darken.by
23440 20 35 30 25 2c 20 31 31 30 20 6d 65 61 6e 73 20 62 72 69 67 68 74 65 6e 0d 23 09 09 62 79 20 31 .50%,.110.means.brighten.#..by.1
23460 30 25 2e 0d 0d 70 72 6f 63 20 74 6b 44 61 72 6b 65 6e 20 7b 63 6f 6c 6f 72 20 70 65 72 63 65 6e 0%...proc.tkDarken.{color.percen
23480 74 7d 20 7b 0d 20 20 20 20 73 65 74 20 6c 20 5b 77 69 6e 66 6f 20 72 67 62 20 2e 20 24 63 6f 6c t}.{.....set.l.[winfo.rgb...$col
234a0 6f 72 5d 0d 20 20 20 20 73 65 74 20 72 65 64 20 5b 65 78 70 72 20 5b 6c 69 6e 64 65 78 20 24 6c or].....set.red.[expr.[lindex.$l
234c0 20 30 5d 2f 32 35 36 5d 0d 20 20 20 20 73 65 74 20 67 72 65 65 6e 20 5b 65 78 70 72 20 5b 6c 69 .0]/256].....set.green.[expr.[li
234e0 6e 64 65 78 20 24 6c 20 31 5d 2f 32 35 36 5d 0d 20 20 20 20 73 65 74 20 62 6c 75 65 20 5b 65 78 ndex.$l.1]/256].....set.blue.[ex
23500 70 72 20 5b 6c 69 6e 64 65 78 20 24 6c 20 32 5d 2f 32 35 36 5d 0d 20 20 20 20 73 65 74 20 72 65 pr.[lindex.$l.2]/256].....set.re
23520 64 20 5b 65 78 70 72 20 28 24 72 65 64 2a 24 70 65 72 63 65 6e 74 29 2f 31 30 30 5d 0d 20 20 20 d.[expr.($red*$percent)/100]....
23540 20 69 66 20 7b 24 72 65 64 20 3e 20 32 35 35 7d 20 7b 0d 09 73 65 74 20 72 65 64 20 32 35 35 0d .if.{$red.>.255}.{..set.red.255.
23560 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 67 72 65 65 6e 20 5b 65 78 70 72 20 28 24 67 72 65 65 ....}.....set.green.[expr.($gree
23580 6e 2a 24 70 65 72 63 65 6e 74 29 2f 31 30 30 5d 0d 20 20 20 20 69 66 20 7b 24 67 72 65 65 6e 20 n*$percent)/100].....if.{$green.
235a0 3e 20 32 35 35 7d 20 7b 0d 09 73 65 74 20 67 72 65 65 6e 20 32 35 35 0d 20 20 20 20 7d 0d 20 20 >.255}.{..set.green.255.....}...
235c0 20 20 73 65 74 20 62 6c 75 65 20 5b 65 78 70 72 20 28 24 62 6c 75 65 2a 24 70 65 72 63 65 6e 74 ..set.blue.[expr.($blue*$percent
235e0 29 2f 31 30 30 5d 0d 20 20 20 20 69 66 20 7b 24 62 6c 75 65 20 3e 20 32 35 35 7d 20 7b 0d 09 73 )/100].....if.{$blue.>.255}.{..s
23600 65 74 20 62 6c 75 65 20 32 35 35 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 6d 61 74 20 23 25 30 et.blue.255.....}.....format.#%0
23620 32 78 25 30 32 78 25 30 32 78 20 24 72 65 64 20 24 67 72 65 65 6e 20 24 62 6c 75 65 0d 7d 0d 0d 2x%02x%02x.$red.$green.$blue.}..
23640 23 20 74 6b 5f 62 69 73 71 75 65 20 2d 2d 0d 23 20 52 65 73 65 74 20 74 68 65 20 54 6b 20 63 6f #.tk_bisque.--.#.Reset.the.Tk.co
23660 6c 6f 72 20 70 61 6c 65 74 74 65 20 74 6f 20 74 68 65 20 6f 6c 64 20 22 62 69 73 71 75 65 22 20 lor.palette.to.the.old."bisque".
23680 63 6f 6c 6f 72 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 4e 6f 6e 65 2e 0d 0d colors..#.#.Arguments:.#.None...
236a0 70 72 6f 63 20 74 6b 5f 62 69 73 71 75 65 20 7b 7d 20 7b 0d 20 20 20 20 74 6b 5f 73 65 74 50 61 proc.tk_bisque.{}.{.....tk_setPa
236c0 6c 65 74 74 65 20 61 63 74 69 76 65 42 61 63 6b 67 72 6f 75 6e 64 20 23 65 36 63 65 62 31 20 61 lette.activeBackground.#e6ceb1.a
236e0 63 74 69 76 65 46 6f 72 65 67 72 6f 75 6e 64 20 62 6c 61 63 6b 20 5c 0d 09 20 20 20 20 62 61 63 ctiveForeground.black.\......bac
23700 6b 67 72 6f 75 6e 64 20 23 66 66 65 34 63 34 20 64 69 73 61 62 6c 65 64 46 6f 72 65 67 72 6f 75 kground.#ffe4c4.disabledForegrou
23720 6e 64 20 23 62 30 62 30 62 30 20 66 6f 72 65 67 72 6f 75 6e 64 20 62 6c 61 63 6b 20 5c 0d 09 20 nd.#b0b0b0.foreground.black.\...
23740 20 20 20 68 69 67 68 6c 69 67 68 74 42 61 63 6b 67 72 6f 75 6e 64 20 23 66 66 65 34 63 34 20 68 ...highlightBackground.#ffe4c4.h
23760 69 67 68 6c 69 67 68 74 43 6f 6c 6f 72 20 62 6c 61 63 6b 20 5c 0d 09 20 20 20 20 69 6e 73 65 72 ighlightColor.black.\......inser
23780 74 42 61 63 6b 67 72 6f 75 6e 64 20 62 6c 61 63 6b 20 73 65 6c 65 63 74 43 6f 6c 6f 72 20 23 62 tBackground.black.selectColor.#b
237a0 30 33 30 36 30 20 5c 0d 09 20 20 20 20 73 65 6c 65 63 74 42 61 63 6b 67 72 6f 75 6e 64 20 23 65 03060.\......selectBackground.#e
237c0 36 63 65 62 31 20 73 65 6c 65 63 74 46 6f 72 65 67 72 6f 75 6e 64 20 62 6c 61 63 6b 20 5c 0d 09 6ceb1.selectForeground.black.\..
237e0 20 20 20 20 74 72 6f 75 67 68 43 6f 6c 6f 72 20 23 63 64 62 37 39 65 0d 7d 0d 00 00 1a 74 23 20 ....troughColor.#cdb79e.}....t#.
23800 73 63 61 6c 65 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e scale.tcl.--.#.#.This.file.defin
23820 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 54 6b 20 73 es.the.default.bindings.for.Tk.s
23840 63 61 6c 65 20 77 69 64 67 65 74 73 20 61 6e 64 20 70 72 6f 76 69 64 65 73 0d 23 20 70 72 6f 63 cale.widgets.and.provides.#.proc
23860 65 64 75 72 65 73 20 74 68 61 74 20 68 65 6c 70 20 69 6e 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 edures.that.help.in.implementing
23880 20 74 68 65 20 62 69 6e 64 69 6e 67 73 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 73 63 .the.bindings..#.#.SCCS:.@(#).sc
238a0 61 6c 65 2e 74 63 6c 20 31 2e 31 32 20 39 36 2f 30 34 2f 31 36 20 31 31 3a 34 32 3a 32 35 0d 23 ale.tcl.1.12.96/04/16.11:42:25.#
238c0 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 20 54 68 65 20 52 65 67 65 6e 74 .#.Copyright.(c).1994.The.Regent
238e0 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 s.of.the.University.of.Californi
23900 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 35 20 53 75 6e a..#.Copyright.(c).1994-1995.Sun
23920 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 .Microsystems,.Inc..#.#.See.the.
23940 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 file."license.terms".for.informa
23960 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e tion.on.usage.and.redistribution
23980 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c .#.of.this.file,.and.for.a.DISCL
239a0 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 2d 2d 2d AIMER.OF.ALL.WARRANTIES..#..#---
239c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
239e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
23a00 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 63 72 65 61 74 65 73 20 ------.#.The.code.below.creates.
23a20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 65 the.default.class.bindings.for.e
23a40 6e 74 72 69 65 73 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ntries..#-----------------------
23a60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
23a80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 23 20 53 74 61 6e 64 61 72 64 20 4d ------------------..#.Standard.M
23aa0 6f 74 69 66 20 62 69 6e 64 69 6e 67 73 3a 0d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 45 6e 74 65 otif.bindings:..bind.Scale.<Ente
23ac0 72 3e 20 7b 0d 20 20 20 20 69 66 20 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 73 r>.{.....if.$tk_strictMotif.{..s
23ae0 65 74 20 74 6b 50 72 69 76 28 61 63 74 69 76 65 42 67 29 20 5b 25 57 20 63 67 65 74 20 2d 61 63 et.tkPriv(activeBg).[%W.cget.-ac
23b00 74 69 76 65 62 61 63 6b 67 72 6f 75 6e 64 5d 0d 09 25 57 20 63 6f 6e 66 69 67 20 2d 61 63 74 69 tivebackground]..%W.config.-acti
23b20 76 65 62 61 63 6b 67 72 6f 75 6e 64 20 5b 25 57 20 63 67 65 74 20 2d 62 61 63 6b 67 72 6f 75 6e vebackground.[%W.cget.-backgroun
23b40 64 5d 0d 20 20 20 20 7d 0d 20 20 20 20 74 6b 53 63 61 6c 65 41 63 74 69 76 61 74 65 20 25 57 20 d].....}.....tkScaleActivate.%W.
23b60 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 %x.%y.}.bind.Scale.<Motion>.{...
23b80 20 20 74 6b 53 63 61 6c 65 41 63 74 69 76 61 74 65 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e ..tkScaleActivate.%W.%x.%y.}.bin
23ba0 64 20 53 63 61 6c 65 20 3c 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 69 66 20 24 74 6b 5f 73 74 72 d.Scale.<Leave>.{.....if.$tk_str
23bc0 69 63 74 4d 6f 74 69 66 20 7b 0d 09 25 57 20 63 6f 6e 66 69 67 20 2d 61 63 74 69 76 65 62 61 63 ictMotif.{..%W.config.-activebac
23be0 6b 67 72 6f 75 6e 64 20 24 74 6b 50 72 69 76 28 61 63 74 69 76 65 42 67 29 0d 20 20 20 20 7d 0d kground.$tkPriv(activeBg).....}.
23c00 20 20 20 20 69 66 20 7b 5b 25 57 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 3d 3d 20 22 61 63 74 ....if.{[%W.cget.-state].==."act
23c20 69 76 65 22 7d 20 7b 0d 09 25 57 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 6e 6f 72 ive"}.{..%W.configure.-state.nor
23c40 6d 61 6c 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 31 3e 20 7b 0d 20 20 20 mal.....}.}.bind.Scale.<1>.{....
23c60 20 74 6b 53 63 61 6c 65 42 75 74 74 6f 6e 44 6f 77 6e 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 .tkScaleButtonDown.%W.%x.%y.}.bi
23c80 6e 64 20 53 63 61 6c 65 20 3c 42 31 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 74 6b 53 63 61 nd.Scale.<B1-Motion>.{.....tkSca
23ca0 6c 65 44 72 61 67 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 42 31 leDrag.%W.%x.%y.}.bind.Scale.<B1
23cc0 2d 4c 65 61 76 65 3e 20 7b 20 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 42 31 2d 45 6e 74 65 72 -Leave>.{.}.bind.Scale.<B1-Enter
23ce0 3e 20 7b 20 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d >.{.}.bind.Scale.<ButtonRelease-
23d00 31 3e 20 7b 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 20 20 20 20 74 6b 53 63 1>.{.....tkCancelRepeat.....tkSc
23d20 61 6c 65 45 6e 64 44 72 61 67 20 25 57 0d 20 20 20 20 74 6b 53 63 61 6c 65 41 63 74 69 76 61 74 aleEndDrag.%W.....tkScaleActivat
23d40 65 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 32 3e 20 7b 0d 20 20 e.%W.%x.%y.}.bind.Scale.<2>.{...
23d60 20 20 74 6b 53 63 61 6c 65 42 75 74 74 6f 6e 32 44 6f 77 6e 20 25 57 20 25 78 20 25 79 0d 7d 0d ..tkScaleButton2Down.%W.%x.%y.}.
23d80 62 69 6e 64 20 53 63 61 6c 65 20 3c 42 32 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 74 6b 53 bind.Scale.<B2-Motion>.{.....tkS
23da0 63 61 6c 65 44 72 61 67 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c caleDrag.%W.%x.%y.}.bind.Scale.<
23dc0 42 32 2d 4c 65 61 76 65 3e 20 7b 20 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 42 32 2d 45 6e 74 B2-Leave>.{.}.bind.Scale.<B2-Ent
23de0 65 72 3e 20 7b 20 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 er>.{.}.bind.Scale.<ButtonReleas
23e00 65 2d 32 3e 20 7b 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 20 20 20 20 74 6b e-2>.{.....tkCancelRepeat.....tk
23e20 53 63 61 6c 65 45 6e 64 44 72 61 67 20 25 57 0d 20 20 20 20 74 6b 53 63 61 6c 65 41 63 74 69 76 ScaleEndDrag.%W.....tkScaleActiv
23e40 61 74 65 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 43 6f 6e 74 72 ate.%W.%x.%y.}.bind.Scale.<Contr
23e60 6f 6c 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 43 6f 6e 74 72 6f 6c 50 72 65 73 73 20 ol-1>.{.....tkScaleControlPress.
23e80 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 55 70 3e 20 7b 0d 20 20 20 %W.%x.%y.}.bind.Scale.<Up>.{....
23ea0 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 75 70 20 6c 69 74 74 6c 65 20 6e .tkScaleIncrement.%W.up.little.n
23ec0 6f 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 44 6f 77 6e 3e 20 7b 0d 20 20 oRepeat.}.bind.Scale.<Down>.{...
23ee0 20 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 64 6f 77 6e 20 6c 69 74 74 6c ..tkScaleIncrement.%W.down.littl
23f00 65 20 6e 6f 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 4c 65 66 74 3e 20 7b e.noRepeat.}.bind.Scale.<Left>.{
23f20 0d 20 20 20 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 75 70 20 6c 69 74 74 .....tkScaleIncrement.%W.up.litt
23f40 6c 65 20 6e 6f 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 52 69 67 68 74 3e le.noRepeat.}.bind.Scale.<Right>
23f60 20 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 64 6f 77 6e 20 .{.....tkScaleIncrement.%W.down.
23f80 6c 69 74 74 6c 65 20 6e 6f 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 43 6f little.noRepeat.}.bind.Scale.<Co
23fa0 6e 74 72 6f 6c 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 ntrol-Up>.{.....tkScaleIncrement
23fc0 20 25 57 20 75 70 20 62 69 67 20 6e 6f 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 .%W.up.big.noRepeat.}.bind.Scale
23fe0 20 3c 43 6f 6e 74 72 6f 6c 2d 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 49 6e 63 .<Control-Down>.{.....tkScaleInc
24000 72 65 6d 65 6e 74 20 25 57 20 64 6f 77 6e 20 62 69 67 20 6e 6f 52 65 70 65 61 74 0d 7d 0d 62 69 rement.%W.down.big.noRepeat.}.bi
24020 6e 64 20 53 63 61 6c 65 20 3c 43 6f 6e 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b nd.Scale.<Control-Left>.{.....tk
24040 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 75 70 20 62 69 67 20 6e 6f 52 65 70 65 61 ScaleIncrement.%W.up.big.noRepea
24060 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 43 6f 6e 74 72 6f 6c 2d 52 69 67 68 74 3e 20 7b t.}.bind.Scale.<Control-Right>.{
24080 0d 20 20 20 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 64 6f 77 6e 20 62 69 .....tkScaleIncrement.%W.down.bi
240a0 67 20 6e 6f 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 48 6f 6d 65 3e 20 7b g.noRepeat.}.bind.Scale.<Home>.{
240c0 0d 20 20 20 20 25 57 20 73 65 74 20 5b 25 57 20 63 67 65 74 20 2d 66 72 6f 6d 5d 0d 7d 0d 62 69 .....%W.set.[%W.cget.-from].}.bi
240e0 6e 64 20 53 63 61 6c 65 20 3c 45 6e 64 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 74 20 5b 25 57 20 nd.Scale.<End>.{.....%W.set.[%W.
24100 63 67 65 74 20 2d 74 6f 5d 0d 7d 0d 0d 23 20 74 6b 53 63 61 6c 65 41 63 74 69 76 61 74 65 20 2d cget.-to].}..#.tkScaleActivate.-
24120 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f -.#.This.procedure.is.invoked.to
24140 20 63 68 65 63 6b 20 61 20 67 69 76 65 6e 20 78 2d 79 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 .check.a.given.x-y.position.in.t
24160 68 65 0d 23 20 73 63 61 6c 65 20 61 6e 64 20 61 63 74 69 76 61 74 65 20 74 68 65 20 73 6c 69 64 he.#.scale.and.activate.the.slid
24180 65 72 20 69 66 20 74 68 65 20 78 2d 79 20 70 6f 73 69 74 69 6f 6e 20 66 61 6c 6c 73 20 77 69 74 er.if.the.x-y.position.falls.wit
241a0 68 69 6e 0d 23 20 74 68 65 20 73 6c 69 64 65 72 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a hin.#.the.slider..#.#.Arguments:
241c0 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 61 6c 65 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 .#.w.-..The.scale.widget..#.x,.y
241e0 20 2d 09 4d 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 .-.Mouse.coordinates...proc.tkSc
24200 61 6c 65 41 63 74 69 76 61 74 65 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c aleActivate.{w.x.y}.{.....global
24220 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d .tkPriv.....if.{[$w.cget.-state]
24240 20 3d 3d 20 22 64 69 73 61 62 6c 65 64 22 7d 20 7b 0d 09 72 65 74 75 72 6e 3b 0d 20 20 20 20 7d .==."disabled"}.{..return;.....}
24260 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 69 64 65 6e 74 69 66 79 20 24 78 20 24 79 5d 20 3d 3d 20 .....if.{[$w.identify.$x.$y].==.
24280 22 73 6c 69 64 65 72 22 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 "slider"}.{..$w.configure.-state
242a0 20 61 63 74 69 76 65 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 75 .active.....}.else.{..$w.configu
242c0 72 65 20 2d 73 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 re.-state.normal.....}.}..#.tkSc
242e0 61 6c 65 42 75 74 74 6f 6e 44 6f 77 6e 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 aleButtonDown.--.#.This.procedur
24300 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 61 20 62 75 74 74 6f 6e 20 69 73 20 70 72 e.is.invoked.when.a.button.is.pr
24320 65 73 73 65 64 20 69 6e 20 61 20 73 63 61 6c 65 2e 20 20 49 74 0d 23 20 74 61 6b 65 73 20 64 69 essed.in.a.scale...It.#.takes.di
24340 66 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 73 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 65 fferent.actions.depending.on.whe
24360 72 65 20 74 68 65 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 65 73 73 65 64 2e 0d 23 0d 23 20 41 re.the.button.was.pressed..#.#.A
24380 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 61 6c 65 20 77 69 64 67 65 rguments:.#.w.-..The.scale.widge
243a0 74 2e 0d 23 20 78 2c 20 79 20 2d 09 4d 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 t..#.x,.y.-.Mouse.coordinates.of
243c0 20 62 75 74 74 6f 6e 20 70 72 65 73 73 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 61 6c 65 42 75 74 74 .button.press...proc.tkScaleButt
243e0 6f 6e 44 6f 77 6e 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 onDown.{w.x.y}.{.....global.tkPr
24400 69 76 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 64 72 61 67 67 69 6e 67 29 20 30 0d 20 20 iv.....set.tkPriv(dragging).0...
24420 20 20 73 65 74 20 65 6c 20 5b 24 77 20 69 64 65 6e 74 69 66 79 20 24 78 20 24 79 5d 0d 20 20 20 ..set.el.[$w.identify.$x.$y]....
24440 20 69 66 20 7b 24 65 6c 20 3d 3d 20 22 74 72 6f 75 67 68 31 22 7d 20 7b 0d 09 74 6b 53 63 61 6c .if.{$el.==."trough1"}.{..tkScal
24460 65 49 6e 63 72 65 6d 65 6e 74 20 24 77 20 75 70 20 6c 69 74 74 6c 65 20 69 6e 69 74 69 61 6c 0d eIncrement.$w.up.little.initial.
24480 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 65 6c 20 3d 3d 20 22 74 72 6f 75 67 68 32 22 7d 20 ....}.elseif.{$el.==."trough2"}.
244a0 7b 0d 09 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 24 77 20 64 6f 77 6e 20 6c 69 74 74 {..tkScaleIncrement.$w.down.litt
244c0 6c 65 20 69 6e 69 74 69 61 6c 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 65 6c 20 3d 3d 20 le.initial.....}.elseif.{$el.==.
244e0 22 73 6c 69 64 65 72 22 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 64 72 61 67 67 69 6e 67 "slider"}.{..set.tkPriv(dragging
24500 29 20 31 0d 09 73 65 74 20 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 29 20 5b 24 77 20 67 ).1..set.tkPriv(initValue).[$w.g
24520 65 74 5d 0d 09 73 65 74 20 63 6f 6f 72 64 73 20 5b 24 77 20 63 6f 6f 72 64 73 5d 0d 09 73 65 74 et]..set.coords.[$w.coords]..set
24540 20 74 6b 50 72 69 76 28 64 65 6c 74 61 58 29 20 5b 65 78 70 72 20 24 78 20 2d 20 5b 6c 69 6e 64 .tkPriv(deltaX).[expr.$x.-.[lind
24560 65 78 20 24 63 6f 6f 72 64 73 20 30 5d 5d 0d 09 73 65 74 20 74 6b 50 72 69 76 28 64 65 6c 74 61 ex.$coords.0]]..set.tkPriv(delta
24580 59 29 20 5b 65 78 70 72 20 24 79 20 2d 20 5b 6c 69 6e 64 65 78 20 24 63 6f 6f 72 64 73 20 31 5d Y).[expr.$y.-.[lindex.$coords.1]
245a0 5d 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 6c 69 64 65 72 72 65 6c 69 65 66 20 73 75 ]..$w.configure.-sliderrelief.su
245c0 6e 6b 65 6e 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 61 6c 65 44 72 61 67 20 2d 2d 0d 23 nken.....}.}..#.tkScaleDrag.--.#
245e0 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 74 .This.procedure.is.called.when.t
24600 68 65 20 6d 6f 75 73 65 20 69 73 20 64 72 61 67 67 65 64 20 77 69 74 68 0d 23 20 6d 6f 75 73 65 he.mouse.is.dragged.with.#.mouse
24620 20 62 75 74 74 6f 6e 20 31 20 64 6f 77 6e 2e 20 20 49 66 20 74 68 65 20 64 72 61 67 20 73 74 61 .button.1.down...If.the.drag.sta
24640 72 74 65 64 20 69 6e 73 69 64 65 20 74 68 65 20 73 6c 69 64 65 72 0d 23 20 28 69 2e 65 2e 20 74 rted.inside.the.slider.#.(i.e..t
24660 68 65 20 73 63 61 6c 65 20 69 73 20 61 63 74 69 76 65 29 20 74 68 65 6e 20 74 68 65 20 73 63 61 he.scale.is.active).then.the.sca
24680 6c 65 27 73 20 76 61 6c 75 65 20 69 73 20 61 64 6a 75 73 74 65 64 0d 23 20 74 6f 20 72 65 66 6c le's.value.is.adjusted.#.to.refl
246a0 65 63 74 20 74 68 65 20 6d 6f 75 73 65 27 73 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 ect.the.mouse's.position..#.#.Ar
246c0 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 61 6c 65 20 77 69 64 67 65 74 guments:.#.w.-..The.scale.widget
246e0 2e 0d 23 20 78 2c 20 79 20 2d 09 4d 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e 0d 0d 70 ..#.x,.y.-.Mouse.coordinates...p
24700 72 6f 63 20 74 6b 53 63 61 6c 65 44 72 61 67 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c roc.tkScaleDrag.{w.x.y}.{.....gl
24720 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 21 24 74 6b 50 72 69 76 28 64 72 61 67 obal.tkPriv.....if.!$tkPriv(drag
24740 67 69 6e 67 29 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 73 65 74 ging).{..return.....}.....$w.set
24760 20 5b 24 77 20 67 65 74 20 5b 65 78 70 72 20 24 78 20 2d 20 24 74 6b 50 72 69 76 28 64 65 6c 74 .[$w.get.[expr.$x.-.$tkPriv(delt
24780 61 58 29 5d 20 5c 0d 09 20 20 20 20 5b 65 78 70 72 20 24 79 20 2d 20 24 74 6b 50 72 69 76 28 64 aX)].\......[expr.$y.-.$tkPriv(d
247a0 65 6c 74 61 59 29 5d 5d 0d 7d 0d 0d 23 20 74 6b 53 63 61 6c 65 45 6e 64 44 72 61 67 20 2d 2d 0d eltaY)]].}..#.tkScaleEndDrag.--.
247c0 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 74 6f 20 65 6e #.This.procedure.is.called.to.en
247e0 64 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 64 72 61 67 20 6f 66 20 74 68 65 0d 23 20 73 d.an.interactive.drag.of.the.#.s
24800 6c 69 64 65 72 2e 20 20 49 74 20 6a 75 73 74 20 6d 61 72 6b 73 20 74 68 65 20 64 72 61 67 20 61 lider...It.just.marks.the.drag.a
24820 73 20 6f 76 65 72 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 s.over..#.#.Arguments:.#.w.-..Th
24840 65 20 73 63 61 6c 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 61 6c 65 45 6e 64 e.scale.widget...proc.tkScaleEnd
24860 44 72 61 67 20 7b 77 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 Drag.{w}.{.....global.tkPriv....
24880 20 73 65 74 20 74 6b 50 72 69 76 28 64 72 61 67 67 69 6e 67 29 20 30 0d 20 20 20 20 24 77 20 63 .set.tkPriv(dragging).0.....$w.c
248a0 6f 6e 66 69 67 75 72 65 20 2d 73 6c 69 64 65 72 72 65 6c 69 65 66 20 72 61 69 73 65 64 0d 7d 0d onfigure.-sliderrelief.raised.}.
248c0 0d 23 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 .#.tkScaleIncrement.--.#.This.pr
248e0 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 69 6e 63 72 65 6d 65 6e 74 20 ocedure.is.invoked.to.increment.
24900 74 68 65 20 76 61 6c 75 65 20 6f 66 20 61 20 73 63 61 6c 65 20 61 6e 64 0d 23 20 74 6f 20 73 65 the.value.of.a.scale.and.#.to.se
24920 74 20 75 70 20 61 75 74 6f 2d 72 65 70 65 61 74 69 6e 67 20 6f 66 20 74 68 65 20 61 63 74 69 6f t.up.auto-repeating.of.the.actio
24940 6e 20 69 66 20 74 68 61 74 20 69 73 20 64 65 73 69 72 65 64 2e 20 20 54 68 65 0d 23 20 77 61 79 n.if.that.is.desired...The.#.way
24960 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 69 6e 63 72 65 6d 65 6e 74 65 64 20 64 65 70 65 6e 64 .the.value.is.incremented.depend
24980 73 20 6f 6e 20 74 68 65 20 22 64 69 72 22 20 61 6e 64 20 22 62 69 67 22 0d 23 20 61 72 67 75 6d s.on.the."dir".and."big".#.argum
249a0 65 6e 74 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 ents..#.#.Arguments:.#.w.-..The.
249c0 73 63 61 6c 65 20 77 69 64 67 65 74 2e 0d 23 20 64 69 72 20 2d 09 09 22 75 70 22 20 6d 65 61 6e scale.widget..#.dir.-.."up".mean
249e0 73 20 6d 6f 76 65 20 76 61 6c 75 65 20 74 6f 77 61 72 64 73 20 2d 66 72 6f 6d 2c 20 22 64 6f 77 s.move.value.towards.-from,."dow
24a00 6e 22 20 6d 65 61 6e 73 0d 23 09 09 6d 6f 76 65 20 74 6f 77 61 72 64 73 20 2d 74 6f 2e 0d 23 20 n".means.#..move.towards.-to..#.
24a20 62 69 67 20 2d 09 09 53 69 7a 65 20 6f 66 20 69 6e 63 72 65 6d 65 6e 74 73 3a 20 22 62 69 67 22 big.-..Size.of.increments:."big"
24a40 20 6f 72 20 22 6c 69 74 74 6c 65 22 2e 0d 23 20 72 65 70 65 61 74 20 2d 09 57 68 65 74 68 65 72 .or."little"..#.repeat.-.Whether
24a60 20 61 6e 64 20 68 6f 77 20 74 6f 20 61 75 74 6f 2d 72 65 70 65 61 74 20 74 68 65 20 61 63 74 69 .and.how.to.auto-repeat.the.acti
24a80 6f 6e 3a 20 20 22 6e 6f 52 65 70 65 61 74 22 0d 23 09 09 6d 65 61 6e 73 20 64 6f 6e 27 74 20 61 on:.."noRepeat".#..means.don't.a
24aa0 75 74 6f 2d 72 65 70 65 61 74 2c 20 22 69 6e 69 74 69 61 6c 22 20 6d 65 61 6e 73 20 74 68 69 73 uto-repeat,."initial".means.this
24ac0 20 69 73 20 74 68 65 0d 23 09 09 66 69 72 73 74 20 61 63 74 69 6f 6e 20 69 6e 20 61 6e 20 61 75 .is.the.#..first.action.in.an.au
24ae0 74 6f 2d 72 65 70 65 61 74 20 73 65 71 75 65 6e 63 65 2c 20 61 6e 64 20 22 61 67 61 69 6e 22 0d to-repeat.sequence,.and."again".
24b00 23 09 09 6d 65 61 6e 73 20 74 68 69 73 20 69 73 20 74 68 65 20 73 65 63 6f 6e 64 20 72 65 70 65 #..means.this.is.the.second.repe
24b20 74 69 74 69 6f 6e 20 6f 72 20 6c 61 74 65 72 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 61 6c 65 49 6e tition.or.later...proc.tkScaleIn
24b40 63 72 65 6d 65 6e 74 20 7b 77 20 64 69 72 20 62 69 67 20 72 65 70 65 61 74 7d 20 7b 0d 20 20 20 crement.{w.dir.big.repeat}.{....
24b60 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 21 5b 77 69 6e 66 6f 20 65 .global.tkPriv.....if.{![winfo.e
24b80 78 69 73 74 73 20 24 77 5d 7d 20 72 65 74 75 72 6e 0d 20 20 20 20 69 66 20 7b 24 62 69 67 20 3d xists.$w]}.return.....if.{$big.=
24ba0 3d 20 22 62 69 67 22 7d 20 7b 0d 09 73 65 74 20 69 6e 63 20 5b 24 77 20 63 67 65 74 20 2d 62 69 =."big"}.{..set.inc.[$w.cget.-bi
24bc0 67 69 6e 63 72 65 6d 65 6e 74 5d 0d 09 69 66 20 7b 24 69 6e 63 20 3d 3d 20 30 7d 20 7b 0d 09 20 gincrement]..if.{$inc.==.0}.{...
24be0 20 20 20 73 65 74 20 69 6e 63 20 5b 65 78 70 72 20 61 62 73 28 5b 24 77 20 63 67 65 74 20 2d 74 ...set.inc.[expr.abs([$w.cget.-t
24c00 6f 5d 20 2d 20 5b 24 77 20 63 67 65 74 20 2d 66 72 6f 6d 5d 29 2f 31 30 2e 30 5d 0d 09 7d 0d 09 o].-.[$w.cget.-from])/10.0]..}..
24c20 69 66 20 7b 24 69 6e 63 20 3c 20 5b 24 77 20 63 67 65 74 20 2d 72 65 73 6f 6c 75 74 69 6f 6e 5d if.{$inc.<.[$w.cget.-resolution]
24c40 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 69 6e 63 20 5b 24 77 20 63 67 65 74 20 2d 72 65 73 6f 6c }.{......set.inc.[$w.cget.-resol
24c60 75 74 69 6f 6e 5d 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 69 6e 63 20 ution]..}.....}.else.{..set.inc.
24c80 5b 24 77 20 63 67 65 74 20 2d 72 65 73 6f 6c 75 74 69 6f 6e 5d 0d 20 20 20 20 7d 0d 20 20 20 20 [$w.cget.-resolution].....}.....
24ca0 69 66 20 7b 28 5b 24 77 20 63 67 65 74 20 2d 66 72 6f 6d 5d 20 3e 20 5b 24 77 20 63 67 65 74 20 if.{([$w.cget.-from].>.[$w.cget.
24cc0 2d 74 6f 5d 29 20 5e 20 28 24 64 69 72 20 3d 3d 20 22 75 70 22 29 7d 20 7b 0d 09 73 65 74 20 69 -to]).^.($dir.==."up")}.{..set.i
24ce0 6e 63 20 5b 65 78 70 72 20 2d 24 69 6e 63 5d 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 73 65 74 nc.[expr.-$inc].....}.....$w.set
24d00 20 5b 65 78 70 72 20 5b 24 77 20 67 65 74 5d 20 2b 20 24 69 6e 63 5d 0d 0d 20 20 20 20 69 66 20 .[expr.[$w.get].+.$inc]......if.
24d20 7b 24 72 65 70 65 61 74 20 3d 3d 20 22 61 67 61 69 6e 22 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 {$repeat.==."again"}.{..set.tkPr
24d40 69 76 28 61 66 74 65 72 49 64 29 20 5b 61 66 74 65 72 20 5b 24 77 20 63 67 65 74 20 2d 72 65 70 iv(afterId).[after.[$w.cget.-rep
24d60 65 61 74 69 6e 74 65 72 76 61 6c 5d 20 5c 0d 09 09 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e eatinterval].\...tkScaleIncremen
24d80 74 20 24 77 20 24 64 69 72 20 24 62 69 67 20 61 67 61 69 6e 5d 0d 20 20 20 20 7d 20 65 6c 73 65 t.$w.$dir.$big.again].....}.else
24da0 69 66 20 7b 24 72 65 70 65 61 74 20 3d 3d 20 22 69 6e 69 74 69 61 6c 22 7d 20 7b 0d 09 73 65 74 if.{$repeat.==."initial"}.{..set
24dc0 20 64 65 6c 61 79 20 5b 24 77 20 63 67 65 74 20 2d 72 65 70 65 61 74 64 65 6c 61 79 5d 0d 09 69 .delay.[$w.cget.-repeatdelay]..i
24de0 66 20 7b 24 64 65 6c 61 79 20 3e 20 30 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 f.{$delay.>.0}.{......set.tkPriv
24e00 28 61 66 74 65 72 49 64 29 20 5b 61 66 74 65 72 20 24 64 65 6c 61 79 20 5c 0d 09 09 20 20 20 20 (afterId).[after.$delay.\.......
24e20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 24 77 20 24 64 69 72 20 24 62 69 67 20 61 67 tkScaleIncrement.$w.$dir.$big.ag
24e40 61 69 6e 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 61 6c 65 43 6f 6e 74 72 6f ain]..}.....}.}..#.tkScaleContro
24e60 6c 50 72 65 73 73 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 68 61 6e 64 6c lPress.--.#.This.procedure.handl
24e80 65 73 20 62 75 74 74 6f 6e 20 70 72 65 73 73 65 73 20 74 68 61 74 20 61 72 65 20 6d 61 64 65 20 es.button.presses.that.are.made.
24ea0 77 69 74 68 20 74 68 65 20 43 6f 6e 74 72 6f 6c 0d 23 20 6b 65 79 20 64 6f 77 6e 2e 20 20 44 65 with.the.Control.#.key.down...De
24ec0 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6d 6f 75 73 65 20 70 6f 73 69 74 69 6f 6e 2c 20 69 pending.on.the.mouse.position,.i
24ee0 74 20 61 64 6a 75 73 74 73 20 74 68 65 20 73 63 61 6c 65 0d 23 20 76 61 6c 75 65 20 74 6f 20 6f t.adjusts.the.scale.#.value.to.o
24f00 6e 65 20 65 6e 64 20 6f 66 20 74 68 65 20 72 61 6e 67 65 20 6f 72 20 74 68 65 20 6f 74 68 65 72 ne.end.of.the.range.or.the.other
24f20 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 61 6c ..#.#.Arguments:.#.w.-..The.scal
24f40 65 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 20 2d 09 4d 6f 75 73 65 20 63 6f 6f 72 64 69 6e e.widget..#.x,.y.-.Mouse.coordin
24f60 61 74 65 73 20 77 68 65 72 65 20 74 68 65 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 65 73 73 65 ates.where.the.button.was.presse
24f80 64 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 61 6c 65 43 6f 6e 74 72 6f 6c 50 72 65 73 73 20 7b 77 20 d...proc.tkScaleControlPress.{w.
24fa0 78 20 79 7d 20 7b 0d 20 20 20 20 73 65 74 20 65 6c 20 5b 24 77 20 69 64 65 6e 74 69 66 79 20 24 x.y}.{.....set.el.[$w.identify.$
24fc0 78 20 24 79 5d 0d 20 20 20 20 69 66 20 7b 24 65 6c 20 3d 3d 20 22 74 72 6f 75 67 68 31 22 7d 20 x.$y].....if.{$el.==."trough1"}.
24fe0 7b 0d 09 24 77 20 73 65 74 20 5b 24 77 20 63 67 65 74 20 2d 66 72 6f 6d 5d 0d 20 20 20 20 7d 20 {..$w.set.[$w.cget.-from].....}.
25000 65 6c 73 65 69 66 20 7b 24 65 6c 20 3d 3d 20 22 74 72 6f 75 67 68 32 22 7d 20 7b 0d 09 24 77 20 elseif.{$el.==."trough2"}.{..$w.
25020 73 65 74 20 5b 24 77 20 63 67 65 74 20 2d 74 6f 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 set.[$w.cget.-to].....}.}..#.tkS
25040 63 61 6c 65 42 75 74 74 6f 6e 32 44 6f 77 6e 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 caleButton2Down.#.This.procedure
25060 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 62 75 74 74 6f 6e 20 32 20 69 73 20 70 72 65 .is.invoked.when.button.2.is.pre
25080 73 73 65 64 20 6f 76 65 72 20 61 20 73 63 61 6c 65 2e 0d 23 20 49 74 20 73 65 74 73 20 74 68 65 ssed.over.a.scale..#.It.sets.the
250a0 20 76 61 6c 75 65 20 74 6f 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 74 68 65 20 6d 6f 75 73 .value.to.correspond.to.the.mous
250c0 65 20 70 6f 73 69 74 69 6f 6e 20 61 6e 64 20 73 74 61 72 74 73 0d 23 20 61 20 73 6c 69 64 65 72 e.position.and.starts.#.a.slider
250e0 20 64 72 61 67 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 .drag..#.#.Arguments:.#.w.-..The
25100 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 20 2d 09 4d 6f 75 73 .scrollbar.widget..#.x,.y.-.Mous
25120 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 77 69 64 67 65 74 2e e.coordinates.within.the.widget.
25140 0d 0d 70 72 6f 63 20 74 6b 53 63 61 6c 65 42 75 74 74 6f 6e 32 44 6f 77 6e 20 7b 77 20 78 20 79 ..proc.tkScaleButton2Down.{w.x.y
25160 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 5b }.{.....global.tkPriv......if.{[
25180 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 3d 3d 20 22 64 69 73 61 62 6c 65 64 22 7d 20 7b $w.cget.-state].==."disabled"}.{
251a0 0d 09 72 65 74 75 72 6e 3b 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 63 6f 6e 66 69 67 75 72 65 ..return;.....}.....$w.configure
251c0 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 0d 20 20 20 20 24 77 20 73 65 74 20 5b 24 77 20 67 65 .-state.active.....$w.set.[$w.ge
251e0 74 20 24 78 20 24 79 5d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 64 72 61 67 67 69 6e 67 t.$x.$y].....set.tkPriv(dragging
25200 29 20 31 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 29 20 5b 24 ).1.....set.tkPriv(initValue).[$
25220 77 20 67 65 74 5d 0d 20 20 20 20 73 65 74 20 63 6f 6f 72 64 73 20 22 24 78 20 24 79 22 0d 20 20 w.get].....set.coords."$x.$y"...
25240 20 20 73 65 74 20 74 6b 50 72 69 76 28 64 65 6c 74 61 58 29 20 30 0d 20 20 20 20 73 65 74 20 74 ..set.tkPriv(deltaX).0.....set.t
25260 6b 50 72 69 76 28 64 65 6c 74 61 59 29 20 30 0d 7d 0d 00 00 2d 22 23 20 73 63 72 6c 62 61 72 2e kPriv(deltaY).0.}...-"#.scrlbar.
25280 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 74 68 65 tcl.--.#.#.This.file.defines.the
252a0 20 64 65 66 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 54 6b 20 73 63 72 6f 6c 6c 62 .default.bindings.for.Tk.scrollb
252c0 61 72 20 77 69 64 67 65 74 73 2e 0d 23 20 49 74 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 70 ar.widgets..#.It.also.provides.p
252e0 72 6f 63 65 64 75 72 65 73 20 74 68 61 74 20 68 65 6c 70 20 69 6e 20 69 6d 70 6c 65 6d 65 6e 74 rocedures.that.help.in.implement
25300 69 6e 67 20 74 68 65 20 62 69 6e 64 69 6e 67 73 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 ing.the.bindings..#.#.SCCS:.@(#)
25320 20 73 63 72 6c 62 61 72 2e 74 63 6c 20 31 2e 32 36 20 39 36 2f 31 31 2f 33 30 20 31 37 3a 31 39 .scrlbar.tcl.1.26.96/11/30.17:19
25340 3a 31 36 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 20 54 68 65 20 52 :16.#.#.Copyright.(c).1994.The.R
25360 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 egents.of.the.University.of.Cali
25380 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 fornia..#.Copyright.(c).1994-199
253a0 36 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 6.Sun.Microsystems,.Inc..#.#.See
253c0 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e .the.file."license.terms".for.in
253e0 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 formation.on.usage.and.redistrib
25400 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 ution.#.of.this.file,.and.for.a.
25420 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d DISCLAIMER.OF.ALL.WARRANTIES..#.
25440 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .#------------------------------
25460 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25480 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 63 72 65 -----------.#.The.code.below.cre
254a0 61 74 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 73 20 ates.the.default.class.bindings.
254c0 66 6f 72 20 73 63 72 6f 6c 6c 62 61 72 73 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d for.scrollbars..#---------------
254e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25500 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 23 20 53 74 --------------------------..#.St
25520 61 6e 64 61 72 64 20 4d 6f 74 69 66 20 62 69 6e 64 69 6e 67 73 3a 0d 69 66 20 7b 28 24 74 63 6c andard.Motif.bindings:.if.{($tcl
25540 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 21 3d 20 22 77 69 6e 64 6f 77 73 22 _platform(platform).!=."windows"
25560 29 20 26 26 0d 20 20 20 20 28 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d ).&&.....($tcl_platform(platform
25580 29 20 21 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 29 7d 20 7b 0d 62 69 6e 64 20 53 63 72 6f 6c 6c ).!=."macintosh")}.{.bind.Scroll
255a0 62 61 72 20 3c 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 69 66 20 24 74 6b 5f 73 74 72 69 63 74 4d bar.<Enter>.{.....if.$tk_strictM
255c0 6f 74 69 66 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 61 63 74 69 76 65 42 67 29 20 5b 25 57 otif.{..set.tkPriv(activeBg).[%W
255e0 20 63 67 65 74 20 2d 61 63 74 69 76 65 62 61 63 6b 67 72 6f 75 6e 64 5d 0d 09 25 57 20 63 6f 6e .cget.-activebackground]..%W.con
25600 66 69 67 20 2d 61 63 74 69 76 65 62 61 63 6b 67 72 6f 75 6e 64 20 5b 25 57 20 63 67 65 74 20 2d fig.-activebackground.[%W.cget.-
25620 62 61 63 6b 67 72 6f 75 6e 64 5d 0d 20 20 20 20 7d 0d 20 20 20 20 25 57 20 61 63 74 69 76 61 74 background].....}.....%W.activat
25640 65 20 5b 25 57 20 69 64 65 6e 74 69 66 79 20 25 78 20 25 79 5d 0d 7d 0d 62 69 6e 64 20 53 63 72 e.[%W.identify.%x.%y].}.bind.Scr
25660 6f 6c 6c 62 61 72 20 3c 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 25 57 20 61 63 74 69 76 61 74 ollbar.<Motion>.{.....%W.activat
25680 65 20 5b 25 57 20 69 64 65 6e 74 69 66 79 20 25 78 20 25 79 5d 0d 7d 0d 0d 23 20 54 68 65 20 22 e.[%W.identify.%x.%y].}..#.The."
256a0 69 6e 66 6f 20 65 78 69 73 74 73 22 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20 66 6f 6c 6c info.exists".command.in.the.foll
256c0 6f 77 69 6e 67 20 62 69 6e 64 69 6e 67 20 68 61 6e 64 6c 65 73 20 74 68 65 0d 23 20 73 69 74 75 owing.binding.handles.the.#.situ
256e0 61 74 69 6f 6e 20 77 68 65 72 65 20 61 20 4c 65 61 76 65 20 65 76 65 6e 74 20 6f 63 63 75 72 73 ation.where.a.Leave.event.occurs
25700 20 66 6f 72 20 61 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 74 68 6f 75 74 20 74 68 65 20 45 6e 74 .for.a.scrollbar.without.the.Ent
25720 65 72 0d 23 20 65 76 65 6e 74 2e 20 20 54 68 69 73 20 73 65 65 6d 73 20 74 6f 20 68 61 70 70 65 er.#.event...This.seems.to.happe
25740 6e 20 6f 6e 20 73 6f 6d 65 20 73 79 73 74 65 6d 73 20 28 73 75 63 68 20 61 73 20 53 6f 6c 61 72 n.on.some.systems.(such.as.Solar
25760 69 73 20 32 2e 34 29 20 66 6f 72 0d 23 20 75 6e 6b 6e 6f 77 6e 20 72 65 61 73 6f 6e 73 2e 0d 0d is.2.4).for.#.unknown.reasons...
25780 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 69 66 20 bind.Scrollbar.<Leave>.{.....if.
257a0 7b 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 26 26 20 5b 69 6e 66 6f 20 65 78 69 73 74 73 {$tk_strictMotif.&&.[info.exists
257c0 20 74 6b 50 72 69 76 28 61 63 74 69 76 65 42 67 29 5d 7d 20 7b 0d 09 25 57 20 63 6f 6e 66 69 67 .tkPriv(activeBg)]}.{..%W.config
257e0 20 2d 61 63 74 69 76 65 62 61 63 6b 67 72 6f 75 6e 64 20 24 74 6b 50 72 69 76 28 61 63 74 69 76 .-activebackground.$tkPriv(activ
25800 65 42 67 29 0d 20 20 20 20 7d 0d 20 20 20 20 25 57 20 61 63 74 69 76 61 74 65 20 7b 7d 0d 7d 0d eBg).....}.....%W.activate.{}.}.
25820 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 31 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c bind.Scrollbar.<1>.{.....tkScrol
25840 6c 42 75 74 74 6f 6e 44 6f 77 6e 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 72 6f lButtonDown.%W.%x.%y.}.bind.Scro
25860 6c 6c 62 61 72 20 3c 42 31 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c llbar.<B1-Motion>.{.....tkScroll
25880 44 72 61 67 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c Drag.%W.%x.%y.}.bind.Scrollbar.<
258a0 42 31 2d 42 32 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 44 72 61 67 B1-B2-Motion>.{.....tkScrollDrag
258c0 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 75 74 74 .%W.%x.%y.}.bind.Scrollbar.<Butt
258e0 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f onRelease-1>.{.....tkScrollButto
25900 6e 55 70 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 nUp.%W.%x.%y.}.bind.Scrollbar.<B
25920 31 2d 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 23 20 50 72 65 76 65 6e 74 73 20 3c 4c 65 61 76 65 1-Leave>.{.....#.Prevents.<Leave
25940 3e 20 62 69 6e 64 69 6e 67 20 66 72 6f 6d 20 62 65 69 6e 67 20 69 6e 76 6f 6b 65 64 2e 0d 7d 0d >.binding.from.being.invoked..}.
25960 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 31 2d 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 bind.Scrollbar.<B1-Enter>.{.....
25980 23 20 50 72 65 76 65 6e 74 73 20 3c 45 6e 74 65 72 3e 20 62 69 6e 64 69 6e 67 20 66 72 6f 6d 20 #.Prevents.<Enter>.binding.from.
259a0 62 65 69 6e 67 20 69 6e 76 6f 6b 65 64 2e 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 being.invoked..}.bind.Scrollbar.
259c0 3c 32 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 32 44 6f 77 6e 20 25 57 <2>.{.....tkScrollButton2Down.%W
259e0 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 31 2d 32 3e 20 7b .%x.%y.}.bind.Scrollbar.<B1-2>.{
25a00 0d 20 20 20 20 23 20 44 6f 20 6e 6f 74 68 69 6e 67 2c 20 73 69 6e 63 65 20 62 75 74 74 6f 6e 20 .....#.Do.nothing,.since.button.
25a20 31 20 69 73 20 61 6c 72 65 61 64 79 20 64 6f 77 6e 2e 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 1.is.already.down..}.bind.Scroll
25a40 62 61 72 20 3c 42 32 2d 31 3e 20 7b 0d 20 20 20 20 23 20 44 6f 20 6e 6f 74 68 69 6e 67 2c 20 73 bar.<B2-1>.{.....#.Do.nothing,.s
25a60 69 6e 63 65 20 62 75 74 74 6f 6e 20 32 20 69 73 20 61 6c 72 65 61 64 79 20 64 6f 77 6e 2e 0d 7d ince.button.2.is.already.down..}
25a80 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 32 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 .bind.Scrollbar.<B2-Motion>.{...
25aa0 20 20 74 6b 53 63 72 6f 6c 6c 44 72 61 67 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 ..tkScrollDrag.%W.%x.%y.}.bind.S
25ac0 63 72 6f 6c 6c 62 61 72 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 32 3e 20 7b 0d 20 20 20 crollbar.<ButtonRelease-2>.{....
25ae0 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 55 70 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e .tkScrollButtonUp.%W.%x.%y.}.bin
25b00 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 31 2d 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 32 3e d.Scrollbar.<B1-ButtonRelease-2>
25b20 20 7b 0d 20 20 20 20 23 20 44 6f 20 6e 6f 74 68 69 6e 67 3a 20 20 42 31 20 72 65 6c 65 61 73 65 .{.....#.Do.nothing:..B1.release
25b40 20 77 69 6c 6c 20 68 61 6e 64 6c 65 20 69 74 2e 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 .will.handle.it..}.bind.Scrollba
25b60 72 20 3c 42 32 2d 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 20 20 20 20 23 20 44 r.<B2-ButtonRelease-1>.{.....#.D
25b80 6f 20 6e 6f 74 68 69 6e 67 3a 20 20 42 32 20 72 65 6c 65 61 73 65 20 77 69 6c 6c 20 68 61 6e 64 o.nothing:..B2.release.will.hand
25ba0 6c 65 20 69 74 2e 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 32 2d 4c 65 61 76 le.it..}.bind.Scrollbar.<B2-Leav
25bc0 65 3e 20 7b 0d 20 20 20 20 23 20 50 72 65 76 65 6e 74 73 20 3c 4c 65 61 76 65 3e 20 62 69 6e 64 e>.{.....#.Prevents.<Leave>.bind
25be0 69 6e 67 20 66 72 6f 6d 20 62 65 69 6e 67 20 69 6e 76 6f 6b 65 64 2e 0d 7d 0d 62 69 6e 64 20 53 ing.from.being.invoked..}.bind.S
25c00 63 72 6f 6c 6c 62 61 72 20 3c 42 32 2d 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 23 20 50 72 65 76 crollbar.<B2-Enter>.{.....#.Prev
25c20 65 6e 74 73 20 3c 45 6e 74 65 72 3e 20 62 69 6e 64 69 6e 67 20 66 72 6f 6d 20 62 65 69 6e 67 20 ents.<Enter>.binding.from.being.
25c40 69 6e 76 6f 6b 65 64 2e 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 43 6f 6e 74 72 invoked..}.bind.Scrollbar.<Contr
25c60 6f 6c 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 54 6f 70 42 6f 74 74 6f 6d 20 25 57 ol-1>.{.....tkScrollTopBottom.%W
25c80 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 43 6f 6e 74 72 6f 6c .%x.%y.}.bind.Scrollbar.<Control
25ca0 2d 32 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 54 6f 70 42 6f 74 74 6f 6d 20 25 57 20 25 -2>.{.....tkScrollTopBottom.%W.%
25cc0 78 20 25 79 0d 7d 0d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 55 70 3e 20 7b 0d 20 20 x.%y.}..bind.Scrollbar.<Up>.{...
25ce0 20 20 74 6b 53 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 25 57 20 76 20 2d 31 0d 7d 0d 62 69 6e 64 ..tkScrollByUnits.%W.v.-1.}.bind
25d00 20 53 63 72 6f 6c 6c 62 61 72 20 3c 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c .Scrollbar.<Down>.{.....tkScroll
25d20 42 79 55 6e 69 74 73 20 25 57 20 76 20 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 ByUnits.%W.v.1.}.bind.Scrollbar.
25d40 3c 43 6f 6e 74 72 6f 6c 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 <Control-Up>.{.....tkScrollByPag
25d60 65 73 20 25 57 20 76 20 2d 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 43 6f 6e es.%W.v.-1.}.bind.Scrollbar.<Con
25d80 74 72 6f 6c 2d 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 trol-Down>.{.....tkScrollByPages
25da0 20 25 57 20 76 20 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 4c 65 66 74 3e 20 .%W.v.1.}.bind.Scrollbar.<Left>.
25dc0 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 25 57 20 68 20 2d 31 0d 7d 0d {.....tkScrollByUnits.%W.h.-1.}.
25de0 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 53 bind.Scrollbar.<Right>.{.....tkS
25e00 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 25 57 20 68 20 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c crollByUnits.%W.h.1.}.bind.Scrol
25e20 6c 62 61 72 20 3c 43 6f 6e 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f lbar.<Control-Left>.{.....tkScro
25e40 6c 6c 42 79 50 61 67 65 73 20 25 57 20 68 20 2d 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 llByPages.%W.h.-1.}.bind.Scrollb
25e60 61 72 20 3c 43 6f 6e 74 72 6f 6c 2d 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c ar.<Control-Right>.{.....tkScrol
25e80 6c 42 79 50 61 67 65 73 20 25 57 20 68 20 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 lByPages.%W.h.1.}.bind.Scrollbar
25ea0 20 3c 50 72 69 6f 72 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 20 25 .<Prior>.{.....tkScrollByPages.%
25ec0 57 20 68 76 20 2d 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 4e 65 78 74 3e 20 W.hv.-1.}.bind.Scrollbar.<Next>.
25ee0 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 20 25 57 20 68 76 20 31 0d 7d 0d {.....tkScrollByPages.%W.hv.1.}.
25f00 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 74 6b 53 63 bind.Scrollbar.<Home>.{.....tkSc
25f20 72 6f 6c 6c 54 6f 50 6f 73 20 25 57 20 30 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 rollToPos.%W.0.}.bind.Scrollbar.
25f40 3c 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 25 57 20 31 0d 7d <End>.{.....tkScrollToPos.%W.1.}
25f60 0d 7d 0d 23 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 44 6f 77 6e 20 2d 2d 0d 23 20 54 68 69 .}.#.tkScrollButtonDown.--.#.Thi
25f80 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 61 20 62 75 s.procedure.is.invoked.when.a.bu
25fa0 74 74 6f 6e 20 69 73 20 70 72 65 73 73 65 64 20 69 6e 20 61 20 73 63 72 6f 6c 6c 62 61 72 2e 0d tton.is.pressed.in.a.scrollbar..
25fc0 23 20 49 74 20 63 68 61 6e 67 65 73 20 74 68 65 20 77 61 79 20 74 68 65 20 73 63 72 6f 6c 6c 62 #.It.changes.the.way.the.scrollb
25fe0 61 72 20 69 73 20 64 69 73 70 6c 61 79 65 64 20 61 6e 64 20 74 61 6b 65 73 20 61 63 74 69 6f 6e ar.is.displayed.and.takes.action
26000 73 0d 23 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 65 72 65 20 74 68 65 20 6d 6f 75 73 65 s.#.depending.on.where.the.mouse
26020 20 69 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 .is..#.#.Arguments:.#.w.-..The.s
26040 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 20 2d 09 4d 6f 75 73 65 20 crollbar.widget..#.x,.y.-.Mouse.
26060 63 6f 6f 72 64 69 6e 61 74 65 73 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f coordinates...proc.tkScrollButto
26080 6e 44 6f 77 6e 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 nDown.{w.x.y}.{.....global.tkPri
260a0 76 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 20 5b 24 77 20 63 67 65 v.....set.tkPriv(relief).[$w.cge
260c0 74 20 2d 61 63 74 69 76 65 72 65 6c 69 65 66 5d 0d 20 20 20 20 24 77 20 63 6f 6e 66 69 67 75 72 t.-activerelief].....$w.configur
260e0 65 20 2d 61 63 74 69 76 65 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e 0d 20 20 20 20 73 65 74 20 65 e.-activerelief.sunken.....set.e
26100 6c 65 6d 65 6e 74 20 5b 24 77 20 69 64 65 6e 74 69 66 79 20 24 78 20 24 79 5d 0d 20 20 20 20 69 lement.[$w.identify.$x.$y].....i
26120 66 20 7b 24 65 6c 65 6d 65 6e 74 20 3d 3d 20 22 73 6c 69 64 65 72 22 7d 20 7b 0d 09 74 6b 53 63 f.{$element.==."slider"}.{..tkSc
26140 72 6f 6c 6c 53 74 61 72 74 44 72 61 67 20 24 77 20 24 78 20 24 79 0d 20 20 20 20 7d 20 65 6c 73 rollStartDrag.$w.$x.$y.....}.els
26160 65 20 7b 0d 09 74 6b 53 63 72 6f 6c 6c 53 65 6c 65 63 74 20 24 77 20 24 65 6c 65 6d 65 6e 74 20 e.{..tkScrollSelect.$w.$element.
26180 69 6e 69 74 69 61 6c 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f initial.....}.}..#.tkScrollButto
261a0 6e 55 70 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b nUp.--.#.This.procedure.is.invok
261c0 65 64 20 77 68 65 6e 20 61 20 62 75 74 74 6f 6e 20 69 73 20 72 65 6c 65 61 73 65 64 20 69 6e 20 ed.when.a.button.is.released.in.
261e0 61 20 73 63 72 6f 6c 6c 62 61 72 2e 0d 23 20 49 74 20 63 61 6e 63 65 6c 73 20 73 63 61 6e 73 20 a.scrollbar..#.It.cancels.scans.
26200 61 6e 64 20 61 75 74 6f 2d 72 65 70 65 61 74 73 20 74 68 61 74 20 77 65 72 65 20 69 6e 20 70 72 and.auto-repeats.that.were.in.pr
26220 6f 67 72 65 73 73 2c 20 61 6e 64 20 72 65 73 74 6f 72 65 73 0d 23 20 74 68 65 20 77 61 79 20 74 ogress,.and.restores.#.the.way.t
26240 68 65 20 61 63 74 69 76 65 20 65 6c 65 6d 65 6e 74 20 69 73 20 64 69 73 70 6c 61 79 65 64 2e 0d he.active.element.is.displayed..
26260 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c #.#.Arguments:.#.w.-..The.scroll
26280 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 20 2d 09 4d 6f 75 73 65 20 63 6f 6f 72 64 bar.widget..#.x,.y.-.Mouse.coord
262a0 69 6e 61 74 65 73 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 55 70 20 7b inates...proc.tkScrollButtonUp.{
262c0 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 74 w.x.y}.{.....global.tkPriv.....t
262e0 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 20 20 20 20 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d kCancelRepeat.....$w.configure.-
26300 61 63 74 69 76 65 72 65 6c 69 65 66 20 24 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 0d 20 20 20 activerelief.$tkPriv(relief)....
26320 20 74 6b 53 63 72 6f 6c 6c 45 6e 64 44 72 61 67 20 24 77 20 24 78 20 24 79 0d 20 20 20 20 24 77 .tkScrollEndDrag.$w.$x.$y.....$w
26340 20 61 63 74 69 76 61 74 65 20 5b 24 77 20 69 64 65 6e 74 69 66 79 20 24 78 20 24 79 5d 0d 7d 0d .activate.[$w.identify.$x.$y].}.
26360 0d 23 20 74 6b 53 63 72 6f 6c 6c 53 65 6c 65 63 74 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 .#.tkScrollSelect.--.#.This.proc
26380 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 61 20 62 75 74 74 6f 6e 20 69 edure.is.invoked.when.a.button.i
263a0 73 20 70 72 65 73 73 65 64 20 6f 76 65 72 20 74 68 65 20 73 63 72 6f 6c 6c 62 61 72 2e 0d 23 20 s.pressed.over.the.scrollbar..#.
263c0 49 74 20 69 6e 76 6f 6b 65 73 20 6f 6e 65 20 6f 66 20 73 65 76 65 72 61 6c 20 73 63 72 6f 6c 6c It.invokes.one.of.several.scroll
263e0 69 6e 67 20 61 63 74 69 6f 6e 73 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 65 72 65 20 69 ing.actions.depending.on.where.i
26400 6e 0d 23 20 74 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 74 68 65 20 62 75 74 74 6f 6e 20 77 61 73 n.#.the.scrollbar.the.button.was
26420 20 70 72 65 73 73 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 .pressed..#.#.Arguments:.#.w.-..
26440 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 65 6c 65 6d 65 6e 74 20 The.scrollbar.widget..#.element.
26460 2d 09 54 68 65 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 74 -.The.element.of.the.scrollbar.t
26480 68 61 74 20 77 61 73 20 73 65 6c 65 63 74 65 64 2c 20 73 75 63 68 0d 23 09 09 61 73 20 22 61 72 hat.was.selected,.such.#..as."ar
264a0 72 6f 77 31 22 20 6f 72 20 22 74 72 6f 75 67 68 32 22 2e 20 20 53 68 6f 75 6c 64 6e 27 74 20 62 row1".or."trough2"...Shouldn't.b
264c0 65 20 22 73 6c 69 64 65 72 22 2e 0d 23 20 72 65 70 65 61 74 20 2d 09 57 68 65 74 68 65 72 20 61 e."slider"..#.repeat.-.Whether.a
264e0 6e 64 20 68 6f 77 20 74 6f 20 61 75 74 6f 2d 72 65 70 65 61 74 20 74 68 65 20 61 63 74 69 6f 6e nd.how.to.auto-repeat.the.action
26500 3a 20 20 22 6e 6f 52 65 70 65 61 74 22 0d 23 09 09 6d 65 61 6e 73 20 64 6f 6e 27 74 20 61 75 74 :.."noRepeat".#..means.don't.aut
26520 6f 2d 72 65 70 65 61 74 2c 20 22 69 6e 69 74 69 61 6c 22 20 6d 65 61 6e 73 20 74 68 69 73 20 69 o-repeat,."initial".means.this.i
26540 73 20 74 68 65 0d 23 09 09 66 69 72 73 74 20 61 63 74 69 6f 6e 20 69 6e 20 61 6e 20 61 75 74 6f s.the.#..first.action.in.an.auto
26560 2d 72 65 70 65 61 74 20 73 65 71 75 65 6e 63 65 2c 20 61 6e 64 20 22 61 67 61 69 6e 22 0d 23 09 -repeat.sequence,.and."again".#.
26580 09 6d 65 61 6e 73 20 74 68 69 73 20 69 73 20 74 68 65 20 73 65 63 6f 6e 64 20 72 65 70 65 74 69 .means.this.is.the.second.repeti
265a0 74 69 6f 6e 20 6f 72 20 6c 61 74 65 72 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 53 65 6c tion.or.later...proc.tkScrollSel
265c0 65 63 74 20 7b 77 20 65 6c 65 6d 65 6e 74 20 72 65 70 65 61 74 7d 20 7b 0d 20 20 20 20 67 6c 6f ect.{w.element.repeat}.{.....glo
265e0 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 21 5b 77 69 6e 66 6f 20 65 78 69 73 74 bal.tkPriv.....if.{![winfo.exist
26600 73 20 24 77 5d 7d 20 72 65 74 75 72 6e 0d 20 20 20 20 69 66 20 7b 24 65 6c 65 6d 65 6e 74 20 3d s.$w]}.return.....if.{$element.=
26620 3d 20 22 61 72 72 6f 77 31 22 7d 20 7b 0d 09 74 6b 53 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 24 =."arrow1"}.{..tkScrollByUnits.$
26640 77 20 68 76 20 2d 31 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 65 6c 65 6d 65 6e 74 20 3d w.hv.-1.....}.elseif.{$element.=
26660 3d 20 22 74 72 6f 75 67 68 31 22 7d 20 7b 0d 09 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 20 =."trough1"}.{..tkScrollByPages.
26680 24 77 20 68 76 20 2d 31 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 65 6c 65 6d 65 6e 74 20 $w.hv.-1.....}.elseif.{$element.
266a0 3d 3d 20 22 74 72 6f 75 67 68 32 22 7d 20 7b 0d 09 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 ==."trough2"}.{..tkScrollByPages
266c0 20 24 77 20 68 76 20 31 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 65 6c 65 6d 65 6e 74 20 .$w.hv.1.....}.elseif.{$element.
266e0 3d 3d 20 22 61 72 72 6f 77 32 22 7d 20 7b 0d 09 74 6b 53 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 ==."arrow2"}.{..tkScrollByUnits.
26700 24 77 20 68 76 20 31 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 $w.hv.1.....}.else.{..return....
26720 20 7d 0d 20 20 20 20 69 66 20 7b 24 72 65 70 65 61 74 20 3d 3d 20 22 61 67 61 69 6e 22 7d 20 7b .}.....if.{$repeat.==."again"}.{
26740 0d 09 73 65 74 20 74 6b 50 72 69 76 28 61 66 74 65 72 49 64 29 20 5b 61 66 74 65 72 20 5b 24 77 ..set.tkPriv(afterId).[after.[$w
26760 20 63 67 65 74 20 2d 72 65 70 65 61 74 69 6e 74 65 72 76 61 6c 5d 20 5c 0d 09 09 74 6b 53 63 72 .cget.-repeatinterval].\...tkScr
26780 6f 6c 6c 53 65 6c 65 63 74 20 24 77 20 24 65 6c 65 6d 65 6e 74 20 61 67 61 69 6e 5d 0d 20 20 20 ollSelect.$w.$element.again]....
267a0 20 7d 20 65 6c 73 65 69 66 20 7b 24 72 65 70 65 61 74 20 3d 3d 20 22 69 6e 69 74 69 61 6c 22 7d .}.elseif.{$repeat.==."initial"}
267c0 20 7b 0d 09 73 65 74 20 64 65 6c 61 79 20 5b 24 77 20 63 67 65 74 20 2d 72 65 70 65 61 74 64 65 .{..set.delay.[$w.cget.-repeatde
267e0 6c 61 79 5d 0d 09 69 66 20 7b 24 64 65 6c 61 79 20 3e 20 30 7d 20 7b 0d 09 20 20 20 20 73 65 74 lay]..if.{$delay.>.0}.{......set
26800 20 74 6b 50 72 69 76 28 61 66 74 65 72 49 64 29 20 5b 61 66 74 65 72 20 24 64 65 6c 61 79 20 74 .tkPriv(afterId).[after.$delay.t
26820 6b 53 63 72 6f 6c 6c 53 65 6c 65 63 74 20 24 77 20 24 65 6c 65 6d 65 6e 74 20 61 67 61 69 6e 5d kScrollSelect.$w.$element.again]
26840 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 53 74 61 72 74 44 72 61 67 ..}.....}.}..#.tkScrollStartDrag
26860 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 74 .--.#.This.procedure.is.called.t
26880 6f 20 69 6e 69 74 69 61 74 65 20 61 20 64 72 61 67 20 6f 66 20 74 68 65 20 73 6c 69 64 65 72 2e o.initiate.a.drag.of.the.slider.
268a0 20 20 49 74 20 6a 75 73 74 0d 23 20 72 65 6d 65 6d 62 65 72 73 20 74 68 65 20 73 74 61 72 74 69 ..It.just.#.remembers.the.starti
268c0 6e 67 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 20 61 6e 64 20 73 6c 69 ng.position.of.the.mouse.and.sli
268e0 64 65 72 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 der..#.#.Arguments:.#.w.-..The.s
26900 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 20 2d 09 54 68 65 20 6d 6f crollbar.widget..#.x,.y.-.The.mo
26920 75 73 65 20 70 6f 73 69 74 69 6f 6e 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 use.position.at.the.start.of.the
26940 20 64 72 61 67 20 6f 70 65 72 61 74 69 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 53 .drag.operation...proc.tkScrollS
26960 74 61 72 74 44 72 61 67 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b tartDrag.{w.x.y}.{.....global.tk
26980 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 63 6f 6d 6d 61 6e 64 5d Priv......if.{[$w.cget.-command]
269a0 20 3d 3d 20 22 22 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 .==.""}.{..return.....}.....set.
269c0 74 6b 50 72 69 76 28 70 72 65 73 73 58 29 20 24 78 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 tkPriv(pressX).$x.....set.tkPriv
269e0 28 70 72 65 73 73 59 29 20 24 79 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 69 6e 69 74 56 (pressY).$y.....set.tkPriv(initV
26a00 61 6c 75 65 73 29 20 5b 24 77 20 67 65 74 5d 0d 20 20 20 20 73 65 74 20 69 76 30 20 5b 6c 69 6e alues).[$w.get].....set.iv0.[lin
26a20 64 65 78 20 24 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 30 5d 0d 20 20 20 20 69 dex.$tkPriv(initValues).0].....i
26a40 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 5d f.{[llength.$tkPriv(initValues)]
26a60 20 3d 3d 20 32 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 69 6e 69 74 50 6f 73 29 20 24 69 .==.2}.{..set.tkPriv(initPos).$i
26a80 76 30 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 69 66 20 7b 24 69 76 30 20 3d 3d 20 30 7d 20 v0.....}.else.{..if.{$iv0.==.0}.
26aa0 7b 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 69 6e 69 74 50 6f 73 29 20 30 2e 30 0d 09 {......set.tkPriv(initPos).0.0..
26ac0 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 69 6e 69 74 50 6f 73 }.else.{......set.tkPriv(initPos
26ae0 29 20 5b 65 78 70 72 20 28 64 6f 75 62 6c 65 28 5b 6c 69 6e 64 65 78 20 24 74 6b 50 72 69 76 28 ).[expr.(double([lindex.$tkPriv(
26b00 69 6e 69 74 56 61 6c 75 65 73 29 20 32 5d 29 29 20 5c 0d 09 09 20 20 20 20 2f 20 5b 6c 69 6e 64 initValues).2])).\......./.[lind
26b20 65 78 20 24 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 30 5d 5d 0d 09 7d 0d 20 20 ex.$tkPriv(initValues).0]]..}...
26b40 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 44 72 61 67 20 2d 2d 0d 23 20 54 68 69 73 20 ..}.}..#.tkScrollDrag.--.#.This.
26b60 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 66 6f 72 20 65 61 63 68 20 6d 6f 75 procedure.is.called.for.each.mou
26b80 73 65 20 6d 6f 74 69 6f 6e 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 20 73 6c 69 64 65 72 0d 23 se.motion.even.when.the.slider.#
26ba0 20 69 73 20 62 65 69 6e 67 20 64 72 61 67 67 65 64 2e 20 20 49 74 20 6e 6f 74 69 66 69 65 73 20 .is.being.dragged...It.notifies.
26bc0 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 64 67 65 74 20 69 66 20 77 65 27 72 65 20 6e the.associated.widget.if.we're.n
26be0 6f 74 0d 23 20 6a 75 6d 70 20 73 63 72 6f 6c 6c 69 6e 67 2c 20 61 6e 64 20 69 74 20 6a 75 73 74 ot.#.jump.scrolling,.and.it.just
26c00 20 75 70 64 61 74 65 73 20 74 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 69 66 20 77 65 20 61 72 65 .updates.the.scrollbar.if.we.are
26c20 20 6a 75 6d 70 0d 23 20 73 63 72 6f 6c 6c 69 6e 67 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 .jump.#.scrolling..#.#.Arguments
26c40 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 :.#.w.-..The.scrollbar.widget..#
26c60 20 78 2c 20 79 20 2d 09 54 68 65 20 63 75 72 72 65 6e 74 20 6d 6f 75 73 65 20 70 6f 73 69 74 69 .x,.y.-.The.current.mouse.positi
26c80 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 44 72 61 67 20 7b 77 20 78 20 79 7d 20 7b on...proc.tkScrollDrag.{w.x.y}.{
26ca0 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 24 74 6b 50 .....global.tkPriv......if.{$tkP
26cc0 72 69 76 28 69 6e 69 74 50 6f 73 29 20 3d 3d 20 22 22 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 riv(initPos).==.""}.{..return...
26ce0 20 20 7d 0d 20 20 20 20 73 65 74 20 64 65 6c 74 61 20 5b 24 77 20 64 65 6c 74 61 20 5b 65 78 70 ..}.....set.delta.[$w.delta.[exp
26d00 72 20 24 78 20 2d 20 24 74 6b 50 72 69 76 28 70 72 65 73 73 58 29 5d 20 5b 65 78 70 72 20 24 79 r.$x.-.$tkPriv(pressX)].[expr.$y
26d20 20 2d 20 24 74 6b 50 72 69 76 28 70 72 65 73 73 59 29 5d 5d 0d 20 20 20 20 69 66 20 5b 24 77 20 .-.$tkPriv(pressY)]].....if.[$w.
26d40 63 67 65 74 20 2d 6a 75 6d 70 5d 20 7b 0d 09 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 74 6b 50 cget.-jump].{..if.{[llength.$tkP
26d60 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 5d 20 3d 3d 20 32 7d 20 7b 0d 09 20 20 20 20 24 77 riv(initValues)].==.2}.{......$w
26d80 20 73 65 74 20 5b 65 78 70 72 20 5b 6c 69 6e 64 65 78 20 24 74 6b 50 72 69 76 28 69 6e 69 74 56 .set.[expr.[lindex.$tkPriv(initV
26da0 61 6c 75 65 73 29 20 30 5d 20 2b 20 24 64 65 6c 74 61 5d 20 5c 0d 09 09 20 20 20 20 5b 65 78 70 alues).0].+.$delta].\.......[exp
26dc0 72 20 5b 6c 69 6e 64 65 78 20 24 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 31 5d r.[lindex.$tkPriv(initValues).1]
26de0 20 2b 20 24 64 65 6c 74 61 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 64 65 .+.$delta]..}.else.{......set.de
26e00 6c 74 61 20 5b 65 78 70 72 20 72 6f 75 6e 64 28 24 64 65 6c 74 61 20 2a 20 5b 6c 69 6e 64 65 78 lta.[expr.round($delta.*.[lindex
26e20 20 24 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 30 5d 29 5d 0d 09 20 20 20 20 65 .$tkPriv(initValues).0])]......e
26e40 76 61 6c 20 24 77 20 73 65 74 20 5b 6c 72 65 70 6c 61 63 65 20 24 74 6b 50 72 69 76 28 69 6e 69 val.$w.set.[lreplace.$tkPriv(ini
26e60 74 56 61 6c 75 65 73 29 20 32 20 33 20 5c 0d 09 09 20 20 20 20 5b 65 78 70 72 20 5b 6c 69 6e 64 tValues).2.3.\.......[expr.[lind
26e80 65 78 20 24 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 32 5d 20 2b 20 24 64 65 6c ex.$tkPriv(initValues).2].+.$del
26ea0 74 61 5d 20 5c 0d 09 09 20 20 20 20 5b 65 78 70 72 20 5b 6c 69 6e 64 65 78 20 24 74 6b 50 72 69 ta].\.......[expr.[lindex.$tkPri
26ec0 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 33 5d 20 2b 20 24 64 65 6c 74 61 5d 5d 0d 09 7d 0d 20 v(initValues).3].+.$delta]]..}..
26ee0 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 24 77 20 5b 65 ...}.else.{..tkScrollToPos.$w.[e
26f00 78 70 72 20 24 74 6b 50 72 69 76 28 69 6e 69 74 50 6f 73 29 20 2b 20 24 64 65 6c 74 61 5d 0d 20 xpr.$tkPriv(initPos).+.$delta]..
26f20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 45 6e 64 44 72 61 67 20 2d 2d 0d 23 20 54 ...}.}..#.tkScrollEndDrag.--.#.T
26f40 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 74 6f 20 65 6e 64 20 61 his.procedure.is.called.to.end.a
26f60 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 64 72 61 67 20 6f 66 20 74 68 65 20 73 6c 69 64 65 72 n.interactive.drag.of.the.slider
26f80 2e 0d 23 20 49 74 20 73 63 72 6f 6c 6c 73 20 74 68 65 20 77 69 6e 64 6f 77 20 69 66 20 77 65 27 ..#.It.scrolls.the.window.if.we'
26fa0 72 65 20 69 6e 20 6a 75 6d 70 20 6d 6f 64 65 2c 20 6f 74 68 65 72 77 69 73 65 20 69 74 20 64 6f re.in.jump.mode,.otherwise.it.do
26fc0 65 73 20 6e 6f 74 68 69 6e 67 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d es.nothing..#.#.Arguments:.#.w.-
26fe0 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 20 2d ..The.scrollbar.widget..#.x,.y.-
27000 09 54 68 65 20 6d 6f 75 73 65 20 70 6f 73 69 74 69 6f 6e 20 61 74 20 74 68 65 20 65 6e 64 20 6f .The.mouse.position.at.the.end.o
27020 66 20 74 68 65 20 64 72 61 67 20 6f 70 65 72 61 74 69 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 f.the.drag.operation...proc.tkSc
27040 72 6f 6c 6c 45 6e 64 44 72 61 67 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c rollEndDrag.{w.x.y}.{.....global
27060 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 24 74 6b 50 72 69 76 28 69 6e 69 74 50 6f 73 .tkPriv......if.{$tkPriv(initPos
27080 29 20 3d 3d 20 22 22 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 ).==.""}.{..return.....}.....if.
270a0 5b 24 77 20 63 67 65 74 20 2d 6a 75 6d 70 5d 20 7b 0d 09 73 65 74 20 64 65 6c 74 61 20 5b 24 77 [$w.cget.-jump].{..set.delta.[$w
270c0 20 64 65 6c 74 61 20 5b 65 78 70 72 20 24 78 20 2d 20 24 74 6b 50 72 69 76 28 70 72 65 73 73 58 .delta.[expr.$x.-.$tkPriv(pressX
270e0 29 5d 20 5c 0d 09 09 5b 65 78 70 72 20 24 79 20 2d 20 24 74 6b 50 72 69 76 28 70 72 65 73 73 59 )].\...[expr.$y.-.$tkPriv(pressY
27100 29 5d 5d 0d 09 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 24 77 20 5b 65 78 70 72 20 24 74 6b 50 )]]..tkScrollToPos.$w.[expr.$tkP
27120 72 69 76 28 69 6e 69 74 50 6f 73 29 20 2b 20 24 64 65 6c 74 61 5d 0d 20 20 20 20 7d 0d 20 20 20 riv(initPos).+.$delta].....}....
27140 20 73 65 74 20 74 6b 50 72 69 76 28 69 6e 69 74 50 6f 73 29 20 22 22 0d 7d 0d 0d 23 20 74 6b 53 .set.tkPriv(initPos)."".}..#.tkS
27160 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 crollByUnits.--.#.This.procedure
27180 20 74 65 6c 6c 73 20 74 68 65 20 73 63 72 6f 6c 6c 62 61 72 27 73 20 61 73 73 6f 63 69 61 74 65 .tells.the.scrollbar's.associate
271a0 64 20 77 69 64 67 65 74 20 74 6f 20 73 63 72 6f 6c 6c 20 75 70 0d 23 20 6f 72 20 64 6f 77 6e 20 d.widget.to.scroll.up.#.or.down.
271c0 62 79 20 61 20 67 69 76 65 6e 20 6e 75 6d 62 65 72 20 6f 66 20 75 6e 69 74 73 2e 20 20 49 74 20 by.a.given.number.of.units...It.
271e0 6e 6f 74 69 66 69 65 73 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 64 67 65 74 0d 23 notifies.the.associated.widget.#
27200 20 69 6e 20 64 69 66 66 65 72 65 6e 74 20 77 61 79 73 20 66 6f 72 20 6f 6c 64 20 61 6e 64 20 6e .in.different.ways.for.old.and.n
27220 65 77 20 63 6f 6d 6d 61 6e 64 20 73 79 6e 74 61 78 65 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e ew.command.syntaxes..#.#.Argumen
27240 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e ts:.#.w.-..The.scrollbar.widget.
27260 0d 23 20 6f 72 69 65 6e 74 20 2d 09 57 68 69 63 68 20 6b 69 6e 64 73 20 6f 66 20 73 63 72 6f 6c .#.orient.-.Which.kinds.of.scrol
27280 6c 62 61 72 73 20 74 68 69 73 20 61 70 70 6c 69 65 73 20 74 6f 3a 20 20 22 68 22 20 66 6f 72 0d lbars.this.applies.to:.."h".for.
272a0 23 09 09 68 6f 72 69 7a 6f 6e 74 61 6c 2c 20 22 76 22 20 66 6f 72 20 76 65 72 74 69 63 61 6c 2c #..horizontal,."v".for.vertical,
272c0 20 22 68 76 22 20 66 6f 72 20 62 6f 74 68 2e 0d 23 20 61 6d 6f 75 6e 74 20 2d 09 48 6f 77 20 6d ."hv".for.both..#.amount.-.How.m
272e0 61 6e 79 20 75 6e 69 74 73 20 74 6f 20 73 63 72 6f 6c 6c 3a 20 20 74 79 70 69 63 61 6c 6c 79 20 any.units.to.scroll:..typically.
27300 31 20 6f 72 20 2d 31 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 7b 1.or.-1...proc.tkScrollByUnits.{
27320 77 20 6f 72 69 65 6e 74 20 61 6d 6f 75 6e 74 7d 20 7b 0d 20 20 20 20 73 65 74 20 63 6d 64 20 5b w.orient.amount}.{.....set.cmd.[
27340 24 77 20 63 67 65 74 20 2d 63 6f 6d 6d 61 6e 64 5d 0d 20 20 20 20 69 66 20 7b 28 24 63 6d 64 20 $w.cget.-command].....if.{($cmd.
27360 3d 3d 20 22 22 29 20 7c 7c 20 28 5b 73 74 72 69 6e 67 20 66 69 72 73 74 20 5c 0d 09 20 20 20 20 ==."").||.([string.first.\......
27380 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 20 5b 24 77 20 63 67 65 74 20 2d 6f 72 69 65 6e 74 5d 20 [string.index.[$w.cget.-orient].
273a0 30 5d 20 24 6f 72 69 65 6e 74 5d 20 3c 20 30 29 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 0].$orient].<.0)}.{..return.....
273c0 7d 0d 20 20 20 20 73 65 74 20 69 6e 66 6f 20 5b 24 77 20 67 65 74 5d 0d 20 20 20 20 69 66 20 7b }.....set.info.[$w.get].....if.{
273e0 5b 6c 6c 65 6e 67 74 68 20 24 69 6e 66 6f 5d 20 3d 3d 20 32 7d 20 7b 0d 09 75 70 6c 65 76 65 6c [llength.$info].==.2}.{..uplevel
27400 20 23 30 20 24 63 6d 64 20 73 63 72 6f 6c 6c 20 24 61 6d 6f 75 6e 74 20 75 6e 69 74 73 0d 20 20 .#0.$cmd.scroll.$amount.units...
27420 20 20 7d 20 65 6c 73 65 20 7b 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 24 63 6d 64 20 5b 65 78 70 ..}.else.{..uplevel.#0.$cmd.[exp
27440 72 20 5b 6c 69 6e 64 65 78 20 24 69 6e 66 6f 20 32 5d 20 2b 20 24 61 6d 6f 75 6e 74 5d 0d 20 20 r.[lindex.$info.2].+.$amount]...
27460 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 20 2d 2d 0d 23 20 54 68 ..}.}..#.tkScrollByPages.--.#.Th
27480 69 73 20 70 72 6f 63 65 64 75 72 65 20 74 65 6c 6c 73 20 74 68 65 20 73 63 72 6f 6c 6c 62 61 72 is.procedure.tells.the.scrollbar
274a0 27 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 64 67 65 74 20 74 6f 20 73 63 72 6f 6c 6c 20 75 's.associated.widget.to.scroll.u
274c0 70 0d 23 20 6f 72 20 64 6f 77 6e 20 62 79 20 61 20 67 69 76 65 6e 20 6e 75 6d 62 65 72 20 6f 66 p.#.or.down.by.a.given.number.of
274e0 20 73 63 72 65 65 6e 66 75 6c 73 2e 20 20 49 74 20 6e 6f 74 69 66 69 65 73 20 74 68 65 20 61 73 .screenfuls...It.notifies.the.as
27500 73 6f 63 69 61 74 65 64 0d 23 20 77 69 64 67 65 74 20 69 6e 20 64 69 66 66 65 72 65 6e 74 20 77 sociated.#.widget.in.different.w
27520 61 79 73 20 66 6f 72 20 6f 6c 64 20 61 6e 64 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 20 73 79 6e 74 ays.for.old.and.new.command.synt
27540 61 78 65 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 axes..#.#.Arguments:.#.w.-..The.
27560 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 6f 72 69 65 6e 74 20 2d 09 57 68 69 scrollbar.widget..#.orient.-.Whi
27580 63 68 20 6b 69 6e 64 73 20 6f 66 20 73 63 72 6f 6c 6c 62 61 72 73 20 74 68 69 73 20 61 70 70 6c ch.kinds.of.scrollbars.this.appl
275a0 69 65 73 20 74 6f 3a 20 20 22 68 22 20 66 6f 72 0d 23 09 09 68 6f 72 69 7a 6f 6e 74 61 6c 2c 20 ies.to:.."h".for.#..horizontal,.
275c0 22 76 22 20 66 6f 72 20 76 65 72 74 69 63 61 6c 2c 20 22 68 76 22 20 66 6f 72 20 62 6f 74 68 2e "v".for.vertical,."hv".for.both.
275e0 0d 23 20 61 6d 6f 75 6e 74 20 2d 09 48 6f 77 20 6d 61 6e 79 20 73 63 72 65 65 6e 73 20 74 6f 20 .#.amount.-.How.many.screens.to.
27600 73 63 72 6f 6c 6c 3a 20 20 74 79 70 69 63 61 6c 6c 79 20 31 20 6f 72 20 2d 31 2e 0d 0d 70 72 6f scroll:..typically.1.or.-1...pro
27620 63 20 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 20 7b 77 20 6f 72 69 65 6e 74 20 61 6d 6f 75 c.tkScrollByPages.{w.orient.amou
27640 6e 74 7d 20 7b 0d 20 20 20 20 73 65 74 20 63 6d 64 20 5b 24 77 20 63 67 65 74 20 2d 63 6f 6d 6d nt}.{.....set.cmd.[$w.cget.-comm
27660 61 6e 64 5d 0d 20 20 20 20 69 66 20 7b 28 24 63 6d 64 20 3d 3d 20 22 22 29 20 7c 7c 20 28 5b 73 and].....if.{($cmd.==."").||.([s
27680 74 72 69 6e 67 20 66 69 72 73 74 20 5c 0d 09 20 20 20 20 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 tring.first.\......[string.index
276a0 20 5b 24 77 20 63 67 65 74 20 2d 6f 72 69 65 6e 74 5d 20 30 5d 20 24 6f 72 69 65 6e 74 5d 20 3c .[$w.cget.-orient].0].$orient].<
276c0 20 30 29 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 69 6e 66 .0)}.{..return.....}.....set.inf
276e0 6f 20 5b 24 77 20 67 65 74 5d 0d 20 20 20 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 69 6e 66 o.[$w.get].....if.{[llength.$inf
27700 6f 5d 20 3d 3d 20 32 7d 20 7b 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 24 63 6d 64 20 73 63 72 6f o].==.2}.{..uplevel.#0.$cmd.scro
27720 6c 6c 20 24 61 6d 6f 75 6e 74 20 70 61 67 65 73 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 75 ll.$amount.pages.....}.else.{..u
27740 70 6c 65 76 65 6c 20 23 30 20 24 63 6d 64 20 5b 65 78 70 72 20 5b 6c 69 6e 64 65 78 20 24 69 6e plevel.#0.$cmd.[expr.[lindex.$in
27760 66 6f 20 32 5d 20 2b 20 24 61 6d 6f 75 6e 74 2a 28 5b 6c 69 6e 64 65 78 20 24 69 6e 66 6f 20 31 fo.2].+.$amount*([lindex.$info.1
27780 5d 20 2d 20 31 29 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 ].-.1)].....}.}..#.tkScrollToPos
277a0 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 74 65 6c 6c 73 20 74 68 65 20 73 .--.#.This.procedure.tells.the.s
277c0 63 72 6f 6c 6c 62 61 72 27 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 64 67 65 74 20 74 6f 20 crollbar's.associated.widget.to.
277e0 73 63 72 6f 6c 6c 20 74 6f 0d 23 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 6c 6f 63 61 74 69 6f scroll.to.#.a.particular.locatio
27800 6e 2c 20 67 69 76 65 6e 20 62 79 20 61 20 66 72 61 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 30 n,.given.by.a.fraction.between.0
27820 20 61 6e 64 20 31 2e 20 20 49 74 20 6e 6f 74 69 66 69 65 73 0d 23 20 74 68 65 20 61 73 73 6f 63 .and.1...It.notifies.#.the.assoc
27840 69 61 74 65 64 20 77 69 64 67 65 74 20 69 6e 20 64 69 66 66 65 72 65 6e 74 20 77 61 79 73 20 66 iated.widget.in.different.ways.f
27860 6f 72 20 6f 6c 64 20 61 6e 64 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 20 73 79 6e 74 61 78 65 73 2e or.old.and.new.command.syntaxes.
27880 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c .#.#.Arguments:.#.w.-..The.scrol
278a0 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 70 6f 73 20 2d 09 09 41 20 66 72 61 63 74 69 6f 6e lbar.widget..#.pos.-..A.fraction
278c0 20 62 65 74 77 65 65 6e 20 30 20 61 6e 64 20 31 20 69 6e 64 69 63 61 74 69 6e 67 20 61 20 64 65 .between.0.and.1.indicating.a.de
278e0 73 69 72 65 64 20 70 6f 73 69 74 69 6f 6e 0d 23 09 09 69 6e 20 74 68 65 20 64 6f 63 75 6d 65 6e sired.position.#..in.the.documen
27900 74 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 7b 77 20 70 6f 73 7d 20 7b t...proc.tkScrollToPos.{w.pos}.{
27920 0d 20 20 20 20 73 65 74 20 63 6d 64 20 5b 24 77 20 63 67 65 74 20 2d 63 6f 6d 6d 61 6e 64 5d 0d .....set.cmd.[$w.cget.-command].
27940 20 20 20 20 69 66 20 7b 28 24 63 6d 64 20 3d 3d 20 22 22 29 7d 20 7b 0d 09 72 65 74 75 72 6e 0d ....if.{($cmd.==."")}.{..return.
27960 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 69 6e 66 6f 20 5b 24 77 20 67 65 74 5d 0d 20 20 20 20 ....}.....set.info.[$w.get].....
27980 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 69 6e 66 6f 5d 20 3d 3d 20 32 7d 20 7b 0d 09 75 70 6c if.{[llength.$info].==.2}.{..upl
279a0 65 76 65 6c 20 23 30 20 24 63 6d 64 20 6d 6f 76 65 74 6f 20 24 70 6f 73 0d 20 20 20 20 7d 20 65 evel.#0.$cmd.moveto.$pos.....}.e
279c0 6c 73 65 20 7b 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 24 63 6d 64 20 5b 65 78 70 72 20 72 6f 75 lse.{..uplevel.#0.$cmd.[expr.rou
279e0 6e 64 28 5b 6c 69 6e 64 65 78 20 24 69 6e 66 6f 20 30 5d 2a 24 70 6f 73 29 5d 0d 20 20 20 20 7d nd([lindex.$info.0]*$pos)].....}
27a00 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 54 6f 70 42 6f 74 74 6f 6d 0d 23 20 53 63 72 6f 6c 6c .}..#.tkScrollTopBottom.#.Scroll
27a20 20 74 6f 20 74 68 65 20 74 6f 70 20 6f 72 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 64 6f 63 .to.the.top.or.bottom.of.the.doc
27a40 75 6d 65 6e 74 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6d 6f 75 73 65 0d 23 20 ument,.depending.on.the.mouse.#.
27a60 70 6f 73 69 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 position..#.#.Arguments:.#.w.-..
27a80 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 20 2d 09 4d The.scrollbar.widget..#.x,.y.-.M
27aa0 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 77 69 64 67 ouse.coordinates.within.the.widg
27ac0 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 54 6f 70 42 6f 74 74 6f 6d 20 7b 77 20 78 et...proc.tkScrollTopBottom.{w.x
27ae0 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 .y}.{.....global.tkPriv.....set.
27b00 65 6c 65 6d 65 6e 74 20 5b 24 77 20 69 64 65 6e 74 69 66 79 20 24 78 20 24 79 5d 0d 20 20 20 20 element.[$w.identify.$x.$y].....
27b20 69 66 20 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 2a 31 20 24 65 6c 65 6d 65 6e 74 5d 20 7b 0d if.[string.match.*1.$element].{.
27b40 09 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 24 77 20 30 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 .tkScrollToPos.$w.0.....}.elseif
27b60 20 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 2a 32 20 24 65 6c 65 6d 65 6e 74 5d 20 7b 0d 09 74 .[string.match.*2.$element].{..t
27b80 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 24 77 20 31 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 53 kScrollToPos.$w.1.....}......#.S
27ba0 65 74 20 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 2c 20 73 69 6e 63 65 20 69 74 27 73 20 6e 65 et.tkPriv(relief),.since.it's.ne
27bc0 65 64 65 64 20 62 79 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 55 70 2e 0d 0d 20 20 20 20 73 eded.by.tkScrollButtonUp.......s
27be0 65 74 20 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 20 5b 24 77 20 63 67 65 74 20 2d 61 63 74 69 et.tkPriv(relief).[$w.cget.-acti
27c00 76 65 72 65 6c 69 65 66 5d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 32 44 6f verelief].}..#.tkScrollButton2Do
27c20 77 6e 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 wn.#.This.procedure.is.invoked.w
27c40 68 65 6e 20 62 75 74 74 6f 6e 20 32 20 69 73 20 70 72 65 73 73 65 64 20 6f 76 65 72 20 61 20 73 hen.button.2.is.pressed.over.a.s
27c60 63 72 6f 6c 6c 62 61 72 2e 0d 23 20 49 66 20 74 68 65 20 62 75 74 74 6f 6e 20 69 73 20 6f 76 65 crollbar..#.If.the.button.is.ove
27c80 72 20 74 68 65 20 74 72 6f 75 67 68 20 6f 72 20 73 6c 69 64 65 72 2c 20 69 74 20 73 65 74 73 20 r.the.trough.or.slider,.it.sets.
27ca0 74 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 74 6f 0d 23 20 74 68 65 20 6d 6f 75 73 65 20 70 6f 73 the.scrollbar.to.#.the.mouse.pos
27cc0 69 74 69 6f 6e 20 61 6e 64 20 73 74 61 72 74 73 20 61 20 73 6c 69 64 65 72 20 64 72 61 67 2e 20 ition.and.starts.a.slider.drag..
27ce0 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 6a 75 73 74 0d 23 20 62 65 68 61 76 65 73 20 74 68 65 .Otherwise.it.just.#.behaves.the
27d00 20 73 61 6d 65 20 61 73 20 62 75 74 74 6f 6e 20 31 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 .same.as.button.1..#.#.Arguments
27d20 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 :.#.w.-..The.scrollbar.widget..#
27d40 20 78 2c 20 79 20 2d 09 4d 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 77 69 74 68 69 6e .x,.y.-.Mouse.coordinates.within
27d60 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f .the.widget...proc.tkScrollButto
27d80 6e 32 44 6f 77 6e 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 n2Down.{w.x.y}.{.....global.tkPr
27da0 69 76 0d 20 20 20 20 73 65 74 20 65 6c 65 6d 65 6e 74 20 5b 24 77 20 69 64 65 6e 74 69 66 79 20 iv.....set.element.[$w.identify.
27dc0 24 78 20 24 79 5d 0d 20 20 20 20 69 66 20 7b 28 24 65 6c 65 6d 65 6e 74 20 3d 3d 20 22 61 72 72 $x.$y].....if.{($element.==."arr
27de0 6f 77 31 22 29 20 7c 7c 20 28 24 65 6c 65 6d 65 6e 74 20 3d 3d 20 22 61 72 72 6f 77 32 22 29 7d ow1").||.($element.==."arrow2")}
27e00 20 7b 0d 09 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 44 6f 77 6e 20 24 77 20 24 78 20 24 79 0d .{..tkScrollButtonDown.$w.$x.$y.
27e20 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 .return.....}.....tkScrollToPos.
27e40 24 77 20 5b 24 77 20 66 72 61 63 74 69 6f 6e 20 24 78 20 24 79 5d 0d 20 20 20 20 73 65 74 20 74 $w.[$w.fraction.$x.$y].....set.t
27e60 6b 50 72 69 76 28 72 65 6c 69 65 66 29 20 5b 24 77 20 63 67 65 74 20 2d 61 63 74 69 76 65 72 65 kPriv(relief).[$w.cget.-activere
27e80 6c 69 65 66 5d 0d 0d 20 20 20 20 23 20 4e 65 65 64 20 74 68 65 20 22 75 70 64 61 74 65 20 69 64 lief]......#.Need.the."update.id
27ea0 6c 65 74 61 73 6b 73 22 20 62 65 6c 6f 77 20 73 6f 20 74 68 61 74 20 74 68 65 20 77 69 64 67 65 letasks".below.so.that.the.widge
27ec0 74 20 63 61 6c 6c 73 20 75 73 0d 20 20 20 20 23 20 62 61 63 6b 20 74 6f 20 72 65 73 65 74 20 74 t.calls.us.....#.back.to.reset.t
27ee0 68 65 20 61 63 74 75 61 6c 20 73 63 72 6f 6c 6c 62 61 72 20 70 6f 73 69 74 69 6f 6e 20 62 65 66 he.actual.scrollbar.position.bef
27f00 6f 72 65 20 77 65 20 73 74 61 72 74 20 74 68 65 0d 20 20 20 20 23 20 73 6c 69 64 65 72 20 64 72 ore.we.start.the.....#.slider.dr
27f20 61 67 2e 0d 0d 20 20 20 20 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 20 20 20 20 24 77 ag.......update.idletasks.....$w
27f40 20 63 6f 6e 66 69 67 75 72 65 20 2d 61 63 74 69 76 65 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e 0d .configure.-activerelief.sunken.
27f60 20 20 20 20 24 77 20 61 63 74 69 76 61 74 65 20 73 6c 69 64 65 72 0d 20 20 20 20 74 6b 53 63 72 ....$w.activate.slider.....tkScr
27f80 6f 6c 6c 53 74 61 72 74 44 72 61 67 20 24 77 20 24 78 20 24 79 0d 7d 0d 00 00 0f bd 23 20 74 65 ollStartDrag.$w.$x.$y.}.....#.te
27fa0 61 72 6f 66 66 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 63 6f 6e 74 61 aroff.tcl.--.#.#.This.file.conta
27fc0 69 6e 73 20 70 72 6f 63 65 64 75 72 65 73 20 74 68 61 74 20 69 6d 70 6c 65 6d 65 6e 74 20 74 65 ins.procedures.that.implement.te
27fe0 61 72 2d 6f 66 66 20 6d 65 6e 75 73 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 74 65 61 ar-off.menus..#.#.SCCS:.@(#).tea
28000 72 6f 66 66 2e 74 63 6c 20 31 2e 32 30 20 39 37 2f 30 38 2f 32 31 20 31 34 3a 34 39 3a 32 37 0d roff.tcl.1.20.97/08/21.14:49:27.
28020 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 20 54 68 65 20 52 65 67 65 6e #.#.Copyright.(c).1994.The.Regen
28040 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e ts.of.the.University.of.Californ
28060 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 37 20 53 75 ia..#.Copyright.(c).1994-1997.Su
28080 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 n.Microsystems,.Inc..#.#.See.the
280a0 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d .file."license.terms".for.inform
280c0 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f ation.on.usage.and.redistributio
280e0 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 n.#.of.this.file,.and.for.a.DISC
28100 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 74 LAIMER.OF.ALL.WARRANTIES..#..#.t
28120 6b 54 65 61 72 6f 66 66 4d 65 6e 75 20 2d 2d 0d 23 20 47 69 76 65 6e 20 74 68 65 20 6e 61 6d 65 kTearoffMenu.--.#.Given.the.name
28140 20 6f 66 20 61 20 6d 65 6e 75 2c 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 63 72 65 61 74 .of.a.menu,.this.procedure.creat
28160 65 73 20 61 20 74 6f 72 6e 2d 6f 66 66 20 6d 65 6e 75 0d 23 20 74 68 61 74 20 69 73 20 69 64 65 es.a.torn-off.menu.#.that.is.ide
28180 6e 74 69 63 61 6c 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 6d 65 6e 75 20 28 69 6e 63 6c 75 64 ntical.to.the.given.menu.(includ
281a0 69 6e 67 20 6e 65 73 74 65 64 20 73 75 62 6d 65 6e 75 73 29 2e 0d 23 20 54 68 65 20 6e 65 77 20 ing.nested.submenus)..#.The.new.
281c0 74 6f 72 6e 2d 6f 66 66 20 6d 65 6e 75 20 65 78 69 73 74 73 20 61 73 20 61 20 74 6f 70 6c 65 76 torn-off.menu.exists.as.a.toplev
281e0 65 6c 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 64 20 62 79 20 74 68 65 0d 23 20 77 69 6e 64 6f el.window.managed.by.the.#.windo
28200 77 20 6d 61 6e 61 67 65 72 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 w.manager...The.return.value.is.
28220 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e 65 77 20 6d 65 6e 75 2e 0d 23 20 54 68 65 20 the.name.of.the.new.menu..#.The.
28240 77 69 6e 64 6f 77 20 69 73 20 63 72 65 61 74 65 64 20 61 74 20 74 68 65 20 70 6f 69 6e 74 20 73 window.is.created.at.the.point.s
28260 70 65 63 69 66 69 65 64 20 62 79 20 78 20 61 6e 64 20 79 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 pecified.by.x.and.y.#.#.Argument
28280 73 3a 0d 23 20 77 20 2d 09 09 09 54 68 65 20 6d 65 6e 75 20 74 6f 20 62 65 20 74 6f 72 6e 2d 6f s:.#.w.-...The.menu.to.be.torn-o
282a0 66 66 20 28 64 75 70 6c 69 63 61 74 65 64 29 2e 0d 23 20 78 20 2d 09 09 09 78 20 63 6f 6f 72 64 ff.(duplicated)..#.x.-...x.coord
282c0 69 6e 61 74 65 20 77 68 65 72 65 20 77 69 6e 64 6f 77 20 69 73 20 63 72 65 61 74 65 64 0d 23 20 inate.where.window.is.created.#.
282e0 79 20 2d 09 09 09 79 20 63 6f 6f 72 64 69 6e 61 74 65 20 77 68 65 72 65 20 77 69 6e 64 6f 77 20 y.-...y.coordinate.where.window.
28300 69 73 20 63 72 65 61 74 65 64 0d 0d 70 72 6f 63 20 74 6b 54 65 61 72 4f 66 66 4d 65 6e 75 20 7b is.created..proc.tkTearOffMenu.{
28320 77 20 7b 78 20 30 7d 20 7b 79 20 30 7d 7d 20 7b 0d 20 20 20 20 23 20 46 69 6e 64 20 61 20 75 6e w.{x.0}.{y.0}}.{.....#.Find.a.un
28340 69 71 75 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65 20 74 6f 72 6e 2d 6f 66 ique.name.to.use.for.the.torn-of
28360 66 20 6d 65 6e 75 2e 20 20 46 69 6e 64 20 74 68 65 20 66 69 72 73 74 0d 20 20 20 20 23 20 61 6e f.menu...Find.the.first.....#.an
28380 63 65 73 74 6f 72 20 6f 66 20 77 20 74 68 61 74 20 69 73 20 61 20 74 6f 70 6c 65 76 65 6c 20 62 cestor.of.w.that.is.a.toplevel.b
283a0 75 74 20 6e 6f 74 20 61 20 6d 65 6e 75 2c 20 61 6e 64 20 75 73 65 20 74 68 69 73 20 61 73 0d 20 ut.not.a.menu,.and.use.this.as..
283c0 20 20 20 23 20 74 68 65 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20 6e 65 77 20 6d 65 6e 75 2e ...#.the.parent.of.the.new.menu.
283e0 20 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 74 6f 72 6e 20 ..This.guarantees.that.the.torn.
28400 6f 66 66 0d 20 20 20 20 23 20 6d 65 6e 75 20 77 69 6c 6c 20 62 65 20 6f 6e 20 74 68 65 20 73 61 off.....#.menu.will.be.on.the.sa
28420 6d 65 20 73 63 72 65 65 6e 20 61 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6d 65 6e 75 2e 20 me.screen.as.the.original.menu..
28440 20 42 79 20 6d 61 6b 69 6e 67 0d 20 20 20 20 23 20 69 74 20 61 20 63 68 69 6c 64 20 6f 66 20 74 .By.making.....#.it.a.child.of.t
28460 68 65 20 61 6e 63 65 73 74 6f 72 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 20 63 68 69 6c 64 he.ancestor,.rather.than.a.child
28480 20 6f 66 20 74 68 65 20 6d 65 6e 75 2c 20 69 74 0d 20 20 20 20 23 20 63 61 6e 20 63 6f 6e 74 69 .of.the.menu,.it.....#.can.conti
284a0 6e 75 65 20 74 6f 20 6c 69 76 65 20 65 76 65 6e 20 69 66 20 74 68 65 20 6d 65 6e 75 20 69 73 20 nue.to.live.even.if.the.menu.is.
284c0 64 65 6c 65 74 65 64 3b 20 20 69 74 20 77 69 6c 6c 20 67 6f 0d 20 20 20 20 23 20 61 77 61 79 20 deleted;..it.will.go.....#.away.
284e0 77 68 65 6e 20 74 68 65 20 74 6f 70 6c 65 76 65 6c 20 67 6f 65 73 20 61 77 61 79 2e 0d 0d 20 20 when.the.toplevel.goes.away.....
28500 20 20 69 66 20 7b 24 78 20 3d 3d 20 30 7d 20 7b 0d 20 20 20 20 09 73 65 74 20 78 20 5b 77 69 6e ..if.{$x.==.0}.{......set.x.[win
28520 66 6f 20 72 6f 6f 74 78 20 24 77 5d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 24 79 20 3d 3d fo.rootx.$w].....}.....if.{$y.==
28540 20 30 7d 20 7b 0d 20 20 20 20 09 73 65 74 20 79 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 79 20 24 77 .0}.{......set.y.[winfo.rooty.$w
28560 5d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 70 ].....}......set.parent.[winfo.p
28580 61 72 65 6e 74 20 24 77 5d 0d 20 20 20 20 77 68 69 6c 65 20 7b 28 5b 77 69 6e 66 6f 20 74 6f 70 arent.$w].....while.{([winfo.top
285a0 6c 65 76 65 6c 20 24 70 61 72 65 6e 74 5d 20 21 3d 20 24 70 61 72 65 6e 74 29 0d 09 20 20 20 20 level.$parent].!=.$parent)......
285c0 7c 7c 20 28 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 70 61 72 65 6e 74 5d 20 3d 3d 20 22 4d 65 ||.([winfo.class.$parent].==."Me
285e0 6e 75 22 29 7d 20 7b 0d 09 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e nu")}.{..set.parent.[winfo.paren
28600 74 20 24 70 61 72 65 6e 74 5d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 24 70 61 72 65 6e 74 t.$parent].....}.....if.{$parent
28620 20 3d 3d 20 22 2e 22 7d 20 7b 0d 09 73 65 74 20 70 61 72 65 6e 74 20 22 22 0d 20 20 20 20 7d 0d .==."."}.{..set.parent."".....}.
28640 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 20 31 7d 20 31 20 7b 69 6e 63 72 20 69 7d 20 7b 0d 09 ....for.{set.i.1}.1.{incr.i}.{..
28660 73 65 74 20 6d 65 6e 75 20 24 70 61 72 65 6e 74 2e 74 65 61 72 6f 66 66 24 69 0d 09 69 66 20 21 set.menu.$parent.tearoff$i..if.!
28680 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 24 6d 65 6e 75 5d 20 7b 0d 09 20 20 20 20 62 72 65 61 [winfo.exists.$menu].{......brea
286a0 6b 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 24 77 20 63 6c 6f 6e 65 20 24 6d 65 6e 75 20 74 k..}.....}......$w.clone.$menu.t
286c0 65 61 72 6f 66 66 0d 0d 20 20 20 20 23 20 50 69 63 6b 20 61 20 74 69 74 6c 65 20 66 6f 72 20 74 earoff......#.Pick.a.title.for.t
286e0 68 65 20 6e 65 77 20 6d 65 6e 75 20 62 79 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 68 65 20 70 61 he.new.menu.by.looking.at.the.pa
28700 72 65 6e 74 20 6f 66 20 74 68 65 0d 20 20 20 20 23 20 6f 72 69 67 69 6e 61 6c 3a 20 69 66 20 74 rent.of.the.....#.original:.if.t
28720 68 65 20 70 61 72 65 6e 74 20 69 73 20 61 20 6d 65 6e 75 2c 20 74 68 65 6e 20 75 73 65 20 74 68 he.parent.is.a.menu,.then.use.th
28740 65 20 74 65 78 74 20 6f 66 20 74 68 65 20 61 63 74 69 76 65 0d 20 20 20 20 23 20 65 6e 74 72 79 e.text.of.the.active.....#.entry
28760 2e 20 20 49 66 20 69 74 27 73 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 20 74 68 65 6e 20 75 73 65 ...If.it's.a.menubutton.then.use
28780 20 69 74 73 20 74 65 78 74 2e 0d 0d 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 .its.text.......set.parent.[winf
287a0 6f 20 70 61 72 65 6e 74 20 24 77 5d 0d 20 20 20 20 69 66 20 7b 5b 24 6d 65 6e 75 20 63 67 65 74 o.parent.$w].....if.{[$menu.cget
287c0 20 2d 74 69 74 6c 65 5d 20 21 3d 20 22 22 7d 20 7b 0d 20 20 20 20 09 77 6d 20 74 69 74 6c 65 20 .-title].!=.""}.{......wm.title.
287e0 24 6d 65 6e 75 20 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 69 74 6c 65 5d 0d 20 20 20 20 7d 20 $menu.[$menu.cget.-title].....}.
28800 65 6c 73 65 20 7b 0d 20 20 20 20 09 73 77 69 74 63 68 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 else.{......switch.[winfo.class.
28820 24 70 61 72 65 6e 74 5d 20 7b 0d 09 20 20 20 20 4d 65 6e 75 62 75 74 74 6f 6e 20 7b 0d 09 20 20 $parent].{......Menubutton.{....
28840 20 20 09 77 6d 20 74 69 74 6c 65 20 24 6d 65 6e 75 20 5b 24 70 61 72 65 6e 74 20 63 67 65 74 20 ...wm.title.$menu.[$parent.cget.
28860 2d 74 65 78 74 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 4d 65 6e 75 20 7b 0d 09 20 20 20 20 09 -text]......}......Menu.{.......
28880 77 6d 20 74 69 74 6c 65 20 24 6d 65 6e 75 20 5b 24 70 61 72 65 6e 74 20 65 6e 74 72 79 63 67 65 wm.title.$menu.[$parent.entrycge
288a0 74 20 61 63 74 69 76 65 20 2d 6c 61 62 65 6c 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d t.active.-label]......}..}.....}
288c0 0d 0d 20 20 20 20 24 6d 65 6e 75 20 70 6f 73 74 20 24 78 20 24 79 0d 0d 20 20 20 20 69 66 20 7b ......$menu.post.$x.$y......if.{
288e0 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 24 6d 65 6e 75 5d 20 3d 3d 20 30 7d 20 7b 0d 09 72 65 [winfo.exists.$menu].==.0}.{..re
28900 74 75 72 6e 20 22 22 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 53 65 74 20 74 6b 50 72 69 76 28 turn."".....}......#.Set.tkPriv(
28920 66 6f 63 75 73 29 20 6f 6e 20 65 6e 74 72 79 3a 20 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 focus).on.entry:..otherwise.the.
28940 66 6f 63 75 73 20 77 69 6c 6c 20 67 65 74 20 6c 6f 73 74 0d 20 20 20 20 23 20 61 66 74 65 72 20 focus.will.get.lost.....#.after.
28960 6b 65 79 62 6f 61 72 64 20 69 6e 76 6f 63 61 74 69 6f 6e 20 6f 66 20 61 20 73 75 62 2d 6d 65 6e keyboard.invocation.of.a.sub-men
28980 75 20 28 69 74 20 77 69 6c 6c 20 73 74 61 79 20 6f 6e 20 74 68 65 0d 20 20 20 20 23 20 73 75 62 u.(it.will.stay.on.the.....#.sub
289a0 6d 65 6e 75 29 2e 0d 0d 20 20 20 20 62 69 6e 64 20 24 6d 65 6e 75 20 3c 45 6e 74 65 72 3e 20 7b menu).......bind.$menu.<Enter>.{
289c0 0d 09 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 29 20 25 57 0d 20 20 20 20 7d 0d 0d 20 20 ..set.tkPriv(focus).%W.....}....
289e0 20 20 23 20 49 66 20 74 68 65 72 65 20 69 73 20 61 20 2d 74 65 61 72 6f 66 66 63 6f 6d 6d 61 6e ..#.If.there.is.a.-tearoffcomman
28a00 64 20 6f 70 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 6d 65 6e 75 2c 20 69 6e 76 6f 6b 65 20 69 74 d.option.for.the.menu,.invoke.it
28a20 0d 20 20 20 20 23 20 6e 6f 77 2e 0d 0d 20 20 20 20 73 65 74 20 63 6d 64 20 5b 24 77 20 63 67 65 .....#.now.......set.cmd.[$w.cge
28a40 74 20 2d 74 65 61 72 6f 66 66 63 6f 6d 6d 61 6e 64 5d 0d 20 20 20 20 69 66 20 7b 24 63 6d 64 20 t.-tearoffcommand].....if.{$cmd.
28a60 21 3d 20 22 22 7d 20 7b 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 24 63 6d 64 20 24 77 20 24 6d 65 !=.""}.{..uplevel.#0.$cmd.$w.$me
28a80 6e 75 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 6d 65 6e 75 0d 7d 0d 0d 23 20 74 nu.....}.....return.$menu.}..#.t
28aa0 6b 4d 65 6e 75 44 75 70 20 2d 2d 0d 23 20 47 69 76 65 6e 20 61 20 6d 65 6e 75 20 28 68 69 65 72 kMenuDup.--.#.Given.a.menu.(hier
28ac0 61 72 63 68 79 29 2c 20 63 72 65 61 74 65 20 61 20 64 75 70 6c 69 63 61 74 65 20 6d 65 6e 75 20 archy),.create.a.duplicate.menu.
28ae0 28 68 69 65 72 61 72 63 68 79 29 0d 23 20 69 6e 20 61 20 67 69 76 65 6e 20 77 69 6e 64 6f 77 2e (hierarchy).#.in.a.given.window.
28b00 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 73 72 63 20 2d 09 09 09 53 6f 75 72 63 65 .#.#.Arguments:.#.src.-...Source
28b20 20 77 69 6e 64 6f 77 2e 20 20 4d 75 73 74 20 62 65 20 61 20 6d 65 6e 75 2e 20 20 49 74 20 61 6e .window...Must.be.a.menu...It.an
28b40 64 20 69 74 73 0d 23 09 09 09 6d 65 6e 75 20 64 65 73 63 65 6e 64 61 6e 74 73 20 77 69 6c 6c 20 d.its.#...menu.descendants.will.
28b60 62 65 20 64 75 70 6c 69 63 61 74 65 64 20 61 74 20 64 73 74 2e 0d 23 20 64 73 74 20 2d 09 09 09 be.duplicated.at.dst..#.dst.-...
28b80 4e 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 6f 70 6d 6f 73 74 20 6d 65 6e 75 20 69 6e 20 Name.to.use.for.topmost.menu.in.
28ba0 64 75 70 6c 69 63 61 74 65 0d 23 09 09 09 68 69 65 72 61 72 63 68 79 2e 0d 0d 70 72 6f 63 20 74 duplicate.#...hierarchy...proc.t
28bc0 6b 4d 65 6e 75 44 75 70 20 7b 73 72 63 20 64 73 74 20 74 79 70 65 7d 20 7b 0d 20 20 20 20 73 65 kMenuDup.{src.dst.type}.{.....se
28be0 74 20 63 6d 64 20 5b 6c 69 73 74 20 6d 65 6e 75 20 24 64 73 74 20 2d 74 79 70 65 20 24 74 79 70 t.cmd.[list.menu.$dst.-type.$typ
28c00 65 5d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 6f 70 74 69 6f 6e 20 5b 24 73 72 63 20 63 6f 6e 66 e].....foreach.option.[$src.conf
28c20 69 67 75 72 65 5d 20 7b 0d 09 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 6f 70 74 69 6f 6e 5d 20 igure].{..if.{[llength.$option].
28c40 3d 3d 20 32 7d 20 7b 0d 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d 09 7d 0d 09 69 66 20 7b 5b 73 ==.2}.{......continue..}..if.{[s
28c60 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 6c 69 6e 64 65 78 20 24 6f 70 74 69 6f 6e 20 30 5d tring.compare.[lindex.$option.0]
28c80 20 22 2d 74 79 70 65 22 5d 20 3d 3d 20 30 7d 20 7b 0d 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d ."-type"].==.0}.{......continue.
28ca0 09 7d 0d 09 6c 61 70 70 65 6e 64 20 63 6d 64 20 5b 6c 69 6e 64 65 78 20 24 6f 70 74 69 6f 6e 20 .}..lappend.cmd.[lindex.$option.
28cc0 30 5d 20 5b 6c 69 6e 64 65 78 20 24 6f 70 74 69 6f 6e 20 34 5d 0d 20 20 20 20 7d 0d 20 20 20 20 0].[lindex.$option.4].....}.....
28ce0 65 76 61 6c 20 24 63 6d 64 0d 20 20 20 20 73 65 74 20 6c 61 73 74 20 5b 24 73 72 63 20 69 6e 64 eval.$cmd.....set.last.[$src.ind
28d00 65 78 20 6c 61 73 74 5d 0d 20 20 20 20 69 66 20 7b 24 6c 61 73 74 20 3d 3d 20 22 6e 6f 6e 65 22 ex.last].....if.{$last.==."none"
28d20 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 }.{..return.....}.....for.{set.i
28d40 20 5b 24 73 72 63 20 63 67 65 74 20 2d 74 65 61 72 6f 66 66 5d 7d 20 7b 24 69 20 3c 3d 20 24 6c .[$src.cget.-tearoff]}.{$i.<=.$l
28d60 61 73 74 7d 20 7b 69 6e 63 72 20 69 7d 20 7b 0d 09 73 65 74 20 63 6d 64 20 5b 6c 69 73 74 20 24 ast}.{incr.i}.{..set.cmd.[list.$
28d80 64 73 74 20 61 64 64 20 5b 24 73 72 63 20 74 79 70 65 20 24 69 5d 5d 0d 09 66 6f 72 65 61 63 68 dst.add.[$src.type.$i]]..foreach
28da0 20 6f 70 74 69 6f 6e 20 5b 24 73 72 63 20 65 6e 74 72 79 63 6f 6e 66 69 67 75 72 65 20 24 69 5d .option.[$src.entryconfigure.$i]
28dc0 20 20 7b 0d 09 20 20 20 20 6c 61 70 70 65 6e 64 20 63 6d 64 20 5b 6c 69 6e 64 65 78 20 24 6f 70 ..{......lappend.cmd.[lindex.$op
28de0 74 69 6f 6e 20 30 5d 20 5b 6c 69 6e 64 65 78 20 24 6f 70 74 69 6f 6e 20 34 5d 0d 09 7d 0d 09 65 tion.0].[lindex.$option.4]..}..e
28e00 76 61 6c 20 24 63 6d 64 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 44 75 70 6c 69 63 61 74 65 20 val.$cmd.....}......#.Duplicate.
28e20 74 68 65 20 62 69 6e 64 69 6e 67 20 74 61 67 73 20 61 6e 64 20 62 69 6e 64 69 6e 67 73 20 66 72 the.binding.tags.and.bindings.fr
28e40 6f 6d 20 74 68 65 20 73 6f 75 72 63 65 20 6d 65 6e 75 2e 0d 0d 20 20 20 20 72 65 67 73 75 62 20 om.the.source.menu.......regsub.
28e60 2d 61 6c 6c 20 2e 20 24 73 72 63 20 7b 5c 5c 26 7d 20 71 75 6f 74 65 64 53 72 63 0d 20 20 20 20 -all...$src.{\\&}.quotedSrc.....
28e80 72 65 67 73 75 62 20 2d 61 6c 6c 20 2e 20 24 64 73 74 20 7b 5c 5c 26 7d 20 71 75 6f 74 65 64 44 regsub.-all...$dst.{\\&}.quotedD
28ea0 73 74 0d 20 20 20 20 72 65 67 73 75 62 20 2d 61 6c 6c 20 24 71 75 6f 74 65 64 53 72 63 20 5b 62 st.....regsub.-all.$quotedSrc.[b
28ec0 69 6e 64 74 61 67 73 20 24 73 72 63 5d 20 24 64 73 74 20 78 0d 20 20 20 20 62 69 6e 64 74 61 67 indtags.$src].$dst.x.....bindtag
28ee0 73 20 24 64 73 74 20 24 78 0d 20 20 20 20 66 6f 72 65 61 63 68 20 65 76 65 6e 74 20 5b 62 69 6e s.$dst.$x.....foreach.event.[bin
28f00 64 20 24 73 72 63 5d 20 7b 0d 09 72 65 67 73 75 62 20 2d 61 6c 6c 20 24 71 75 6f 74 65 64 53 72 d.$src].{..regsub.-all.$quotedSr
28f20 63 20 5b 62 69 6e 64 20 24 73 72 63 20 24 65 76 65 6e 74 5d 20 24 64 73 74 20 78 0d 09 62 69 6e c.[bind.$src.$event].$dst.x..bin
28f40 64 20 24 64 73 74 20 24 65 76 65 6e 74 20 24 78 0d 20 20 20 20 7d 0d 7d 0d 00 00 66 82 23 20 74 d.$dst.$event.$x.....}.}...f.#.t
28f60 65 78 74 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 ext.tcl.--.#.#.This.file.defines
28f80 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 54 6b 20 74 65 78 .the.default.bindings.for.Tk.tex
28fa0 74 20 77 69 64 67 65 74 73 20 61 6e 64 20 70 72 6f 76 69 64 65 73 0d 23 20 70 72 6f 63 65 64 75 t.widgets.and.provides.#.procedu
28fc0 72 65 73 20 74 68 61 74 20 68 65 6c 70 20 69 6e 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 74 68 res.that.help.in.implementing.th
28fe0 65 20 62 69 6e 64 69 6e 67 73 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 74 65 78 74 2e e.bindings..#.#.SCCS:.@(#).text.
29000 74 63 6c 20 31 2e 35 38 20 39 37 2f 30 39 2f 31 37 20 31 38 3a 35 34 3a 35 36 0d 23 0d 23 20 43 tcl.1.58.97/09/17.18:54:56.#.#.C
29020 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 32 2d 31 39 39 34 20 54 68 65 20 52 65 67 65 6e opyright.(c).1992-1994.The.Regen
29040 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e ts.of.the.University.of.Californ
29060 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 37 20 53 75 ia..#.Copyright.(c).1994-1997.Su
29080 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 n.Microsystems,.Inc..#.#.See.the
290a0 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d .file."license.terms".for.inform
290c0 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f ation.on.usage.and.redistributio
290e0 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 n.#.of.this.file,.and.for.a.DISC
29100 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 2d 2d LAIMER.OF.ALL.WARRANTIES..#..#--
29120 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
29140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
29160 2d 2d 2d 2d 2d 2d 2d 0d 23 20 45 6c 65 6d 65 6e 74 73 20 6f 66 20 74 6b 50 72 69 76 20 74 68 61 -------.#.Elements.of.tkPriv.tha
29180 74 20 61 72 65 20 75 73 65 64 20 69 6e 20 74 68 69 73 20 66 69 6c 65 3a 0d 23 0d 23 20 61 66 74 t.are.used.in.this.file:.#.#.aft
291a0 65 72 49 64 20 2d 09 09 49 66 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 erId.-..If.non-null,.it.means.th
291c0 61 74 20 61 75 74 6f 2d 73 63 61 6e 6e 69 6e 67 20 69 73 20 75 6e 64 65 72 77 61 79 0d 23 09 09 at.auto-scanning.is.underway.#..
291e0 09 61 6e 64 20 69 74 20 67 69 76 65 73 20 74 68 65 20 22 61 66 74 65 72 22 20 69 64 20 66 6f 72 .and.it.gives.the."after".id.for
29200 20 74 68 65 20 6e 65 78 74 20 61 75 74 6f 2d 73 63 61 6e 0d 23 09 09 09 63 6f 6d 6d 61 6e 64 20 .the.next.auto-scan.#...command.
29220 74 6f 20 62 65 20 65 78 65 63 75 74 65 64 2e 0d 23 20 63 68 61 72 20 2d 09 09 43 68 61 72 61 63 to.be.executed..#.char.-..Charac
29240 74 65 72 20 70 6f 73 69 74 69 6f 6e 20 6f 6e 20 74 68 65 20 6c 69 6e 65 3b 20 20 6b 65 70 74 20 ter.position.on.the.line;..kept.
29260 69 6e 20 6f 72 64 65 72 0d 23 09 09 09 74 6f 20 61 6c 6c 6f 77 20 6d 6f 76 69 6e 67 20 75 70 20 in.order.#...to.allow.moving.up.
29280 6f 72 20 64 6f 77 6e 20 70 61 73 74 20 73 68 6f 72 74 20 6c 69 6e 65 73 20 77 68 69 6c 65 0d 23 or.down.past.short.lines.while.#
292a0 09 09 09 73 74 69 6c 6c 20 72 65 6d 65 6d 62 65 72 69 6e 67 20 74 68 65 20 64 65 73 69 72 65 64 ...still.remembering.the.desired
292c0 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 20 6d 6f 75 73 65 4d 6f 76 65 64 20 2d 09 09 4e 6f 6e 2d 7a .position..#.mouseMoved.-..Non-z
292e0 65 72 6f 20 6d 65 61 6e 73 20 74 68 65 20 6d 6f 75 73 65 20 68 61 73 20 6d 6f 76 65 64 20 61 20 ero.means.the.mouse.has.moved.a.
29300 73 69 67 6e 69 66 69 63 61 6e 74 0d 23 09 09 09 61 6d 6f 75 6e 74 20 73 69 6e 63 65 20 74 68 65 significant.#...amount.since.the
29320 20 62 75 74 74 6f 6e 20 77 65 6e 74 20 64 6f 77 6e 20 28 73 6f 2c 20 66 6f 72 20 65 78 61 6d 70 .button.went.down.(so,.for.examp
29340 6c 65 2c 0d 23 09 09 09 73 74 61 72 74 20 64 72 61 67 67 69 6e 67 20 6f 75 74 20 61 20 73 65 6c le,.#...start.dragging.out.a.sel
29360 65 63 74 69 6f 6e 29 2e 0d 23 20 70 72 65 76 50 6f 73 20 2d 09 09 55 73 65 64 20 77 68 65 6e 20 ection)..#.prevPos.-..Used.when.
29380 6d 6f 76 69 6e 67 20 75 70 20 6f 72 20 64 6f 77 6e 20 6c 69 6e 65 73 20 76 69 61 20 74 68 65 20 moving.up.or.down.lines.via.the.
293a0 6b 65 79 62 6f 61 72 64 2e 0d 23 09 09 09 4b 65 65 70 73 20 74 72 61 63 6b 20 6f 66 20 74 68 65 keyboard..#...Keeps.track.of.the
293c0 20 70 72 65 76 69 6f 75 73 20 69 6e 73 65 72 74 20 70 6f 73 69 74 69 6f 6e 2c 20 73 6f 0d 23 09 .previous.insert.position,.so.#.
293e0 09 09 77 65 20 63 61 6e 20 64 69 73 74 69 6e 67 75 69 73 68 20 61 20 73 65 72 69 65 73 20 6f 66 ..we.can.distinguish.a.series.of
29400 20 75 70 73 20 61 6e 64 20 64 6f 77 6e 73 2c 20 61 6c 6c 0d 23 09 09 09 69 6e 20 61 20 72 6f 77 .ups.and.downs,.all.#...in.a.row
29420 2c 20 66 72 6f 6d 20 61 20 6e 65 77 20 75 70 20 6f 72 20 64 6f 77 6e 2e 0d 23 20 73 65 6c 65 63 ,.from.a.new.up.or.down..#.selec
29440 74 4d 6f 64 65 20 2d 09 09 54 68 65 20 73 74 79 6c 65 20 6f 66 20 73 65 6c 65 63 74 69 6f 6e 20 tMode.-..The.style.of.selection.
29460 63 75 72 72 65 6e 74 6c 79 20 75 6e 64 65 72 77 61 79 3a 0d 23 09 09 09 63 68 61 72 2c 20 77 6f currently.underway:.#...char,.wo
29480 72 64 2c 20 6f 72 20 6c 69 6e 65 2e 0d 23 20 78 2c 20 79 20 2d 09 09 4c 61 73 74 20 6b 6e 6f 77 rd,.or.line..#.x,.y.-..Last.know
294a0 6e 20 6d 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 66 6f 72 20 73 63 61 6e 6e 69 6e 67 n.mouse.coordinates.for.scanning
294c0 0d 23 09 09 09 61 6e 64 20 61 75 74 6f 2d 73 63 61 6e 6e 69 6e 67 2e 0d 23 2d 2d 2d 2d 2d 2d 2d .#...and.auto-scanning..#-------
294e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
29500 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
29520 2d 2d 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --..#---------------------------
29540 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
29560 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 --------------.#.The.code.below.
29580 63 72 65 61 74 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 62 69 6e 64 69 6e creates.the.default.class.bindin
295a0 67 73 20 66 6f 72 20 65 6e 74 72 69 65 73 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d gs.for.entries..#---------------
295c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
295e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 23 20 53 74 --------------------------..#.St
29600 61 6e 64 61 72 64 20 4d 6f 74 69 66 20 62 69 6e 64 69 6e 67 73 3a 0d 0d 62 69 6e 64 20 54 65 78 andard.Motif.bindings:..bind.Tex
29620 74 20 3c 31 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 42 75 74 74 6f 6e 31 20 25 57 20 25 78 20 t.<1>.{.....tkTextButton1.%W.%x.
29640 25 79 0d 20 20 20 20 25 57 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 30 2e 30 20 65 6e 64 %y.....%W.tag.remove.sel.0.0.end
29660 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 42 31 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 73 .}.bind.Text.<B1-Motion>.{.....s
29680 65 74 20 74 6b 50 72 69 76 28 78 29 20 25 78 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 79 et.tkPriv(x).%x.....set.tkPriv(y
296a0 29 20 25 79 0d 20 20 20 20 74 6b 54 65 78 74 53 65 6c 65 63 74 54 6f 20 25 57 20 25 78 20 25 79 ).%y.....tkTextSelectTo.%W.%x.%y
296c0 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 44 6f 75 62 6c 65 2d 31 3e 20 7b 0d 20 20 20 20 73 65 .}.bind.Text.<Double-1>.{.....se
296e0 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 77 6f 72 64 0d 20 20 20 20 74 6b t.tkPriv(selectMode).word.....tk
29700 54 65 78 74 53 65 6c 65 63 74 54 6f 20 25 57 20 25 78 20 25 79 0d 20 20 20 20 63 61 74 63 68 20 TextSelectTo.%W.%x.%y.....catch.
29720 7b 25 57 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 73 65 6c 2e 66 69 72 73 74 7d 0d 7d {%W.mark.set.insert.sel.first}.}
29740 0d 62 69 6e 64 20 54 65 78 74 20 3c 54 72 69 70 6c 65 2d 31 3e 20 7b 0d 20 20 20 20 73 65 74 20 .bind.Text.<Triple-1>.{.....set.
29760 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 6c 69 6e 65 0d 20 20 20 20 74 6b 54 65 tkPriv(selectMode).line.....tkTe
29780 78 74 53 65 6c 65 63 74 54 6f 20 25 57 20 25 78 20 25 79 0d 20 20 20 20 63 61 74 63 68 20 7b 25 xtSelectTo.%W.%x.%y.....catch.{%
297a0 57 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 73 65 6c 2e 66 69 72 73 74 7d 0d 7d 0d 62 W.mark.set.insert.sel.first}.}.b
297c0 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 52 ind.Text.<Shift-1>.{.....tkTextR
297e0 65 73 65 74 41 6e 63 68 6f 72 20 25 57 20 40 25 78 2c 25 79 0d 20 20 20 20 73 65 74 20 74 6b 50 esetAnchor.%W.@%x,%y.....set.tkP
29800 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 63 68 61 72 0d 20 20 20 20 74 6b 54 65 78 74 53 riv(selectMode).char.....tkTextS
29820 65 6c 65 63 74 54 6f 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 44 6f electTo.%W.%x.%y.}.bind.Text.<Do
29840 75 62 6c 65 2d 53 68 69 66 74 2d 31 3e 09 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 uble-Shift-1>.{.....set.tkPriv(s
29860 65 6c 65 63 74 4d 6f 64 65 29 20 77 6f 72 64 0d 20 20 20 20 74 6b 54 65 78 74 53 65 6c 65 63 74 electMode).word.....tkTextSelect
29880 54 6f 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 54 72 69 70 6c 65 2d To.%W.%x.%y.}.bind.Text.<Triple-
298a0 53 68 69 66 74 2d 31 3e 09 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 Shift-1>.{.....set.tkPriv(select
298c0 4d 6f 64 65 29 20 6c 69 6e 65 0d 20 20 20 20 74 6b 54 65 78 74 53 65 6c 65 63 74 54 6f 20 25 57 Mode).line.....tkTextSelectTo.%W
298e0 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 42 31 2d 4c 65 61 76 65 3e 20 7b 0d .%x.%y.}.bind.Text.<B1-Leave>.{.
29900 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 78 29 20 25 78 0d 20 20 20 20 73 65 74 20 74 6b 50 ....set.tkPriv(x).%x.....set.tkP
29920 72 69 76 28 79 29 20 25 79 0d 20 20 20 20 74 6b 54 65 78 74 41 75 74 6f 53 63 61 6e 20 25 57 0d riv(y).%y.....tkTextAutoScan.%W.
29940 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 42 31 2d 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 74 6b 43 }.bind.Text.<B1-Enter>.{.....tkC
29960 61 6e 63 65 6c 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 42 75 74 74 6f 6e 52 ancelRepeat.}.bind.Text.<ButtonR
29980 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 7d elease-1>.{.....tkCancelRepeat.}
299a0 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 31 3e 20 7b 0d 20 20 20 20 25 57 20 .bind.Text.<Control-1>.{.....%W.
299c0 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 40 25 78 2c 25 79 0d 7d 0d 62 69 6e 64 20 54 65 mark.set.insert.@%x,%y.}.bind.Te
299e0 78 74 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 32 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 xt.<ButtonRelease-2>.{.....if.{!
29a00 24 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 7c 7c 20 24 74 6b 5f 73 74 72 69 63 $tkPriv(mouseMoved).||.$tk_stric
29a20 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 54 65 78 74 50 61 73 74 65 20 25 57 20 25 78 20 25 79 0d tMotif}.{..tkTextPaste.%W.%x.%y.
29a40 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 ....}.}.bind.Text.<Left>.{.....t
29a60 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 69 6e 73 65 72 74 2d 31 63 0d 7d 0d 62 69 kTextSetCursor.%W.insert-1c.}.bi
29a80 6e 64 20 54 65 78 74 20 3c 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 nd.Text.<Right>.{.....tkTextSetC
29aa0 75 72 73 6f 72 20 25 57 20 69 6e 73 65 72 74 2b 31 63 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c ursor.%W.insert+1c.}.bind.Text.<
29ac0 55 70 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b Up>.{.....tkTextSetCursor.%W.[tk
29ae0 54 65 78 74 55 70 44 6f 77 6e 4c 69 6e 65 20 25 57 20 2d 31 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 TextUpDownLine.%W.-1].}.bind.Tex
29b00 74 20 3c 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 t.<Down>.{.....tkTextSetCursor.%
29b20 57 20 5b 74 6b 54 65 78 74 55 70 44 6f 77 6e 4c 69 6e 65 20 25 57 20 31 5d 0d 7d 0d 62 69 6e 64 W.[tkTextUpDownLine.%W.1].}.bind
29b40 20 54 65 78 74 20 3c 53 68 69 66 74 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b .Text.<Shift-Left>.{.....tkTextK
29b60 65 79 53 65 6c 65 63 74 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 7b 69 6e 73 65 72 74 20 2d 20 eySelect.%W.[%W.index.{insert.-.
29b80 31 63 7d 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 52 69 67 68 74 3e 20 7b 1c}].}.bind.Text.<Shift-Right>.{
29ba0 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 25 57 20 69 6e 64 65 .....tkTextKeySelect.%W.[%W.inde
29bc0 78 20 7b 69 6e 73 65 72 74 20 2b 20 31 63 7d 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 x.{insert.+.1c}].}.bind.Text.<Sh
29be0 69 66 74 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 ift-Up>.{.....tkTextKeySelect.%W
29c00 20 5b 74 6b 54 65 78 74 55 70 44 6f 77 6e 4c 69 6e 65 20 25 57 20 2d 31 5d 0d 7d 0d 62 69 6e 64 .[tkTextUpDownLine.%W.-1].}.bind
29c20 20 54 65 78 74 20 3c 53 68 69 66 74 2d 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b .Text.<Shift-Down>.{.....tkTextK
29c40 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 55 70 44 6f 77 6e 4c 69 6e 65 20 25 57 eySelect.%W.[tkTextUpDownLine.%W
29c60 20 31 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b .1].}.bind.Text.<Control-Left>.{
29c80 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 50 .....tkTextSetCursor.%W.[tkTextP
29ca0 72 65 76 50 6f 73 20 25 57 20 69 6e 73 65 72 74 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 revPos.%W.insert.tcl_startOfPrev
29cc0 69 6f 75 73 57 6f 72 64 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 52 iousWord].}.bind.Text.<Control-R
29ce0 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b ight>.{.....tkTextSetCursor.%W.[
29d00 74 6b 54 65 78 74 4e 65 78 74 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 tkTextNextWord.%W.insert].}.bind
29d20 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 .Text.<Control-Up>.{.....tkTextS
29d40 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 50 61 72 61 20 25 57 20 69 etCursor.%W.[tkTextPrevPara.%W.i
29d60 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 44 6f 77 6e nsert].}.bind.Text.<Control-Down
29d80 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 >.{.....tkTextSetCursor.%W.[tkTe
29da0 78 74 4e 65 78 74 50 61 72 61 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 xtNextPara.%W.insert].}.bind.Tex
29dc0 74 20 3c 53 68 69 66 74 2d 43 6f 6e 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 54 t.<Shift-Control-Left>.{.....tkT
29de0 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 25 extKeySelect.%W.[tkTextPrevPos.%
29e00 57 20 69 6e 73 65 72 74 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 W.insert.tcl_startOfPreviousWord
29e20 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 43 6f 6e 74 72 6f 6c 2d 52 69 67 ].}.bind.Text.<Shift-Control-Rig
29e40 68 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b ht>.{.....tkTextKeySelect.%W.[tk
29e60 54 65 78 74 4e 65 78 74 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 TextNextWord.%W.insert].}.bind.T
29e80 65 78 74 20 3c 53 68 69 66 74 2d 43 6f 6e 74 72 6f 6c 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 54 ext.<Shift-Control-Up>.{.....tkT
29ea0 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 50 61 72 61 20 extKeySelect.%W.[tkTextPrevPara.
29ec0 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 43 6f %W.insert].}.bind.Text.<Shift-Co
29ee0 6e 74 72 6f 6c 2d 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 ntrol-Down>.{.....tkTextKeySelec
29f00 74 20 25 57 20 5b 74 6b 54 65 78 74 4e 65 78 74 50 61 72 61 20 25 57 20 69 6e 73 65 72 74 5d 0d t.%W.[tkTextNextPara.%W.insert].
29f20 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 50 72 69 6f 72 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 }.bind.Text.<Prior>.{.....tkText
29f40 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 53 63 72 6f 6c 6c 50 61 67 65 73 20 SetCursor.%W.[tkTextScrollPages.
29f60 25 57 20 2d 31 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 50 72 69 6f 72 3e %W.-1].}.bind.Text.<Shift-Prior>
29f80 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 .{.....tkTextKeySelect.%W.[tkTex
29fa0 74 53 63 72 6f 6c 6c 50 61 67 65 73 20 25 57 20 2d 31 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 tScrollPages.%W.-1].}.bind.Text.
29fc0 3c 4e 65 78 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 <Next>.{.....tkTextSetCursor.%W.
29fe0 5b 74 6b 54 65 78 74 53 63 72 6f 6c 6c 50 61 67 65 73 20 25 57 20 31 5d 0d 7d 0d 62 69 6e 64 20 [tkTextScrollPages.%W.1].}.bind.
2a000 54 65 78 74 20 3c 53 68 69 66 74 2d 4e 65 78 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 Text.<Shift-Next>.{.....tkTextKe
2a020 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 53 63 72 6f 6c 6c 50 61 67 65 73 20 25 57 ySelect.%W.[tkTextScrollPages.%W
2a040 20 31 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 50 72 69 6f 72 3e 20 .1].}.bind.Text.<Control-Prior>.
2a060 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 2d 31 20 70 61 67 65 0d 7d 0d {.....%W.xview.scroll.-1.page.}.
2a080 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 4e 65 78 74 3e 20 7b 0d 20 20 20 20 25 bind.Text.<Control-Next>.{.....%
2a0a0 57 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 31 20 70 61 67 65 0d 7d 0d 0d 62 69 6e 64 20 54 65 W.xview.scroll.1.page.}..bind.Te
2a0c0 78 74 20 3c 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 xt.<Home>.{.....tkTextSetCursor.
2a0e0 25 57 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 73 74 61 72 74 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 %W.{insert.linestart}.}.bind.Tex
2a100 74 20 3c 53 68 69 66 74 2d 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 t.<Shift-Home>.{.....tkTextKeySe
2a120 6c 65 63 74 20 25 57 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 73 74 61 72 74 7d 0d 7d 0d 62 69 6e lect.%W.{insert.linestart}.}.bin
2a140 64 20 54 65 78 74 20 3c 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 d.Text.<End>.{.....tkTextSetCurs
2a160 6f 72 20 25 57 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 65 6e 64 7d 0d 7d 0d 62 69 6e 64 20 54 65 or.%W.{insert.lineend}.}.bind.Te
2a180 78 74 20 3c 53 68 69 66 74 2d 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 xt.<Shift-End>.{.....tkTextKeySe
2a1a0 6c 65 63 74 20 25 57 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 65 6e 64 7d 0d 7d 0d 62 69 6e 64 20 lect.%W.{insert.lineend}.}.bind.
2a1c0 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 Text.<Control-Home>.{.....tkText
2a1e0 53 65 74 43 75 72 73 6f 72 20 25 57 20 31 2e 30 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f SetCursor.%W.1.0.}.bind.Text.<Co
2a200 6e 74 72 6f 6c 2d 53 68 69 66 74 2d 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 ntrol-Shift-Home>.{.....tkTextKe
2a220 79 53 65 6c 65 63 74 20 25 57 20 31 2e 30 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 ySelect.%W.1.0.}.bind.Text.<Cont
2a240 72 6f 6c 2d 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 rol-End>.{.....tkTextSetCursor.%
2a260 57 20 7b 65 6e 64 20 2d 20 31 20 63 68 61 72 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f W.{end.-.1.char}.}.bind.Text.<Co
2a280 6e 74 72 6f 6c 2d 53 68 69 66 74 2d 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 ntrol-Shift-End>.{.....tkTextKey
2a2a0 53 65 6c 65 63 74 20 25 57 20 7b 65 6e 64 20 2d 20 31 20 63 68 61 72 7d 0d 7d 0d 0d 62 69 6e 64 Select.%W.{end.-.1.char}.}..bind
2a2c0 20 54 65 78 74 20 3c 54 61 62 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 49 6e 73 65 72 74 20 25 .Text.<Tab>.{.....tkTextInsert.%
2a2e0 57 20 5c 74 0d 20 20 20 20 66 6f 63 75 73 20 25 57 0d 20 20 20 20 62 72 65 61 6b 0d 7d 0d 62 69 W.\t.....focus.%W.....break.}.bi
2a300 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 54 61 62 3e 20 7b 0d 20 20 20 20 23 20 4e 65 65 64 nd.Text.<Shift-Tab>.{.....#.Need
2a320 65 64 20 6f 6e 6c 79 20 74 6f 20 6b 65 65 70 20 3c 54 61 62 3e 20 62 69 6e 64 69 6e 67 20 66 72 ed.only.to.keep.<Tab>.binding.fr
2a340 6f 6d 20 74 72 69 67 67 65 72 69 6e 67 3b 20 20 64 6f 65 73 6e 27 74 0d 20 20 20 20 23 20 68 61 om.triggering;..doesn't.....#.ha
2a360 76 65 20 74 6f 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 61 6e 79 74 68 69 6e 67 2e 0d 20 20 20 20 ve.to.actually.do.anything......
2a380 62 72 65 61 6b 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 54 61 62 3e 20 break.}.bind.Text.<Control-Tab>.
2a3a0 7b 0d 20 20 20 20 66 6f 63 75 73 20 5b 74 6b 5f 66 6f 63 75 73 4e 65 78 74 20 25 57 5d 0d 7d 0d {.....focus.[tk_focusNext.%W].}.
2a3c0 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 53 68 69 66 74 2d 54 61 62 3e 20 7b 0d bind.Text.<Control-Shift-Tab>.{.
2a3e0 20 20 20 20 66 6f 63 75 73 20 5b 74 6b 5f 66 6f 63 75 73 50 72 65 76 20 25 57 5d 0d 7d 0d 62 69 ....focus.[tk_focusPrev.%W].}.bi
2a400 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 69 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 nd.Text.<Control-i>.{.....tkText
2a420 49 6e 73 65 72 74 20 25 57 20 5c 74 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 52 65 74 75 72 6e Insert.%W.\t.}.bind.Text.<Return
2a440 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 49 6e 73 65 72 74 20 25 57 20 5c 6e 0d 7d 0d 62 69 6e >.{.....tkTextInsert.%W.\n.}.bin
2a460 64 20 54 65 78 74 20 3c 44 65 6c 65 74 65 3e 20 7b 0d 20 20 20 20 69 66 20 7b 5b 25 57 20 74 61 d.Text.<Delete>.{.....if.{[%W.ta
2a480 67 20 6e 65 78 74 72 61 6e 67 65 20 73 65 6c 20 31 2e 30 20 65 6e 64 5d 20 21 3d 20 22 22 7d 20 g.nextrange.sel.1.0.end].!=.""}.
2a4a0 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d {..%W.delete.sel.first.sel.last.
2a4c0 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 0d 09 ....}.else.{..%W.delete.insert..
2a4e0 25 57 20 73 65 65 20 69 6e 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 %W.see.insert.....}.}.bind.Text.
2a500 3c 42 61 63 6b 53 70 61 63 65 3e 20 7b 0d 20 20 20 20 69 66 20 7b 5b 25 57 20 74 61 67 20 6e 65 <BackSpace>.{.....if.{[%W.tag.ne
2a520 78 74 72 61 6e 67 65 20 73 65 6c 20 31 2e 30 20 65 6e 64 5d 20 21 3d 20 22 22 7d 20 7b 0d 09 25 xtrange.sel.1.0.end].!=.""}.{..%
2a540 57 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 20 20 20 20 W.delete.sel.first.sel.last.....
2a560 7d 20 65 6c 73 65 69 66 20 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 21 3d 20 31 }.elseif.[%W.compare.insert.!=.1
2a580 2e 30 5d 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 2d 31 63 0d 09 25 57 20 73 .0].{..%W.delete.insert-1c..%W.s
2a5a0 65 65 20 69 6e 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f ee.insert.....}.}..bind.Text.<Co
2a5c0 6e 74 72 6f 6c 2d 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 25 57 20 6d 61 72 6b 20 73 65 74 20 61 ntrol-space>.{.....%W.mark.set.a
2a5e0 6e 63 68 6f 72 20 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 65 6c 65 63 74 nchor.insert.}.bind.Text.<Select
2a600 3e 20 7b 0d 20 20 20 20 25 57 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 69 6e 73 65 72 >.{.....%W.mark.set.anchor.inser
2a620 74 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 53 68 69 66 74 2d 73 70 61 t.}.bind.Text.<Control-Shift-spa
2a640 63 65 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 ce>.{.....set.tkPriv(selectMode)
2a660 20 63 68 61 72 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 45 78 74 65 6e 64 20 25 57 20 69 6e 73 .char.....tkTextKeyExtend.%W.ins
2a680 65 72 74 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 53 65 6c 65 63 74 3e 20 7b ert.}.bind.Text.<Shift-Select>.{
2a6a0 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 63 68 61 72 .....set.tkPriv(selectMode).char
2a6c0 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 45 78 74 65 6e 64 20 25 57 20 69 6e 73 65 72 74 0d 7d .....tkTextKeyExtend.%W.insert.}
2a6e0 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 73 6c 61 73 68 3e 20 7b 0d 20 20 20 .bind.Text.<Control-slash>.{....
2a700 20 25 57 20 74 61 67 20 61 64 64 20 73 65 6c 20 31 2e 30 20 65 6e 64 0d 7d 0d 62 69 6e 64 20 54 .%W.tag.add.sel.1.0.end.}.bind.T
2a720 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 62 61 63 6b 73 6c 61 73 68 3e 20 7b 0d 20 20 20 20 25 57 ext.<Control-backslash>.{.....%W
2a740 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 31 2e 30 20 65 6e 64 0d 7d 0d 62 69 6e 64 20 54 .tag.remove.sel.1.0.end.}.bind.T
2a760 65 78 74 20 3c 3c 43 75 74 3e 3e 20 7b 0d 20 20 20 20 74 6b 5f 74 65 78 74 43 75 74 20 25 57 0d ext.<<Cut>>.{.....tk_textCut.%W.
2a780 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 3c 43 6f 70 79 3e 3e 20 7b 0d 20 20 20 20 74 6b 5f 74 65 }.bind.Text.<<Copy>>.{.....tk_te
2a7a0 78 74 43 6f 70 79 20 25 57 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 3c 50 61 73 74 65 3e 3e 20 xtCopy.%W.}.bind.Text.<<Paste>>.
2a7c0 7b 0d 20 20 20 20 74 6b 5f 74 65 78 74 50 61 73 74 65 20 25 57 0d 7d 0d 62 69 6e 64 20 54 65 78 {.....tk_textPaste.%W.}.bind.Tex
2a7e0 74 20 3c 3c 43 6c 65 61 72 3e 3e 20 7b 0d 20 20 20 20 63 61 74 63 68 20 7b 25 57 20 64 65 6c 65 t.<<Clear>>.{.....catch.{%W.dele
2a800 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 7d 0d 7d 0d 62 69 6e 64 20 54 65 te.sel.first.sel.last}.}.bind.Te
2a820 78 74 20 3c 49 6e 73 65 72 74 3e 20 7b 0d 20 20 20 20 63 61 74 63 68 20 7b 74 6b 54 65 78 74 49 xt.<Insert>.{.....catch.{tkTextI
2a840 6e 73 65 72 74 20 25 57 20 5b 73 65 6c 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 nsert.%W.[selection.get.-display
2a860 6f 66 20 25 57 5d 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4b 65 79 50 72 65 73 73 3e 20 7b of.%W]}.}.bind.Text.<KeyPress>.{
2a880 0d 20 20 20 20 74 6b 54 65 78 74 49 6e 73 65 72 74 20 25 57 20 25 41 0d 7d 0d 0d 23 20 49 67 6e .....tkTextInsert.%W.%A.}..#.Ign
2a8a0 6f 72 65 20 61 6c 6c 20 41 6c 74 2c 20 4d 65 74 61 2c 20 61 6e 64 20 43 6f 6e 74 72 6f 6c 20 6b ore.all.Alt,.Meta,.and.Control.k
2a8c0 65 79 70 72 65 73 73 65 73 20 75 6e 6c 65 73 73 20 65 78 70 6c 69 63 69 74 6c 79 20 62 6f 75 6e eypresses.unless.explicitly.boun
2a8e0 64 2e 0d 23 20 4f 74 68 65 72 77 69 73 65 2c 20 69 66 20 61 20 77 69 64 67 65 74 20 62 69 6e 64 d..#.Otherwise,.if.a.widget.bind
2a900 69 6e 67 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 69 73 20 64 65 66 69 6e 65 64 2c ing.for.one.of.these.is.defined,
2a920 20 74 68 65 0d 23 20 3c 4b 65 79 50 72 65 73 73 3e 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 20 .the.#.<KeyPress>.class.binding.
2a940 77 69 6c 6c 20 61 6c 73 6f 20 66 69 72 65 20 61 6e 64 20 69 6e 73 65 72 74 20 74 68 65 20 63 68 will.also.fire.and.insert.the.ch
2a960 61 72 61 63 74 65 72 2c 0d 23 20 77 68 69 63 68 20 69 73 20 77 72 6f 6e 67 2e 20 20 44 69 74 74 aracter,.#.which.is.wrong...Ditt
2a980 6f 20 66 6f 72 20 3c 45 73 63 61 70 65 3e 2e 0d 0d 62 69 6e 64 20 54 65 78 74 20 3c 41 6c 74 2d o.for.<Escape>...bind.Text.<Alt-
2a9a0 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 20 7d 0d 62 69 6e 64 20 54 65 78 74 KeyPress>.{#.nothing.}.bind.Text
2a9c0 20 3c 4d 65 74 61 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 69 6e .<Meta-KeyPress>.{#.nothing}.bin
2a9e0 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 d.Text.<Control-KeyPress>.{#.not
2aa00 68 69 6e 67 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 45 73 63 61 70 65 3e 20 7b 23 20 6e 6f 74 68 hing}.bind.Text.<Escape>.{#.noth
2aa20 69 6e 67 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4b 50 5f 45 6e 74 65 72 3e 20 7b 23 20 6e 6f 74 ing}.bind.Text.<KP_Enter>.{#.not
2aa40 68 69 6e 67 7d 0d 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d hing}.if.{$tcl_platform(platform
2aa60 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 62 69 6e 64 20 54 65 78 74 20 3c ).==."macintosh"}.{..bind.Text.<
2aa80 43 6f 6d 6d 61 6e 64 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 7d 0d Command-KeyPress>.{#.nothing}.}.
2aaa0 0d 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 65 6d 61 63 73 2d 6c 69 6b 65 20 62 69 6e 64 69 6e 67 .#.Additional.emacs-like.binding
2aac0 73 3a 0d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 61 3e 20 7b 0d 20 20 20 20 s:..bind.Text.<Control-a>.{.....
2aae0 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 if.!$tk_strictMotif.{..tkTextSet
2ab00 43 75 72 73 6f 72 20 25 57 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 73 74 61 72 74 7d 0d 20 20 20 Cursor.%W.{insert.linestart}....
2ab20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 62 3e 20 7b 0d 20 20 20 .}.}.bind.Text.<Control-b>.{....
2ab40 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 54 65 78 74 53 65 .if.!$tk_strictMotif.{..tkTextSe
2ab60 74 43 75 72 73 6f 72 20 25 57 20 69 6e 73 65 72 74 2d 31 63 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e tCursor.%W.insert-1c.....}.}.bin
2ab80 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 64 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b d.Text.<Control-d>.{.....if.!$tk
2aba0 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 _strictMotif.{..%W.delete.insert
2abc0 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 65 3e 20 7b .....}.}.bind.Text.<Control-e>.{
2abe0 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 54 65 .....if.!$tk_strictMotif.{..tkTe
2ac00 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 65 6e 64 7d 0d xtSetCursor.%W.{insert.lineend}.
2ac20 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 66 3e 20 7b 0d ....}.}.bind.Text.<Control-f>.{.
2ac40 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 54 65 78 ....if.!$tk_strictMotif.{..tkTex
2ac60 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 69 6e 73 65 72 74 2b 31 63 0d 20 20 20 20 7d 0d 7d 0d tSetCursor.%W.insert+1c.....}.}.
2ac80 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 6b 3e 20 7b 0d 20 20 20 20 69 66 20 21 bind.Text.<Control-k>.{.....if.!
2aca0 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 69 66 20 5b 25 57 20 63 6f 6d 70 61 72 $tk_strictMotif.{..if.[%W.compar
2acc0 65 20 69 6e 73 65 72 74 20 3d 3d 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 65 6e 64 7d 5d 20 7b 0d e.insert.==.{insert.lineend}].{.
2ace0 09 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 0d 09 7d 20 65 6c 73 65 20 7b 0d .....%W.delete.insert..}.else.{.
2ad00 09 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 20 7b 69 6e 73 65 72 74 20 6c 69 .....%W.delete.insert.{insert.li
2ad20 6e 65 65 6e 64 7d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e neend}..}.....}.}.bind.Text.<Con
2ad40 74 72 6f 6c 2d 6e 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 trol-n>.{.....if.!$tk_strictMoti
2ad60 66 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 55 f.{..tkTextSetCursor.%W.[tkTextU
2ad80 70 44 6f 77 6e 4c 69 6e 65 20 25 57 20 31 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 pDownLine.%W.1].....}.}.bind.Tex
2ada0 74 20 3c 43 6f 6e 74 72 6f 6c 2d 6f 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 t.<Control-o>.{.....if.!$tk_stri
2adc0 63 74 4d 6f 74 69 66 20 7b 0d 09 25 57 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 20 5c 6e 0d 09 ctMotif.{..%W.insert.insert.\n..
2ade0 25 57 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 2d 31 63 0d 20 20 20 %W.mark.set.insert.insert-1c....
2ae00 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 70 3e 20 7b 0d 20 20 20 .}.}.bind.Text.<Control-p>.{....
2ae20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 54 65 78 74 53 65 .if.!$tk_strictMotif.{..tkTextSe
2ae40 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 55 70 44 6f 77 6e 4c 69 6e 65 20 25 57 20 tCursor.%W.[tkTextUpDownLine.%W.
2ae60 2d 31 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 74 -1].....}.}.bind.Text.<Control-t
2ae80 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 >.{.....if.!$tk_strictMotif.{..t
2aea0 6b 54 65 78 74 54 72 61 6e 73 70 6f 73 65 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 0d 69 66 20 7b 24 kTextTranspose.%W.....}.}..if.{$
2aec0 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 21 3d 20 22 77 69 6e 64 6f tcl_platform(platform).!=."windo
2aee0 77 73 22 7d 20 7b 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 76 3e 20 7b 0d 20 ws"}.{.bind.Text.<Control-v>.{..
2af00 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 54 65 78 74 ...if.!$tk_strictMotif.{..tkText
2af20 53 63 72 6f 6c 6c 50 61 67 65 73 20 25 57 20 31 0d 20 20 20 20 7d 0d 7d 0d 7d 0d 0d 62 69 6e 64 ScrollPages.%W.1.....}.}.}..bind
2af40 20 54 65 78 74 20 3c 4d 65 74 61 2d 62 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 .Text.<Meta-b>.{.....if.!$tk_str
2af60 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b ictMotif.{..tkTextSetCursor.%W.[
2af80 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 25 57 20 69 6e 73 65 72 74 20 74 63 6c 5f 73 74 61 72 tkTextPrevPos.%W.insert.tcl_star
2afa0 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 tOfPreviousWord].....}.}.bind.Te
2afc0 78 74 20 3c 4d 65 74 61 2d 64 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 xt.<Meta-d>.{.....if.!$tk_strict
2afe0 4d 6f 74 69 66 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 20 5b 74 6b 54 65 78 Motif.{..%W.delete.insert.[tkTex
2b000 74 4e 65 78 74 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e tNextWord.%W.insert].....}.}.bin
2b020 64 20 54 65 78 74 20 3c 4d 65 74 61 2d 66 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 d.Text.<Meta-f>.{.....if.!$tk_st
2b040 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 rictMotif.{..tkTextSetCursor.%W.
2b060 5b 74 6b 54 65 78 74 4e 65 78 74 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 7d [tkTextNextWord.%W.insert].....}
2b080 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4d 65 74 61 2d 6c 65 73 73 3e 20 7b 0d 20 20 20 20 69 .}.bind.Text.<Meta-less>.{.....i
2b0a0 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 43 f.!$tk_strictMotif.{..tkTextSetC
2b0c0 75 72 73 6f 72 20 25 57 20 31 2e 30 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c ursor.%W.1.0.....}.}.bind.Text.<
2b0e0 4d 65 74 61 2d 67 72 65 61 74 65 72 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 Meta-greater>.{.....if.!$tk_stri
2b100 63 74 4d 6f 74 69 66 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 65 6e ctMotif.{..tkTextSetCursor.%W.en
2b120 64 2d 31 63 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4d 65 74 61 2d 42 61 63 d-1c.....}.}.bind.Text.<Meta-Bac
2b140 6b 53 70 61 63 65 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 kSpace>.{.....if.!$tk_strictMoti
2b160 66 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 25 57 f.{..%W.delete.[tkTextPrevPos.%W
2b180 20 69 6e 73 65 72 74 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 5d .insert.tcl_startOfPreviousWord]
2b1a0 20 69 6e 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4d 65 74 61 2d .insert.....}.}.bind.Text.<Meta-
2b1c0 44 65 6c 65 74 65 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 Delete>.{.....if.!$tk_strictMoti
2b1e0 66 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 25 57 f.{..%W.delete.[tkTextPrevPos.%W
2b200 20 69 6e 73 65 72 74 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 5d .insert.tcl_startOfPreviousWord]
2b220 20 69 6e 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 4d 61 63 69 6e 74 6f 73 68 20 6f 6e 6c .insert.....}.}..#.Macintosh.onl
2b240 79 20 62 69 6e 64 69 6e 67 73 3a 0d 0d 23 20 69 66 20 74 65 78 74 20 62 6c 61 63 6b 20 26 20 68 y.bindings:..#.if.text.black.&.h
2b260 69 67 68 6c 69 67 68 74 20 62 6c 61 63 6b 20 2d 3e 20 74 65 78 74 20 77 68 69 74 65 2c 20 6f 74 ighlight.black.->.text.white,.ot
2b280 68 65 72 20 74 65 78 74 20 74 68 65 20 73 61 6d 65 0d 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 her.text.the.same.if.{$tcl_platf
2b2a0 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d orm(platform).==."macintosh"}.{.
2b2c0 62 69 6e 64 20 54 65 78 74 20 3c 46 6f 63 75 73 49 6e 3e 20 7b 0d 20 20 20 20 25 57 20 74 61 67 bind.Text.<FocusIn>.{.....%W.tag
2b2e0 20 63 6f 6e 66 69 67 75 72 65 20 73 65 6c 20 2d 62 6f 72 64 65 72 77 69 64 74 68 20 30 0d 20 20 .configure.sel.-borderwidth.0...
2b300 20 20 25 57 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 65 6c 65 63 74 62 61 63 6b 67 72 6f 75 6e 64 ..%W.configure.-selectbackground
2b320 20 73 79 73 74 65 6d 48 69 67 68 6c 69 67 68 74 20 2d 73 65 6c 65 63 74 66 6f 72 65 67 72 6f 75 .systemHighlight.-selectforegrou
2b340 6e 64 20 73 79 73 74 65 6d 48 69 67 68 6c 69 67 68 74 54 65 78 74 0d 7d 0d 62 69 6e 64 20 54 65 nd.systemHighlightText.}.bind.Te
2b360 78 74 20 3c 46 6f 63 75 73 4f 75 74 3e 20 7b 0d 20 20 20 20 25 57 20 74 61 67 20 63 6f 6e 66 69 xt.<FocusOut>.{.....%W.tag.confi
2b380 67 75 72 65 20 73 65 6c 20 2d 62 6f 72 64 65 72 77 69 64 74 68 20 31 0d 20 20 20 20 25 57 20 63 gure.sel.-borderwidth.1.....%W.c
2b3a0 6f 6e 66 69 67 75 72 65 20 2d 73 65 6c 65 63 74 62 61 63 6b 67 72 6f 75 6e 64 20 77 68 69 74 65 onfigure.-selectbackground.white
2b3c0 20 2d 73 65 6c 65 63 74 66 6f 72 65 67 72 6f 75 6e 64 20 62 6c 61 63 6b 0d 7d 0d 62 69 6e 64 20 .-selectforeground.black.}.bind.
2b3e0 54 65 78 74 20 3c 4f 70 74 69 6f 6e 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 Text.<Option-Left>.{.....tkTextS
2b400 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 25 57 20 69 6e etCursor.%W.[tkTextPrevPos.%W.in
2b420 73 65 72 74 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 5d 0d 7d 0d sert.tcl_startOfPreviousWord].}.
2b440 62 69 6e 64 20 54 65 78 74 20 3c 4f 70 74 69 6f 6e 2d 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 bind.Text.<Option-Right>.{.....t
2b460 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 4e 65 78 74 57 6f 72 kTextSetCursor.%W.[tkTextNextWor
2b480 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4f 70 74 69 6f 6e d.%W.insert].}.bind.Text.<Option
2b4a0 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 -Up>.{.....tkTextSetCursor.%W.[t
2b4c0 6b 54 65 78 74 50 72 65 76 50 61 72 61 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 kTextPrevPara.%W.insert].}.bind.
2b4e0 54 65 78 74 20 3c 4f 70 74 69 6f 6e 2d 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 Text.<Option-Down>.{.....tkTextS
2b500 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 4e 65 78 74 50 61 72 61 20 25 57 20 69 etCursor.%W.[tkTextNextPara.%W.i
2b520 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 4f 70 74 69 6f 6e nsert].}.bind.Text.<Shift-Option
2b540 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 -Left>.{.....tkTextKeySelect.%W.
2b560 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 25 57 20 69 6e 73 65 72 74 20 74 63 6c 5f 73 74 61 [tkTextPrevPos.%W.insert.tcl_sta
2b580 72 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 rtOfPreviousWord].}.bind.Text.<S
2b5a0 68 69 66 74 2d 4f 70 74 69 6f 6e 2d 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b hift-Option-Right>.{.....tkTextK
2b5c0 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 4e 65 78 74 57 6f 72 64 20 25 57 20 69 eySelect.%W.[tkTextNextWord.%W.i
2b5e0 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 4f 70 74 69 6f 6e nsert].}.bind.Text.<Shift-Option
2b600 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 -Up>.{.....tkTextKeySelect.%W.[t
2b620 6b 54 65 78 74 50 72 65 76 50 61 72 61 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 kTextPrevPara.%W.insert].}.bind.
2b640 54 65 78 74 20 3c 53 68 69 66 74 2d 4f 70 74 69 6f 6e 2d 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 Text.<Shift-Option-Down>.{.....t
2b660 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 4e 65 78 74 50 61 72 kTextKeySelect.%W.[tkTextNextPar
2b680 61 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 0d 23 20 45 6e 64 20 6f 66 20 4d 61 63 20 6f 6e 6c a.%W.insert].}..#.End.of.Mac.onl
2b6a0 79 20 62 69 6e 64 69 6e 67 73 0d 7d 0d 0d 23 20 41 20 66 65 77 20 61 64 64 69 74 69 6f 6e 61 6c y.bindings.}..#.A.few.additional
2b6c0 20 62 69 6e 64 69 6e 67 73 20 6f 66 20 6d 79 20 6f 77 6e 2e 0d 0d 62 69 6e 64 20 54 65 78 74 20 .bindings.of.my.own...bind.Text.
2b6e0 3c 43 6f 6e 74 72 6f 6c 2d 68 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 <Control-h>.{.....if.!$tk_strict
2b700 4d 6f 74 69 66 20 7b 0d 09 69 66 20 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 21 Motif.{..if.[%W.compare.insert.!
2b720 3d 20 31 2e 30 5d 20 7b 0d 09 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 2d 31 =.1.0].{......%W.delete.insert-1
2b740 63 0d 09 20 20 20 20 25 57 20 73 65 65 20 69 6e 73 65 72 74 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d c......%W.see.insert..}.....}.}.
2b760 62 69 6e 64 20 54 65 78 74 20 3c 32 3e 20 7b 0d 20 20 20 20 69 66 20 21 24 74 6b 5f 73 74 72 69 bind.Text.<2>.{.....if.!$tk_stri
2b780 63 74 4d 6f 74 69 66 20 7b 0d 09 25 57 20 73 63 61 6e 20 6d 61 72 6b 20 25 78 20 25 79 0d 09 73 ctMotif.{..%W.scan.mark.%x.%y..s
2b7a0 65 74 20 74 6b 50 72 69 76 28 78 29 20 25 78 0d 09 73 65 74 20 74 6b 50 72 69 76 28 79 29 20 25 et.tkPriv(x).%x..set.tkPriv(y).%
2b7c0 79 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 30 0d 20 20 20 20 y..set.tkPriv(mouseMoved).0.....
2b7e0 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 42 32 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 }.}.bind.Text.<B2-Motion>.{.....
2b800 69 66 20 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 7b 0d 09 69 66 20 7b 28 25 78 20 21 if.!$tk_strictMotif.{..if.{(%x.!
2b820 3d 20 24 74 6b 50 72 69 76 28 78 29 29 20 7c 7c 20 28 25 79 20 21 3d 20 24 74 6b 50 72 69 76 28 =.$tkPriv(x)).||.(%y.!=.$tkPriv(
2b840 79 29 29 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 y))}.{......set.tkPriv(mouseMove
2b860 64 29 20 31 0d 09 7d 0d 09 69 66 20 24 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 d).1..}..if.$tkPriv(mouseMoved).
2b880 7b 0d 09 20 20 20 20 25 57 20 73 63 61 6e 20 64 72 61 67 74 6f 20 25 78 20 25 79 0d 09 7d 0d 20 {......%W.scan.dragto.%x.%y..}..
2b8a0 20 20 20 7d 0d 7d 0d 73 65 74 20 74 6b 50 72 69 76 28 70 72 65 76 50 6f 73 29 20 7b 7d 0d 0d 23 ...}.}.set.tkPriv(prevPos).{}..#
2b8c0 20 74 6b 54 65 78 74 43 6c 6f 73 65 73 74 47 61 70 20 2d 2d 0d 23 20 47 69 76 65 6e 20 78 20 61 .tkTextClosestGap.--.#.Given.x.a
2b8e0 6e 64 20 79 20 63 6f 6f 72 64 69 6e 61 74 65 73 2c 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 nd.y.coordinates,.this.procedure
2b900 20 66 69 6e 64 73 20 74 68 65 20 63 6c 6f 73 65 73 74 20 62 6f 75 6e 64 61 72 79 0d 23 20 62 65 .finds.the.closest.boundary.#.be
2b920 74 77 65 65 6e 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 63 6f tween.characters.to.the.given.co
2b940 6f 72 64 69 6e 61 74 65 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 0d ordinates.and.returns.the.index.
2b960 23 20 6f 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 6a 75 73 74 20 61 66 74 65 72 20 74 68 #.of.the.character.just.after.th
2b980 65 20 62 6f 75 6e 64 61 72 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d e.boundary..#.#.Arguments:.#.w.-
2b9a0 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 2e 0d 23 20 78 20 2d 09 09 58 2d 63 6f 6f 72 ..The.text.window..#.x.-..X-coor
2b9c0 64 69 6e 61 74 65 20 77 69 74 68 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 2e 0d 23 20 79 20 2d 09 dinate.within.the.window..#.y.-.
2b9e0 09 59 2d 63 6f 6f 72 64 69 6e 61 74 65 20 77 69 74 68 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 2e .Y-coordinate.within.the.window.
2ba00 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 43 6c 6f 73 65 73 74 47 61 70 20 7b 77 20 78 20 79 7d 20 ..proc.tkTextClosestGap.{w.x.y}.
2ba20 7b 0d 20 20 20 20 73 65 74 20 70 6f 73 20 5b 24 77 20 69 6e 64 65 78 20 40 24 78 2c 24 79 5d 0d {.....set.pos.[$w.index.@$x,$y].
2ba40 20 20 20 20 73 65 74 20 62 62 6f 78 20 5b 24 77 20 62 62 6f 78 20 24 70 6f 73 5d 0d 20 20 20 20 ....set.bbox.[$w.bbox.$pos].....
2ba60 69 66 20 21 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 62 62 6f 78 20 22 22 5d 20 7b 0d if.![string.compare.$bbox.""].{.
2ba80 09 72 65 74 75 72 6e 20 24 70 6f 73 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 28 24 78 20 2d .return.$pos.....}.....if.{($x.-
2baa0 20 5b 6c 69 6e 64 65 78 20 24 62 62 6f 78 20 30 5d 29 20 3c 20 28 5b 6c 69 6e 64 65 78 20 24 62 .[lindex.$bbox.0]).<.([lindex.$b
2bac0 62 6f 78 20 32 5d 2f 32 29 7d 20 7b 0d 09 72 65 74 75 72 6e 20 24 70 6f 73 0d 20 20 20 20 7d 0d box.2]/2)}.{..return.$pos.....}.
2bae0 20 20 20 20 24 77 20 69 6e 64 65 78 20 22 24 70 6f 73 20 2b 20 31 20 63 68 61 72 22 0d 7d 0d 0d ....$w.index."$pos.+.1.char".}..
2bb00 23 20 74 6b 54 65 78 74 42 75 74 74 6f 6e 31 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 #.tkTextButton1.--.#.This.proced
2bb20 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 68 61 6e 64 6c 65 20 62 75 74 74 6f 6e 2d ure.is.invoked.to.handle.button-
2bb40 31 20 70 72 65 73 73 65 73 20 69 6e 20 74 65 78 74 0d 23 20 77 69 64 67 65 74 73 2e 20 20 49 74 1.presses.in.text.#.widgets...It
2bb60 20 6d 6f 76 65 73 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2c 20 73 65 74 .moves.the.insertion.cursor,.set
2bb80 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e 63 68 6f 72 2c 0d 23 20 61 6e 64 20 63 6c s.the.selection.anchor,.#.and.cl
2bba0 61 69 6d 73 20 74 68 65 20 69 6e 70 75 74 20 66 6f 63 75 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 aims.the.input.focus..#.#.Argume
2bbc0 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 nts:.#.w.-..The.text.window.in.w
2bbe0 68 69 63 68 20 74 68 65 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 65 73 73 65 64 2e 0d 23 20 78 hich.the.button.was.pressed..#.x
2bc00 20 2d 09 09 54 68 65 20 78 2d 63 6f 6f 72 64 69 6e 61 74 65 20 6f 66 20 74 68 65 20 62 75 74 74 .-..The.x-coordinate.of.the.butt
2bc20 6f 6e 20 70 72 65 73 73 2e 0d 23 20 79 20 2d 09 09 54 68 65 20 78 2d 63 6f 6f 72 64 69 6e 61 74 on.press..#.y.-..The.x-coordinat
2bc40 65 20 6f 66 20 74 68 65 20 62 75 74 74 6f 6e 20 70 72 65 73 73 2e 0d 0d 70 72 6f 63 20 74 6b 54 e.of.the.button.press...proc.tkT
2bc60 65 78 74 42 75 74 74 6f 6e 31 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 extButton1.{w.x.y}.{.....global.
2bc80 74 6b 50 72 69 76 0d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 tkPriv......set.tkPriv(selectMod
2bca0 65 29 20 63 68 61 72 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 e).char.....set.tkPriv(mouseMove
2bcc0 64 29 20 30 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 72 65 73 73 58 29 20 24 78 0d 20 d).0.....set.tkPriv(pressX).$x..
2bce0 20 20 20 24 77 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 5b 74 6b 54 65 78 74 43 6c 6f ...$w.mark.set.insert.[tkTextClo
2bd00 73 65 73 74 47 61 70 20 24 77 20 24 78 20 24 79 5d 0d 20 20 20 20 24 77 20 6d 61 72 6b 20 73 65 sestGap.$w.$x.$y].....$w.mark.se
2bd20 74 20 61 6e 63 68 6f 72 20 69 6e 73 65 72 74 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 t.anchor.insert.....if.{[$w.cget
2bd40 20 2d 73 74 61 74 65 5d 20 3d 3d 20 22 6e 6f 72 6d 61 6c 22 7d 20 7b 66 6f 63 75 73 20 24 77 7d .-state].==."normal"}.{focus.$w}
2bd60 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 53 65 6c 65 63 74 54 6f 20 2d 2d 0d 23 20 54 68 69 73 20 70 .}..#.tkTextSelectTo.--.#.This.p
2bd80 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 65 78 74 65 6e 64 20 74 68 rocedure.is.invoked.to.extend.th
2bda0 65 20 73 65 6c 65 63 74 69 6f 6e 2c 20 74 79 70 69 63 61 6c 6c 79 20 77 68 65 6e 0d 23 20 64 72 e.selection,.typically.when.#.dr
2bdc0 61 67 67 69 6e 67 20 69 74 20 77 69 74 68 20 74 68 65 20 6d 6f 75 73 65 2e 20 20 44 65 70 65 6e agging.it.with.the.mouse...Depen
2bde0 64 69 6e 67 20 6f 6e 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 6d 6f 64 65 20 28 63 68 61 72 ding.on.the.selection.mode.(char
2be00 61 63 74 65 72 2c 0d 23 20 77 6f 72 64 2c 20 6c 69 6e 65 29 20 69 74 20 73 65 6c 65 63 74 73 20 acter,.#.word,.line).it.selects.
2be20 69 6e 20 64 69 66 66 65 72 65 6e 74 2d 73 69 7a 65 64 20 75 6e 69 74 73 2e 20 20 54 68 69 73 20 in.different-sized.units...This.
2be40 70 72 6f 63 65 64 75 72 65 0d 23 20 69 67 6e 6f 72 65 73 20 6d 6f 75 73 65 20 6d 6f 74 69 6f 6e procedure.#.ignores.mouse.motion
2be60 73 20 69 6e 69 74 69 61 6c 6c 79 20 75 6e 74 69 6c 20 74 68 65 20 6d 6f 75 73 65 20 68 61 73 20 s.initially.until.the.mouse.has.
2be80 6d 6f 76 65 64 20 66 72 6f 6d 0d 23 20 6f 6e 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 61 6e moved.from.#.one.character.to.an
2bea0 6f 74 68 65 72 20 6f 72 20 75 6e 74 69 6c 20 74 68 65 72 65 20 68 61 76 65 20 62 65 65 6e 20 6d other.or.until.there.have.been.m
2bec0 75 6c 74 69 70 6c 65 20 63 6c 69 63 6b 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 ultiple.clicks..#.#.Arguments:.#
2bee0 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 .w.-..The.text.window.in.which.t
2bf00 68 65 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 65 73 73 65 64 2e 0d 23 20 78 20 2d 09 09 4d 6f he.button.was.pressed..#.x.-..Mo
2bf20 75 73 65 20 78 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 20 79 20 2d 20 09 09 4d 6f 75 73 65 20 79 20 use.x.position..#.y.-...Mouse.y.
2bf40 70 6f 73 69 74 69 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 53 65 6c 65 63 74 54 6f 20 7b position...proc.tkTextSelectTo.{
2bf60 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 20 74 63 6c 5f 70 w.x.y}.{.....global.tkPriv.tcl_p
2bf80 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 73 65 74 20 63 75 72 20 5b 74 6b 54 65 78 74 43 6c 6f 73 latform......set.cur.[tkTextClos
2bfa0 65 73 74 47 61 70 20 24 77 20 24 78 20 24 79 5d 0d 20 20 20 20 69 66 20 5b 63 61 74 63 68 20 7b estGap.$w.$x.$y].....if.[catch.{
2bfc0 24 77 20 69 6e 64 65 78 20 61 6e 63 68 6f 72 7d 5d 20 7b 0d 09 24 77 20 6d 61 72 6b 20 73 65 74 $w.index.anchor}].{..$w.mark.set
2bfe0 20 61 6e 63 68 6f 72 20 24 63 75 72 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 61 6e 63 68 6f .anchor.$cur.....}.....set.ancho
2c000 72 20 5b 24 77 20 69 6e 64 65 78 20 61 6e 63 68 6f 72 5d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 r.[$w.index.anchor].....if.{[$w.
2c020 63 6f 6d 70 61 72 65 20 24 63 75 72 20 21 3d 20 24 61 6e 63 68 6f 72 5d 20 7c 7c 20 28 61 62 73 compare.$cur.!=.$anchor].||.(abs
2c040 28 24 74 6b 50 72 69 76 28 70 72 65 73 73 58 29 20 2d 20 24 78 29 20 3e 3d 20 33 29 7d 20 7b 0d ($tkPriv(pressX).-.$x).>=.3)}.{.
2c060 09 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 31 0d 20 20 20 20 7d 0d .set.tkPriv(mouseMoved).1.....}.
2c080 20 20 20 20 73 77 69 74 63 68 20 24 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 7b ....switch.$tkPriv(selectMode).{
2c0a0 0d 09 63 68 61 72 20 7b 0d 09 20 20 20 20 69 66 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 63 75 ..char.{......if.[$w.compare.$cu
2c0c0 72 20 3c 20 61 6e 63 68 6f 72 5d 20 7b 0d 09 09 73 65 74 20 66 69 72 73 74 20 24 63 75 72 0d 09 r.<.anchor].{...set.first.$cur..
2c0e0 09 73 65 74 20 6c 61 73 74 20 61 6e 63 68 6f 72 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 .set.last.anchor......}.else.{..
2c100 09 73 65 74 20 66 69 72 73 74 20 61 6e 63 68 6f 72 0d 09 09 73 65 74 20 6c 61 73 74 20 24 63 75 .set.first.anchor...set.last.$cu
2c120 72 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 77 6f 72 64 20 7b 0d 09 20 20 20 20 69 66 20 5b 24 77 20 r......}..}..word.{......if.[$w.
2c140 63 6f 6d 70 61 72 65 20 24 63 75 72 20 3c 20 61 6e 63 68 6f 72 5d 20 7b 0d 09 09 73 65 74 20 66 compare.$cur.<.anchor].{...set.f
2c160 69 72 73 74 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 24 77 20 22 24 63 75 72 20 2b 20 31 irst.[tkTextPrevPos.$w."$cur.+.1
2c180 63 22 20 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 42 65 66 6f 72 65 5d 0d 09 09 73 65 74 20 6c 61 c".tcl_wordBreakBefore]...set.la
2c1a0 73 74 20 5b 74 6b 54 65 78 74 4e 65 78 74 50 6f 73 20 24 77 20 22 61 6e 63 68 6f 72 22 20 74 63 st.[tkTextNextPos.$w."anchor".tc
2c1c0 6c 5f 77 6f 72 64 42 72 65 61 6b 41 66 74 65 72 5d 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d l_wordBreakAfter]......}.else.{.
2c1e0 09 09 73 65 74 20 66 69 72 73 74 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 24 77 20 61 6e ..set.first.[tkTextPrevPos.$w.an
2c200 63 68 6f 72 20 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 42 65 66 6f 72 65 5d 0d 09 09 73 65 74 20 chor.tcl_wordBreakBefore]...set.
2c220 6c 61 73 74 20 5b 74 6b 54 65 78 74 4e 65 78 74 50 6f 73 20 24 77 20 22 24 63 75 72 20 2d 20 31 last.[tkTextNextPos.$w."$cur.-.1
2c240 63 22 20 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 41 66 74 65 72 5d 0d 09 20 20 20 20 7d 0d 09 7d c".tcl_wordBreakAfter]......}..}
2c260 0d 09 6c 69 6e 65 20 7b 0d 09 20 20 20 20 69 66 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 63 75 ..line.{......if.[$w.compare.$cu
2c280 72 20 3c 20 61 6e 63 68 6f 72 5d 20 7b 0d 09 09 73 65 74 20 66 69 72 73 74 20 5b 24 77 20 69 6e r.<.anchor].{...set.first.[$w.in
2c2a0 64 65 78 20 22 24 63 75 72 20 6c 69 6e 65 73 74 61 72 74 22 5d 0d 09 09 73 65 74 20 6c 61 73 74 dex."$cur.linestart"]...set.last
2c2c0 20 5b 24 77 20 69 6e 64 65 78 20 22 61 6e 63 68 6f 72 20 2d 20 31 63 20 6c 69 6e 65 65 6e 64 20 .[$w.index."anchor.-.1c.lineend.
2c2e0 2b 20 31 63 22 5d 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 66 69 72 73 74 +.1c"]......}.else.{...set.first
2c300 20 5b 24 77 20 69 6e 64 65 78 20 22 61 6e 63 68 6f 72 20 6c 69 6e 65 73 74 61 72 74 22 5d 0d 09 .[$w.index."anchor.linestart"]..
2c320 09 73 65 74 20 6c 61 73 74 20 5b 24 77 20 69 6e 64 65 78 20 22 24 63 75 72 20 6c 69 6e 65 65 6e .set.last.[$w.index."$cur.lineen
2c340 64 20 2b 20 31 63 22 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 d.+.1c"]......}..}.....}.....if.
2c360 7b 24 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 7c 7c 20 28 24 74 6b 50 72 69 76 {$tkPriv(mouseMoved).||.($tkPriv
2c380 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 21 3d 20 22 63 68 61 72 22 29 7d 20 7b 0d 09 69 66 20 7b (selectMode).!=."char")}.{..if.{
2c3a0 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 21 3d 20 22 75 6e 69 78 $tcl_platform(platform).!=."unix
2c3c0 22 20 26 26 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 63 75 72 20 3c 20 61 6e 63 68 6f 72 5d 7d ".&&.[$w.compare.$cur.<.anchor]}
2c3e0 20 7b 0d 09 20 20 20 20 24 77 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 24 66 69 72 73 .{......$w.mark.set.insert.$firs
2c400 74 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 24 77 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 t..}.else.{......$w.mark.set.ins
2c420 65 72 74 20 24 6c 61 73 74 0d 09 7d 0d 09 24 77 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 ert.$last..}..$w.tag.remove.sel.
2c440 30 2e 30 20 24 66 69 72 73 74 0d 09 24 77 20 74 61 67 20 61 64 64 20 73 65 6c 20 24 66 69 72 73 0.0.$first..$w.tag.add.sel.$firs
2c460 74 20 24 6c 61 73 74 0d 09 24 77 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 24 6c 61 73 74 t.$last..$w.tag.remove.sel.$last
2c480 20 65 6e 64 0d 09 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 20 20 20 20 7d 0d 7d 0d 0d .end..update.idletasks.....}.}..
2c4a0 23 20 74 6b 54 65 78 74 4b 65 79 45 78 74 65 6e 64 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 #.tkTextKeyExtend.--.#.This.proc
2c4c0 65 64 75 72 65 20 68 61 6e 64 6c 65 73 20 65 78 74 65 6e 64 69 6e 67 20 74 68 65 20 73 65 6c 65 edure.handles.extending.the.sele
2c4e0 63 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 6b 65 79 62 6f 61 72 64 2c 0d 23 20 77 68 65 72 65 ction.from.the.keyboard,.#.where
2c500 20 74 68 65 20 70 6f 69 6e 74 20 74 6f 20 65 78 74 65 6e 64 20 74 6f 20 69 73 20 72 65 61 6c 6c .the.point.to.extend.to.is.reall
2c520 79 20 74 68 65 20 62 6f 75 6e 64 61 72 79 20 62 65 74 77 65 65 6e 20 74 77 6f 0d 23 20 63 68 61 y.the.boundary.between.two.#.cha
2c540 72 61 63 74 65 72 73 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 20 70 61 72 74 69 63 75 6c 61 72 racters.rather.than.a.particular
2c560 20 63 68 61 72 61 63 74 65 72 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d .character..#.#.Arguments:.#.w.-
2c580 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 2e 0d 23 20 69 6e 64 65 78 20 2d 09 54 68 65 ..The.text.window..#.index.-.The
2c5a0 20 70 6f 69 6e 74 20 74 6f 20 77 68 69 63 68 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 69 73 .point.to.which.the.selection.is
2c5c0 20 74 6f 20 62 65 20 65 78 74 65 6e 64 65 64 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 4b 65 79 .to.be.extended...proc.tkTextKey
2c5e0 45 78 74 65 6e 64 20 7b 77 20 69 6e 64 65 78 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b Extend.{w.index}.{.....global.tk
2c600 50 72 69 76 0d 0d 20 20 20 20 73 65 74 20 63 75 72 20 5b 24 77 20 69 6e 64 65 78 20 24 69 6e 64 Priv......set.cur.[$w.index.$ind
2c620 65 78 5d 0d 20 20 20 20 69 66 20 5b 63 61 74 63 68 20 7b 24 77 20 69 6e 64 65 78 20 61 6e 63 68 ex].....if.[catch.{$w.index.anch
2c640 6f 72 7d 5d 20 7b 0d 09 24 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 24 63 75 72 0d or}].{..$w.mark.set.anchor.$cur.
2c660 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 61 6e 63 68 6f 72 20 5b 24 77 20 69 6e 64 65 78 20 61 ....}.....set.anchor.[$w.index.a
2c680 6e 63 68 6f 72 5d 0d 20 20 20 20 69 66 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 63 75 72 20 3c nchor].....if.[$w.compare.$cur.<
2c6a0 20 61 6e 63 68 6f 72 5d 20 7b 0d 09 73 65 74 20 66 69 72 73 74 20 24 63 75 72 0d 09 73 65 74 20 .anchor].{..set.first.$cur..set.
2c6c0 6c 61 73 74 20 61 6e 63 68 6f 72 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 66 69 last.anchor.....}.else.{..set.fi
2c6e0 72 73 74 20 61 6e 63 68 6f 72 0d 09 73 65 74 20 6c 61 73 74 20 24 63 75 72 0d 20 20 20 20 7d 0d rst.anchor..set.last.$cur.....}.
2c700 20 20 20 20 24 77 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 30 2e 30 20 24 66 69 72 73 74 ....$w.tag.remove.sel.0.0.$first
2c720 0d 20 20 20 20 24 77 20 74 61 67 20 61 64 64 20 73 65 6c 20 24 66 69 72 73 74 20 24 6c 61 73 74 .....$w.tag.add.sel.$first.$last
2c740 0d 20 20 20 20 24 77 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 24 6c 61 73 74 20 65 6e 64 .....$w.tag.remove.sel.$last.end
2c760 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 50 61 73 74 65 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 .}..#.tkTextPaste.--.#.This.proc
2c780 65 64 75 72 65 20 73 65 74 73 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 edure.sets.the.insertion.cursor.
2c7a0 74 6f 20 74 68 65 20 6d 6f 75 73 65 20 70 6f 73 69 74 69 6f 6e 2c 0d 23 20 69 6e 73 65 72 74 73 to.the.mouse.position,.#.inserts
2c7c0 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 2c 20 61 6e 64 20 73 65 74 73 20 74 68 65 20 66 6f 63 .the.selection,.and.sets.the.foc
2c7e0 75 73 20 74 6f 20 74 68 65 20 77 69 6e 64 6f 77 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a us.to.the.window..#.#.Arguments:
2c800 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 2e 0d 23 20 78 2c 20 79 20 .#.w.-..The.text.window..#.x,.y.
2c820 2d 20 09 50 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 2e 0d 0d 70 72 6f 63 20 -..Position.of.the.mouse...proc.
2c840 74 6b 54 65 78 74 50 61 73 74 65 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 24 77 20 6d 61 72 tkTextPaste.{w.x.y}.{.....$w.mar
2c860 6b 20 73 65 74 20 69 6e 73 65 72 74 20 5b 74 6b 54 65 78 74 43 6c 6f 73 65 73 74 47 61 70 20 24 k.set.insert.[tkTextClosestGap.$
2c880 77 20 24 78 20 24 79 5d 0d 20 20 20 20 63 61 74 63 68 20 7b 24 77 20 69 6e 73 65 72 74 20 69 6e w.$x.$y].....catch.{$w.insert.in
2c8a0 73 65 72 74 20 5b 73 65 6c 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 6f 66 20 24 sert.[selection.get.-displayof.$
2c8c0 77 5d 7d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 3d 3d 20 w]}.....if.{[$w.cget.-state].==.
2c8e0 22 6e 6f 72 6d 61 6c 22 7d 20 7b 66 6f 63 75 73 20 24 77 7d 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 "normal"}.{focus.$w}.}..#.tkText
2c900 41 75 74 6f 53 63 61 6e 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 AutoScan.--.#.This.procedure.is.
2c920 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 6c 65 61 76 65 73 20 61 20 invoked.when.the.mouse.leaves.a.
2c940 74 65 78 74 20 77 69 6e 64 6f 77 0d 23 20 77 69 74 68 20 62 75 74 74 6f 6e 20 31 20 64 6f 77 6e text.window.#.with.button.1.down
2c960 2e 20 20 49 74 20 73 63 72 6f 6c 6c 73 20 74 68 65 20 77 69 6e 64 6f 77 20 75 70 2c 20 64 6f 77 ...It.scrolls.the.window.up,.dow
2c980 6e 2c 20 6c 65 66 74 2c 20 6f 72 20 72 69 67 68 74 2c 0d 23 20 64 65 70 65 6e 64 69 6e 67 20 6f n,.left,.or.right,.#.depending.o
2c9a0 6e 20 77 68 65 72 65 20 74 68 65 20 6d 6f 75 73 65 20 69 73 20 28 74 68 69 73 20 69 6e 66 6f 72 n.where.the.mouse.is.(this.infor
2c9c0 6d 61 74 69 6f 6e 20 77 61 73 20 73 61 76 65 64 20 69 6e 0d 23 20 74 6b 50 72 69 76 28 78 29 20 mation.was.saved.in.#.tkPriv(x).
2c9e0 61 6e 64 20 74 6b 50 72 69 76 28 79 29 29 2c 20 61 6e 64 20 72 65 73 63 68 65 64 75 6c 65 73 20 and.tkPriv(y)),.and.reschedules.
2ca00 69 74 73 65 6c 66 20 61 73 20 61 6e 20 22 61 66 74 65 72 22 0d 23 20 63 6f 6d 6d 61 6e 64 20 73 itself.as.an."after".#.command.s
2ca20 6f 20 74 68 61 74 20 74 68 65 20 77 69 6e 64 6f 77 20 63 6f 6e 74 69 6e 75 65 73 20 74 6f 20 73 o.that.the.window.continues.to.s
2ca40 63 72 6f 6c 6c 20 75 6e 74 69 6c 20 74 68 65 20 6d 6f 75 73 65 0d 23 20 6d 6f 76 65 73 20 62 61 croll.until.the.mouse.#.moves.ba
2ca60 63 6b 20 69 6e 74 6f 20 74 68 65 20 77 69 6e 64 6f 77 20 6f 72 20 74 68 65 20 6d 6f 75 73 65 20 ck.into.the.window.or.the.mouse.
2ca80 62 75 74 74 6f 6e 20 69 73 20 72 65 6c 65 61 73 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 button.is.released..#.#.Argument
2caa0 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 s:.#.w.-..The.text.window...proc
2cac0 20 74 6b 54 65 78 74 41 75 74 6f 53 63 61 6e 20 7b 77 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c .tkTextAutoScan.{w}.{.....global
2cae0 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 21 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 24 .tkPriv.....if.{![winfo.exists.$
2cb00 77 5d 7d 20 72 65 74 75 72 6e 0d 20 20 20 20 69 66 20 7b 24 74 6b 50 72 69 76 28 79 29 20 3e 3d w]}.return.....if.{$tkPriv(y).>=
2cb20 20 5b 77 69 6e 66 6f 20 68 65 69 67 68 74 20 24 77 5d 7d 20 7b 0d 09 24 77 20 79 76 69 65 77 20 .[winfo.height.$w]}.{..$w.yview.
2cb40 73 63 72 6f 6c 6c 20 32 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 74 6b scroll.2.units.....}.elseif.{$tk
2cb60 50 72 69 76 28 79 29 20 3c 20 30 7d 20 7b 0d 09 24 77 20 79 76 69 65 77 20 73 63 72 6f 6c 6c 20 Priv(y).<.0}.{..$w.yview.scroll.
2cb80 2d 32 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 74 6b 50 72 69 76 28 78 -2.units.....}.elseif.{$tkPriv(x
2cba0 29 20 3e 3d 20 5b 77 69 6e 66 6f 20 77 69 64 74 68 20 24 77 5d 7d 20 7b 0d 09 24 77 20 78 76 69 ).>=.[winfo.width.$w]}.{..$w.xvi
2cbc0 65 77 20 73 63 72 6f 6c 6c 20 32 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b ew.scroll.2.units.....}.elseif.{
2cbe0 24 74 6b 50 72 69 76 28 78 29 20 3c 20 30 7d 20 7b 0d 09 24 77 20 78 76 69 65 77 20 73 63 72 6f $tkPriv(x).<.0}.{..$w.xview.scro
2cc00 6c 6c 20 2d 32 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 72 65 74 75 72 6e ll.-2.units.....}.else.{..return
2cc20 0d 20 20 20 20 7d 0d 20 20 20 20 74 6b 54 65 78 74 53 65 6c 65 63 74 54 6f 20 24 77 20 24 74 6b .....}.....tkTextSelectTo.$w.$tk
2cc40 50 72 69 76 28 78 29 20 24 74 6b 50 72 69 76 28 79 29 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 Priv(x).$tkPriv(y).....set.tkPri
2cc60 76 28 61 66 74 65 72 49 64 29 20 5b 61 66 74 65 72 20 35 30 20 74 6b 54 65 78 74 41 75 74 6f 53 v(afterId).[after.50.tkTextAutoS
2cc80 63 61 6e 20 24 77 5d 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 0d 23 20 4d can.$w].}..#.tkTextSetCursor.#.M
2cca0 6f 76 65 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 74 6f 20 61 20 67 69 ove.the.insertion.cursor.to.a.gi
2ccc0 76 65 6e 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 61 20 74 65 78 74 2e 20 20 41 6c 73 6f 0d 23 20 ven.position.in.a.text...Also.#.
2cce0 63 6c 65 61 72 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 2c 20 69 66 20 74 68 65 72 65 20 69 clears.the.selection,.if.there.i
2cd00 73 20 6f 6e 65 20 69 6e 20 74 68 65 20 74 65 78 74 2c 20 61 6e 64 20 6d 61 6b 65 73 20 73 75 72 s.one.in.the.text,.and.makes.sur
2cd20 65 0d 23 20 74 68 61 74 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 69 73 e.#.that.the.insertion.cursor.is
2cd40 20 76 69 73 69 62 6c 65 2e 20 20 41 6c 73 6f 2c 20 64 6f 6e 27 74 20 6c 65 74 20 74 68 65 20 69 .visible...Also,.don't.let.the.i
2cd60 6e 73 65 72 74 69 6f 6e 0d 23 20 63 75 72 73 6f 72 20 61 70 70 65 61 72 20 6f 6e 20 74 68 65 20 nsertion.#.cursor.appear.on.the.
2cd80 64 75 6d 6d 79 20 6c 61 73 74 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 74 65 78 74 2e 0d 23 0d 23 dummy.last.line.of.the.text..#.#
2cda0 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 .Arguments:.#.w.-..The.text.wind
2cdc0 6f 77 2e 0d 23 20 70 6f 73 20 2d 09 09 54 68 65 20 64 65 73 69 72 65 64 20 6e 65 77 20 70 6f 73 ow..#.pos.-..The.desired.new.pos
2cde0 69 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 75 72 73 6f 72 20 69 6e 20 74 68 65 20 77 69 6e 64 ition.for.the.cursor.in.the.wind
2ce00 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 7b 77 20 70 6f 73 ow...proc.tkTextSetCursor.{w.pos
2ce20 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 5b 24 }.{.....global.tkPriv......if.[$
2ce40 77 20 63 6f 6d 70 61 72 65 20 24 70 6f 73 20 3d 3d 20 65 6e 64 5d 20 7b 0d 09 73 65 74 20 70 6f w.compare.$pos.==.end].{..set.po
2ce60 73 20 7b 65 6e 64 20 2d 20 31 20 63 68 61 72 73 7d 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 6d s.{end.-.1.chars}.....}.....$w.m
2ce80 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 24 70 6f 73 0d 20 20 20 20 24 77 20 74 61 67 20 72 ark.set.insert.$pos.....$w.tag.r
2cea0 65 6d 6f 76 65 20 73 65 6c 20 31 2e 30 20 65 6e 64 0d 20 20 20 20 24 77 20 73 65 65 20 69 6e 73 emove.sel.1.0.end.....$w.see.ins
2cec0 65 72 74 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 0d 23 20 54 68 69 73 20 ert.}..#.tkTextKeySelect.#.This.
2cee0 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 73 74 72 6f 6b 69 procedure.is.invoked.when.stroki
2cf00 6e 67 20 6f 75 74 20 73 65 6c 65 63 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68 65 0d 23 20 6b 65 ng.out.selections.using.the.#.ke
2cf20 79 62 6f 61 72 64 2e 20 20 49 74 20 6d 6f 76 65 73 20 74 68 65 20 63 75 72 73 6f 72 20 74 6f 20 yboard...It.moves.the.cursor.to.
2cf40 61 20 6e 65 77 20 70 6f 73 69 74 69 6f 6e 2c 20 74 68 65 6e 20 65 78 74 65 6e 64 73 0d 23 20 74 a.new.position,.then.extends.#.t
2cf60 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 74 6f 20 74 68 61 74 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 he.selection.to.that.position..#
2cf80 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 .#.Arguments:.#.w.-..The.text.wi
2cfa0 6e 64 6f 77 2e 0d 23 20 6e 65 77 20 2d 09 09 41 20 6e 65 77 20 70 6f 73 69 74 69 6f 6e 20 66 6f ndow..#.new.-..A.new.position.fo
2cfc0 72 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 28 74 68 65 20 63 75 72 73 r.the.insertion.cursor.(the.curs
2cfe0 6f 72 20 68 61 73 6e 27 74 0d 23 09 09 61 63 74 75 61 6c 6c 79 20 62 65 65 6e 20 6d 6f 76 65 64 or.hasn't.#..actually.been.moved
2d000 20 74 6f 20 74 68 69 73 20 70 6f 73 69 74 69 6f 6e 20 79 65 74 29 2e 0d 0d 70 72 6f 63 20 74 6b .to.this.position.yet)...proc.tk
2d020 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 7b 77 20 6e 65 77 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 TextKeySelect.{w.new}.{.....glob
2d040 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 74 61 67 20 6e 65 78 74 72 al.tkPriv......if.{[$w.tag.nextr
2d060 61 6e 67 65 20 73 65 6c 20 31 2e 30 20 65 6e 64 5d 20 3d 3d 20 22 22 7d 20 7b 0d 09 69 66 20 5b ange.sel.1.0.end].==.""}.{..if.[
2d080 24 77 20 63 6f 6d 70 61 72 65 20 24 6e 65 77 20 3c 20 69 6e 73 65 72 74 5d 20 7b 0d 09 20 20 20 $w.compare.$new.<.insert].{.....
2d0a0 20 24 77 20 74 61 67 20 61 64 64 20 73 65 6c 20 24 6e 65 77 20 69 6e 73 65 72 74 0d 09 7d 20 65 .$w.tag.add.sel.$new.insert..}.e
2d0c0 6c 73 65 20 7b 0d 09 20 20 20 20 24 77 20 74 61 67 20 61 64 64 20 73 65 6c 20 69 6e 73 65 72 74 lse.{......$w.tag.add.sel.insert
2d0e0 20 24 6e 65 77 0d 09 7d 0d 09 24 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 69 6e 73 .$new..}..$w.mark.set.anchor.ins
2d100 65 72 74 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 69 66 20 5b 24 77 20 63 6f 6d 70 61 72 65 ert.....}.else.{..if.[$w.compare
2d120 20 24 6e 65 77 20 3c 20 61 6e 63 68 6f 72 5d 20 7b 0d 09 20 20 20 20 73 65 74 20 66 69 72 73 74 .$new.<.anchor].{......set.first
2d140 20 24 6e 65 77 0d 09 20 20 20 20 73 65 74 20 6c 61 73 74 20 61 6e 63 68 6f 72 0d 09 7d 20 65 6c .$new......set.last.anchor..}.el
2d160 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 66 69 72 73 74 20 61 6e 63 68 6f 72 0d 09 20 20 20 20 se.{......set.first.anchor......
2d180 73 65 74 20 6c 61 73 74 20 24 6e 65 77 0d 09 7d 0d 09 24 77 20 74 61 67 20 72 65 6d 6f 76 65 20 set.last.$new..}..$w.tag.remove.
2d1a0 73 65 6c 20 31 2e 30 20 24 66 69 72 73 74 0d 09 24 77 20 74 61 67 20 61 64 64 20 73 65 6c 20 24 sel.1.0.$first..$w.tag.add.sel.$
2d1c0 66 69 72 73 74 20 24 6c 61 73 74 0d 09 24 77 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 24 first.$last..$w.tag.remove.sel.$
2d1e0 6c 61 73 74 20 65 6e 64 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 6d 61 72 6b 20 73 65 74 20 69 last.end.....}.....$w.mark.set.i
2d200 6e 73 65 72 74 20 24 6e 65 77 0d 20 20 20 20 24 77 20 73 65 65 20 69 6e 73 65 72 74 0d 20 20 20 nsert.$new.....$w.see.insert....
2d220 20 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 52 65 73 .update.idletasks.}..#.tkTextRes
2d240 65 74 41 6e 63 68 6f 72 20 2d 2d 0d 23 20 53 65 74 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 etAnchor.--.#.Set.the.selection.
2d260 61 6e 63 68 6f 72 20 74 6f 20 77 68 69 63 68 65 76 65 72 20 65 6e 64 20 69 73 20 66 61 72 74 68 anchor.to.whichever.end.is.farth
2d280 65 73 74 20 66 72 6f 6d 20 74 68 65 0d 23 20 69 6e 64 65 78 20 61 72 67 75 6d 65 6e 74 2e 20 20 est.from.the.#.index.argument...
2d2a0 4f 6e 65 20 73 70 65 63 69 61 6c 20 74 72 69 63 6b 3a 20 69 66 20 74 68 65 20 73 65 6c 65 63 74 One.special.trick:.if.the.select
2d2c0 69 6f 6e 20 68 61 73 20 74 77 6f 20 6f 72 0d 23 20 66 65 77 65 72 20 63 68 61 72 61 63 74 65 72 ion.has.two.or.#.fewer.character
2d2e0 73 2c 20 6a 75 73 74 20 6c 65 61 76 65 20 74 68 65 20 61 6e 63 68 6f 72 20 77 68 65 72 65 20 69 s,.just.leave.the.anchor.where.i
2d300 74 20 69 73 2e 20 20 49 6e 20 74 68 69 73 0d 23 20 63 61 73 65 20 69 74 20 64 6f 65 73 6e 27 74 t.is...In.this.#.case.it.doesn't
2d320 20 6d 61 74 74 65 72 20 77 68 69 63 68 20 70 6f 69 6e 74 20 67 65 74 73 20 63 68 6f 73 65 6e 20 .matter.which.point.gets.chosen.
2d340 66 6f 72 20 74 68 65 20 61 6e 63 68 6f 72 2c 0d 23 20 61 6e 64 20 66 6f 72 20 74 68 65 20 74 68 for.the.anchor,.#.and.for.the.th
2d360 69 6e 67 73 20 6c 69 6b 65 20 53 68 69 66 74 2d 4c 65 66 74 20 61 6e 64 20 53 68 69 66 74 2d 52 ings.like.Shift-Left.and.Shift-R
2d380 69 67 68 74 20 74 68 69 73 20 70 72 6f 64 75 63 65 73 0d 23 20 62 65 74 74 65 72 20 62 65 68 61 ight.this.produces.#.better.beha
2d3a0 76 69 6f 72 20 77 68 65 6e 20 74 68 65 20 63 75 72 73 6f 72 20 6d 6f 76 65 73 20 62 61 63 6b 20 vior.when.the.cursor.moves.back.
2d3c0 61 6e 64 20 66 6f 72 74 68 20 61 63 72 6f 73 73 20 74 68 65 0d 23 20 61 6e 63 68 6f 72 2e 0d 23 and.forth.across.the.#.anchor..#
2d3e0 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 .#.Arguments:.#.w.-..The.text.wi
2d400 64 67 65 74 2e 0d 23 20 69 6e 64 65 78 20 2d 09 50 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 dget..#.index.-.Position.at.whic
2d420 68 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 65 73 73 65 64 2c 20 77 68 69 63 h.mouse.button.was.pressed,.whic
2d440 68 20 64 65 74 65 72 6d 69 6e 65 73 0d 23 09 09 77 68 69 63 68 20 65 6e 64 20 6f 66 20 73 65 6c h.determines.#..which.end.of.sel
2d460 65 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 61 73 20 61 6e 63 68 6f 72 20 ection.should.be.used.as.anchor.
2d480 70 6f 69 6e 74 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 52 65 73 65 74 41 6e 63 68 6f 72 20 7b point...proc.tkTextResetAnchor.{
2d4a0 77 20 69 6e 64 65 78 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 w.index}.{.....global.tkPriv....
2d4c0 20 20 69 66 20 7b 5b 24 77 20 74 61 67 20 72 61 6e 67 65 73 20 73 65 6c 5d 20 3d 3d 20 22 22 7d ..if.{[$w.tag.ranges.sel].==.""}
2d4e0 20 7b 0d 09 24 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 24 69 6e 64 65 78 0d 09 72 .{..$w.mark.set.anchor.$index..r
2d500 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 61 20 5b 24 77 20 69 6e 64 65 78 20 eturn.....}.....set.a.[$w.index.
2d520 24 69 6e 64 65 78 5d 0d 20 20 20 20 73 65 74 20 62 20 5b 24 77 20 69 6e 64 65 78 20 73 65 6c 2e $index].....set.b.[$w.index.sel.
2d540 66 69 72 73 74 5d 0d 20 20 20 20 73 65 74 20 63 20 5b 24 77 20 69 6e 64 65 78 20 73 65 6c 2e 6c first].....set.c.[$w.index.sel.l
2d560 61 73 74 5d 0d 20 20 20 20 69 66 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 61 20 3c 20 24 62 5d ast].....if.[$w.compare.$a.<.$b]
2d580 20 7b 0d 09 24 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 73 65 6c 2e 6c 61 73 74 0d .{..$w.mark.set.anchor.sel.last.
2d5a0 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 5b 24 77 20 63 6f 6d 70 61 72 65 .return.....}.....if.[$w.compare
2d5c0 20 24 61 20 3e 20 24 63 5d 20 7b 0d 09 24 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 .$a.>.$c].{..$w.mark.set.anchor.
2d5e0 73 65 6c 2e 66 69 72 73 74 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 63 61 6e sel.first..return.....}.....scan
2d600 20 24 61 20 22 25 64 2e 25 64 22 20 6c 69 6e 65 41 20 63 68 41 0d 20 20 20 20 73 63 61 6e 20 24 .$a."%d.%d".lineA.chA.....scan.$
2d620 62 20 22 25 64 2e 25 64 22 20 6c 69 6e 65 42 20 63 68 42 0d 20 20 20 20 73 63 61 6e 20 24 63 20 b."%d.%d".lineB.chB.....scan.$c.
2d640 22 25 64 2e 25 64 22 20 6c 69 6e 65 43 20 63 68 43 0d 20 20 20 20 69 66 20 7b 24 6c 69 6e 65 42 "%d.%d".lineC.chC.....if.{$lineB
2d660 20 3c 20 24 6c 69 6e 65 43 2b 32 7d 20 7b 0d 09 73 65 74 20 74 6f 74 61 6c 20 5b 73 74 72 69 6e .<.$lineC+2}.{..set.total.[strin
2d680 67 20 6c 65 6e 67 74 68 20 5b 24 77 20 67 65 74 20 24 62 20 24 63 5d 5d 0d 09 69 66 20 7b 24 74 g.length.[$w.get.$b.$c]]..if.{$t
2d6a0 6f 74 61 6c 20 3c 3d 20 32 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 09 69 66 20 otal.<=.2}.{......return..}..if.
2d6c0 7b 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 5b 24 77 20 67 65 74 20 24 62 20 24 61 5d 5d 20 {[string.length.[$w.get.$b.$a]].
2d6e0 3c 20 28 24 74 6f 74 61 6c 2f 32 29 7d 20 7b 0d 09 20 20 20 20 24 77 20 6d 61 72 6b 20 73 65 74 <.($total/2)}.{......$w.mark.set
2d700 20 61 6e 63 68 6f 72 20 73 65 6c 2e 6c 61 73 74 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 .anchor.sel.last..}.else.{......
2d720 24 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 73 65 6c 2e 66 69 72 73 74 0d 09 7d 0d $w.mark.set.anchor.sel.first..}.
2d740 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 28 24 6c 69 6e 65 41 2d 24 6c .return.....}.....if.{($lineA-$l
2d760 69 6e 65 42 29 20 3c 20 28 24 6c 69 6e 65 43 2d 24 6c 69 6e 65 41 29 7d 20 7b 0d 09 24 77 20 6d ineB).<.($lineC-$lineA)}.{..$w.m
2d780 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 73 65 6c 2e 6c 61 73 74 0d 20 20 20 20 7d 20 65 6c ark.set.anchor.sel.last.....}.el
2d7a0 73 65 20 7b 0d 09 24 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 73 65 6c 2e 66 69 72 se.{..$w.mark.set.anchor.sel.fir
2d7c0 73 74 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 49 6e 73 65 72 74 20 2d 2d 0d 23 20 st.....}.}..#.tkTextInsert.--.#.
2d7e0 49 6e 73 65 72 74 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 20 74 65 78 74 20 61 74 20 74 Insert.a.string.into.a.text.at.t
2d800 68 65 20 70 6f 69 6e 74 20 6f 66 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 he.point.of.the.insertion.cursor
2d820 2e 0d 23 20 49 66 20 74 68 65 72 65 20 69 73 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 20 74 ..#.If.there.is.a.selection.in.t
2d840 68 65 20 74 65 78 74 2c 20 61 6e 64 20 69 74 20 63 6f 76 65 72 73 20 74 68 65 20 70 6f 69 6e 74 he.text,.and.it.covers.the.point
2d860 20 6f 66 20 74 68 65 0d 23 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2c 20 74 68 65 6e .of.the.#.insertion.cursor,.then
2d880 20 64 65 6c 65 74 65 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 62 65 66 6f 72 65 20 69 6e 73 .delete.the.selection.before.ins
2d8a0 65 72 74 69 6e 67 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 erting..#.#.Arguments:.#.w.-..Th
2d8c0 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 6f 20 69 6e 73 65 72 74 e.text.window.in.which.to.insert
2d8e0 20 74 68 65 20 73 74 72 69 6e 67 0d 23 20 73 20 2d 09 09 54 68 65 20 73 74 72 69 6e 67 20 74 6f .the.string.#.s.-..The.string.to
2d900 20 69 6e 73 65 72 74 20 28 75 73 75 61 6c 6c 79 20 6a 75 73 74 20 61 20 73 69 6e 67 6c 65 20 63 .insert.(usually.just.a.single.c
2d920 68 61 72 61 63 74 65 72 29 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 49 6e 73 65 72 74 20 7b 77 20 haracter)..proc.tkTextInsert.{w.
2d940 73 7d 20 7b 0d 20 20 20 20 69 66 20 7b 28 24 73 20 3d 3d 20 22 22 29 20 7c 7c 20 28 5b 24 77 20 s}.{.....if.{($s.==."").||.([$w.
2d960 63 67 65 74 20 2d 73 74 61 74 65 5d 20 3d 3d 20 22 64 69 73 61 62 6c 65 64 22 29 7d 20 7b 0d 09 cget.-state].==."disabled")}.{..
2d980 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 63 61 74 63 68 20 7b 0d 09 69 66 20 7b 5b 24 return.....}.....catch.{..if.{[$
2d9a0 77 20 63 6f 6d 70 61 72 65 20 73 65 6c 2e 66 69 72 73 74 20 3c 3d 20 69 6e 73 65 72 74 5d 0d 09 w.compare.sel.first.<=.insert]..
2d9c0 09 26 26 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 73 65 6c 2e 6c 61 73 74 20 3e 3d 20 69 6e 73 65 .&&.[$w.compare.sel.last.>=.inse
2d9e0 72 74 5d 7d 20 7b 0d 09 20 20 20 20 24 77 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 rt]}.{......$w.delete.sel.first.
2da00 73 65 6c 2e 6c 61 73 74 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 69 6e 73 65 72 74 20 sel.last..}.....}.....$w.insert.
2da20 69 6e 73 65 72 74 20 24 73 0d 20 20 20 20 24 77 20 73 65 65 20 69 6e 73 65 72 74 0d 7d 0d 0d 23 insert.$s.....$w.see.insert.}..#
2da40 20 74 6b 54 65 78 74 55 70 44 6f 77 6e 4c 69 6e 65 20 2d 2d 0d 23 20 52 65 74 75 72 6e 73 20 74 .tkTextUpDownLine.--.#.Returns.t
2da60 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 6f 6e 65 20 6c 69 he.index.of.the.character.one.li
2da80 6e 65 20 61 62 6f 76 65 20 6f 72 20 62 65 6c 6f 77 20 74 68 65 0d 23 20 69 6e 73 65 72 74 69 6f ne.above.or.below.the.#.insertio
2daa0 6e 20 63 75 72 73 6f 72 2e 20 20 54 68 65 72 65 20 61 72 65 20 74 77 6f 20 74 72 69 63 6b 79 20 n.cursor...There.are.two.tricky.
2dac0 74 68 69 6e 67 73 20 68 65 72 65 2e 20 20 46 69 72 73 74 2c 0d 23 20 77 65 20 77 61 6e 74 20 74 things.here...First,.#.we.want.t
2dae0 6f 20 6d 61 69 6e 74 61 69 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 63 6f 6c 75 6d 6e 20 61 o.maintain.the.original.column.a
2db00 63 72 6f 73 73 20 72 65 70 65 61 74 65 64 20 6f 70 65 72 61 74 69 6f 6e 73 2c 0d 23 20 65 76 65 cross.repeated.operations,.#.eve
2db20 6e 20 74 68 6f 75 67 68 20 73 6f 6d 65 20 6c 69 6e 65 73 20 74 68 61 74 20 77 69 6c 6c 20 67 65 n.though.some.lines.that.will.ge
2db40 74 20 70 61 73 73 65 64 20 74 68 72 6f 75 67 68 20 64 6f 6e 27 74 20 68 61 76 65 0d 23 20 65 6e t.passed.through.don't.have.#.en
2db60 6f 75 67 68 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 63 6f 76 65 72 20 74 68 65 20 6f 72 69 ough.characters.to.cover.the.ori
2db80 67 69 6e 61 6c 20 63 6f 6c 75 6d 6e 2e 20 20 53 65 63 6f 6e 64 2c 20 64 6f 6e 27 74 0d 23 20 74 ginal.column...Second,.don't.#.t
2dba0 72 79 20 74 6f 20 73 63 72 6f 6c 6c 20 70 61 73 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 ry.to.scroll.past.the.beginning.
2dbc0 6f 72 20 65 6e 64 20 6f 66 20 74 68 65 20 74 65 78 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 or.end.of.the.text..#.#.Argument
2dbe0 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 s:.#.w.-..The.text.window.in.whi
2dc00 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 65 2e 0d 23 20 6e 20 2d 09 ch.the.cursor.is.to.move..#.n.-.
2dc20 09 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 69 6e 65 73 20 74 6f 20 6d 6f 76 65 3a 20 2d 31 .The.number.of.lines.to.move:.-1
2dc40 20 66 6f 72 20 75 70 20 6f 6e 65 20 6c 69 6e 65 2c 0d 23 09 09 2b 31 20 66 6f 72 20 64 6f 77 6e .for.up.one.line,.#..+1.for.down
2dc60 20 6f 6e 65 20 6c 69 6e 65 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 55 70 44 6f 77 6e 4c 69 6e .one.line...proc.tkTextUpDownLin
2dc80 65 20 7b 77 20 6e 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 e.{w.n}.{.....global.tkPriv.....
2dca0 20 73 65 74 20 69 20 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 73 63 61 .set.i.[$w.index.insert].....sca
2dcc0 6e 20 24 69 20 22 25 64 2e 25 64 22 20 6c 69 6e 65 20 63 68 61 72 0d 20 20 20 20 69 66 20 7b 5b n.$i."%d.%d".line.char.....if.{[
2dce0 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 6b 50 72 69 76 28 70 72 65 76 50 6f 73 29 20 string.compare.$tkPriv(prevPos).
2dd00 24 69 5d 20 21 3d 20 30 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 63 68 61 72 29 20 24 63 $i].!=.0}.{..set.tkPriv(char).$c
2dd20 68 61 72 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6e 65 77 20 5b 24 77 20 69 6e 64 65 78 20 har.....}.....set.new.[$w.index.
2dd40 5b 65 78 70 72 20 24 6c 69 6e 65 20 2b 20 24 6e 5d 2e 24 74 6b 50 72 69 76 28 63 68 61 72 29 5d [expr.$line.+.$n].$tkPriv(char)]
2dd60 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 6e 65 77 20 3d 3d 20 65 6e 64 .....if.{[$w.compare.$new.==.end
2dd80 5d 20 7c 7c 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 6e 65 77 20 3d 3d 20 22 69 6e 73 65 72 74 ].||.[$w.compare.$new.==."insert
2dda0 20 6c 69 6e 65 73 74 61 72 74 22 5d 7d 20 7b 0d 09 73 65 74 20 6e 65 77 20 24 69 0d 20 20 20 20 .linestart"]}.{..set.new.$i.....
2ddc0 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 72 65 76 50 6f 73 29 20 24 6e 65 77 0d 20 }.....set.tkPriv(prevPos).$new..
2dde0 20 20 20 72 65 74 75 72 6e 20 24 6e 65 77 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 50 72 65 76 50 61 ...return.$new.}..#.tkTextPrevPa
2de00 72 61 20 2d 2d 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 ra.--.#.Returns.the.index.of.the
2de20 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 70 61 72 61 67 72 61 70 68 20 6a 75 73 74 .beginning.of.the.paragraph.just
2de40 20 62 65 66 6f 72 65 20 61 20 67 69 76 65 6e 0d 23 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 .before.a.given.#.position.in.th
2de60 65 20 74 65 78 74 20 28 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 61 20 70 61 72 61 67 e.text.(the.beginning.of.a.parag
2de80 72 61 70 68 20 69 73 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 62 6c 61 6e 6b 0d 23 20 63 68 raph.is.the.first.non-blank.#.ch
2dea0 61 72 61 63 74 65 72 20 61 66 74 65 72 20 61 20 62 6c 61 6e 6b 20 6c 69 6e 65 29 2e 0d 23 0d 23 aracter.after.a.blank.line)..#.#
2dec0 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 .Arguments:.#.w.-..The.text.wind
2dee0 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 ow.in.which.the.cursor.is.to.mov
2df00 65 2e 0d 23 20 70 6f 73 20 2d 09 09 50 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 68 20 74 6f e..#.pos.-..Position.at.which.to
2df20 20 73 74 61 72 74 20 73 65 61 72 63 68 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 50 72 65 76 50 .start.search...proc.tkTextPrevP
2df40 61 72 61 20 7b 77 20 70 6f 73 7d 20 7b 0d 20 20 20 20 73 65 74 20 70 6f 73 20 5b 24 77 20 69 6e ara.{w.pos}.{.....set.pos.[$w.in
2df60 64 65 78 20 22 24 70 6f 73 20 6c 69 6e 65 73 74 61 72 74 22 5d 0d 20 20 20 20 77 68 69 6c 65 20 dex."$pos.linestart"].....while.
2df80 31 20 7b 0d 09 69 66 20 7b 28 28 5b 24 77 20 67 65 74 20 22 24 70 6f 73 20 2d 20 31 20 6c 69 6e 1.{..if.{(([$w.get."$pos.-.1.lin
2dfa0 65 22 5d 20 3d 3d 20 22 5c 6e 22 29 20 26 26 20 28 5b 24 77 20 67 65 74 20 24 70 6f 73 5d 20 21 e"].==."\n").&&.([$w.get.$pos].!
2dfc0 3d 20 22 5c 6e 22 29 29 0d 09 09 7c 7c 20 28 24 70 6f 73 20 3d 3d 20 22 31 2e 30 22 29 7d 20 7b =."\n"))...||.($pos.==."1.0")}.{
2dfe0 0d 09 20 20 20 20 69 66 20 5b 72 65 67 65 78 70 20 2d 69 6e 64 69 63 65 73 20 7b 5e 5b 20 09 5d ......if.[regexp.-indices.{^[..]
2e000 2b 28 2e 29 7d 20 5b 24 77 20 67 65 74 20 24 70 6f 73 20 22 24 70 6f 73 20 6c 69 6e 65 65 6e 64 +(.)}.[$w.get.$pos."$pos.lineend
2e020 22 5d 20 5c 0d 09 09 20 20 20 20 64 75 6d 6d 79 20 69 6e 64 65 78 5d 20 7b 0d 09 09 73 65 74 20 "].\.......dummy.index].{...set.
2e040 70 6f 73 20 5b 24 77 20 69 6e 64 65 78 20 22 24 70 6f 73 20 2b 20 5b 6c 69 6e 64 65 78 20 24 69 pos.[$w.index."$pos.+.[lindex.$i
2e060 6e 64 65 78 20 30 5d 20 63 68 61 72 73 22 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b ndex.0].chars"]......}......if.{
2e080 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 70 6f 73 20 21 3d 20 69 6e 73 65 72 74 5d 20 7c 7c 20 28 [$w.compare.$pos.!=.insert].||.(
2e0a0 24 70 6f 73 20 3d 3d 20 22 31 2e 30 22 29 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 24 70 6f 73 0d $pos.==."1.0")}.{...return.$pos.
2e0c0 09 20 20 20 20 7d 0d 09 7d 0d 09 73 65 74 20 70 6f 73 20 5b 24 77 20 69 6e 64 65 78 20 22 24 70 .....}..}..set.pos.[$w.index."$p
2e0e0 6f 73 20 2d 20 31 20 6c 69 6e 65 22 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 4e os.-.1.line"].....}.}..#.tkTextN
2e100 65 78 74 50 61 72 61 20 2d 2d 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f extPara.--.#.Returns.the.index.o
2e120 66 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 70 61 72 61 67 72 61 70 68 f.the.beginning.of.the.paragraph
2e140 20 6a 75 73 74 20 61 66 74 65 72 20 61 20 67 69 76 65 6e 0d 23 20 70 6f 73 69 74 69 6f 6e 20 69 .just.after.a.given.#.position.i
2e160 6e 20 74 68 65 20 74 65 78 74 20 28 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 61 20 70 n.the.text.(the.beginning.of.a.p
2e180 61 72 61 67 72 61 70 68 20 69 73 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 62 6c 61 6e 6b 0d aragraph.is.the.first.non-blank.
2e1a0 23 20 63 68 61 72 61 63 74 65 72 20 61 66 74 65 72 20 61 20 62 6c 61 6e 6b 20 6c 69 6e 65 29 2e #.character.after.a.blank.line).
2e1c0 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 .#.#.Arguments:.#.w.-..The.text.
2e1e0 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f window.in.which.the.cursor.is.to
2e200 20 6d 6f 76 65 2e 0d 23 20 73 74 61 72 74 20 2d 09 50 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 .move..#.start.-.Position.at.whi
2e220 63 68 20 74 6f 20 73 74 61 72 74 20 73 65 61 72 63 68 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 ch.to.start.search...proc.tkText
2e240 4e 65 78 74 50 61 72 61 20 7b 77 20 73 74 61 72 74 7d 20 7b 0d 20 20 20 20 73 65 74 20 70 6f 73 NextPara.{w.start}.{.....set.pos
2e260 20 5b 24 77 20 69 6e 64 65 78 20 22 24 73 74 61 72 74 20 6c 69 6e 65 73 74 61 72 74 20 2b 20 31 .[$w.index."$start.linestart.+.1
2e280 20 6c 69 6e 65 22 5d 0d 20 20 20 20 77 68 69 6c 65 20 7b 5b 24 77 20 67 65 74 20 24 70 6f 73 5d .line"].....while.{[$w.get.$pos]
2e2a0 20 21 3d 20 22 5c 6e 22 7d 20 7b 0d 09 69 66 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 70 6f 73 .!=."\n"}.{..if.[$w.compare.$pos
2e2c0 20 3d 3d 20 65 6e 64 5d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 24 77 20 69 6e 64 65 78 .==.end].{......return.[$w.index
2e2e0 20 22 65 6e 64 20 2d 20 31 63 22 5d 0d 09 7d 0d 09 73 65 74 20 70 6f 73 20 5b 24 77 20 69 6e 64 ."end.-.1c"]..}..set.pos.[$w.ind
2e300 65 78 20 22 24 70 6f 73 20 2b 20 31 20 6c 69 6e 65 22 5d 0d 20 20 20 20 7d 0d 20 20 20 20 77 68 ex."$pos.+.1.line"].....}.....wh
2e320 69 6c 65 20 7b 5b 24 77 20 67 65 74 20 24 70 6f 73 5d 20 3d 3d 20 22 5c 6e 22 7d 20 7b 0d 09 73 ile.{[$w.get.$pos].==."\n"}.{..s
2e340 65 74 20 70 6f 73 20 5b 24 77 20 69 6e 64 65 78 20 22 24 70 6f 73 20 2b 20 31 20 6c 69 6e 65 22 et.pos.[$w.index."$pos.+.1.line"
2e360 5d 0d 09 69 66 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 70 6f 73 20 3d 3d 20 65 6e 64 5d 20 7b ]..if.[$w.compare.$pos.==.end].{
2e380 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 24 77 20 69 6e 64 65 78 20 22 65 6e 64 20 2d 20 31 63 ......return.[$w.index."end.-.1c
2e3a0 22 5d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 5b 72 65 67 65 78 70 20 2d 69 6e 64 69 "]..}.....}.....if.[regexp.-indi
2e3c0 63 65 73 20 7b 5e 5b 20 09 5d 2b 28 2e 29 7d 20 5b 24 77 20 67 65 74 20 24 70 6f 73 20 22 24 70 ces.{^[..]+(.)}.[$w.get.$pos."$p
2e3e0 6f 73 20 6c 69 6e 65 65 6e 64 22 5d 20 5c 0d 09 20 20 20 20 64 75 6d 6d 79 20 69 6e 64 65 78 5d os.lineend"].\......dummy.index]
2e400 20 7b 0d 09 72 65 74 75 72 6e 20 5b 24 77 20 69 6e 64 65 78 20 22 24 70 6f 73 20 2b 20 5b 6c 69 .{..return.[$w.index."$pos.+.[li
2e420 6e 64 65 78 20 24 69 6e 64 65 78 20 30 5d 20 63 68 61 72 73 22 5d 0d 20 20 20 20 7d 0d 20 20 20 ndex.$index.0].chars"].....}....
2e440 20 72 65 74 75 72 6e 20 24 70 6f 73 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 53 63 72 6f 6c 6c 50 61 .return.$pos.}..#.tkTextScrollPa
2e460 67 65 73 20 2d 2d 0d 23 20 54 68 69 73 20 69 73 20 61 20 75 74 69 6c 69 74 79 20 70 72 6f 63 65 ges.--.#.This.is.a.utility.proce
2e480 64 75 72 65 20 75 73 65 64 20 69 6e 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 6d 6f 76 69 6e 67 dure.used.in.bindings.for.moving
2e4a0 20 75 70 20 61 6e 64 20 64 6f 77 6e 0d 23 20 70 61 67 65 73 20 61 6e 64 20 70 6f 73 73 69 62 6c .up.and.down.#.pages.and.possibl
2e4c0 79 20 65 78 74 65 6e 64 69 6e 67 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 61 6c 6f 6e 67 20 y.extending.the.selection.along.
2e4e0 74 68 65 20 77 61 79 2e 20 20 49 74 20 73 63 72 6f 6c 6c 73 0d 23 20 74 68 65 20 76 69 65 77 20 the.way...It.scrolls.#.the.view.
2e500 69 6e 20 74 68 65 20 77 69 64 67 65 74 20 62 79 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 in.the.widget.by.the.number.of.p
2e520 61 67 65 73 2c 20 61 6e 64 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 0d 23 20 69 6e 64 65 78 ages,.and.it.returns.the.#.index
2e540 20 6f 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 69 73 20 61 74 20 74 68 65 .of.the.character.that.is.at.the
2e560 20 73 61 6d 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 6e 65 77 20 76 69 65 77 0d 23 .same.position.in.the.new.view.#
2e580 20 61 73 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 75 73 65 64 20 74 6f .as.the.insertion.cursor.used.to
2e5a0 20 62 65 20 69 6e 20 74 68 65 20 6f 6c 64 20 76 69 65 77 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e .be.in.the.old.view..#.#.Argumen
2e5c0 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 ts:.#.w.-..The.text.window.in.wh
2e5e0 69 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 65 2e 0d 23 20 63 6f 75 ich.the.cursor.is.to.move..#.cou
2e600 6e 74 20 2d 09 4e 75 6d 62 65 72 20 6f 66 20 70 61 67 65 73 20 66 6f 72 77 61 72 64 20 74 6f 20 nt.-.Number.of.pages.forward.to.
2e620 73 63 72 6f 6c 6c 3b 20 20 6d 61 79 20 62 65 20 6e 65 67 61 74 69 76 65 0d 23 09 09 74 6f 20 73 scroll;..may.be.negative.#..to.s
2e640 63 72 6f 6c 6c 20 62 61 63 6b 77 61 72 64 73 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 53 63 72 croll.backwards...proc.tkTextScr
2e660 6f 6c 6c 50 61 67 65 73 20 7b 77 20 63 6f 75 6e 74 7d 20 7b 0d 20 20 20 20 73 65 74 20 62 62 6f ollPages.{w.count}.{.....set.bbo
2e680 78 20 5b 24 77 20 62 62 6f 78 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 24 77 20 79 76 69 65 77 20 x.[$w.bbox.insert].....$w.yview.
2e6a0 73 63 72 6f 6c 6c 20 24 63 6f 75 6e 74 20 70 61 67 65 73 0d 20 20 20 20 69 66 20 7b 24 62 62 6f scroll.$count.pages.....if.{$bbo
2e6c0 78 20 3d 3d 20 22 22 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 24 77 20 69 6e 64 65 78 20 40 5b 65 x.==.""}.{..return.[$w.index.@[e
2e6e0 78 70 72 20 5b 77 69 6e 66 6f 20 68 65 69 67 68 74 20 24 77 5d 2f 32 5d 2c 30 5d 0d 20 20 20 20 xpr.[winfo.height.$w]/2],0].....
2e700 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 5b 24 77 20 69 6e 64 65 78 20 40 5b 6c 69 6e 64 65 78 20 }.....return.[$w.index.@[lindex.
2e720 24 62 62 6f 78 20 30 5d 2c 5b 6c 69 6e 64 65 78 20 24 62 62 6f 78 20 31 5d 5d 0d 7d 0d 0d 23 20 $bbox.0],[lindex.$bbox.1]].}..#.
2e740 74 6b 54 65 78 74 54 72 61 6e 73 70 6f 73 65 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 tkTextTranspose.--.#.This.proced
2e760 75 72 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 22 74 72 61 6e 73 70 6f 73 65 22 20 66 ure.implements.the."transpose".f
2e780 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 65 78 74 20 77 69 64 67 65 74 73 2e 0d 23 20 49 74 20 74 unction.for.text.widgets..#.It.t
2e7a0 72 61 6e 70 6f 73 65 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 6f 6e 20 65 69 74 68 65 ranposes.the.characters.on.eithe
2e7c0 72 20 73 69 64 65 20 6f 66 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2c 0d r.side.of.the.insertion.cursor,.
2e7e0 23 20 75 6e 6c 65 73 73 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 61 74 20 74 68 65 20 65 6e #.unless.the.cursor.is.at.the.en
2e800 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 69 74 0d d.of.the.line...In.this.case.it.
2e820 23 20 74 72 61 6e 73 70 6f 73 65 73 20 74 68 65 20 74 77 6f 20 63 68 61 72 61 63 74 65 72 73 20 #.transposes.the.two.characters.
2e840 74 6f 20 74 68 65 20 6c 65 66 74 20 6f 66 20 74 68 65 20 63 75 72 73 6f 72 2e 20 20 49 6e 20 65 to.the.left.of.the.cursor...In.e
2e860 69 74 68 65 72 0d 23 20 63 61 73 65 2c 20 74 68 65 20 63 75 72 73 6f 72 20 65 6e 64 73 20 75 70 ither.#.case,.the.cursor.ends.up
2e880 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 6f 66 20 74 68 65 20 74 72 61 6e 73 70 6f 73 65 64 20 .to.the.right.of.the.transposed.
2e8a0 63 68 61 72 61 63 74 65 72 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d characters..#.#.Arguments:.#.w.-
2e8c0 09 09 54 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 6f 20 74 72 61 6e 73 70 ..Text.window.in.which.to.transp
2e8e0 6f 73 65 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 54 72 61 6e 73 70 6f 73 65 20 77 20 7b 0d 20 ose...proc.tkTextTranspose.w.{..
2e900 20 20 20 73 65 74 20 70 6f 73 20 69 6e 73 65 72 74 0d 20 20 20 20 69 66 20 5b 24 77 20 63 6f 6d ...set.pos.insert.....if.[$w.com
2e920 70 61 72 65 20 24 70 6f 73 20 21 3d 20 22 24 70 6f 73 20 6c 69 6e 65 65 6e 64 22 5d 20 7b 0d 09 pare.$pos.!=."$pos.lineend"].{..
2e940 73 65 74 20 70 6f 73 20 5b 24 77 20 69 6e 64 65 78 20 22 24 70 6f 73 20 2b 20 31 20 63 68 61 72 set.pos.[$w.index."$pos.+.1.char
2e960 22 5d 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6e 65 77 20 5b 24 77 20 67 65 74 20 22 24 70 "].....}.....set.new.[$w.get."$p
2e980 6f 73 20 2d 20 31 20 63 68 61 72 22 5d 5b 24 77 20 67 65 74 20 20 22 24 70 6f 73 20 2d 20 32 20 os.-.1.char"][$w.get.."$pos.-.2.
2e9a0 63 68 61 72 22 5d 0d 20 20 20 20 69 66 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 22 24 70 6f 73 20 char"].....if.[$w.compare."$pos.
2e9c0 2d 20 31 20 63 68 61 72 22 20 3d 3d 20 31 2e 30 5d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 -.1.char".==.1.0].{..return.....
2e9e0 7d 0d 20 20 20 20 24 77 20 64 65 6c 65 74 65 20 22 24 70 6f 73 20 2d 20 32 20 63 68 61 72 22 20 }.....$w.delete."$pos.-.2.char".
2ea00 24 70 6f 73 0d 20 20 20 20 24 77 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 20 24 6e 65 77 0d 20 $pos.....$w.insert.insert.$new..
2ea20 20 20 20 24 77 20 73 65 65 20 69 6e 73 65 72 74 0d 7d 0d 0d 23 20 74 6b 5f 74 65 78 74 43 6f 70 ...$w.see.insert.}..#.tk_textCop
2ea40 79 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 63 6f 70 69 65 73 20 74 68 65 y.--.#.This.procedure.copies.the
2ea60 20 73 65 6c 65 63 74 69 6f 6e 20 66 72 6f 6d 20 61 20 74 65 78 74 20 77 69 64 67 65 74 20 69 6e .selection.from.a.text.widget.in
2ea80 74 6f 20 74 68 65 0d 23 20 63 6c 69 70 62 6f 61 72 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 to.the.#.clipboard..#.#.Argument
2eaa0 73 3a 0d 23 20 77 20 2d 09 09 4e 61 6d 65 20 6f 66 20 61 20 74 65 78 74 20 77 69 64 67 65 74 2e s:.#.w.-..Name.of.a.text.widget.
2eac0 0d 0d 70 72 6f 63 20 74 6b 5f 74 65 78 74 43 6f 70 79 20 77 20 7b 0d 20 20 20 20 69 66 20 7b 21 ..proc.tk_textCopy.w.{.....if.{!
2eae0 5b 63 61 74 63 68 20 7b 73 65 74 20 64 61 74 61 20 5b 24 77 20 67 65 74 20 73 65 6c 2e 66 69 72 [catch.{set.data.[$w.get.sel.fir
2eb00 73 74 20 73 65 6c 2e 6c 61 73 74 5d 7d 5d 7d 20 7b 0d 09 63 6c 69 70 62 6f 61 72 64 20 63 6c 65 st.sel.last]}]}.{..clipboard.cle
2eb20 61 72 20 2d 64 69 73 70 6c 61 79 6f 66 20 24 77 0d 09 63 6c 69 70 62 6f 61 72 64 20 61 70 70 65 ar.-displayof.$w..clipboard.appe
2eb40 6e 64 20 2d 64 69 73 70 6c 61 79 6f 66 20 24 77 20 24 64 61 74 61 0d 20 20 20 20 7d 0d 7d 0d 0d nd.-displayof.$w.$data.....}.}..
2eb60 23 20 74 6b 5f 74 65 78 74 43 75 74 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 #.tk_textCut.--.#.This.procedure
2eb80 20 63 6f 70 69 65 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 66 72 6f 6d 20 61 20 74 65 78 .copies.the.selection.from.a.tex
2eba0 74 20 77 69 64 67 65 74 20 69 6e 74 6f 20 74 68 65 0d 23 20 63 6c 69 70 62 6f 61 72 64 2c 20 74 t.widget.into.the.#.clipboard,.t
2ebc0 68 65 6e 20 64 65 6c 65 74 65 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 28 69 66 20 69 74 hen.deletes.the.selection.(if.it
2ebe0 20 65 78 69 73 74 73 20 69 6e 20 74 68 65 20 67 69 76 65 6e 0d 23 20 77 69 64 67 65 74 29 2e 0d .exists.in.the.given.#.widget)..
2ec00 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 4e 61 6d 65 20 6f 66 20 61 20 #.#.Arguments:.#.w.-..Name.of.a.
2ec20 74 65 78 74 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 5f 74 65 78 74 43 75 74 20 77 20 text.widget...proc.tk_textCut.w.
2ec40 7b 0d 20 20 20 20 69 66 20 7b 21 5b 63 61 74 63 68 20 7b 73 65 74 20 64 61 74 61 20 5b 24 77 20 {.....if.{![catch.{set.data.[$w.
2ec60 67 65 74 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 5d 7d 5d 7d 20 7b 0d 09 63 6c get.sel.first.sel.last]}]}.{..cl
2ec80 69 70 62 6f 61 72 64 20 63 6c 65 61 72 20 2d 64 69 73 70 6c 61 79 6f 66 20 24 77 0d 09 63 6c 69 ipboard.clear.-displayof.$w..cli
2eca0 70 62 6f 61 72 64 20 61 70 70 65 6e 64 20 2d 64 69 73 70 6c 61 79 6f 66 20 24 77 20 24 64 61 74 pboard.append.-displayof.$w.$dat
2ecc0 61 0d 09 24 77 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d a..$w.delete.sel.first.sel.last.
2ece0 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 5f 74 65 78 74 50 61 73 74 65 20 2d 2d 0d 23 20 54 68 69 ....}.}..#.tk_textPaste.--.#.Thi
2ed00 73 20 70 72 6f 63 65 64 75 72 65 20 70 61 73 74 65 73 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 s.procedure.pastes.the.contents.
2ed20 6f 66 20 74 68 65 20 63 6c 69 70 62 6f 61 72 64 20 74 6f 20 74 68 65 20 69 6e 73 65 72 74 69 6f of.the.clipboard.to.the.insertio
2ed40 6e 0d 23 20 70 6f 69 6e 74 20 69 6e 20 61 20 74 65 78 74 20 77 69 64 67 65 74 2e 0d 23 0d 23 20 n.#.point.in.a.text.widget..#.#.
2ed60 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 4e 61 6d 65 20 6f 66 20 61 20 74 65 78 74 Arguments:.#.w.-..Name.of.a.text
2ed80 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 5f 74 65 78 74 50 61 73 74 65 20 77 20 7b 0d .widget...proc.tk_textPaste.w.{.
2eda0 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 20 20 20 20 63 61 74 63 ....global.tcl_platform.....catc
2edc0 68 20 7b 0d 09 69 66 20 7b 22 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d h.{..if.{"$tcl_platform(platform
2ede0 29 22 20 21 3d 20 22 75 6e 69 78 22 7d 20 7b 0d 09 20 20 20 20 63 61 74 63 68 20 7b 0d 09 09 24 )".!=."unix"}.{......catch.{...$
2ee00 77 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 09 20 20 20 w.delete.sel.first.sel.last.....
2ee20 20 7d 0d 09 7d 0d 09 24 77 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 20 5b 73 65 6c 65 63 74 69 .}..}..$w.insert.insert.[selecti
2ee40 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 6f 66 20 24 77 20 2d 73 65 6c 65 63 74 69 6f 6e 20 on.get.-displayof.$w.-selection.
2ee60 43 4c 49 50 42 4f 41 52 44 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 4e 65 78 74 CLIPBOARD].....}.}..#.tkTextNext
2ee80 57 6f 72 64 20 2d 2d 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 Word.--.#.Returns.the.index.of.t
2eea0 68 65 20 6e 65 78 74 20 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 61 20 67 69 he.next.word.position.after.a.gi
2eec0 76 65 6e 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 0d 23 20 74 65 78 74 2e 20 20 54 68 65 ven.position.in.the.#.text...The
2eee0 20 6e 65 78 74 20 77 6f 72 64 20 69 73 20 70 6c 61 74 66 6f 72 6d 20 64 65 70 65 6e 64 65 6e 74 .next.word.is.platform.dependent
2ef00 20 61 6e 64 20 6d 61 79 20 62 65 20 65 69 74 68 65 72 20 74 68 65 20 6e 65 78 74 0d 23 20 65 6e .and.may.be.either.the.next.#.en
2ef20 64 2d 6f 66 2d 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 6f 72 20 74 68 65 20 6e 65 78 74 20 73 d-of-word.position.or.the.next.s
2ef40 74 61 72 74 2d 6f 66 2d 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 74 68 65 20 tart-of-word.position.after.the.
2ef60 6e 65 78 74 0d 23 20 65 6e 64 2d 6f 66 2d 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 0d 23 next.#.end-of-word.position..#.#
2ef80 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 .Arguments:.#.w.-..The.text.wind
2efa0 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 ow.in.which.the.cursor.is.to.mov
2efc0 65 2e 0d 23 20 73 74 61 72 74 20 2d 09 50 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 68 20 74 e..#.start.-.Position.at.which.t
2efe0 6f 20 73 74 61 72 74 20 73 65 61 72 63 68 2e 0d 0d 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f o.start.search...if.{$tcl_platfo
2f000 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 77 69 6e 64 6f 77 73 22 7d 20 20 7b 0d 20 20 rm(platform).==."windows"}..{...
2f020 20 20 70 72 6f 63 20 74 6b 54 65 78 74 4e 65 78 74 57 6f 72 64 20 7b 77 20 73 74 61 72 74 7d 20 ..proc.tkTextNextWord.{w.start}.
2f040 7b 0d 09 74 6b 54 65 78 74 4e 65 78 74 50 6f 73 20 24 77 20 5b 74 6b 54 65 78 74 4e 65 78 74 50 {..tkTextNextPos.$w.[tkTextNextP
2f060 6f 73 20 24 77 20 24 73 74 61 72 74 20 74 63 6c 5f 65 6e 64 4f 66 57 6f 72 64 5d 20 5c 0d 09 20 os.$w.$start.tcl_endOfWord].\...
2f080 20 20 20 74 63 6c 5f 73 74 61 72 74 4f 66 4e 65 78 74 57 6f 72 64 0d 20 20 20 20 7d 0d 7d 20 65 ...tcl_startOfNextWord.....}.}.e
2f0a0 6c 73 65 20 7b 0d 20 20 20 20 70 72 6f 63 20 74 6b 54 65 78 74 4e 65 78 74 57 6f 72 64 20 7b 77 lse.{.....proc.tkTextNextWord.{w
2f0c0 20 73 74 61 72 74 7d 20 7b 0d 09 74 6b 54 65 78 74 4e 65 78 74 50 6f 73 20 24 77 20 24 73 74 61 .start}.{..tkTextNextPos.$w.$sta
2f0e0 72 74 20 74 63 6c 5f 65 6e 64 4f 66 57 6f 72 64 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 54 65 rt.tcl_endOfWord.....}.}..#.tkTe
2f100 78 74 4e 65 78 74 50 6f 73 20 2d 2d 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 xtNextPos.--.#.Returns.the.index
2f120 20 6f 66 20 74 68 65 20 6e 65 78 74 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 74 68 65 20 .of.the.next.position.after.the.
2f140 67 69 76 65 6e 20 73 74 61 72 74 69 6e 67 0d 23 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 given.starting.#.position.in.the
2f160 20 74 65 78 74 20 61 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 20 73 70 65 63 69 66 69 65 64 .text.as.computed.by.a.specified
2f180 20 66 75 6e 63 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 .function..#.#.Arguments:.#.w.-.
2f1a0 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 63 75 .The.text.window.in.which.the.cu
2f1c0 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 65 2e 0d 23 20 73 74 61 72 74 20 2d 09 50 6f 73 69 74 rsor.is.to.move..#.start.-.Posit
2f1e0 69 6f 6e 20 61 74 20 77 68 69 63 68 20 74 6f 20 73 74 61 72 74 20 73 65 61 72 63 68 2e 0d 23 20 ion.at.which.to.start.search..#.
2f200 6f 70 20 2d 09 09 46 75 6e 63 74 69 6f 6e 20 74 6f 20 75 73 65 20 74 6f 20 66 69 6e 64 20 6e 65 op.-..Function.to.use.to.find.ne
2f220 78 74 20 70 6f 73 69 74 69 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 4e 65 78 74 50 6f 73 xt.position...proc.tkTextNextPos
2f240 20 7b 77 20 73 74 61 72 74 20 6f 70 7d 20 7b 0d 20 20 20 20 73 65 74 20 74 65 78 74 20 22 22 0d .{w.start.op}.{.....set.text."".
2f260 20 20 20 20 73 65 74 20 63 75 72 20 24 73 74 61 72 74 0d 20 20 20 20 77 68 69 6c 65 20 7b 5b 24 ....set.cur.$start.....while.{[$
2f280 77 20 63 6f 6d 70 61 72 65 20 24 63 75 72 20 3c 20 65 6e 64 5d 7d 20 7b 0d 09 73 65 74 20 74 65 w.compare.$cur.<.end]}.{..set.te
2f2a0 78 74 20 22 24 74 65 78 74 5b 24 77 20 67 65 74 20 24 63 75 72 20 22 24 63 75 72 20 6c 69 6e 65 xt."$text[$w.get.$cur."$cur.line
2f2c0 65 6e 64 20 2b 20 31 63 22 5d 22 0d 09 73 65 74 20 70 6f 73 20 5b 24 6f 70 20 24 74 65 78 74 20 end.+.1c"]"..set.pos.[$op.$text.
2f2e0 30 5d 0d 09 69 66 20 7b 24 70 6f 73 20 3e 3d 20 30 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 0]..if.{$pos.>=.0}.{......return
2f300 20 5b 24 77 20 69 6e 64 65 78 20 22 24 73 74 61 72 74 20 2b 20 24 70 6f 73 20 63 22 5d 0d 09 7d .[$w.index."$start.+.$pos.c"]..}
2f320 0d 09 73 65 74 20 63 75 72 20 5b 24 77 20 69 6e 64 65 78 20 22 24 63 75 72 20 6c 69 6e 65 65 6e ..set.cur.[$w.index."$cur.lineen
2f340 64 20 2b 31 63 22 5d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 65 6e 64 0d 7d 0d 0d d.+1c"].....}.....return.end.}..
2f360 23 20 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 2d 2d 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 #.tkTextPrevPos.--.#.Returns.the
2f380 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 6f 73 69 74 69 6f 6e 20 .index.of.the.previous.position.
2f3a0 62 65 66 6f 72 65 20 74 68 65 20 67 69 76 65 6e 20 73 74 61 72 74 69 6e 67 0d 23 20 70 6f 73 69 before.the.given.starting.#.posi
2f3c0 74 69 6f 6e 20 69 6e 20 74 68 65 20 74 65 78 74 20 61 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 tion.in.the.text.as.computed.by.
2f3e0 61 20 73 70 65 63 69 66 69 65 64 20 66 75 6e 63 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 a.specified.function..#.#.Argume
2f400 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 nts:.#.w.-..The.text.window.in.w
2f420 68 69 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 65 2e 0d 23 20 73 74 hich.the.cursor.is.to.move..#.st
2f440 61 72 74 20 2d 09 50 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 68 20 74 6f 20 73 74 61 72 74 art.-.Position.at.which.to.start
2f460 20 73 65 61 72 63 68 2e 0d 23 20 6f 70 20 2d 09 09 46 75 6e 63 74 69 6f 6e 20 74 6f 20 75 73 65 .search..#.op.-..Function.to.use
2f480 20 74 6f 20 66 69 6e 64 20 6e 65 78 74 20 70 6f 73 69 74 69 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b .to.find.next.position...proc.tk
2f4a0 54 65 78 74 50 72 65 76 50 6f 73 20 7b 77 20 73 74 61 72 74 20 6f 70 7d 20 7b 0d 20 20 20 20 73 TextPrevPos.{w.start.op}.{.....s
2f4c0 65 74 20 74 65 78 74 20 22 22 0d 20 20 20 20 73 65 74 20 63 75 72 20 24 73 74 61 72 74 0d 20 20 et.text."".....set.cur.$start...
2f4e0 20 20 77 68 69 6c 65 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 63 75 72 20 3e 20 30 2e 30 5d ..while.{[$w.compare.$cur.>.0.0]
2f500 7d 20 7b 0d 09 73 65 74 20 74 65 78 74 20 22 5b 24 77 20 67 65 74 20 22 24 63 75 72 20 6c 69 6e }.{..set.text."[$w.get."$cur.lin
2f520 65 73 74 61 72 74 20 2d 20 31 63 22 20 24 63 75 72 5d 24 74 65 78 74 22 0d 09 73 65 74 20 70 6f estart.-.1c".$cur]$text"..set.po
2f540 73 20 5b 24 6f 70 20 24 74 65 78 74 20 65 6e 64 5d 0d 09 69 66 20 7b 24 70 6f 73 20 3e 3d 20 30 s.[$op.$text.end]..if.{$pos.>=.0
2f560 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 24 77 20 69 6e 64 65 78 20 22 24 63 75 72 20 }.{......return.[$w.index."$cur.
2f580 6c 69 6e 65 73 74 61 72 74 20 2d 20 31 63 20 2b 20 24 70 6f 73 20 63 22 5d 0d 09 7d 0d 09 73 65 linestart.-.1c.+.$pos.c"]..}..se
2f5a0 74 20 63 75 72 20 5b 24 77 20 69 6e 64 65 78 20 22 24 63 75 72 20 6c 69 6e 65 73 74 61 72 74 20 t.cur.[$w.index."$cur.linestart.
2f5c0 2d 20 31 63 22 5d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 30 2e 30 0d 7d 0d 0d 00 -.1c"].....}.....return.0.0.}...
2f5e0 00 0d 89 23 20 62 67 65 72 72 6f 72 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c ...#.bgerror.tcl.--.#.#.This.fil
2f600 65 20 63 6f 6e 74 61 69 6e 73 20 61 20 64 65 66 61 75 6c 74 20 76 65 72 73 69 6f 6e 20 6f 66 20 e.contains.a.default.version.of.
2f620 74 68 65 20 62 67 65 72 72 6f 72 20 70 72 6f 63 65 64 75 72 65 2e 20 20 49 74 0d 23 20 70 6f 73 the.bgerror.procedure...It.#.pos
2f640 74 73 20 61 20 64 69 61 6c 6f 67 20 62 6f 78 20 77 69 74 68 20 74 68 65 20 65 72 72 6f 72 20 6d ts.a.dialog.box.with.the.error.m
2f660 65 73 73 61 67 65 20 61 6e 64 20 67 69 76 65 73 20 74 68 65 20 75 73 65 72 20 61 20 63 68 61 6e essage.and.gives.the.user.a.chan
2f680 63 65 0d 23 20 74 6f 20 73 65 65 20 61 20 6d 6f 72 65 20 64 65 74 61 69 6c 65 64 20 73 74 61 63 ce.#.to.see.a.more.detailed.stac
2f6a0 6b 20 74 72 61 63 65 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 62 67 65 72 72 6f 72 2e k.trace..#.#.SCCS:.@(#).bgerror.
2f6c0 74 63 6c 20 31 2e 31 36 20 39 37 2f 30 38 2f 30 36 20 30 39 3a 31 39 3a 35 30 0d 23 0d 23 20 43 tcl.1.16.97/08/06.09:19:50.#.#.C
2f6e0 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 32 2d 31 39 39 34 20 54 68 65 20 52 65 67 65 6e opyright.(c).1992-1994.The.Regen
2f700 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e ts.of.the.University.of.Californ
2f720 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 36 20 53 75 ia..#.Copyright.(c).1994-1996.Su
2f740 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 n.Microsystems,.Inc..#.#.See.the
2f760 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d .file."license.terms".for.inform
2f780 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f ation.on.usage.and.redistributio
2f7a0 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 n.#.of.this.file,.and.for.a.DISC
2f7c0 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 0d 0d 23 20 62 67 LAIMER.OF.ALL.WARRANTIES....#.bg
2f7e0 65 72 72 6f 72 20 2d 2d 0d 23 20 54 68 69 73 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 error.--.#.This.is.the.default.v
2f800 65 72 73 69 6f 6e 20 6f 66 20 62 67 65 72 72 6f 72 2e 20 0d 23 20 49 74 20 74 72 69 65 73 20 74 ersion.of.bgerror...#.It.tries.t
2f820 6f 20 65 78 65 63 75 74 65 20 74 6b 65 72 72 6f 72 2c 20 69 66 20 74 68 61 74 20 66 61 69 6c 73 o.execute.tkerror,.if.that.fails
2f840 20 69 74 20 70 6f 73 74 73 20 61 20 64 69 61 6c 6f 67 20 62 6f 78 20 63 6f 6e 74 61 69 6e 69 6e .it.posts.a.dialog.box.containin
2f860 67 0d 23 20 74 68 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 69 76 65 73 20 g.#.the.error.message.and.gives.
2f880 74 68 65 20 75 73 65 72 20 61 20 63 68 61 6e 63 65 20 74 6f 20 61 73 6b 20 74 6f 20 73 65 65 20 the.user.a.chance.to.ask.to.see.
2f8a0 61 20 73 74 61 63 6b 0d 23 20 74 72 61 63 65 2e 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 a.stack.#.trace..#.Arguments:.#.
2f8c0 65 72 72 20 2d 09 09 09 54 68 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 0d 0d 70 72 6f 63 err.-...The.error.message...proc
2f8e0 20 62 67 65 72 72 6f 72 20 65 72 72 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 49 .bgerror.err.{.....global.errorI
2f900 6e 66 6f 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 23 20 73 61 76 65 20 65 72 72 nfo.tcl_platform......#.save.err
2f920 6f 72 49 6e 66 6f 20 77 68 69 63 68 20 77 6f 75 6c 64 20 62 65 20 65 72 61 73 65 64 20 69 6e 20 orInfo.which.would.be.erased.in.
2f940 74 68 65 20 63 61 74 63 68 20 62 65 6c 6f 77 20 6f 74 68 65 72 77 69 73 65 2e 0d 20 20 20 20 73 the.catch.below.otherwise......s
2f960 65 74 20 69 6e 66 6f 20 24 65 72 72 6f 72 49 6e 66 6f 20 3b 0d 0d 20 20 20 20 23 20 46 6f 72 20 et.info.$errorInfo.;......#.For.
2f980 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 3a 0d 20 20 20 20 23 20 4c backward.compatibility.:.....#.L
2f9a0 65 74 27 73 20 74 72 79 20 74 6f 20 65 78 65 63 75 74 65 20 22 74 6b 65 72 72 6f 72 22 20 28 75 et's.try.to.execute."tkerror".(u
2f9c0 73 69 6e 67 20 63 61 74 63 68 20 7b 74 6b 65 72 72 6f 72 20 2e 2e 2e 7d 20 0d 20 20 20 20 23 20 sing.catch.{tkerror....}......#.
2f9e0 69 6e 73 74 65 61 64 20 6f 66 20 73 65 61 72 63 68 69 6e 67 20 69 74 20 77 69 74 68 20 69 6e 66 instead.of.searching.it.with.inf
2fa00 6f 20 70 72 6f 63 73 20 73 6f 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 67 65 74 73 0d o.procs.so.the.application.gets.
2fa20 20 20 20 20 23 20 61 20 63 68 61 6e 63 65 20 74 6f 20 61 75 74 6f 20 6c 6f 61 64 20 69 74 20 75 ....#.a.chance.to.auto.load.it.u
2fa40 73 69 6e 67 20 69 74 73 20 66 61 76 6f 72 69 74 65 20 22 75 6e 6b 6e 6f 77 6e 22 20 6d 65 63 61 sing.its.favorite."unknown".meca
2fa60 6e 69 73 6d 2e 0d 20 20 20 20 23 20 28 77 65 20 64 6f 20 74 68 65 20 64 65 66 61 75 6c 74 20 64 nism......#.(we.do.the.default.d
2fa80 69 61 6c 6f 67 20 6f 6e 6c 79 20 69 66 20 77 65 20 67 65 74 20 61 20 54 43 4c 5f 45 52 52 4f 52 ialog.only.if.we.get.a.TCL_ERROR
2faa0 20 28 3d 31 29 20 72 65 74 75 72 6e 0d 20 20 20 20 23 20 20 63 6f 64 65 20 66 72 6f 6d 20 74 68 .(=1).return.....#..code.from.th
2fac0 65 20 74 6b 65 72 72 6f 72 20 74 72 69 61 6c 2c 20 6f 74 68 65 72 20 72 65 74 20 63 6f 64 65 73 e.tkerror.trial,.other.ret.codes
2fae0 20 61 72 65 20 70 61 73 73 65 64 20 62 61 63 6b 0d 20 20 20 20 23 20 20 74 6f 20 6f 75 72 20 63 .are.passed.back.....#..to.our.c
2fb00 61 6c 6c 65 72 20 28 74 63 6c 20 62 61 63 6b 67 72 6f 75 6e 64 20 65 72 72 6f 72 20 68 61 6e 64 aller.(tcl.background.error.hand
2fb20 6c 65 72 29 20 73 6f 20 74 68 65 20 63 61 6c 6c 65 64 20 22 74 6b 65 72 72 6f 72 22 0d 20 20 20 ler).so.the.called."tkerror"....
2fb40 20 23 20 20 63 61 6e 20 73 74 69 6c 6c 20 75 73 65 20 20 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 .#..can.still.use..return.-code.
2fb60 62 72 65 61 6b 2c 20 74 6f 20 73 6b 69 70 20 72 65 6d 61 69 6e 69 6e 67 20 6d 65 73 73 61 67 65 break,.to.skip.remaining.message
2fb80 73 0d 20 20 20 20 23 20 20 69 6e 20 74 68 65 20 65 72 72 6f 72 20 71 75 65 75 65 20 66 6f 72 20 s.....#..in.the.error.queue.for.
2fba0 69 6e 73 74 61 6e 63 65 29 20 20 2d 2d 20 64 6c 0d 20 20 20 20 73 65 74 20 72 65 74 20 5b 63 61 instance)..--.dl.....set.ret.[ca
2fbc0 74 63 68 20 7b 74 6b 65 72 72 6f 72 20 24 65 72 72 7d 20 6d 73 67 5d 3b 0d 20 20 20 20 69 66 20 tch.{tkerror.$err}.msg];.....if.
2fbe0 7b 24 72 65 74 20 21 3d 20 31 7d 20 7b 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 24 72 65 74 20 24 {$ret.!=.1}.{return.-code.$ret.$
2fc00 6d 73 67 7d 0d 0d 20 20 20 20 23 20 4f 6b 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 27 73 msg}......#.Ok.the.application's
2fc20 20 74 6b 65 72 72 6f 72 20 65 69 74 68 65 72 20 66 61 69 6c 65 64 20 6f 72 20 77 61 73 20 6e 6f .tkerror.either.failed.or.was.no
2fc40 74 20 66 6f 75 6e 64 0d 20 20 20 20 23 20 77 65 20 75 73 65 20 74 68 65 20 64 65 66 61 75 6c 74 t.found.....#.we.use.the.default
2fc60 20 64 69 61 6c 6f 67 20 74 68 65 6e 20 3a 0d 20 20 20 20 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 .dialog.then.:.....if.{$tcl_plat
2fc80 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b form(platform).==."macintosh"}.{
2fca0 0d 09 73 65 74 20 6f 6b 20 4f 6b 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 6f 6b ..set.ok.Ok.....}.else.{..set.ok
2fcc0 20 4f 4b 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 62 75 74 74 6f 6e 20 5b 74 6b 5f 64 69 61 .OK.....}.....set.button.[tk_dia
2fce0 6c 6f 67 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 20 22 45 72 72 6f 72 20 69 6e 20 54 63 6c log..bgerrorDialog."Error.in.Tcl
2fd00 20 53 63 72 69 70 74 22 20 5c 0d 09 20 20 20 20 22 45 72 72 6f 72 3a 20 24 65 72 72 22 20 65 72 .Script".\......"Error:.$err".er
2fd20 72 6f 72 20 30 20 24 6f 6b 20 22 53 6b 69 70 20 4d 65 73 73 61 67 65 73 22 20 22 53 74 61 63 6b ror.0.$ok."Skip.Messages"."Stack
2fd40 20 54 72 61 63 65 22 5d 0d 20 20 20 20 69 66 20 7b 24 62 75 74 74 6f 6e 20 3d 3d 20 30 7d 20 7b .Trace"].....if.{$button.==.0}.{
2fd60 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 62 75 74 74 6f 6e 20 3d ..return.....}.elseif.{$button.=
2fd80 3d 20 31 7d 20 7b 0d 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 62 72 65 61 6b 0d 20 20 20 20 7d =.1}.{..return.-code.break.....}
2fda0 0d 0d 20 20 20 20 73 65 74 20 77 20 2e 62 67 65 72 72 6f 72 54 72 61 63 65 0d 20 20 20 20 63 61 ......set.w..bgerrorTrace.....ca
2fdc0 74 63 68 20 7b 64 65 73 74 72 6f 79 20 24 77 7d 0d 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 24 77 tch.{destroy.$w}.....toplevel.$w
2fde0 20 2d 63 6c 61 73 73 20 45 72 72 6f 72 54 72 61 63 65 0d 20 20 20 20 77 6d 20 6d 69 6e 73 69 7a .-class.ErrorTrace.....wm.minsiz
2fe00 65 20 24 77 20 31 20 31 0d 20 20 20 20 77 6d 20 74 69 74 6c 65 20 24 77 20 22 53 74 61 63 6b 20 e.$w.1.1.....wm.title.$w."Stack.
2fe20 54 72 61 63 65 20 66 6f 72 20 45 72 72 6f 72 22 0d 20 20 20 20 77 6d 20 69 63 6f 6e 6e 61 6d 65 Trace.for.Error".....wm.iconname
2fe40 20 24 77 20 22 53 74 61 63 6b 20 54 72 61 63 65 22 0d 20 20 20 20 62 75 74 74 6f 6e 20 24 77 2e .$w."Stack.Trace".....button.$w.
2fe60 6f 6b 20 2d 74 65 78 74 20 4f 4b 20 2d 63 6f 6d 6d 61 6e 64 20 22 64 65 73 74 72 6f 79 20 24 77 ok.-text.OK.-command."destroy.$w
2fe80 22 20 2d 64 65 66 61 75 6c 74 20 61 63 74 69 76 65 0d 20 20 20 20 69 66 20 7b 24 74 63 6c 5f 70 ".-default.active.....if.{$tcl_p
2fea0 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 latform(platform).==."macintosh"
2fec0 7d 20 7b 0d 20 20 20 20 20 20 74 65 78 74 20 24 77 2e 74 65 78 74 20 2d 72 65 6c 69 65 66 20 66 }.{.......text.$w.text.-relief.f
2fee0 6c 61 74 20 2d 62 64 20 32 20 2d 68 69 67 68 6c 69 67 68 74 74 68 69 63 6b 6e 65 73 73 20 30 20 lat.-bd.2.-highlightthickness.0.
2ff00 2d 73 65 74 67 72 69 64 20 74 72 75 65 20 5c 0d 09 20 20 20 20 2d 79 73 63 72 6f 6c 6c 63 6f 6d -setgrid.true.\......-yscrollcom
2ff20 6d 61 6e 64 20 22 24 77 2e 73 63 72 6f 6c 6c 20 73 65 74 22 20 2d 77 69 64 74 68 20 36 30 20 2d mand."$w.scroll.set".-width.60.-
2ff40 68 65 69 67 68 74 20 32 30 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 20 20 20 20 20 20 74 65 78 height.20.....}.else.{.......tex
2ff60 74 20 24 77 2e 74 65 78 74 20 2d 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e 20 2d 62 64 20 32 20 2d t.$w.text.-relief.sunken.-bd.2.-
2ff80 79 73 63 72 6f 6c 6c 63 6f 6d 6d 61 6e 64 20 22 24 77 2e 73 63 72 6f 6c 6c 20 73 65 74 22 20 5c yscrollcommand."$w.scroll.set".\
2ffa0 0d 09 20 20 20 20 2d 73 65 74 67 72 69 64 20 74 72 75 65 20 2d 77 69 64 74 68 20 36 30 20 2d 68 ......-setgrid.true.-width.60.-h
2ffc0 65 69 67 68 74 20 32 30 0d 20 20 20 20 7d 0d 20 20 20 20 73 63 72 6f 6c 6c 62 61 72 20 24 77 2e eight.20.....}.....scrollbar.$w.
2ffe0 73 63 72 6f 6c 6c 20 2d 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e 20 2d 63 6f 6d 6d 61 6e 64 20 22 scroll.-relief.sunken.-command."
30000 24 77 2e 74 65 78 74 20 79 76 69 65 77 22 0d 20 20 20 20 70 61 63 6b 20 24 77 2e 6f 6b 20 2d 73 $w.text.yview".....pack.$w.ok.-s
30020 69 64 65 20 62 6f 74 74 6f 6d 20 2d 70 61 64 78 20 33 6d 20 2d 70 61 64 79 20 32 6d 0d 20 20 20 ide.bottom.-padx.3m.-pady.2m....
30040 20 70 61 63 6b 20 24 77 2e 73 63 72 6f 6c 6c 20 2d 73 69 64 65 20 72 69 67 68 74 20 2d 66 69 6c .pack.$w.scroll.-side.right.-fil
30060 6c 20 79 0d 20 20 20 20 70 61 63 6b 20 24 77 2e 74 65 78 74 20 2d 73 69 64 65 20 6c 65 66 74 20 l.y.....pack.$w.text.-side.left.
30080 2d 65 78 70 61 6e 64 20 79 65 73 20 2d 66 69 6c 6c 20 62 6f 74 68 0d 20 20 20 20 24 77 2e 74 65 -expand.yes.-fill.both.....$w.te
300a0 78 74 20 69 6e 73 65 72 74 20 30 2e 30 20 24 69 6e 66 6f 0d 20 20 20 20 24 77 2e 74 65 78 74 20 xt.insert.0.0.$info.....$w.text.
300c0 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 30 2e 30 0d 0d 20 20 20 20 62 69 6e 64 20 24 77 mark.set.insert.0.0......bind.$w
300e0 20 3c 52 65 74 75 72 6e 3e 20 22 64 65 73 74 72 6f 79 20 24 77 22 0d 20 20 20 20 62 69 6e 64 20 .<Return>."destroy.$w".....bind.
30100 24 77 2e 74 65 78 74 20 3c 52 65 74 75 72 6e 3e 20 22 64 65 73 74 72 6f 79 20 24 77 3b 20 62 72 $w.text.<Return>."destroy.$w;.br
30120 65 61 6b 22 0d 0d 20 20 20 20 23 20 43 65 6e 74 65 72 20 74 68 65 20 77 69 6e 64 6f 77 20 6f 6e eak"......#.Center.the.window.on
30140 20 74 68 65 20 73 63 72 65 65 6e 2e 0d 0d 20 20 20 20 77 6d 20 77 69 74 68 64 72 61 77 20 24 77 .the.screen.......wm.withdraw.$w
30160 0d 20 20 20 20 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 20 20 20 20 73 65 74 20 78 20 .....update.idletasks.....set.x.
30180 5b 65 78 70 72 20 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 77 69 64 74 68 20 24 77 5d 2f 32 20 2d [expr.[winfo.screenwidth.$w]/2.-
301a0 20 5b 77 69 6e 66 6f 20 72 65 71 77 69 64 74 68 20 24 77 5d 2f 32 20 5c 0d 09 20 20 20 20 2d 20 .[winfo.reqwidth.$w]/2.\......-.
301c0 5b 77 69 6e 66 6f 20 76 72 6f 6f 74 78 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 5d [winfo.vrootx.[winfo.parent.$w]]
301e0 5d 0d 20 20 20 20 73 65 74 20 79 20 5b 65 78 70 72 20 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 68 ].....set.y.[expr.[winfo.screenh
30200 65 69 67 68 74 20 24 77 5d 2f 32 20 2d 20 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 eight.$w]/2.-.[winfo.reqheight.$
30220 77 5d 2f 32 20 5c 0d 09 20 20 20 20 2d 20 5b 77 69 6e 66 6f 20 76 72 6f 6f 74 79 20 5b 77 69 6e w]/2.\......-.[winfo.vrooty.[win
30240 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 5d 5d 0d 20 20 20 20 77 6d 20 67 65 6f 6d 20 24 77 20 2b fo.parent.$w]]].....wm.geom.$w.+
30260 24 78 2b 24 79 0d 20 20 20 20 77 6d 20 64 65 69 63 6f 6e 69 66 79 20 24 77 0d 0d 20 20 20 20 23 $x+$y.....wm.deiconify.$w......#
30280 20 42 65 20 73 75 72 65 20 74 6f 20 72 65 6c 65 61 73 65 20 61 6e 79 20 67 72 61 62 73 20 74 68 .Be.sure.to.release.any.grabs.th
302a0 61 74 20 6d 69 67 68 74 20 62 65 20 70 72 65 73 65 6e 74 20 6f 6e 20 74 68 65 0d 20 20 20 20 23 at.might.be.present.on.the.....#
302c0 20 73 63 72 65 65 6e 2c 20 73 69 6e 63 65 20 74 68 65 79 20 63 6f 75 6c 64 20 6d 61 6b 65 20 69 .screen,.since.they.could.make.i
302e0 74 20 69 6d 70 6f 73 73 69 62 6c 65 20 66 6f 72 20 74 68 65 20 75 73 65 72 0d 20 20 20 20 23 20 t.impossible.for.the.user.....#.
30300 74 6f 20 69 6e 74 65 72 61 63 74 20 77 69 74 68 20 74 68 65 20 73 74 61 63 6b 20 74 72 61 63 65 to.interact.with.the.stack.trace
30320 2e 0d 0d 20 20 20 20 69 66 20 7b 5b 67 72 61 62 20 63 75 72 72 65 6e 74 20 2e 5d 20 21 3d 20 22 .......if.{[grab.current..].!=."
30340 22 7d 20 7b 0d 09 67 72 61 62 20 72 65 6c 65 61 73 65 20 5b 67 72 61 62 20 63 75 72 72 65 6e 74 "}.{..grab.release.[grab.current
30360 20 2e 5d 0d 20 20 20 20 7d 0d 7d 0d 00 00 2f 3f 23 20 63 6f 6e 73 6f 6c 65 2e 74 63 6c 20 2d 2d ..].....}.}.../?#.console.tcl.--
30380 0d 23 0d 23 20 54 68 69 73 20 63 6f 64 65 20 63 6f 6e 73 74 72 75 63 74 73 20 74 68 65 20 63 6f .#.#.This.code.constructs.the.co
303a0 6e 73 6f 6c 65 20 77 69 6e 64 6f 77 20 66 6f 72 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e nsole.window.for.an.application.
303c0 20 20 49 74 0d 23 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 79 20 6e 6f 6e 2d 75 6e 69 78 20 73 ..It.#.can.be.used.by.non-unix.s
303e0 79 73 74 65 6d 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 62 75 69 6c 74 2d 69 6e ystems.that.do.not.have.built-in
30400 20 73 75 70 70 6f 72 74 0d 23 20 66 6f 72 20 73 68 65 6c 6c 73 2e 0d 23 0d 23 20 53 43 43 53 3a .support.#.for.shells..#.#.SCCS:
30420 20 40 28 23 29 20 63 6f 6e 73 6f 6c 65 2e 74 63 6c 20 31 2e 34 35 20 39 37 2f 30 39 2f 31 37 20 .@(#).console.tcl.1.45.97/09/17.
30440 31 36 3a 35 32 3a 34 30 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 35 2d 16:52:40.#.#.Copyright.(c).1995-
30460 31 39 39 37 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 1997.Sun.Microsystems,.Inc..#.#.
30480 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 See.the.file."license.terms".for
304a0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 .information.on.usage.and.redist
304c0 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 ribution.#.of.this.file,.and.for
304e0 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e .a.DISCLAIMER.OF.ALL.WARRANTIES.
30500 0d 23 0d 0d 23 20 54 4f 44 4f 3a 20 68 69 73 74 6f 72 79 20 2d 20 72 65 6d 65 6d 62 65 72 20 70 .#..#.TODO:.history.-.remember.p
30520 61 72 74 69 61 6c 6c 79 20 77 72 69 74 74 65 6e 20 63 6f 6d 6d 61 6e 64 0d 0d 23 20 74 6b 43 6f artially.written.command..#.tkCo
30540 6e 73 6f 6c 65 49 6e 69 74 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 63 6f nsoleInit.--.#.This.procedure.co
30560 6e 73 74 72 75 63 74 73 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 65 73 20 74 68 65 20 63 6f 6e 73 nstructs.and.configures.the.cons
30580 6f 6c 65 20 77 69 6e 64 6f 77 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 09 4e ole.windows..#.#.Arguments:.#..N
305a0 6f 6e 65 2e 0d 0d 70 72 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 49 6e 69 74 20 7b 7d 20 7b 0d 20 20 one...proc.tkConsoleInit.{}.{...
305c0 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 69 66 20 7b 21 ..global.tcl_platform......if.{!
305e0 20 5b 63 6f 6e 73 6f 6c 65 69 6e 74 65 72 70 20 65 76 61 6c 20 7b 73 65 74 20 74 63 6c 5f 69 6e .[consoleinterp.eval.{set.tcl_in
30600 74 65 72 61 63 74 69 76 65 7d 5d 7d 20 7b 0d 09 77 6d 20 77 69 74 68 64 72 61 77 20 2e 0d 20 20 teractive}]}.{..wm.withdraw.....
30620 20 20 7d 0d 0d 20 20 20 20 69 66 20 7b 22 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 ..}......if.{"$tcl_platform(plat
30640 66 6f 72 6d 29 22 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 73 65 74 20 6d 6f form)".==."macintosh"}.{..set.mo
30660 64 20 22 43 6d 64 22 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 6d 6f 64 20 22 43 d."Cmd".....}.else.{..set.mod."C
30680 74 72 6c 22 0d 20 20 20 20 7d 0d 0d 20 20 20 20 6d 65 6e 75 20 2e 6d 65 6e 75 62 61 72 0d 20 20 trl".....}......menu..menubar...
306a0 20 20 2e 6d 65 6e 75 62 61 72 20 61 64 64 20 63 61 73 63 61 64 65 20 2d 6c 61 62 65 6c 20 46 69 ...menubar.add.cascade.-label.Fi
306c0 6c 65 20 2d 6d 65 6e 75 20 2e 6d 65 6e 75 62 61 72 2e 66 69 6c 65 20 2d 75 6e 64 65 72 6c 69 6e le.-menu..menubar.file.-underlin
306e0 65 20 30 0d 20 20 20 20 2e 6d 65 6e 75 62 61 72 20 61 64 64 20 63 61 73 63 61 64 65 20 2d 6c 61 e.0......menubar.add.cascade.-la
30700 62 65 6c 20 45 64 69 74 20 2d 6d 65 6e 75 20 2e 6d 65 6e 75 62 61 72 2e 65 64 69 74 20 2d 75 6e bel.Edit.-menu..menubar.edit.-un
30720 64 65 72 6c 69 6e 65 20 30 0d 0d 20 20 20 20 6d 65 6e 75 20 2e 6d 65 6e 75 62 61 72 2e 66 69 6c derline.0......menu..menubar.fil
30740 65 20 2d 74 65 61 72 6f 66 66 20 30 0d 20 20 20 20 2e 6d 65 6e 75 62 61 72 2e 66 69 6c 65 20 61 e.-tearoff.0......menubar.file.a
30760 64 64 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 53 6f 75 72 63 65 2e 2e 2e 22 20 2d 75 dd.command.-label."Source...".-u
30780 6e 64 65 72 6c 69 6e 65 20 30 20 5c 0d 09 2d 63 6f 6d 6d 61 6e 64 20 74 6b 43 6f 6e 73 6f 6c 65 nderline.0.\..-command.tkConsole
307a0 53 6f 75 72 63 65 0d 20 20 20 20 2e 6d 65 6e 75 62 61 72 2e 66 69 6c 65 20 61 64 64 20 63 6f 6d Source......menubar.file.add.com
307c0 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 48 69 64 65 20 43 6f 6e 73 6f 6c 65 22 20 2d 75 6e 64 65 mand.-label."Hide.Console".-unde
307e0 72 6c 69 6e 65 20 30 20 5c 0d 09 2d 63 6f 6d 6d 61 6e 64 20 7b 77 6d 20 77 69 74 68 64 72 61 77 rline.0.\..-command.{wm.withdraw
30800 20 2e 7d 0d 20 20 20 20 69 66 20 7b 22 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 ..}.....if.{"$tcl_platform(platf
30820 6f 72 6d 29 22 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 2e 6d 65 6e 75 62 61 orm)".==."macintosh"}.{...menuba
30840 72 2e 66 69 6c 65 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 51 75 69 74 22 r.file.add.command.-label."Quit"
30860 20 2d 63 6f 6d 6d 61 6e 64 20 65 78 69 74 20 2d 61 63 63 65 6c 20 43 6d 64 2d 51 0d 20 20 20 20 .-command.exit.-accel.Cmd-Q.....
30880 7d 20 65 6c 73 65 20 7b 0d 09 2e 6d 65 6e 75 62 61 72 2e 66 69 6c 65 20 61 64 64 20 63 6f 6d 6d }.else.{...menubar.file.add.comm
308a0 61 6e 64 20 2d 6c 61 62 65 6c 20 22 45 78 69 74 22 20 2d 75 6e 64 65 72 6c 69 6e 65 20 31 20 2d and.-label."Exit".-underline.1.-
308c0 63 6f 6d 6d 61 6e 64 20 65 78 69 74 0d 20 20 20 20 7d 0d 0d 20 20 20 20 6d 65 6e 75 20 2e 6d 65 command.exit.....}......menu..me
308e0 6e 75 62 61 72 2e 65 64 69 74 20 2d 74 65 61 72 6f 66 66 20 30 0d 20 20 20 20 2e 6d 65 6e 75 62 nubar.edit.-tearoff.0......menub
30900 61 72 2e 65 64 69 74 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 43 75 74 22 ar.edit.add.command.-label."Cut"
30920 20 2d 75 6e 64 65 72 6c 69 6e 65 20 32 20 5c 0d 09 2d 63 6f 6d 6d 61 6e 64 20 7b 20 65 76 65 6e .-underline.2.\..-command.{.even
30940 74 20 67 65 6e 65 72 61 74 65 20 2e 63 6f 6e 73 6f 6c 65 20 3c 3c 43 75 74 3e 3e 20 7d 20 2d 61 t.generate..console.<<Cut>>.}.-a
30960 63 63 65 6c 20 22 24 6d 6f 64 2b 58 22 0d 20 20 20 20 2e 6d 65 6e 75 62 61 72 2e 65 64 69 74 20 ccel."$mod+X"......menubar.edit.
30980 61 64 64 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 43 6f 70 79 22 20 2d 75 6e 64 65 72 add.command.-label."Copy".-under
309a0 6c 69 6e 65 20 30 20 5c 0d 09 2d 63 6f 6d 6d 61 6e 64 20 7b 20 65 76 65 6e 74 20 67 65 6e 65 72 line.0.\..-command.{.event.gener
309c0 61 74 65 20 2e 63 6f 6e 73 6f 6c 65 20 3c 3c 43 6f 70 79 3e 3e 20 7d 20 2d 61 63 63 65 6c 20 22 ate..console.<<Copy>>.}.-accel."
309e0 24 6d 6f 64 2b 43 22 0d 20 20 20 20 2e 6d 65 6e 75 62 61 72 2e 65 64 69 74 20 61 64 64 20 63 6f $mod+C"......menubar.edit.add.co
30a00 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 50 61 73 74 65 22 20 2d 75 6e 64 65 72 6c 69 6e 65 20 mmand.-label."Paste".-underline.
30a20 31 20 5c 0d 09 2d 63 6f 6d 6d 61 6e 64 20 7b 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 2e 1.\..-command.{.event.generate..
30a40 63 6f 6e 73 6f 6c 65 20 3c 3c 50 61 73 74 65 3e 3e 20 7d 20 2d 61 63 63 65 6c 20 22 24 6d 6f 64 console.<<Paste>>.}.-accel."$mod
30a60 2b 56 22 0d 0d 20 20 20 20 69 66 20 7b 22 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 +V"......if.{"$tcl_platform(plat
30a80 66 6f 72 6d 29 22 20 3d 3d 20 22 77 69 6e 64 6f 77 73 22 7d 20 7b 0d 09 2e 6d 65 6e 75 62 61 72 form)".==."windows"}.{...menubar
30aa0 2e 65 64 69 74 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 44 65 6c 65 74 65 .edit.add.command.-label."Delete
30ac0 22 20 2d 75 6e 64 65 72 6c 69 6e 65 20 30 20 5c 0d 09 20 20 20 20 2d 63 6f 6d 6d 61 6e 64 20 7b ".-underline.0.\......-command.{
30ae0 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 2e 63 6f 6e 73 6f 6c 65 20 3c 3c 43 6c 65 61 72 .event.generate..console.<<Clear
30b00 3e 3e 20 7d 20 2d 61 63 63 65 6c 20 22 44 65 6c 22 0d 0d 09 2e 6d 65 6e 75 62 61 72 20 61 64 64 >>.}.-accel."Del"....menubar.add
30b20 20 63 61 73 63 61 64 65 20 2d 6c 61 62 65 6c 20 48 65 6c 70 20 2d 6d 65 6e 75 20 2e 6d 65 6e 75 .cascade.-label.Help.-menu..menu
30b40 62 61 72 2e 68 65 6c 70 20 2d 75 6e 64 65 72 6c 69 6e 65 20 30 0d 09 6d 65 6e 75 20 2e 6d 65 6e bar.help.-underline.0..menu..men
30b60 75 62 61 72 2e 68 65 6c 70 20 2d 74 65 61 72 6f 66 66 20 30 0d 09 2e 6d 65 6e 75 62 61 72 2e 68 ubar.help.-tearoff.0...menubar.h
30b80 65 6c 70 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 41 62 6f 75 74 2e 2e 2e elp.add.command.-label."About...
30ba0 22 20 2d 75 6e 64 65 72 6c 69 6e 65 20 30 20 5c 0d 09 20 20 20 20 2d 63 6f 6d 6d 61 6e 64 20 74 ".-underline.0.\......-command.t
30bc0 6b 43 6f 6e 73 6f 6c 65 41 62 6f 75 74 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 2e 6d 65 6e kConsoleAbout.....}.else.{...men
30be0 75 62 61 72 2e 65 64 69 74 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 43 6c ubar.edit.add.command.-label."Cl
30c00 65 61 72 22 20 2d 75 6e 64 65 72 6c 69 6e 65 20 32 20 5c 0d 09 20 20 20 20 2d 63 6f 6d 6d 61 6e ear".-underline.2.\......-comman
30c20 64 20 7b 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 2e 63 6f 6e 73 6f 6c 65 20 3c 3c 43 6c d.{.event.generate..console.<<Cl
30c40 65 61 72 3e 3e 20 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 2e 20 63 6f 6e 66 20 2d 6d 65 6e 75 20 ear>>.}.....}........conf.-menu.
30c60 2e 6d 65 6e 75 62 61 72 0d 0d 20 20 20 20 74 65 78 74 20 2e 63 6f 6e 73 6f 6c 65 20 20 2d 79 73 .menubar......text..console..-ys
30c80 63 72 6f 6c 6c 63 6f 6d 6d 61 6e 64 20 22 2e 73 62 20 73 65 74 22 20 2d 73 65 74 67 72 69 64 20 crollcommand.".sb.set".-setgrid.
30ca0 74 72 75 65 20 0d 20 20 20 20 73 63 72 6f 6c 6c 62 61 72 20 2e 73 62 20 2d 63 6f 6d 6d 61 6e 64 true......scrollbar..sb.-command
30cc0 20 22 2e 63 6f 6e 73 6f 6c 65 20 79 76 69 65 77 22 0d 20 20 20 20 70 61 63 6b 20 2e 73 62 20 2d .".console.yview".....pack..sb.-
30ce0 73 69 64 65 20 72 69 67 68 74 20 2d 66 69 6c 6c 20 62 6f 74 68 0d 20 20 20 20 70 61 63 6b 20 2e side.right.-fill.both.....pack..
30d00 63 6f 6e 73 6f 6c 65 20 2d 66 69 6c 6c 20 62 6f 74 68 20 2d 65 78 70 61 6e 64 20 31 20 2d 73 69 console.-fill.both.-expand.1.-si
30d20 64 65 20 6c 65 66 74 0d 20 20 20 20 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c de.left.....if.{$tcl_platform(pl
30d40 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 20 20 20 20 20 20 atform).==."macintosh"}.{.......
30d60 20 20 2e 63 6f 6e 73 6f 6c 65 20 63 6f 6e 66 69 67 75 72 65 20 2d 66 6f 6e 74 20 7b 4d 6f 6e 61 ...console.configure.-font.{Mona
30d80 63 6f 20 39 20 6e 6f 72 6d 61 6c 7d 20 2d 68 69 67 68 6c 69 67 68 74 74 68 69 63 6b 6e 65 73 73 co.9.normal}.-highlightthickness
30da0 20 30 0d 20 20 20 20 7d 0d 0d 20 20 20 20 74 6b 43 6f 6e 73 6f 6c 65 42 69 6e 64 20 2e 63 6f 6e .0.....}......tkConsoleBind..con
30dc0 73 6f 6c 65 0d 0d 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 74 61 67 20 63 6f 6e 66 69 67 75 72 65 sole.......console.tag.configure
30de0 20 73 74 64 65 72 72 20 2d 66 6f 72 65 67 72 6f 75 6e 64 20 72 65 64 0d 20 20 20 20 2e 63 6f 6e .stderr.-foreground.red......con
30e00 73 6f 6c 65 20 74 61 67 20 63 6f 6e 66 69 67 75 72 65 20 73 74 64 69 6e 20 2d 66 6f 72 65 67 72 sole.tag.configure.stdin.-foregr
30e20 6f 75 6e 64 20 62 6c 75 65 0d 0d 20 20 20 20 66 6f 63 75 73 20 2e 63 6f 6e 73 6f 6c 65 0d 20 20 ound.blue......focus..console...
30e40 20 20 0d 20 20 20 20 77 6d 20 70 72 6f 74 6f 63 6f 6c 20 2e 20 57 4d 5f 44 45 4c 45 54 45 5f 57 .......wm.protocol...WM_DELETE_W
30e60 49 4e 44 4f 57 20 7b 20 77 6d 20 77 69 74 68 64 72 61 77 20 2e 20 7d 0d 20 20 20 20 77 6d 20 74 INDOW.{.wm.withdraw...}.....wm.t
30e80 69 74 6c 65 20 2e 20 22 43 6f 6e 73 6f 6c 65 22 0d 20 20 20 20 66 6c 75 73 68 20 73 74 64 6f 75 itle..."Console".....flush.stdou
30ea0 74 0d 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 6d 61 72 6b 20 73 65 74 20 6f 75 74 70 75 74 20 5b t......console.mark.set.output.[
30ec0 2e 63 6f 6e 73 6f 6c 65 20 69 6e 64 65 78 20 22 65 6e 64 20 2d 20 31 20 63 68 61 72 22 5d 0d 20 .console.index."end.-.1.char"]..
30ee0 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 2e 63 6f 6e 73 6f 6c 65 20 65 6e 64 0d ...tkTextSetCursor..console.end.
30f00 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 6d 61 72 6b 20 73 65 74 20 70 72 6f 6d 70 74 45 6e 64 20 .....console.mark.set.promptEnd.
30f20 69 6e 73 65 72 74 0d 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 6d 61 72 6b 20 67 72 61 76 69 74 79 insert......console.mark.gravity
30f40 20 70 72 6f 6d 70 74 45 6e 64 20 6c 65 66 74 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 53 6f .promptEnd.left.}..#.tkConsoleSo
30f60 75 72 63 65 20 2d 2d 0d 23 0d 23 20 50 72 6f 6d 70 74 73 20 74 68 65 20 75 73 65 72 20 66 6f 72 urce.--.#.#.Prompts.the.user.for
30f80 20 61 20 66 69 6c 65 20 74 6f 20 73 6f 75 72 63 65 20 69 6e 20 74 68 65 20 6d 61 69 6e 20 69 6e .a.file.to.source.in.the.main.in
30fa0 74 65 72 70 72 65 74 65 72 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 4e 6f 6e 65 terpreter..#.#.Arguments:.#.None
30fc0 2e 0d 0d 70 72 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 53 6f 75 72 63 65 20 7b 7d 20 7b 0d 20 20 20 ...proc.tkConsoleSource.{}.{....
30fe0 20 73 65 74 20 66 69 6c 65 6e 61 6d 65 20 5b 74 6b 5f 67 65 74 4f 70 65 6e 46 69 6c 65 20 2d 64 .set.filename.[tk_getOpenFile.-d
31000 65 66 61 75 6c 74 65 78 74 65 6e 73 69 6f 6e 20 2e 74 63 6c 20 2d 70 61 72 65 6e 74 20 2e 20 5c efaultextension..tcl.-parent...\
31020 0d 09 09 20 20 20 20 20 20 2d 74 69 74 6c 65 20 22 53 65 6c 65 63 74 20 61 20 66 69 6c 65 20 74 .........-title."Select.a.file.t
31040 6f 20 73 6f 75 72 63 65 22 20 5c 0d 09 09 20 20 20 20 20 20 2d 66 69 6c 65 74 79 70 65 73 20 7b o.source".\.........-filetypes.{
31060 7b 22 54 63 6c 20 53 63 72 69 70 74 73 22 20 2e 74 63 6c 7d 20 7b 22 41 6c 6c 20 46 69 6c 65 73 {"Tcl.Scripts"..tcl}.{"All.Files
31080 22 20 2a 7d 7d 5d 0d 20 20 20 20 69 66 20 7b 22 24 66 69 6c 65 6e 61 6d 65 22 20 21 3d 20 22 22 ".*}}].....if.{"$filename".!=.""
310a0 7d 20 7b 0d 20 20 20 20 09 73 65 74 20 63 6d 64 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 24 66 }.{......set.cmd.[list.source.$f
310c0 69 6c 65 6e 61 6d 65 5d 0d 09 69 66 20 5b 63 61 74 63 68 20 7b 63 6f 6e 73 6f 6c 65 69 6e 74 65 ilename]..if.[catch.{consoleinte
310e0 72 70 20 65 76 61 6c 20 24 63 6d 64 7d 20 72 65 73 75 6c 74 5d 20 7b 0d 09 20 20 20 20 74 6b 43 rp.eval.$cmd}.result].{......tkC
31100 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 20 73 74 64 65 72 72 20 22 24 72 65 73 75 6c 74 5c 6e 22 0d onsoleOutput.stderr."$result\n".
31120 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 49 6e 76 6f 6b 65 20 2d 2d .}.....}.}..#.tkConsoleInvoke.--
31140 0d 23 20 50 72 6f 63 65 73 73 65 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 69 6e .#.Processes.the.command.line.in
31160 70 75 74 2e 20 20 49 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 63 6f 6d 70 6c 65 74 65 put...If.the.command.is.complete
31180 20 69 74 0d 23 20 69 73 20 65 76 61 6c 65 64 20 69 6e 20 74 68 65 20 6d 61 69 6e 20 69 6e 74 65 .it.#.is.evaled.in.the.main.inte
311a0 72 70 72 65 74 65 72 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 63 6f 6e 74 69 6e 75 rpreter...Otherwise,.the.continu
311c0 61 74 69 6f 6e 0d 23 20 70 72 6f 6d 70 74 20 69 73 20 61 64 64 65 64 20 61 6e 64 20 6d 6f 72 65 ation.#.prompt.is.added.and.more
311e0 20 69 6e 70 75 74 20 6d 61 79 20 62 65 20 61 64 64 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e .input.may.be.added..#.#.Argumen
31200 74 73 3a 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 49 6e 76 6f 6b ts:.#.None...proc.tkConsoleInvok
31220 65 20 7b 61 72 67 73 7d 20 7b 0d 20 20 20 20 73 65 74 20 72 61 6e 67 65 73 20 5b 2e 63 6f 6e 73 e.{args}.{.....set.ranges.[.cons
31240 6f 6c 65 20 74 61 67 20 72 61 6e 67 65 73 20 69 6e 70 75 74 5d 0d 20 20 20 20 73 65 74 20 63 6d ole.tag.ranges.input].....set.cm
31260 64 20 22 22 0d 20 20 20 20 69 66 20 7b 24 72 61 6e 67 65 73 20 21 3d 20 22 22 7d 20 7b 0d 09 73 d."".....if.{$ranges.!=.""}.{..s
31280 65 74 20 70 6f 73 20 30 0d 09 77 68 69 6c 65 20 7b 5b 6c 69 6e 64 65 78 20 24 72 61 6e 67 65 73 et.pos.0..while.{[lindex.$ranges
312a0 20 24 70 6f 73 5d 20 21 3d 20 22 22 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 73 74 61 72 74 20 5b .$pos].!=.""}.{......set.start.[
312c0 6c 69 6e 64 65 78 20 24 72 61 6e 67 65 73 20 24 70 6f 73 5d 0d 09 20 20 20 20 73 65 74 20 65 6e lindex.$ranges.$pos]......set.en
312e0 64 20 5b 6c 69 6e 64 65 78 20 24 72 61 6e 67 65 73 20 5b 69 6e 63 72 20 70 6f 73 5d 5d 0d 09 20 d.[lindex.$ranges.[incr.pos]]...
31300 20 20 20 61 70 70 65 6e 64 20 63 6d 64 20 5b 2e 63 6f 6e 73 6f 6c 65 20 67 65 74 20 24 73 74 61 ...append.cmd.[.console.get.$sta
31320 72 74 20 24 65 6e 64 5d 0d 09 20 20 20 20 69 6e 63 72 20 70 6f 73 0d 09 7d 0d 20 20 20 20 7d 0d rt.$end]......incr.pos..}.....}.
31340 20 20 20 20 69 66 20 7b 24 63 6d 64 20 3d 3d 20 22 22 7d 20 7b 0d 09 74 6b 43 6f 6e 73 6f 6c 65 ....if.{$cmd.==.""}.{..tkConsole
31360 50 72 6f 6d 70 74 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 5b 69 6e 66 6f 20 63 6f 6d 70 6c 65 Prompt.....}.elseif.[info.comple
31380 74 65 20 24 63 6d 64 5d 20 7b 0d 09 2e 63 6f 6e 73 6f 6c 65 20 6d 61 72 6b 20 73 65 74 20 6f 75 te.$cmd].{...console.mark.set.ou
313a0 74 70 75 74 20 65 6e 64 0d 09 2e 63 6f 6e 73 6f 6c 65 20 74 61 67 20 64 65 6c 65 74 65 20 69 6e tput.end...console.tag.delete.in
313c0 70 75 74 0d 09 73 65 74 20 72 65 73 75 6c 74 20 5b 63 6f 6e 73 6f 6c 65 69 6e 74 65 72 70 20 72 put..set.result.[consoleinterp.r
313e0 65 63 6f 72 64 20 24 63 6d 64 5d 0d 09 69 66 20 7b 24 72 65 73 75 6c 74 20 21 3d 20 22 22 7d 20 ecord.$cmd]..if.{$result.!=.""}.
31400 7b 0d 09 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 20 22 24 {.......console.insert.insert."$
31420 72 65 73 75 6c 74 5c 6e 22 0d 09 7d 0d 09 74 6b 43 6f 6e 73 6f 6c 65 48 69 73 74 6f 72 79 20 72 result\n"..}..tkConsoleHistory.r
31440 65 73 65 74 0d 09 74 6b 43 6f 6e 73 6f 6c 65 50 72 6f 6d 70 74 0d 20 20 20 20 7d 20 65 6c 73 65 eset..tkConsolePrompt.....}.else
31460 20 7b 0d 09 74 6b 43 6f 6e 73 6f 6c 65 50 72 6f 6d 70 74 20 70 61 72 74 69 61 6c 0d 20 20 20 20 .{..tkConsolePrompt.partial.....
31480 7d 0d 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 79 76 69 65 77 20 2d 70 69 63 6b 70 6c 61 63 65 20 }......console.yview.-pickplace.
314a0 69 6e 73 65 72 74 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 48 69 73 74 6f 72 79 20 2d 2d 0d insert.}..#.tkConsoleHistory.--.
314c0 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 63 6f 6d 6d #.This.procedure.implements.comm
314e0 61 6e 64 20 6c 69 6e 65 20 68 69 73 74 6f 72 79 20 66 6f 72 20 74 68 65 0d 23 20 63 6f 6e 73 6f and.line.history.for.the.#.conso
31500 6c 65 2e 20 20 49 6e 20 67 65 6e 65 72 61 6c 20 69 73 20 65 76 61 6c 73 20 74 68 65 20 68 69 73 le...In.general.is.evals.the.his
31520 74 6f 72 79 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 0d 23 20 6d 61 69 6e 20 69 6e 74 65 72 tory.command.in.the.#.main.inter
31540 70 72 65 74 65 72 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 2e 20 20 54 preter.to.obtain.the.history...T
31560 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 0d 23 20 68 69 73 74 4e 75 6d 20 69 73 20 he.global.variable.#.histNum.is.
31580 75 73 65 64 20 74 6f 20 73 74 6f 72 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 74 69 used.to.store.the.current.locati
315a0 6f 6e 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 on.in.the.history..#.#.Arguments
315c0 3a 0d 23 20 63 6d 64 20 2d 09 57 68 69 63 68 20 61 63 74 69 6f 6e 20 74 6f 20 74 61 6b 65 3a 20 :.#.cmd.-.Which.action.to.take:.
315e0 70 72 65 76 2c 20 6e 65 78 74 2c 20 72 65 73 65 74 2e 0d 0d 73 65 74 20 68 69 73 74 4e 75 6d 20 prev,.next,.reset...set.histNum.
31600 31 0d 70 72 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 48 69 73 74 6f 72 79 20 7b 63 6d 64 7d 20 7b 0d 1.proc.tkConsoleHistory.{cmd}.{.
31620 20 20 20 20 67 6c 6f 62 61 6c 20 68 69 73 74 4e 75 6d 0d 20 20 20 20 0d 20 20 20 20 73 77 69 74 ....global.histNum..........swit
31640 63 68 20 24 63 6d 64 20 7b 0d 20 20 20 20 09 70 72 65 76 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 ch.$cmd.{......prev.{......incr.
31660 68 69 73 74 4e 75 6d 20 2d 31 0d 09 20 20 20 20 69 66 20 7b 24 68 69 73 74 4e 75 6d 20 3d 3d 20 histNum.-1......if.{$histNum.==.
31680 30 7d 20 7b 0d 09 09 73 65 74 20 63 6d 64 20 7b 68 69 73 74 6f 72 79 20 65 76 65 6e 74 20 5b 65 0}.{...set.cmd.{history.event.[e
316a0 78 70 72 20 5b 68 69 73 74 6f 72 79 20 6e 65 78 74 69 64 5d 20 2d 31 5d 7d 0d 09 20 20 20 20 7d xpr.[history.nextid].-1]}......}
316c0 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 63 6d 64 20 22 68 69 73 74 6f 72 79 20 65 76 65 6e 74 .else.{...set.cmd."history.event
316e0 20 24 68 69 73 74 4e 75 6d 22 0d 09 20 20 20 20 7d 0d 20 20 20 20 09 20 20 20 20 69 66 20 7b 5b .$histNum"......}..........if.{[
31700 63 61 74 63 68 20 7b 63 6f 6e 73 6f 6c 65 69 6e 74 65 72 70 20 65 76 61 6c 20 24 63 6d 64 7d 20 catch.{consoleinterp.eval.$cmd}.
31720 63 6d 64 5d 7d 20 7b 0d 20 20 20 20 09 20 20 20 20 09 69 6e 63 72 20 68 69 73 74 4e 75 6d 0d 20 cmd]}.{...........incr.histNum..
31740 20 20 20 09 20 20 20 20 09 72 65 74 75 72 6e 0d 20 20 20 20 09 20 20 20 20 7d 0d 09 20 20 20 20 .........return..........}......
31760 2e 63 6f 6e 73 6f 6c 65 20 64 65 6c 65 74 65 20 70 72 6f 6d 70 74 45 6e 64 20 65 6e 64 0d 20 20 .console.delete.promptEnd.end...
31780 20 20 09 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 69 6e 73 65 72 74 20 70 72 6f 6d 70 74 45 6e 64 ........console.insert.promptEnd
317a0 20 24 63 6d 64 20 7b 69 6e 70 75 74 20 73 74 64 69 6e 7d 0d 20 20 20 20 09 7d 0d 20 20 20 20 09 .$cmd.{input.stdin}......}......
317c0 6e 65 78 74 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 68 69 73 74 4e 75 6d 0d 09 20 20 20 20 69 66 next.{......incr.histNum......if
317e0 20 7b 24 68 69 73 74 4e 75 6d 20 3d 3d 20 30 7d 20 7b 0d 09 09 73 65 74 20 63 6d 64 20 7b 68 69 .{$histNum.==.0}.{...set.cmd.{hi
31800 73 74 6f 72 79 20 65 76 65 6e 74 20 5b 65 78 70 72 20 5b 68 69 73 74 6f 72 79 20 6e 65 78 74 69 story.event.[expr.[history.nexti
31820 64 5d 20 2d 31 5d 7d 0d 09 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 68 69 73 74 4e 75 6d 20 d].-1]}......}.elseif.{$histNum.
31840 3e 20 30 7d 20 7b 0d 09 09 73 65 74 20 63 6d 64 20 22 22 0d 09 09 73 65 74 20 68 69 73 74 4e 75 >.0}.{...set.cmd.""...set.histNu
31860 6d 20 31 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 63 6d 64 20 22 68 69 73 m.1......}.else.{...set.cmd."his
31880 74 6f 72 79 20 65 76 65 6e 74 20 24 68 69 73 74 4e 75 6d 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 tory.event.$histNum"......}.....
318a0 20 69 66 20 7b 24 63 6d 64 20 21 3d 20 22 22 7d 20 7b 0d 09 09 63 61 74 63 68 20 7b 63 6f 6e 73 .if.{$cmd.!=.""}.{...catch.{cons
318c0 6f 6c 65 69 6e 74 65 72 70 20 65 76 61 6c 20 24 63 6d 64 7d 20 63 6d 64 0d 09 20 20 20 20 7d 0d oleinterp.eval.$cmd}.cmd......}.
318e0 09 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 64 65 6c 65 74 65 20 70 72 6f 6d 70 74 45 6e 64 20 65 ......console.delete.promptEnd.e
31900 6e 64 0d 09 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 69 6e 73 65 72 74 20 70 72 6f 6d 70 74 45 6e nd.......console.insert.promptEn
31920 64 20 24 63 6d 64 20 7b 69 6e 70 75 74 20 73 74 64 69 6e 7d 0d 20 20 20 20 09 7d 0d 20 20 20 20 d.$cmd.{input.stdin}......}.....
31940 09 72 65 73 65 74 20 7b 0d 20 20 20 20 09 20 20 20 20 73 65 74 20 68 69 73 74 4e 75 6d 20 31 0d .reset.{..........set.histNum.1.
31960 20 20 20 20 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 50 72 6f 6d 70 .....}.....}.}..#.tkConsolePromp
31980 74 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 64 72 61 77 73 20 74 68 65 20 t.--.#.This.procedure.draws.the.
319a0 70 72 6f 6d 70 74 2e 20 20 49 66 20 74 63 6c 5f 70 72 6f 6d 70 74 31 20 6f 72 20 74 63 6c 5f 70 prompt...If.tcl_prompt1.or.tcl_p
319c0 72 6f 6d 70 74 32 0d 23 20 65 78 69 73 74 73 20 69 6e 20 74 68 65 20 6d 61 69 6e 20 69 6e 74 65 rompt2.#.exists.in.the.main.inte
319e0 72 70 72 65 74 65 72 20 69 74 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 74 6f 20 67 65 6e rpreter.it.will.be.called.to.gen
31a00 65 72 61 74 65 20 74 68 65 20 0d 23 20 70 72 6f 6d 70 74 2e 20 20 4f 74 68 65 72 77 69 73 65 2c erate.the..#.prompt...Otherwise,
31a20 20 61 20 68 61 72 64 20 63 6f 64 65 64 20 64 65 66 61 75 6c 74 20 70 72 6f 6d 70 74 20 69 73 20 .a.hard.coded.default.prompt.is.
31a40 70 72 69 6e 74 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 70 61 72 74 69 61 printed..#.#.Arguments:.#.partia
31a60 6c 20 2d 09 46 6c 61 67 20 74 6f 20 73 70 65 63 69 66 79 20 77 68 69 63 68 20 70 72 6f 6d 70 74 l.-.Flag.to.specify.which.prompt
31a80 20 74 6f 20 70 72 69 6e 74 2e 0d 0d 70 72 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 50 72 6f 6d 70 74 .to.print...proc.tkConsolePrompt
31aa0 20 7b 7b 70 61 72 74 69 61 6c 20 6e 6f 72 6d 61 6c 7d 7d 20 7b 0d 20 20 20 20 69 66 20 7b 24 70 .{{partial.normal}}.{.....if.{$p
31ac0 61 72 74 69 61 6c 20 3d 3d 20 22 6e 6f 72 6d 61 6c 22 7d 20 7b 0d 09 73 65 74 20 74 65 6d 70 20 artial.==."normal"}.{..set.temp.
31ae0 5b 2e 63 6f 6e 73 6f 6c 65 20 69 6e 64 65 78 20 22 65 6e 64 20 2d 20 31 20 63 68 61 72 22 5d 0d [.console.index."end.-.1.char"].
31b00 09 2e 63 6f 6e 73 6f 6c 65 20 6d 61 72 6b 20 73 65 74 20 6f 75 74 70 75 74 20 65 6e 64 0d 20 20 ..console.mark.set.output.end...
31b20 20 20 09 69 66 20 5b 63 6f 6e 73 6f 6c 65 69 6e 74 65 72 70 20 65 76 61 6c 20 22 69 6e 66 6f 20 ...if.[consoleinterp.eval."info.
31b40 65 78 69 73 74 73 20 74 63 6c 5f 70 72 6f 6d 70 74 31 22 5d 20 7b 0d 20 20 20 20 09 20 20 20 20 exists.tcl_prompt1"].{..........
31b60 63 6f 6e 73 6f 6c 65 69 6e 74 65 72 70 20 65 76 61 6c 20 22 65 76 61 6c 20 5c 5b 73 65 74 20 74 consoleinterp.eval."eval.\[set.t
31b80 63 6c 5f 70 72 6f 6d 70 74 31 5c 5d 22 0d 20 20 20 20 09 7d 20 65 6c 73 65 20 7b 0d 20 20 20 20 cl_prompt1\]"......}.else.{.....
31ba0 09 20 20 20 20 70 75 74 73 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 25 20 22 0d 20 20 20 20 09 7d .....puts.-nonewline."%."......}
31bc0 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 74 65 6d 70 20 5b 2e 63 6f 6e 73 6f 6c .....}.else.{..set.temp.[.consol
31be0 65 20 69 6e 64 65 78 20 6f 75 74 70 75 74 5d 0d 09 2e 63 6f 6e 73 6f 6c 65 20 6d 61 72 6b 20 73 e.index.output]...console.mark.s
31c00 65 74 20 6f 75 74 70 75 74 20 65 6e 64 0d 20 20 20 20 09 69 66 20 5b 63 6f 6e 73 6f 6c 65 69 6e et.output.end......if.[consolein
31c20 74 65 72 70 20 65 76 61 6c 20 22 69 6e 66 6f 20 65 78 69 73 74 73 20 74 63 6c 5f 70 72 6f 6d 70 terp.eval."info.exists.tcl_promp
31c40 74 32 22 5d 20 7b 0d 20 20 20 20 09 20 20 20 20 63 6f 6e 73 6f 6c 65 69 6e 74 65 72 70 20 65 76 t2"].{..........consoleinterp.ev
31c60 61 6c 20 22 65 76 61 6c 20 5c 5b 73 65 74 20 74 63 6c 5f 70 72 6f 6d 70 74 32 5c 5d 22 0d 20 20 al."eval.\[set.tcl_prompt2\]"...
31c80 20 20 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 70 75 74 73 20 2d 6e 6f 6e 65 77 6c 69 6e 65 ...}.else.{......puts.-nonewline
31ca0 20 22 3e 20 22 0d 20 20 20 20 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 66 6c 75 73 68 20 73 74 64 .">."......}.....}.....flush.std
31cc0 6f 75 74 0d 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 6d 61 72 6b 20 73 65 74 20 6f 75 74 70 75 74 out......console.mark.set.output
31ce0 20 24 74 65 6d 70 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 2e 63 6f 6e 73 .$temp.....tkTextSetCursor..cons
31d00 6f 6c 65 20 65 6e 64 0d 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 6d 61 72 6b 20 73 65 74 20 70 72 ole.end......console.mark.set.pr
31d20 6f 6d 70 74 45 6e 64 20 69 6e 73 65 72 74 0d 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 6d 61 72 6b omptEnd.insert......console.mark
31d40 20 67 72 61 76 69 74 79 20 70 72 6f 6d 70 74 45 6e 64 20 6c 65 66 74 0d 7d 0d 0d 23 20 74 6b 43 .gravity.promptEnd.left.}..#.tkC
31d60 6f 6e 73 6f 6c 65 42 69 6e 64 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 66 onsoleBind.--.#.This.procedure.f
31d80 69 72 73 74 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 69 irst.ensures.that.the.default.bi
31da0 6e 64 69 6e 67 73 20 66 6f 72 20 74 68 65 20 54 65 78 74 0d 23 20 63 6c 61 73 73 20 68 61 76 65 ndings.for.the.Text.#.class.have
31dc0 20 62 65 65 6e 20 64 65 66 69 6e 65 64 2e 20 20 54 68 65 6e 20 63 65 72 74 61 69 6e 20 62 69 6e .been.defined...Then.certain.bin
31de0 64 69 6e 67 73 20 61 72 65 20 6f 76 65 72 72 69 64 64 65 6e 20 66 6f 72 0d 23 20 74 68 65 20 63 dings.are.overridden.for.#.the.c
31e00 6c 61 73 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 lass..#.#.Arguments:.#.None...pr
31e20 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 42 69 6e 64 20 7b 77 69 6e 7d 20 7b 0d 20 20 20 20 62 69 6e oc.tkConsoleBind.{win}.{.....bin
31e40 64 74 61 67 73 20 24 77 69 6e 20 22 24 77 69 6e 20 54 65 78 74 20 2e 20 61 6c 6c 22 0d 0d 20 20 dtags.$win."$win.Text...all"....
31e60 20 20 23 20 49 67 6e 6f 72 65 20 61 6c 6c 20 41 6c 74 2c 20 4d 65 74 61 2c 20 61 6e 64 20 43 6f ..#.Ignore.all.Alt,.Meta,.and.Co
31e80 6e 74 72 6f 6c 20 6b 65 79 70 72 65 73 73 65 73 20 75 6e 6c 65 73 73 20 65 78 70 6c 69 63 69 74 ntrol.keypresses.unless.explicit
31ea0 6c 79 20 62 6f 75 6e 64 2e 0d 20 20 20 20 23 20 4f 74 68 65 72 77 69 73 65 2c 20 69 66 20 61 20 ly.bound......#.Otherwise,.if.a.
31ec0 77 69 64 67 65 74 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 widget.binding.for.one.of.these.
31ee0 69 73 20 64 65 66 69 6e 65 64 2c 20 74 68 65 0d 20 20 20 20 23 20 3c 4b 65 79 50 72 65 73 73 3e is.defined,.the.....#.<KeyPress>
31f00 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 20 77 69 6c 6c 20 61 6c 73 6f 20 66 69 72 65 20 61 6e .class.binding.will.also.fire.an
31f20 64 20 69 6e 73 65 72 74 20 74 68 65 20 63 68 61 72 61 63 74 65 72 2c 0d 20 20 20 20 23 20 77 68 d.insert.the.character,.....#.wh
31f40 69 63 68 20 69 73 20 77 72 6f 6e 67 2e 20 20 44 69 74 74 6f 20 66 6f 72 20 3c 45 73 63 61 70 65 ich.is.wrong...Ditto.for.<Escape
31f60 3e 2e 0d 0d 20 20 20 20 62 69 6e 64 20 24 77 69 6e 20 3c 41 6c 74 2d 4b 65 79 50 72 65 73 73 3e >.......bind.$win.<Alt-KeyPress>
31f80 20 7b 23 20 6e 6f 74 68 69 6e 67 20 7d 0d 20 20 20 20 62 69 6e 64 20 24 77 69 6e 20 3c 4d 65 74 .{#.nothing.}.....bind.$win.<Met
31fa0 61 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 20 20 20 20 62 69 6e 64 a-KeyPress>.{#.nothing}.....bind
31fc0 20 24 77 69 6e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 .$win.<Control-KeyPress>.{#.noth
31fe0 69 6e 67 7d 0d 20 20 20 20 62 69 6e 64 20 24 77 69 6e 20 3c 45 73 63 61 70 65 3e 20 7b 23 20 6e ing}.....bind.$win.<Escape>.{#.n
32000 6f 74 68 69 6e 67 7d 0d 20 20 20 20 62 69 6e 64 20 24 77 69 6e 20 3c 4b 50 5f 45 6e 74 65 72 3e othing}.....bind.$win.<KP_Enter>
32020 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 0d 20 20 20 20 62 69 6e 64 20 24 77 69 6e 20 3c 54 61 62 .{#.nothing}......bind.$win.<Tab
32040 3e 20 7b 0d 09 74 6b 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 25 57 20 5c 74 0d 09 66 6f 63 75 >.{..tkConsoleInsert.%W.\t..focu
32060 73 20 25 57 0d 09 62 72 65 61 6b 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 24 77 69 6e 20 s.%W..break.....}.....bind.$win.
32080 3c 52 65 74 75 72 6e 3e 20 7b 0d 09 25 57 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 7b <Return>.{..%W.mark.set.insert.{
320a0 65 6e 64 20 2d 20 31 63 7d 0d 09 74 6b 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 25 57 20 22 5c end.-.1c}..tkConsoleInsert.%W."\
320c0 6e 22 0d 09 74 6b 43 6f 6e 73 6f 6c 65 49 6e 76 6f 6b 65 0d 09 62 72 65 61 6b 0d 20 20 20 20 7d n"..tkConsoleInvoke..break.....}
320e0 0d 20 20 20 20 62 69 6e 64 20 24 77 69 6e 20 3c 44 65 6c 65 74 65 3e 20 7b 0d 09 69 66 20 7b 5b .....bind.$win.<Delete>.{..if.{[
32100 25 57 20 74 61 67 20 6e 65 78 74 72 61 6e 67 65 20 73 65 6c 20 31 2e 30 20 65 6e 64 5d 20 21 3d %W.tag.nextrange.sel.1.0.end].!=
32120 20 22 22 7d 20 7b 0d 09 20 20 20 20 25 57 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 73 65 .""}.{......%W.tag.remove.sel.se
32140 6c 2e 66 69 72 73 74 20 70 72 6f 6d 70 74 45 6e 64 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 l.first.promptEnd..}.else.{.....
32160 20 69 66 20 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3c 20 70 72 6f 6d 70 74 45 .if.[%W.compare.insert.<.promptE
32180 6e 64 5d 20 7b 0d 09 09 62 72 65 61 6b 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 nd].{...break......}..}.....}...
321a0 20 20 62 69 6e 64 20 24 77 69 6e 20 3c 42 61 63 6b 53 70 61 63 65 3e 20 7b 0d 09 69 66 20 7b 5b ..bind.$win.<BackSpace>.{..if.{[
321c0 25 57 20 74 61 67 20 6e 65 78 74 72 61 6e 67 65 20 73 65 6c 20 31 2e 30 20 65 6e 64 5d 20 21 3d %W.tag.nextrange.sel.1.0.end].!=
321e0 20 22 22 7d 20 7b 0d 09 20 20 20 20 25 57 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 73 65 .""}.{......%W.tag.remove.sel.se
32200 6c 2e 66 69 72 73 74 20 70 72 6f 6d 70 74 45 6e 64 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 l.first.promptEnd..}.else.{.....
32220 20 69 66 20 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3c 3d 20 70 72 6f 6d 70 74 .if.[%W.compare.insert.<=.prompt
32240 45 6e 64 5d 20 7b 0d 09 09 62 72 65 61 6b 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 End].{...break......}..}.....}..
32260 20 20 20 66 6f 72 65 61 63 68 20 6c 65 66 74 20 7b 43 6f 6e 74 72 6f 6c 2d 61 20 48 6f 6d 65 7d ...foreach.left.{Control-a.Home}
32280 20 7b 0d 09 62 69 6e 64 20 24 77 69 6e 20 3c 24 6c 65 66 74 3e 20 7b 0d 09 20 20 20 20 69 66 20 .{..bind.$win.<$left>.{......if.
322a0 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3c 20 70 72 6f 6d 70 74 45 6e 64 5d 20 [%W.compare.insert.<.promptEnd].
322c0 7b 0d 09 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 7b 69 6e 73 65 72 74 20 6c {...tkTextSetCursor.%W.{insert.l
322e0 69 6e 65 73 74 61 72 74 7d 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 74 6b 54 65 78 74 inestart}......}.else.{...tkText
32300 53 65 74 43 75 72 73 6f 72 20 25 57 20 70 72 6f 6d 70 74 45 6e 64 0d 20 20 20 20 20 20 20 20 20 SetCursor.%W.promptEnd..........
32320 20 20 20 7d 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 ...}......break..}.....}.....for
32340 65 61 63 68 20 72 69 67 68 74 20 7b 43 6f 6e 74 72 6f 6c 2d 65 20 45 6e 64 7d 20 7b 0d 09 62 69 each.right.{Control-e.End}.{..bi
32360 6e 64 20 24 77 69 6e 20 3c 24 72 69 67 68 74 3e 20 7b 0d 09 20 20 20 20 74 6b 54 65 78 74 53 65 nd.$win.<$right>.{......tkTextSe
32380 74 43 75 72 73 6f 72 20 25 57 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 65 6e 64 7d 0d 09 20 20 20 tCursor.%W.{insert.lineend}.....
323a0 20 62 72 65 61 6b 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 24 77 69 6e 20 3c 43 .break..}.....}.....bind.$win.<C
323c0 6f 6e 74 72 6f 6c 2d 64 3e 20 7b 0d 09 69 66 20 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 ontrol-d>.{..if.[%W.compare.inse
323e0 72 74 20 3c 20 70 72 6f 6d 70 74 45 6e 64 5d 20 7b 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d rt.<.promptEnd].{......break..}.
32400 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 24 77 69 6e 20 3c 43 6f 6e 74 72 6f 6c 2d 6b 3e 20 ....}.....bind.$win.<Control-k>.
32420 7b 0d 09 69 66 20 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3c 20 70 72 6f 6d 70 {..if.[%W.compare.insert.<.promp
32440 74 45 6e 64 5d 20 7b 0d 09 20 20 20 20 25 57 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 tEnd].{......%W.mark.set.insert.
32460 70 72 6f 6d 70 74 45 6e 64 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 24 77 69 6e promptEnd..}.....}.....bind.$win
32480 20 3c 43 6f 6e 74 72 6f 6c 2d 74 3e 20 7b 0d 09 69 66 20 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 .<Control-t>.{..if.[%W.compare.i
324a0 6e 73 65 72 74 20 3c 20 70 72 6f 6d 70 74 45 6e 64 5d 20 7b 0d 09 20 20 20 20 62 72 65 61 6b 0d nsert.<.promptEnd].{......break.
324c0 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 24 77 69 6e 20 3c 4d 65 74 61 2d 64 3e 20 .}.....}.....bind.$win.<Meta-d>.
324e0 7b 0d 09 69 66 20 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3c 20 70 72 6f 6d 70 {..if.[%W.compare.insert.<.promp
32500 74 45 6e 64 5d 20 7b 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 tEnd].{......break..}.....}.....
32520 62 69 6e 64 20 24 77 69 6e 20 3c 4d 65 74 61 2d 42 61 63 6b 53 70 61 63 65 3e 20 7b 0d 09 69 66 bind.$win.<Meta-BackSpace>.{..if
32540 20 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3c 3d 20 70 72 6f 6d 70 74 45 6e 64 .[%W.compare.insert.<=.promptEnd
32560 5d 20 7b 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 ].{......break..}.....}.....bind
32580 20 24 77 69 6e 20 3c 43 6f 6e 74 72 6f 6c 2d 68 3e 20 7b 0d 09 69 66 20 5b 25 57 20 63 6f 6d 70 .$win.<Control-h>.{..if.[%W.comp
325a0 61 72 65 20 69 6e 73 65 72 74 20 3c 3d 20 70 72 6f 6d 70 74 45 6e 64 5d 20 7b 0d 09 20 20 20 20 are.insert.<=.promptEnd].{......
325c0 62 72 65 61 6b 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 70 72 65 76 20 break..}.....}.....foreach.prev.
325e0 7b 43 6f 6e 74 72 6f 6c 2d 70 20 55 70 7d 20 7b 0d 09 62 69 6e 64 20 24 77 69 6e 20 3c 24 70 72 {Control-p.Up}.{..bind.$win.<$pr
32600 65 76 3e 20 7b 0d 09 20 20 20 20 74 6b 43 6f 6e 73 6f 6c 65 48 69 73 74 6f 72 79 20 70 72 65 76 ev>.{......tkConsoleHistory.prev
32620 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 ......break..}.....}.....foreach
32640 20 70 72 65 76 20 7b 43 6f 6e 74 72 6f 6c 2d 6e 20 44 6f 77 6e 7d 20 7b 0d 09 62 69 6e 64 20 24 .prev.{Control-n.Down}.{..bind.$
32660 77 69 6e 20 3c 24 70 72 65 76 3e 20 7b 0d 09 20 20 20 20 74 6b 43 6f 6e 73 6f 6c 65 48 69 73 74 win.<$prev>.{......tkConsoleHist
32680 6f 72 79 20 6e 65 78 74 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 ory.next......break..}.....}....
326a0 20 62 69 6e 64 20 24 77 69 6e 20 3c 49 6e 73 65 72 74 3e 20 7b 0d 09 63 61 74 63 68 20 7b 74 6b .bind.$win.<Insert>.{..catch.{tk
326c0 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 25 57 20 5b 73 65 6c 65 63 74 69 6f 6e 20 67 65 74 20 ConsoleInsert.%W.[selection.get.
326e0 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 5d 7d 0d 09 62 72 65 61 6b 0d 20 20 20 20 7d 0d 20 20 20 -displayof.%W]}..break.....}....
32700 20 62 69 6e 64 20 24 77 69 6e 20 3c 4b 65 79 50 72 65 73 73 3e 20 7b 0d 09 74 6b 43 6f 6e 73 6f .bind.$win.<KeyPress>.{..tkConso
32720 6c 65 49 6e 73 65 72 74 20 25 57 20 25 41 0d 09 62 72 65 61 6b 0d 20 20 20 20 7d 0d 20 20 20 20 leInsert.%W.%A..break.....}.....
32740 66 6f 72 65 61 63 68 20 6c 65 66 74 20 7b 43 6f 6e 74 72 6f 6c 2d 62 20 4c 65 66 74 7d 20 7b 0d foreach.left.{Control-b.Left}.{.
32760 09 62 69 6e 64 20 24 77 69 6e 20 3c 24 6c 65 66 74 3e 20 7b 0d 09 20 20 20 20 69 66 20 5b 25 57 .bind.$win.<$left>.{......if.[%W
32780 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3d 3d 20 70 72 6f 6d 70 74 45 6e 64 5d 20 7b 0d .compare.insert.==.promptEnd].{.
327a0 09 09 62 72 65 61 6b 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 ..break......}......tkTextSetCur
327c0 73 6f 72 20 25 57 20 69 6e 73 65 72 74 2d 31 63 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 20 sor.%W.insert-1c......break..}..
327e0 20 20 20 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 72 69 67 68 74 20 7b 43 6f 6e 74 72 6f 6c 2d ...}.....foreach.right.{Control-
32800 66 20 52 69 67 68 74 7d 20 7b 0d 09 62 69 6e 64 20 24 77 69 6e 20 3c 24 72 69 67 68 74 3e 20 7b f.Right}.{..bind.$win.<$right>.{
32820 0d 09 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 69 6e 73 65 72 74 2b ......tkTextSetCursor.%W.insert+
32840 31 63 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 1c......break..}.....}.....bind.
32860 24 77 69 6e 20 3c 46 39 3e 20 7b 0d 09 65 76 61 6c 20 64 65 73 74 72 6f 79 20 5b 77 69 6e 66 6f $win.<F9>.{..eval.destroy.[winfo
32880 20 63 68 69 6c 64 20 2e 5d 0d 09 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 .child..]..if.{$tcl_platform(pla
328a0 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 20 20 20 20 73 6f tform).==."macintosh"}.{......so
328c0 75 72 63 65 20 2d 72 73 72 63 20 43 6f 6e 73 6f 6c 65 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 urce.-rsrc.Console..}.else.{....
328e0 20 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 74 6b 5f 6c 69 62 72 61 72 79 20 ..source.[file.join.$tk_library.
32900 63 6f 6e 73 6f 6c 65 2e 74 63 6c 5d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 24 console.tcl]..}.....}.....bind.$
32920 77 69 6e 20 3c 3c 43 75 74 3e 3e 20 7b 0d 20 20 20 20 20 20 20 20 23 20 53 61 6d 65 20 61 73 20 win.<<Cut>>.{.........#.Same.as.
32940 74 68 65 20 63 6f 70 79 20 65 76 65 6e 74 0d 20 09 69 66 20 7b 21 5b 63 61 74 63 68 20 7b 73 65 the.copy.event...if.{![catch.{se
32960 74 20 64 61 74 61 20 5b 25 57 20 67 65 74 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 t.data.[%W.get.sel.first.sel.las
32980 74 5d 7d 5d 7d 20 7b 0d 09 20 20 20 20 63 6c 69 70 62 6f 61 72 64 20 63 6c 65 61 72 20 2d 64 69 t]}]}.{......clipboard.clear.-di
329a0 73 70 6c 61 79 6f 66 20 25 57 0d 09 20 20 20 20 63 6c 69 70 62 6f 61 72 64 20 61 70 70 65 6e 64 splayof.%W......clipboard.append
329c0 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 20 24 64 61 74 61 0d 09 7d 0d 09 62 72 65 61 6b 0d 20 .-displayof.%W.$data..}..break..
329e0 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 24 77 69 6e 20 3c 3c 43 6f 70 79 3e 3e 20 7b 0d 20 09 ...}.....bind.$win.<<Copy>>.{...
32a00 69 66 20 7b 21 5b 63 61 74 63 68 20 7b 73 65 74 20 64 61 74 61 20 5b 25 57 20 67 65 74 20 73 65 if.{![catch.{set.data.[%W.get.se
32a20 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 5d 7d 5d 7d 20 7b 0d 09 20 20 20 20 63 6c 69 70 l.first.sel.last]}]}.{......clip
32a40 62 6f 61 72 64 20 63 6c 65 61 72 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 0d 09 20 20 20 20 63 board.clear.-displayof.%W......c
32a60 6c 69 70 62 6f 61 72 64 20 61 70 70 65 6e 64 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 20 24 64 lipboard.append.-displayof.%W.$d
32a80 61 74 61 0d 09 7d 0d 09 62 72 65 61 6b 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 24 77 69 ata..}..break.....}.....bind.$wi
32aa0 6e 20 3c 3c 50 61 73 74 65 3e 3e 20 7b 0d 09 63 61 74 63 68 20 7b 0d 09 20 20 20 20 73 65 74 20 n.<<Paste>>.{..catch.{......set.
32ac0 63 6c 69 70 20 5b 73 65 6c 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 clip.[selection.get.-displayof.%
32ae0 57 20 2d 73 65 6c 65 63 74 69 6f 6e 20 43 4c 49 50 42 4f 41 52 44 5d 0d 09 20 20 20 20 73 65 74 W.-selection.CLIPBOARD]......set
32b00 20 6c 69 73 74 20 5b 73 70 6c 69 74 20 24 63 6c 69 70 20 5c 6e 5c 72 5d 0d 09 20 20 20 20 74 6b .list.[split.$clip.\n\r]......tk
32b20 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 25 57 20 5b 6c 69 6e 64 65 78 20 24 6c 69 73 74 20 30 ConsoleInsert.%W.[lindex.$list.0
32b40 5d 0d 09 20 20 20 20 66 6f 72 65 61 63 68 20 78 20 5b 6c 72 61 6e 67 65 20 24 6c 69 73 74 20 31 ]......foreach.x.[lrange.$list.1
32b60 20 65 6e 64 5d 20 7b 0d 09 09 25 57 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 7b 65 6e .end].{...%W.mark.set.insert.{en
32b80 64 20 2d 20 31 63 7d 0d 09 09 74 6b 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 25 57 20 22 5c 6e d.-.1c}...tkConsoleInsert.%W."\n
32ba0 22 0d 09 09 74 6b 43 6f 6e 73 6f 6c 65 49 6e 76 6f 6b 65 0d 09 09 74 6b 43 6f 6e 73 6f 6c 65 49 "...tkConsoleInvoke...tkConsoleI
32bc0 6e 73 65 72 74 20 25 57 20 24 78 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 62 72 65 61 6b 0d 20 20 20 nsert.%W.$x......}..}..break....
32be0 20 7d 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 2d 2d 0d 23 20 49 6e 73 .}.}..#.tkConsoleInsert.--.#.Ins
32c00 65 72 74 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 20 74 65 78 74 20 61 74 20 74 68 65 20 ert.a.string.into.a.text.at.the.
32c20 70 6f 69 6e 74 20 6f 66 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2e 0d 23 point.of.the.insertion.cursor..#
32c40 20 49 66 20 74 68 65 72 65 20 69 73 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 .If.there.is.a.selection.in.the.
32c60 74 65 78 74 2c 20 61 6e 64 20 69 74 20 63 6f 76 65 72 73 20 74 68 65 20 70 6f 69 6e 74 20 6f 66 text,.and.it.covers.the.point.of
32c80 20 74 68 65 0d 23 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2c 20 74 68 65 6e 20 64 65 .the.#.insertion.cursor,.then.de
32ca0 6c 65 74 65 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 62 65 66 6f 72 65 20 69 6e 73 65 72 74 lete.the.selection.before.insert
32cc0 69 6e 67 2e 20 20 49 6e 73 65 72 74 69 6f 6e 0d 23 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 ing...Insertion.#.is.restricted.
32ce0 74 6f 20 74 68 65 20 70 72 6f 6d 70 74 20 61 72 65 61 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 to.the.prompt.area..#.#.Argument
32d00 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 s:.#.w.-..The.text.window.in.whi
32d20 63 68 20 74 6f 20 69 6e 73 65 72 74 20 74 68 65 20 73 74 72 69 6e 67 0d 23 20 73 20 2d 09 09 54 ch.to.insert.the.string.#.s.-..T
32d40 68 65 20 73 74 72 69 6e 67 20 74 6f 20 69 6e 73 65 72 74 20 28 75 73 75 61 6c 6c 79 20 6a 75 73 he.string.to.insert.(usually.jus
32d60 74 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 29 0d 0d 70 72 6f 63 20 74 6b 43 6f t.a.single.character)..proc.tkCo
32d80 6e 73 6f 6c 65 49 6e 73 65 72 74 20 7b 77 20 73 7d 20 7b 0d 20 20 20 20 69 66 20 7b 24 73 20 3d nsoleInsert.{w.s}.{.....if.{$s.=
32da0 3d 20 22 22 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 63 61 74 63 68 20 =.""}.{..return.....}.....catch.
32dc0 7b 0d 09 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 73 65 6c 2e 66 69 72 73 74 20 3c 3d 20 {..if.{[$w.compare.sel.first.<=.
32de0 69 6e 73 65 72 74 5d 0d 09 09 26 26 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 73 65 6c 2e 6c 61 73 insert]...&&.[$w.compare.sel.las
32e00 74 20 3e 3d 20 69 6e 73 65 72 74 5d 7d 20 7b 0d 09 20 20 20 20 24 77 20 74 61 67 20 72 65 6d 6f t.>=.insert]}.{......$w.tag.remo
32e20 76 65 20 73 65 6c 20 73 65 6c 2e 66 69 72 73 74 20 70 72 6f 6d 70 74 45 6e 64 0d 09 20 20 20 20 ve.sel.sel.first.promptEnd......
32e40 24 77 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 09 7d 0d $w.delete.sel.first.sel.last..}.
32e60 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 ....}.....if.{[$w.compare.insert
32e80 20 3c 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 7b 0d 09 24 77 20 6d 61 72 6b 20 73 65 74 20 69 6e .<.promptEnd]}.{..$w.mark.set.in
32ea0 73 65 72 74 20 65 6e 64 09 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 69 6e 73 65 72 74 20 69 6e sert.end......}.....$w.insert.in
32ec0 73 65 72 74 20 24 73 20 7b 69 6e 70 75 74 20 73 74 64 69 6e 7d 0d 20 20 20 20 24 77 20 73 65 65 sert.$s.{input.stdin}.....$w.see
32ee0 20 69 6e 73 65 72 74 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 20 2d 2d 0d .insert.}..#.tkConsoleOutput.--.
32f00 23 0d 23 20 54 68 69 73 20 72 6f 75 74 69 6e 65 20 69 73 20 63 61 6c 6c 65 64 20 64 69 72 65 63 #.#.This.routine.is.called.direc
32f20 74 6c 79 20 62 79 20 43 6f 6e 73 6f 6c 65 50 75 74 73 43 6d 64 20 74 6f 20 63 61 75 73 65 20 61 tly.by.ConsolePutsCmd.to.cause.a
32f40 20 73 74 72 69 6e 67 0d 23 20 74 6f 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 69 6e 20 74 68 65 .string.#.to.be.displayed.in.the
32f60 20 63 6f 6e 73 6f 6c 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 64 65 73 74 20 .console..#.#.Arguments:.#.dest.
32f80 2d 09 54 68 65 20 6f 75 74 70 75 74 20 74 61 67 20 74 6f 20 62 65 20 75 73 65 64 3a 20 65 69 74 -.The.output.tag.to.be.used:.eit
32fa0 68 65 72 20 22 73 74 64 65 72 72 22 20 6f 72 20 22 73 74 64 6f 75 74 22 2e 0d 23 20 73 74 72 69 her."stderr".or."stdout"..#.stri
32fc0 6e 67 20 2d 09 54 68 65 20 73 74 72 69 6e 67 20 74 6f 20 62 65 20 64 69 73 70 6c 61 79 65 64 2e ng.-.The.string.to.be.displayed.
32fe0 0d 0d 70 72 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 20 7b 64 65 73 74 20 73 74 72 ..proc.tkConsoleOutput.{dest.str
33000 69 6e 67 7d 20 7b 0d 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 69 6e 73 65 72 74 20 6f 75 74 70 75 ing}.{......console.insert.outpu
33020 74 20 24 73 74 72 69 6e 67 20 24 64 65 73 74 0d 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 73 65 65 t.$string.$dest......console.see
33040 20 69 6e 73 65 72 74 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 45 78 69 74 20 2d 2d 0d 23 0d .insert.}..#.tkConsoleExit.--.#.
33060 23 20 54 68 69 73 20 72 6f 75 74 69 6e 65 20 69 73 20 63 61 6c 6c 65 64 20 62 79 20 43 6f 6e 73 #.This.routine.is.called.by.Cons
33080 6f 6c 65 45 76 65 6e 74 50 72 6f 63 20 77 68 65 6e 20 74 68 65 20 6d 61 69 6e 20 77 69 6e 64 6f oleEventProc.when.the.main.windo
330a0 77 20 6f 66 0d 23 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 64 65 73 74 72 6f w.of.#.the.application.is.destro
330c0 79 65 64 2e 20 20 44 6f 6e 27 74 20 63 61 6c 6c 20 65 78 69 74 20 2d 20 74 68 61 74 20 70 72 6f yed...Don't.call.exit.-.that.pro
330e0 62 61 62 6c 79 20 61 6c 72 65 61 64 79 0d 23 20 68 61 70 70 65 6e 65 64 2e 20 20 4a 75 73 74 20 bably.already.#.happened...Just.
33100 64 65 6c 65 74 65 20 6f 75 72 20 77 69 6e 64 6f 77 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 delete.our.window..#.#.Arguments
33120 3a 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 45 78 69 74 20 7b 7d :.#.None...proc.tkConsoleExit.{}
33140 20 7b 0d 20 20 20 20 64 65 73 74 72 6f 79 20 2e 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 41 .{.....destroy...}..#.tkConsoleA
33160 62 6f 75 74 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 72 6f 75 74 69 6e 65 20 64 69 73 70 6c 61 79 bout.--.#.#.This.routine.display
33180 73 20 61 6e 20 41 62 6f 75 74 20 62 6f 78 20 74 6f 20 73 68 6f 77 20 54 63 6c 2f 54 6b 20 76 65 s.an.About.box.to.show.Tcl/Tk.ve
331a0 72 73 69 6f 6e 20 69 6e 66 6f 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 4e 6f 6e rsion.info..#.#.Arguments:.#.Non
331c0 65 2e 0d 0d 70 72 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 41 62 6f 75 74 20 7b 7d 20 7b 0d 20 20 20 e...proc.tkConsoleAbout.{}.{....
331e0 20 67 6c 6f 62 61 6c 20 74 6b 5f 70 61 74 63 68 4c 65 76 65 6c 0d 20 20 20 20 74 6b 5f 6d 65 73 .global.tk_patchLevel.....tk_mes
33200 73 61 67 65 42 6f 78 20 2d 74 79 70 65 20 6f 6b 20 2d 6d 65 73 73 61 67 65 20 22 54 63 6c 20 66 sageBox.-type.ok.-message."Tcl.f
33220 6f 72 20 57 69 6e 64 6f 77 73 0d 43 6f 70 79 72 69 67 68 74 20 5c 32 35 31 20 31 39 39 36 20 53 or.Windows.Copyright.\251.1996.S
33240 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 0d 54 63 6c 20 5b 69 6e 66 6f un.Microsystems,.Inc...Tcl.[info
33260 20 70 61 74 63 68 6c 65 76 65 6c 5d 0d 54 6b 20 24 74 6b 5f 70 61 74 63 68 4c 65 76 65 6c 22 0d .patchlevel].Tk.$tk_patchLevel".
33280 7d 0d 0d 23 20 6e 6f 77 20 69 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 63 6f 6e 73 6f 6c 65 0d }..#.now.initialize.the.console.
332a0 0d 74 6b 43 6f 6e 73 6f 6c 65 49 6e 69 74 0d 00 00 1b 22 23 20 6d 73 67 62 6f 78 2e 74 63 6c 20 .tkConsoleInit...."#.msgbox.tcl.
332c0 2d 2d 0d 23 0d 23 09 49 6d 70 6c 65 6d 65 6e 74 73 20 6d 65 73 73 61 67 65 62 6f 78 65 73 20 66 --.#.#.Implements.messageboxes.f
332e0 6f 72 20 70 6c 61 74 66 6f 72 6d 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 6e 61 or.platforms.that.do.not.have.na
33300 74 69 76 65 0d 23 09 6d 65 73 73 61 67 65 62 6f 78 20 73 75 70 70 6f 72 74 2e 0d 23 0d 23 20 53 tive.#.messagebox.support..#.#.S
33320 43 43 53 3a 20 40 28 23 29 20 6d 73 67 62 6f 78 2e 74 63 6c 20 31 2e 38 20 39 37 2f 30 37 2f 32 CCS:.@(#).msgbox.tcl.1.8.97/07/2
33340 38 20 31 37 3a 32 30 3a 30 31 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 8.17:20:01.#.#.Copyright.(c).199
33360 34 2d 31 39 39 37 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 4-1997.Sun.Microsystems,.Inc..#.
33380 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 #.See.the.file."license.terms".f
333a0 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 or.information.on.usage.and.redi
333c0 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 stribution.#.of.this.file,.and.f
333e0 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 or.a.DISCLAIMER.OF.ALL.WARRANTIE
33400 53 2e 0d 23 0d 0d 0d 23 20 74 6b 4d 65 73 73 61 67 65 42 6f 78 20 2d 2d 0d 23 0d 23 09 50 6f 70 S..#...#.tkMessageBox.--.#.#.Pop
33420 73 20 75 70 20 61 20 6d 65 73 73 61 67 65 62 6f 78 20 77 69 74 68 20 61 6e 20 61 70 70 6c 69 63 s.up.a.messagebox.with.an.applic
33440 61 74 69 6f 6e 2d 73 75 70 70 6c 69 65 64 20 6d 65 73 73 61 67 65 20 77 69 74 68 0d 23 09 61 6e ation-supplied.message.with.#.an
33460 20 69 63 6f 6e 20 61 6e 64 20 61 20 6c 69 73 74 20 6f 66 20 62 75 74 74 6f 6e 73 2e 20 54 68 69 .icon.and.a.list.of.buttons..Thi
33480 73 20 70 72 6f 63 65 64 75 72 65 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 0d 23 09 62 79 20 s.procedure.will.be.called.#.by.
334a0 74 6b 5f 6d 65 73 73 61 67 65 42 6f 78 20 69 66 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 64 6f tk_messageBox.if.the.platform.do
334c0 65 73 20 6e 6f 74 20 68 61 76 65 20 6e 61 74 69 76 65 0d 23 09 6d 65 73 73 61 67 65 62 6f 78 20 es.not.have.native.#.messagebox.
334e0 73 75 70 70 6f 72 74 2c 20 6f 72 20 69 66 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 74 79 support,.or.if.the.particular.ty
33500 70 65 20 6f 66 20 6d 65 73 73 61 67 65 62 6f 78 20 69 73 0d 23 09 6e 6f 74 20 73 75 70 70 6f 72 pe.of.messagebox.is.#.not.suppor
33520 74 65 64 20 6e 61 74 69 76 65 6c 79 2e 0d 23 0d 23 09 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 ted.natively..#.#.This.procedure
33540 20 69 73 20 61 20 70 72 69 76 61 74 65 20 70 72 6f 63 65 64 75 72 65 20 73 68 6f 75 6c 64 6e 27 .is.a.private.procedure.shouldn'
33560 74 20 62 65 20 63 61 6c 6c 65 64 0d 23 09 64 69 72 65 63 74 6c 79 2e 20 43 61 6c 6c 20 74 6b 5f t.be.called.#.directly..Call.tk_
33580 6d 65 73 73 61 67 65 42 6f 78 20 69 6e 73 74 65 61 64 2e 0d 23 0d 23 09 53 65 65 20 74 68 65 20 messageBox.instead..#.#.See.the.
335a0 75 73 65 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 64 65 74 61 69 6c 73 20 6f user.documentation.for.details.o
335c0 6e 20 77 68 61 74 20 74 6b 5f 6d 65 73 73 61 67 65 42 6f 78 20 64 6f 65 73 2e 0d 23 0d 70 72 6f n.what.tk_messageBox.does..#.pro
335e0 63 20 74 6b 4d 65 73 73 61 67 65 42 6f 78 20 7b 61 72 67 73 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 c.tkMessageBox.{args}.{.....glob
33600 61 6c 20 74 6b 50 72 69 76 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 73 65 74 20 al.tkPriv.tcl_platform......set.
33620 77 20 74 6b 50 72 69 76 4d 73 67 42 6f 78 0d 20 20 20 20 75 70 76 61 72 20 23 30 20 24 77 20 64 w.tkPrivMsgBox.....upvar.#0.$w.d
33640 61 74 61 0d 0d 20 20 20 20 23 0d 20 20 20 20 23 20 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c ata......#.....#.The.default.val
33660 75 65 20 6f 66 20 74 68 65 20 74 69 74 6c 65 20 69 73 20 73 70 61 63 65 20 28 22 20 22 29 20 6e ue.of.the.title.is.space.(".").n
33680 6f 74 20 74 68 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 0d 20 20 20 20 23 20 62 65 63 61 75 73 ot.the.empty.string.....#.becaus
336a0 65 20 66 6f 72 20 73 6f 6d 65 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 73 2c 20 61 20 0d 20 e.for.some.window.managers,.a...
336c0 20 20 20 23 09 09 77 6d 20 74 69 74 6c 65 20 2e 66 6f 6f 20 22 22 0d 20 20 20 20 23 20 63 61 75 ...#..wm.title..foo."".....#.cau
336e0 73 65 73 20 74 68 65 20 77 69 6e 64 6f 77 20 74 69 74 6c 65 20 74 6f 20 62 65 20 22 66 6f 6f 22 ses.the.window.title.to.be."foo"
33700 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 0d 20 20 .instead.of.the.empty.string....
33720 20 20 23 0d 20 20 20 20 73 65 74 20 73 70 65 63 73 20 7b 0d 09 7b 2d 64 65 66 61 75 6c 74 20 22 ..#.....set.specs.{..{-default."
33740 22 20 22 22 20 22 22 7d 0d 20 20 20 20 20 20 20 20 7b 2d 69 63 6f 6e 20 22 22 20 22 22 20 22 69 "."".""}.........{-icon."".""."i
33760 6e 66 6f 22 7d 0d 20 20 20 20 20 20 20 20 7b 2d 6d 65 73 73 61 67 65 20 22 22 20 22 22 20 22 22 nfo"}.........{-message.""."".""
33780 7d 0d 20 20 20 20 20 20 20 20 7b 2d 70 61 72 65 6e 74 20 22 22 20 22 22 20 2e 7d 0d 20 20 20 20 }.........{-parent."".""..}.....
337a0 20 20 20 20 7b 2d 74 69 74 6c 65 20 22 22 20 22 22 20 22 20 22 7d 0d 20 20 20 20 20 20 20 20 7b ....{-title."".""."."}.........{
337c0 2d 74 79 70 65 20 22 22 20 22 22 20 22 6f 6b 22 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 74 63 6c -type."".""."ok"}.....}......tcl
337e0 50 61 72 73 65 43 6f 6e 66 69 67 53 70 65 63 20 24 77 20 24 73 70 65 63 73 20 22 22 20 24 61 72 ParseConfigSpec.$w.$specs."".$ar
33800 67 73 0d 0d 20 20 20 20 69 66 20 7b 5b 6c 73 65 61 72 63 68 20 7b 69 6e 66 6f 20 77 61 72 6e 69 gs......if.{[lsearch.{info.warni
33820 6e 67 20 65 72 72 6f 72 20 71 75 65 73 74 69 6f 6e 7d 20 24 64 61 74 61 28 2d 69 63 6f 6e 29 5d ng.error.question}.$data(-icon)]
33840 20 3d 3d 20 2d 31 7d 20 7b 0d 09 65 72 72 6f 72 20 22 69 6e 76 61 6c 69 64 20 69 63 6f 6e 20 5c .==.-1}.{..error."invalid.icon.\
33860 22 24 64 61 74 61 28 2d 69 63 6f 6e 29 5c 22 2c 20 6d 75 73 74 20 62 65 20 65 72 72 6f 72 2c 20 "$data(-icon)\",.must.be.error,.
33880 69 6e 66 6f 2c 20 71 75 65 73 74 69 6f 6e 20 6f 72 20 77 61 72 6e 69 6e 67 22 0d 20 20 20 20 7d info,.question.or.warning".....}
338a0 0d 20 20 20 20 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 .....if.{$tcl_platform(platform)
338c0 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 69 66 20 7b 24 64 61 74 61 28 2d 69 .==."macintosh"}.{..if.{$data(-i
338e0 63 6f 6e 29 20 3d 3d 20 22 65 72 72 6f 72 22 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 64 61 74 61 con).==."error"}.{......set.data
33900 28 2d 69 63 6f 6e 29 20 22 73 74 6f 70 22 0d 09 7d 20 65 6c 73 65 69 66 20 7b 24 64 61 74 61 28 (-icon)."stop"..}.elseif.{$data(
33920 2d 69 63 6f 6e 29 20 3d 3d 20 22 77 61 72 6e 69 6e 67 22 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 -icon).==."warning"}.{......set.
33940 64 61 74 61 28 2d 69 63 6f 6e 29 20 22 63 61 75 74 69 6f 6e 22 0d 09 7d 20 65 6c 73 65 69 66 20 data(-icon)."caution"..}.elseif.
33960 7b 24 64 61 74 61 28 2d 69 63 6f 6e 29 20 3d 3d 20 22 69 6e 66 6f 22 7d 20 7b 0d 09 20 20 20 20 {$data(-icon).==."info"}.{......
33980 73 65 74 20 64 61 74 61 28 2d 69 63 6f 6e 29 20 22 6e 6f 74 65 22 0d 09 7d 0d 20 20 20 20 7d 0d set.data(-icon)."note"..}.....}.
339a0 0d 20 20 20 20 69 66 20 21 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 24 64 61 74 61 28 2d 70 61 .....if.![winfo.exists.$data(-pa
339c0 72 65 6e 74 29 5d 20 7b 0d 09 65 72 72 6f 72 20 22 62 61 64 20 77 69 6e 64 6f 77 20 70 61 74 68 rent)].{..error."bad.window.path
339e0 20 6e 61 6d 65 20 5c 22 24 64 61 74 61 28 2d 70 61 72 65 6e 74 29 5c 22 22 0d 20 20 20 20 7d 0d .name.\"$data(-parent)\"".....}.
33a00 0d 20 20 20 20 63 61 73 65 20 24 64 61 74 61 28 2d 74 79 70 65 29 20 7b 0d 09 61 62 6f 72 74 72 .....case.$data(-type).{..abortr
33a20 65 74 72 79 69 67 6e 6f 72 65 20 7b 0d 09 20 20 20 20 73 65 74 20 62 75 74 74 6f 6e 73 20 7b 0d etryignore.{......set.buttons.{.
33a40 09 09 7b 61 62 6f 72 74 20 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 41 62 6f 72 74 20 2d ..{abort..-width.6.-text.Abort.-
33a60 75 6e 64 65 72 20 30 7d 0d 09 09 7b 72 65 74 72 79 20 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 under.0}...{retry..-width.6.-tex
33a80 74 20 52 65 74 72 79 20 2d 75 6e 64 65 72 20 30 7d 0d 09 09 7b 69 67 6e 6f 72 65 20 2d 77 69 64 t.Retry.-under.0}...{ignore.-wid
33aa0 74 68 20 36 20 2d 74 65 78 74 20 49 67 6e 6f 72 65 20 2d 75 6e 64 65 72 20 30 7d 0d 09 20 20 20 th.6.-text.Ignore.-under.0}.....
33ac0 20 7d 0d 09 7d 0d 09 6f 6b 20 7b 0d 09 20 20 20 20 73 65 74 20 62 75 74 74 6f 6e 73 20 7b 0d 09 .}..}..ok.{......set.buttons.{..
33ae0 09 7b 6f 6b 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 4f 4b 20 2d 75 6e 64 65 72 20 30 7d .{ok.-width.6.-text.OK.-under.0}
33b00 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 ......}......if.{$data(-default)
33b20 20 3d 3d 20 22 22 7d 20 7b 0d 09 09 73 65 74 20 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 20 22 .==.""}.{...set.data(-default)."
33b40 6f 6b 22 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 6f 6b 63 61 6e 63 65 6c 20 7b 0d 09 20 20 20 20 73 ok"......}..}..okcancel.{......s
33b60 65 74 20 62 75 74 74 6f 6e 73 20 7b 0d 09 09 7b 6f 6b 20 20 20 20 20 2d 77 69 64 74 68 20 36 20 et.buttons.{...{ok.....-width.6.
33b80 2d 74 65 78 74 20 4f 4b 20 20 20 20 20 2d 75 6e 64 65 72 20 30 7d 0d 09 09 7b 63 61 6e 63 65 6c -text.OK.....-under.0}...{cancel
33ba0 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 43 61 6e 63 65 6c 20 2d 75 6e 64 65 72 20 30 7d .-width.6.-text.Cancel.-under.0}
33bc0 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 72 65 74 72 79 63 61 6e 63 65 6c 20 7b 0d 09 20 20 20 20 73 ......}..}..retrycancel.{......s
33be0 65 74 20 62 75 74 74 6f 6e 73 20 7b 0d 09 09 7b 72 65 74 72 79 20 20 2d 77 69 64 74 68 20 36 20 et.buttons.{...{retry..-width.6.
33c00 2d 74 65 78 74 20 52 65 74 72 79 20 20 2d 75 6e 64 65 72 20 30 7d 0d 09 09 7b 63 61 6e 63 65 6c -text.Retry..-under.0}...{cancel
33c20 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 43 61 6e 63 65 6c 20 2d 75 6e 64 65 72 20 30 7d .-width.6.-text.Cancel.-under.0}
33c40 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 79 65 73 6e 6f 20 7b 0d 09 20 20 20 20 73 65 74 20 62 75 74 ......}..}..yesno.{......set.but
33c60 74 6f 6e 73 20 7b 0d 09 09 7b 79 65 73 20 20 20 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 tons.{...{yes....-width.6.-text.
33c80 59 65 73 20 2d 75 6e 64 65 72 20 30 7d 0d 09 09 7b 6e 6f 20 20 20 20 20 2d 77 69 64 74 68 20 36 Yes.-under.0}...{no.....-width.6
33ca0 20 2d 74 65 78 74 20 4e 6f 20 20 2d 75 6e 64 65 72 20 30 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 .-text.No..-under.0}......}..}..
33cc0 79 65 73 6e 6f 63 61 6e 63 65 6c 20 7b 0d 09 20 20 20 20 73 65 74 20 62 75 74 74 6f 6e 73 20 7b yesnocancel.{......set.buttons.{
33ce0 0d 09 09 7b 79 65 73 20 20 20 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 59 65 73 20 2d 75 ...{yes....-width.6.-text.Yes.-u
33d00 6e 64 65 72 20 30 7d 0d 09 09 7b 6e 6f 20 20 20 20 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 nder.0}...{no.....-width.6.-text
33d20 20 4e 6f 20 20 2d 75 6e 64 65 72 20 30 7d 0d 09 09 7b 63 61 6e 63 65 6c 20 2d 77 69 64 74 68 20 .No..-under.0}...{cancel.-width.
33d40 36 20 2d 74 65 78 74 20 43 61 6e 63 65 6c 20 2d 75 6e 64 65 72 20 30 7d 0d 09 20 20 20 20 7d 0d 6.-text.Cancel.-under.0}......}.
33d60 09 7d 0d 09 64 65 66 61 75 6c 74 20 7b 0d 09 20 20 20 20 65 72 72 6f 72 20 22 69 6e 76 61 6c 69 .}..default.{......error."invali
33d80 64 20 6d 65 73 73 61 67 65 20 62 6f 78 20 74 79 70 65 20 5c 22 24 64 61 74 61 28 2d 74 79 70 65 d.message.box.type.\"$data(-type
33da0 29 5c 22 2c 20 6d 75 73 74 20 62 65 20 61 62 6f 72 74 72 65 74 72 79 69 67 6e 6f 72 65 2c 20 6f )\",.must.be.abortretryignore,.o
33dc0 6b 2c 20 6f 6b 63 61 6e 63 65 6c 2c 20 72 65 74 72 79 63 61 6e 63 65 6c 2c 20 79 65 73 6e 6f 20 k,.okcancel,.retrycancel,.yesno.
33de0 6f 72 20 79 65 73 6e 6f 63 61 6e 63 65 6c 22 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 69 66 or.yesnocancel"..}.....}......if
33e00 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 .[string.compare.$data(-default)
33e20 20 22 22 5d 20 7b 0d 09 73 65 74 20 76 61 6c 69 64 20 30 0d 09 66 6f 72 65 61 63 68 20 62 74 6e .""].{..set.valid.0..foreach.btn
33e40 20 24 62 75 74 74 6f 6e 73 20 7b 0d 09 20 20 20 20 69 66 20 21 5b 73 74 72 69 6e 67 20 63 6f 6d .$buttons.{......if.![string.com
33e60 70 61 72 65 20 5b 6c 69 6e 64 65 78 20 24 62 74 6e 20 30 5d 20 24 64 61 74 61 28 2d 64 65 66 61 pare.[lindex.$btn.0].$data(-defa
33e80 75 6c 74 29 5d 20 7b 0d 09 09 73 65 74 20 76 61 6c 69 64 20 31 0d 09 09 62 72 65 61 6b 0d 09 20 ult)].{...set.valid.1...break...
33ea0 20 20 20 7d 0d 09 7d 0d 09 69 66 20 21 24 76 61 6c 69 64 20 7b 0d 09 20 20 20 20 65 72 72 6f 72 ...}..}..if.!$valid.{......error
33ec0 20 22 69 6e 76 61 6c 69 64 20 64 65 66 61 75 6c 74 20 62 75 74 74 6f 6e 20 5c 22 24 64 61 74 61 ."invalid.default.button.\"$data
33ee0 28 2d 64 65 66 61 75 6c 74 29 5c 22 22 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 32 2e (-default)\""..}.....}......#.2.
33f00 20 53 65 74 20 74 68 65 20 64 69 61 6c 6f 67 20 74 6f 20 62 65 20 61 20 63 68 69 6c 64 20 77 69 .Set.the.dialog.to.be.a.child.wi
33f20 6e 64 6f 77 20 6f 66 20 24 70 61 72 65 6e 74 0d 20 20 20 20 23 0d 20 20 20 20 23 0d 20 20 20 20 ndow.of.$parent.....#.....#.....
33f40 69 66 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 64 61 74 61 28 2d 70 61 72 65 6e 74 if.[string.compare.$data(-parent
33f60 29 20 2e 5d 20 7b 0d 09 73 65 74 20 77 20 24 64 61 74 61 28 2d 70 61 72 65 6e 74 29 2e 5f 5f 74 )..].{..set.w.$data(-parent).__t
33f80 6b 5f 5f 6d 65 73 73 61 67 65 62 6f 78 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 k__messagebox.....}.else.{..set.
33fa0 77 20 2e 5f 5f 74 6b 5f 5f 6d 65 73 73 61 67 65 62 6f 78 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 w..__tk__messagebox.....}......#
33fc0 20 33 2e 20 43 72 65 61 74 65 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 77 69 6e 64 6f 77 20 .3..Create.the.top-level.window.
33fe0 61 6e 64 20 64 69 76 69 64 65 20 69 74 20 69 6e 74 6f 20 74 6f 70 0d 20 20 20 20 23 20 61 6e 64 and.divide.it.into.top.....#.and
34000 20 62 6f 74 74 6f 6d 20 70 61 72 74 73 2e 0d 0d 20 20 20 20 63 61 74 63 68 20 7b 64 65 73 74 72 .bottom.parts.......catch.{destr
34020 6f 79 20 24 77 7d 0d 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 24 77 20 2d 63 6c 61 73 73 20 44 69 oy.$w}.....toplevel.$w.-class.Di
34040 61 6c 6f 67 0d 20 20 20 20 77 6d 20 74 69 74 6c 65 20 24 77 20 24 64 61 74 61 28 2d 74 69 74 6c alog.....wm.title.$w.$data(-titl
34060 65 29 0d 20 20 20 20 77 6d 20 69 63 6f 6e 6e 61 6d 65 20 24 77 20 44 69 61 6c 6f 67 0d 20 20 20 e).....wm.iconname.$w.Dialog....
34080 20 77 6d 20 70 72 6f 74 6f 63 6f 6c 20 24 77 20 57 4d 5f 44 45 4c 45 54 45 5f 57 49 4e 44 4f 57 .wm.protocol.$w.WM_DELETE_WINDOW
340a0 20 7b 20 7d 0d 20 20 20 20 77 6d 20 74 72 61 6e 73 69 65 6e 74 20 24 77 20 24 64 61 74 61 28 2d .{.}.....wm.transient.$w.$data(-
340c0 70 61 72 65 6e 74 29 0d 20 20 20 20 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c parent).....if.{$tcl_platform(pl
340e0 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 75 6e 73 75 70 atform).==."macintosh"}.{..unsup
34100 70 6f 72 74 65 64 31 20 73 74 79 6c 65 20 24 77 20 64 42 6f 78 50 72 6f 63 0d 20 20 20 20 7d 0d ported1.style.$w.dBoxProc.....}.
34120 0d 20 20 20 20 66 72 61 6d 65 20 24 77 2e 62 6f 74 0d 20 20 20 20 70 61 63 6b 20 24 77 2e 62 6f .....frame.$w.bot.....pack.$w.bo
34140 74 20 2d 73 69 64 65 20 62 6f 74 74 6f 6d 20 2d 66 69 6c 6c 20 62 6f 74 68 0d 20 20 20 20 66 72 t.-side.bottom.-fill.both.....fr
34160 61 6d 65 20 24 77 2e 74 6f 70 0d 20 20 20 20 70 61 63 6b 20 24 77 2e 74 6f 70 20 2d 73 69 64 65 ame.$w.top.....pack.$w.top.-side
34180 20 74 6f 70 20 2d 66 69 6c 6c 20 62 6f 74 68 20 2d 65 78 70 61 6e 64 20 31 0d 20 20 20 20 69 66 .top.-fill.both.-expand.1.....if
341a0 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 21 3d 20 22 6d 61 .{$tcl_platform(platform).!=."ma
341c0 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 24 77 2e 62 6f 74 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 cintosh"}.{..$w.bot.configure.-r
341e0 65 6c 69 65 66 20 72 61 69 73 65 64 20 2d 62 64 20 31 0d 09 24 77 2e 74 6f 70 20 63 6f 6e 66 69 elief.raised.-bd.1..$w.top.confi
34200 67 75 72 65 20 2d 72 65 6c 69 65 66 20 72 61 69 73 65 64 20 2d 62 64 20 31 0d 20 20 20 20 7d 0d gure.-relief.raised.-bd.1.....}.
34220 0d 20 20 20 20 23 20 34 2e 20 46 69 6c 6c 20 74 68 65 20 74 6f 70 20 70 61 72 74 20 77 69 74 68 .....#.4..Fill.the.top.part.with
34240 20 62 69 74 6d 61 70 20 61 6e 64 20 6d 65 73 73 61 67 65 20 28 75 73 65 20 74 68 65 20 6f 70 74 .bitmap.and.message.(use.the.opt
34260 69 6f 6e 0d 20 20 20 20 23 20 64 61 74 61 62 61 73 65 20 66 6f 72 20 2d 77 72 61 70 6c 65 6e 67 ion.....#.database.for.-wrapleng
34280 74 68 20 73 6f 20 74 68 61 74 20 69 74 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 th.so.that.it.can.be.overridden.
342a0 62 79 0d 20 20 20 20 23 20 74 68 65 20 63 61 6c 6c 65 72 29 2e 0d 0d 20 20 20 20 6f 70 74 69 6f by.....#.the.caller).......optio
342c0 6e 20 61 64 64 20 2a 44 69 61 6c 6f 67 2e 6d 73 67 2e 77 72 61 70 4c 65 6e 67 74 68 20 33 69 20 n.add.*Dialog.msg.wrapLength.3i.
342e0 77 69 64 67 65 74 44 65 66 61 75 6c 74 0d 20 20 20 20 6c 61 62 65 6c 20 24 77 2e 6d 73 67 20 2d widgetDefault.....label.$w.msg.-
34300 6a 75 73 74 69 66 79 20 6c 65 66 74 20 2d 74 65 78 74 20 24 64 61 74 61 28 2d 6d 65 73 73 61 67 justify.left.-text.$data(-messag
34320 65 29 0d 20 20 20 20 63 61 74 63 68 20 7b 24 77 2e 6d 73 67 20 63 6f 6e 66 69 67 75 72 65 20 2d e).....catch.{$w.msg.configure.-
34340 66 6f 6e 74 20 5c 0d 09 09 2d 41 64 6f 62 65 2d 54 69 6d 65 73 2d 4d 65 64 69 75 6d 2d 52 2d 4e font.\...-Adobe-Times-Medium-R-N
34360 6f 72 6d 61 6c 2d 2d 2a 2d 31 38 30 2d 2a 2d 2a 2d 2a 2d 2a 2d 2a 2d 2a 0d 20 20 20 20 7d 0d 20 ormal--*-180-*-*-*-*-*-*.....}..
34380 20 20 20 70 61 63 6b 20 24 77 2e 6d 73 67 20 2d 69 6e 20 24 77 2e 74 6f 70 20 2d 73 69 64 65 20 ...pack.$w.msg.-in.$w.top.-side.
343a0 72 69 67 68 74 20 2d 65 78 70 61 6e 64 20 31 20 2d 66 69 6c 6c 20 62 6f 74 68 20 2d 70 61 64 78 right.-expand.1.-fill.both.-padx
343c0 20 33 6d 20 2d 70 61 64 79 20 33 6d 0d 20 20 20 20 69 66 20 7b 24 64 61 74 61 28 2d 69 63 6f 6e .3m.-pady.3m.....if.{$data(-icon
343e0 29 20 21 3d 20 22 22 7d 20 7b 0d 09 6c 61 62 65 6c 20 24 77 2e 62 69 74 6d 61 70 20 2d 62 69 74 ).!=.""}.{..label.$w.bitmap.-bit
34400 6d 61 70 20 24 64 61 74 61 28 2d 69 63 6f 6e 29 0d 09 70 61 63 6b 20 24 77 2e 62 69 74 6d 61 70 map.$data(-icon)..pack.$w.bitmap
34420 20 2d 69 6e 20 24 77 2e 74 6f 70 20 2d 73 69 64 65 20 6c 65 66 74 20 2d 70 61 64 78 20 33 6d 20 .-in.$w.top.-side.left.-padx.3m.
34440 2d 70 61 64 79 20 33 6d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 35 2e 20 43 72 65 61 74 65 20 -pady.3m.....}......#.5..Create.
34460 61 20 72 6f 77 20 6f 66 20 62 75 74 74 6f 6e 73 20 61 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 6f a.row.of.buttons.at.the.bottom.o
34480 66 20 74 68 65 20 64 69 61 6c 6f 67 2e 0d 0d 20 20 20 20 73 65 74 20 69 20 30 0d 20 20 20 20 66 f.the.dialog.......set.i.0.....f
344a0 6f 72 65 61 63 68 20 62 75 74 20 24 62 75 74 74 6f 6e 73 20 7b 0d 09 73 65 74 20 6e 61 6d 65 20 oreach.but.$buttons.{..set.name.
344c0 5b 6c 69 6e 64 65 78 20 24 62 75 74 20 30 5d 0d 09 73 65 74 20 6f 70 74 73 20 5b 6c 72 61 6e 67 [lindex.$but.0]..set.opts.[lrang
344e0 65 20 24 62 75 74 20 31 20 65 6e 64 5d 0d 09 69 66 20 21 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 e.$but.1.end]..if.![string.compa
34500 72 65 20 24 6f 70 74 73 20 7b 7d 5d 20 7b 0d 09 20 20 20 20 23 20 43 61 70 69 74 61 6c 69 7a 65 re.$opts.{}].{......#.Capitalize
34520 20 74 68 65 20 66 69 72 73 74 20 6c 65 74 74 65 72 20 6f 66 20 24 6e 61 6d 65 0d 09 20 20 20 20 .the.first.letter.of.$name......
34540 73 65 74 20 63 61 70 4e 61 6d 65 20 5c 0d 09 09 5b 73 74 72 69 6e 67 20 74 6f 75 70 70 65 72 20 set.capName.\...[string.toupper.
34560 5c 0d 09 09 20 20 20 20 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 20 24 6e 61 6d 65 20 30 5d 5d 5b \.......[string.index.$name.0]][
34580 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 6e 61 6d 65 20 31 20 65 6e 64 5d 0d 09 20 20 20 20 73 string.range.$name.1.end]......s
345a0 65 74 20 6f 70 74 73 20 5b 6c 69 73 74 20 2d 74 65 78 74 20 24 63 61 70 4e 61 6d 65 5d 0d 09 7d et.opts.[list.-text.$capName]..}
345c0 0d 0d 09 65 76 61 6c 20 62 75 74 74 6f 6e 20 24 77 2e 24 6e 61 6d 65 20 24 6f 70 74 73 20 2d 63 ...eval.button.$w.$name.$opts.-c
345e0 6f 6d 6d 61 6e 64 20 5b 6c 69 73 74 20 22 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 ommand.[list."set.tkPriv(button)
34600 20 24 6e 61 6d 65 22 5d 0d 0d 09 69 66 20 21 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 .$name"]...if.![string.compare.$
34620 6e 61 6d 65 20 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 5d 20 7b 0d 09 20 20 20 20 24 77 2e name.$data(-default)].{......$w.
34640 24 6e 61 6d 65 20 63 6f 6e 66 69 67 75 72 65 20 2d 64 65 66 61 75 6c 74 20 61 63 74 69 76 65 0d $name.configure.-default.active.
34660 09 7d 0d 09 70 61 63 6b 20 24 77 2e 24 6e 61 6d 65 20 2d 69 6e 20 24 77 2e 62 6f 74 20 2d 73 69 .}..pack.$w.$name.-in.$w.bot.-si
34680 64 65 20 6c 65 66 74 20 2d 65 78 70 61 6e 64 20 31 20 5c 0d 09 20 20 20 20 2d 70 61 64 78 20 33 de.left.-expand.1.\......-padx.3
346a0 6d 20 2d 70 61 64 79 20 32 6d 0d 0d 09 23 20 63 72 65 61 74 65 20 74 68 65 20 62 69 6e 64 69 6e m.-pady.2m...#.create.the.bindin
346c0 67 20 66 6f 72 20 74 68 65 20 6b 65 79 20 61 63 63 65 6c 65 72 61 74 6f 72 2c 20 62 61 73 65 64 g.for.the.key.accelerator,.based
346e0 20 6f 6e 20 74 68 65 20 75 6e 64 65 72 6c 69 6e 65 0d 09 23 0d 09 73 65 74 20 75 6e 64 65 72 49 .on.the.underline..#..set.underI
34700 64 78 20 5b 24 77 2e 24 6e 61 6d 65 20 63 67 65 74 20 2d 75 6e 64 65 72 5d 0d 09 69 66 20 7b 24 dx.[$w.$name.cget.-under]..if.{$
34720 75 6e 64 65 72 49 64 78 20 3e 3d 20 30 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 6b 65 79 20 5b 73 underIdx.>=.0}.{......set.key.[s
34740 74 72 69 6e 67 20 69 6e 64 65 78 20 5b 24 77 2e 24 6e 61 6d 65 20 63 67 65 74 20 2d 74 65 78 74 tring.index.[$w.$name.cget.-text
34760 5d 20 24 75 6e 64 65 72 49 64 78 5d 0d 09 20 20 20 20 62 69 6e 64 20 24 77 20 3c 41 6c 74 2d 5b ].$underIdx]......bind.$w.<Alt-[
34780 73 74 72 69 6e 67 20 74 6f 6c 6f 77 65 72 20 24 6b 65 79 5d 3e 20 20 22 24 77 2e 24 6e 61 6d 65 string.tolower.$key]>.."$w.$name
347a0 20 69 6e 76 6f 6b 65 22 0d 09 20 20 20 20 62 69 6e 64 20 24 77 20 3c 41 6c 74 2d 5b 73 74 72 69 .invoke"......bind.$w.<Alt-[stri
347c0 6e 67 20 74 6f 75 70 70 65 72 20 24 6b 65 79 5d 3e 20 20 22 24 77 2e 24 6e 61 6d 65 20 69 6e 76 ng.toupper.$key]>.."$w.$name.inv
347e0 6f 6b 65 22 0d 09 7d 0d 09 69 6e 63 72 20 69 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 36 2e 20 oke"..}..incr.i.....}......#.6..
34800 43 72 65 61 74 65 20 61 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 3c 52 65 74 75 72 6e 3e 20 6f 6e Create.a.binding.for.<Return>.on
34820 20 74 68 65 20 64 69 61 6c 6f 67 20 69 66 20 74 68 65 72 65 20 69 73 20 61 0d 20 20 20 20 23 20 .the.dialog.if.there.is.a.....#.
34840 64 65 66 61 75 6c 74 20 62 75 74 74 6f 6e 2e 0d 0d 20 20 20 20 69 66 20 5b 73 74 72 69 6e 67 20 default.button.......if.[string.
34860 63 6f 6d 70 61 72 65 20 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 20 22 22 5d 20 7b 0d 09 62 compare.$data(-default).""].{..b
34880 69 6e 64 20 24 77 20 3c 52 65 74 75 72 6e 3e 20 22 74 6b 42 75 74 74 6f 6e 49 6e 76 6f 6b 65 20 ind.$w.<Return>."tkButtonInvoke.
348a0 24 77 2e 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 22 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 $w.$data(-default)".....}......#
348c0 20 37 2e 20 57 69 74 68 64 72 61 77 20 74 68 65 20 77 69 6e 64 6f 77 2c 20 74 68 65 6e 20 75 70 .7..Withdraw.the.window,.then.up
348e0 64 61 74 65 20 61 6c 6c 20 74 68 65 20 67 65 6f 6d 65 74 72 79 20 69 6e 66 6f 72 6d 61 74 69 6f date.all.the.geometry.informatio
34900 6e 0d 20 20 20 20 23 20 73 6f 20 77 65 20 6b 6e 6f 77 20 68 6f 77 20 62 69 67 20 69 74 20 77 61 n.....#.so.we.know.how.big.it.wa
34920 6e 74 73 20 74 6f 20 62 65 2c 20 74 68 65 6e 20 63 65 6e 74 65 72 20 74 68 65 20 77 69 6e 64 6f nts.to.be,.then.center.the.windo
34940 77 20 69 6e 20 74 68 65 0d 20 20 20 20 23 20 64 69 73 70 6c 61 79 20 61 6e 64 20 64 65 2d 69 63 w.in.the.....#.display.and.de-ic
34960 6f 6e 69 66 79 20 69 74 2e 0d 0d 20 20 20 20 77 6d 20 77 69 74 68 64 72 61 77 20 24 77 0d 20 20 onify.it.......wm.withdraw.$w...
34980 20 20 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 20 20 20 20 73 65 74 20 78 20 5b 65 78 ..update.idletasks.....set.x.[ex
349a0 70 72 20 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 77 69 64 74 68 20 24 77 5d 2f 32 20 2d 20 5b 77 pr.[winfo.screenwidth.$w]/2.-.[w
349c0 69 6e 66 6f 20 72 65 71 77 69 64 74 68 20 24 77 5d 2f 32 20 5c 0d 09 20 20 20 20 2d 20 5b 77 69 info.reqwidth.$w]/2.\......-.[wi
349e0 6e 66 6f 20 76 72 6f 6f 74 78 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 5d 5d 0d 20 nfo.vrootx.[winfo.parent.$w]]]..
34a00 20 20 20 73 65 74 20 79 20 5b 65 78 70 72 20 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 68 65 69 67 ...set.y.[expr.[winfo.screenheig
34a20 68 74 20 24 77 5d 2f 32 20 2d 20 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 77 5d 2f ht.$w]/2.-.[winfo.reqheight.$w]/
34a40 32 20 5c 0d 09 20 20 20 20 2d 20 5b 77 69 6e 66 6f 20 76 72 6f 6f 74 79 20 5b 77 69 6e 66 6f 20 2.\......-.[winfo.vrooty.[winfo.
34a60 70 61 72 65 6e 74 20 24 77 5d 5d 5d 0d 20 20 20 20 77 6d 20 67 65 6f 6d 20 24 77 20 2b 24 78 2b parent.$w]]].....wm.geom.$w.+$x+
34a80 24 79 0d 20 20 20 20 77 6d 20 64 65 69 63 6f 6e 69 66 79 20 24 77 0d 0d 20 20 20 20 23 20 38 2e $y.....wm.deiconify.$w......#.8.
34aa0 20 53 65 74 20 61 20 67 72 61 62 20 61 6e 64 20 63 6c 61 69 6d 20 74 68 65 20 66 6f 63 75 73 20 .Set.a.grab.and.claim.the.focus.
34ac0 74 6f 6f 2e 0d 0d 20 20 20 20 73 65 74 20 6f 6c 64 46 6f 63 75 73 20 5b 66 6f 63 75 73 5d 0d 20 too.......set.oldFocus.[focus]..
34ae0 20 20 20 73 65 74 20 6f 6c 64 47 72 61 62 20 5b 67 72 61 62 20 63 75 72 72 65 6e 74 20 24 77 5d ...set.oldGrab.[grab.current.$w]
34b00 0d 20 20 20 20 69 66 20 7b 24 6f 6c 64 47 72 61 62 20 21 3d 20 22 22 7d 20 7b 0d 09 73 65 74 20 .....if.{$oldGrab.!=.""}.{..set.
34b20 67 72 61 62 53 74 61 74 75 73 20 5b 67 72 61 62 20 73 74 61 74 75 73 20 24 6f 6c 64 47 72 61 62 grabStatus.[grab.status.$oldGrab
34b40 5d 0d 20 20 20 20 7d 0d 20 20 20 20 67 72 61 62 20 24 77 0d 20 20 20 20 69 66 20 5b 73 74 72 69 ].....}.....grab.$w.....if.[stri
34b60 6e 67 20 63 6f 6d 70 61 72 65 20 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 20 22 22 5d 20 7b ng.compare.$data(-default).""].{
34b80 0d 09 66 6f 63 75 73 20 24 77 2e 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 0d 20 20 20 20 7d ..focus.$w.$data(-default).....}
34ba0 20 65 6c 73 65 20 7b 0d 09 66 6f 63 75 73 20 24 77 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 39 .else.{..focus.$w.....}......#.9
34bc0 2e 20 57 61 69 74 20 66 6f 72 20 74 68 65 20 75 73 65 72 20 74 6f 20 72 65 73 70 6f 6e 64 2c 20 ..Wait.for.the.user.to.respond,.
34be0 74 68 65 6e 20 72 65 73 74 6f 72 65 20 74 68 65 20 66 6f 63 75 73 20 61 6e 64 0d 20 20 20 20 23 then.restore.the.focus.and.....#
34c00 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 73 65 6c 65 63 74 65 .return.the.index.of.the.selecte
34c20 64 20 62 75 74 74 6f 6e 2e 20 20 52 65 73 74 6f 72 65 20 74 68 65 20 66 6f 63 75 73 0d 20 20 20 d.button...Restore.the.focus....
34c40 20 23 20 62 65 66 6f 72 65 20 64 65 6c 65 74 69 6e 67 20 74 68 65 20 77 69 6e 64 6f 77 2c 20 73 .#.before.deleting.the.window,.s
34c60 69 6e 63 65 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 ince.otherwise.the.window.manage
34c80 72 0d 20 20 20 20 23 20 6d 61 79 20 74 61 6b 65 20 74 68 65 20 66 6f 63 75 73 20 61 77 61 79 20 r.....#.may.take.the.focus.away.
34ca0 73 6f 20 77 65 20 63 61 6e 27 74 20 72 65 64 69 72 65 63 74 20 69 74 2e 20 20 46 69 6e 61 6c 6c so.we.can't.redirect.it...Finall
34cc0 79 2c 0d 20 20 20 20 23 20 72 65 73 74 6f 72 65 20 61 6e 79 20 67 72 61 62 20 74 68 61 74 20 77 y,.....#.restore.any.grab.that.w
34ce0 61 73 20 69 6e 20 65 66 66 65 63 74 2e 0d 0d 20 20 20 20 74 6b 77 61 69 74 20 76 61 72 69 61 62 as.in.effect.......tkwait.variab
34d00 6c 65 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 0d 20 20 20 20 63 61 74 63 68 20 7b 66 6f 63 le.tkPriv(button).....catch.{foc
34d20 75 73 20 24 6f 6c 64 46 6f 63 75 73 7d 0d 20 20 20 20 64 65 73 74 72 6f 79 20 24 77 0d 20 20 20 us.$oldFocus}.....destroy.$w....
34d40 20 69 66 20 7b 24 6f 6c 64 47 72 61 62 20 21 3d 20 22 22 7d 20 7b 0d 09 69 66 20 7b 24 67 72 61 .if.{$oldGrab.!=.""}.{..if.{$gra
34d60 62 53 74 61 74 75 73 20 3d 3d 20 22 67 6c 6f 62 61 6c 22 7d 20 7b 0d 09 20 20 20 20 67 72 61 62 bStatus.==."global"}.{......grab
34d80 20 2d 67 6c 6f 62 61 6c 20 24 6f 6c 64 47 72 61 62 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 .-global.$oldGrab..}.else.{.....
34da0 20 67 72 61 62 20 24 6f 6c 64 47 72 61 62 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 .grab.$oldGrab..}.....}.....retu
34dc0 72 6e 20 24 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 0d 7d 0d 00 00 1d 42 23 20 63 6f 6d 64 6c rn.$tkPriv(button).}....B#.comdl
34de0 67 2e 74 63 6c 20 2d 2d 0d 23 0d 23 09 53 6f 6d 65 20 66 75 6e 63 74 69 6f 6e 73 20 6e 65 65 64 g.tcl.--.#.#.Some.functions.need
34e00 65 64 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 64 69 61 6c 6f 67 20 62 6f 78 65 73 2e 20 ed.for.the.common.dialog.boxes..
34e20 50 72 6f 62 61 62 6c 79 20 6e 65 65 64 20 74 6f 20 67 6f 0d 23 09 69 6e 20 61 20 64 69 66 66 65 Probably.need.to.go.#.in.a.diffe
34e40 72 65 6e 74 20 66 69 6c 65 2e 0d 23 0d 23 20 53 43 43 53 3a 20 40 28 23 29 20 63 6f 6d 64 6c 67 rent.file..#.#.SCCS:.@(#).comdlg
34e60 2e 74 63 6c 20 31 2e 34 20 39 36 2f 30 39 2f 30 35 20 30 39 3a 30 37 3a 35 34 0d 23 0d 23 20 43 .tcl.1.4.96/09/05.09:07:54.#.#.C
34e80 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 36 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 opyright.(c).1996.Sun.Microsyste
34ea0 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e ms,.Inc..#.#.See.the.file."licen
34ec0 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 se.terms".for.information.on.usa
34ee0 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 ge.and.redistribution.#.of.this.
34f00 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c file,.and.for.a.DISCLAIMER.OF.AL
34f20 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 74 63 6c 50 61 72 73 65 43 6f 6e 66 69 L.WARRANTIES..#..#.tclParseConfi
34f40 67 53 70 65 63 20 2d 2d 0d 23 0d 23 09 50 61 72 73 65 73 20 61 20 6c 69 73 74 20 6f 66 20 22 2d gSpec.--.#.#.Parses.a.list.of."-
34f60 6f 70 74 69 6f 6e 20 76 61 6c 75 65 22 20 70 61 69 72 73 2e 20 49 66 20 61 6c 6c 20 6f 70 74 69 option.value".pairs..If.all.opti
34f80 6f 6e 73 20 61 6e 64 0d 23 09 76 61 6c 75 65 73 20 61 72 65 20 6c 65 67 61 6c 2c 20 74 68 65 20 ons.and.#.values.are.legal,.the.
34fa0 76 61 6c 75 65 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 0d 23 09 24 64 61 74 61 28 24 6f 70 values.are.stored.in.#.$data($op
34fc0 74 69 6f 6e 29 2e 20 4f 74 68 65 72 77 69 73 65 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 tion)..Otherwise.an.error.messag
34fe0 65 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 57 68 65 6e 0d 23 09 61 6e 20 65 72 72 6f 72 20 68 e.is.returned..When.#.an.error.h
35000 61 70 70 65 6e 73 2c 20 74 68 65 20 64 61 74 61 28 29 20 61 72 72 61 79 20 6d 61 79 20 68 61 76 appens,.the.data().array.may.hav
35020 65 20 62 65 65 6e 20 70 61 72 74 69 61 6c 6c 79 0d 23 09 6d 6f 64 69 66 69 65 64 2c 20 62 75 74 e.been.partially.#.modified,.but
35040 20 61 6c 6c 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 6d 65 6d 62 65 72 73 20 6f 66 20 74 68 65 .all.the.modified.members.of.the
35060 20 64 61 74 61 28 30 20 61 72 72 61 79 20 61 72 65 0d 23 09 67 75 61 72 61 6e 74 65 65 64 20 74 .data(0.array.are.#.guaranteed.t
35080 6f 20 68 61 76 65 20 76 61 6c 69 64 20 76 61 6c 75 65 73 2e 20 54 68 69 73 20 69 73 20 64 69 66 o.have.valid.values..This.is.dif
350a0 66 65 72 65 6e 74 20 74 68 61 6e 0d 23 09 54 6b 5f 43 6f 6e 66 69 67 75 72 65 57 69 64 67 65 74 ferent.than.#.Tk_ConfigureWidget
350c0 28 29 20 77 68 69 63 68 20 64 6f 65 73 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 65 20 76 61 6c ().which.does.not.modify.the.val
350e0 75 65 20 6f 66 20 61 0d 23 09 77 69 64 67 65 74 20 72 65 63 6f 72 64 20 69 66 20 61 6e 79 20 65 ue.of.a.#.widget.record.if.any.e
35100 72 72 6f 72 20 6f 63 63 75 72 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 0d 23 20 rror.occurs..#.#.Arguments:.#.#.
35120 77 20 3d 20 77 69 64 67 65 74 20 72 65 63 6f 72 64 20 74 6f 20 6d 6f 64 69 66 79 2e 20 4d 75 73 w.=.widget.record.to.modify..Mus
35140 74 20 62 65 20 74 68 65 20 70 61 74 68 6e 61 6d 65 20 6f 66 20 61 20 77 69 64 67 65 74 2e 0d 23 t.be.the.pathname.of.a.widget..#
35160 0d 23 20 73 70 65 63 73 20 3d 20 7b 0d 23 20 20 20 20 7b 2d 63 6f 6d 6d 61 6e 64 6c 69 6e 65 73 .#.specs.=.{.#....{-commandlines
35180 77 69 74 63 68 20 72 65 73 6f 75 72 63 65 4e 61 6d 65 20 52 65 73 6f 75 72 63 65 43 6c 61 73 73 witch.resourceName.ResourceClass
351a0 20 64 65 66 61 75 6c 74 56 61 6c 75 65 20 76 65 72 69 66 69 65 72 7d 0d 23 20 20 20 20 7b 2e 2e .defaultValue.verifier}.#....{..
351c0 2e 2e 7d 0d 23 20 7d 0d 23 0d 23 20 66 6c 61 67 73 20 3d 20 63 75 72 72 65 6e 74 6c 79 20 75 6e ..}.#.}.#.#.flags.=.currently.un
351e0 75 73 65 64 2e 0d 23 0d 23 20 61 72 67 4c 69 73 74 20 3d 20 54 68 65 20 6c 69 73 74 20 6f 66 20 used..#.#.argList.=.The.list.of.
35200 20 22 2d 6f 70 74 69 6f 6e 20 76 61 6c 75 65 22 20 70 61 69 72 73 2e 0d 23 0d 70 72 6f 63 20 74 ."-option.value".pairs..#.proc.t
35220 63 6c 50 61 72 73 65 43 6f 6e 66 69 67 53 70 65 63 20 7b 77 20 73 70 65 63 73 20 66 6c 61 67 73 clParseConfigSpec.{w.specs.flags
35240 20 61 72 67 4c 69 73 74 7d 20 7b 0d 20 20 20 20 75 70 76 61 72 20 23 30 20 24 77 20 64 61 74 61 .argList}.{.....upvar.#0.$w.data
35260 0d 0d 20 20 20 20 23 20 31 3a 20 50 75 74 20 74 68 65 20 73 70 65 63 73 20 69 6e 20 61 73 73 6f ......#.1:.Put.the.specs.in.asso
35280 63 69 61 74 69 76 65 20 61 72 72 61 79 73 20 66 6f 72 20 66 61 73 74 65 72 20 61 63 63 65 73 73 ciative.arrays.for.faster.access
352a0 0d 20 20 20 20 23 0d 20 20 20 20 66 6f 72 65 61 63 68 20 73 70 65 63 20 24 73 70 65 63 73 20 7b .....#.....foreach.spec.$specs.{
352c0 0d 09 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 73 70 65 63 5d 20 3c 20 34 7d 20 7b 0d 09 20 20 ..if.{[llength.$spec].<.4}.{....
352e0 20 20 65 72 72 6f 72 20 22 5c 22 73 70 65 63 5c 22 20 73 68 6f 75 6c 64 20 63 6f 6e 74 61 69 6e ..error."\"spec\".should.contain
35300 20 35 20 6f 72 20 34 20 65 6c 65 6d 65 6e 74 73 22 0d 09 7d 0d 09 73 65 74 20 63 6d 64 73 77 20 .5.or.4.elements"..}..set.cmdsw.
35320 5b 6c 69 6e 64 65 78 20 24 73 70 65 63 20 30 5d 0d 09 73 65 74 20 63 6d 64 28 24 63 6d 64 73 77 [lindex.$spec.0]..set.cmd($cmdsw
35340 29 20 22 22 0d 09 73 65 74 20 72 6e 61 6d 65 28 24 63 6d 64 73 77 29 20 20 20 5b 6c 69 6e 64 65 ).""..set.rname($cmdsw)...[linde
35360 78 20 24 73 70 65 63 20 31 5d 0d 09 73 65 74 20 72 63 6c 61 73 73 28 24 63 6d 64 73 77 29 20 20 x.$spec.1]..set.rclass($cmdsw)..
35380 5b 6c 69 6e 64 65 78 20 24 73 70 65 63 20 32 5d 0d 09 73 65 74 20 64 65 66 28 24 63 6d 64 73 77 [lindex.$spec.2]..set.def($cmdsw
353a0 29 20 20 20 20 20 5b 6c 69 6e 64 65 78 20 24 73 70 65 63 20 33 5d 0d 09 73 65 74 20 76 65 72 70 ).....[lindex.$spec.3]..set.verp
353c0 72 6f 63 28 24 63 6d 64 73 77 29 20 5b 6c 69 6e 64 65 78 20 24 73 70 65 63 20 34 5d 0d 20 20 20 roc($cmdsw).[lindex.$spec.4]....
353e0 20 7d 0d 0d 20 20 20 20 69 66 20 7b 5b 65 78 70 72 20 5b 6c 6c 65 6e 67 74 68 20 24 61 72 67 4c .}......if.{[expr.[llength.$argL
35400 69 73 74 5d 20 25 32 5d 20 21 3d 20 30 7d 20 7b 0d 09 66 6f 72 65 61 63 68 20 7b 63 6d 64 73 77 ist].%2].!=.0}.{..foreach.{cmdsw
35420 20 76 61 6c 75 65 7d 20 24 61 72 67 4c 69 73 74 20 7b 0d 09 20 20 20 20 69 66 20 21 5b 69 6e 66 .value}.$argList.{......if.![inf
35440 6f 20 65 78 69 73 74 73 20 63 6d 64 28 24 63 6d 64 73 77 29 5d 20 7b 0d 09 20 20 20 20 20 20 20 o.exists.cmd($cmdsw)].{.........
35460 20 65 72 72 6f 72 20 22 75 6e 6b 6e 6f 77 6e 20 6f 70 74 69 6f 6e 20 5c 22 24 63 6d 64 73 77 5c .error."unknown.option.\"$cmdsw\
35480 22 2c 20 6d 75 73 74 20 62 65 20 5b 74 63 6c 4c 69 73 74 56 61 6c 69 64 46 6c 61 67 73 20 63 6d ",.must.be.[tclListValidFlags.cm
354a0 64 5d 22 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 65 72 72 6f 72 20 22 76 61 6c 75 65 20 66 6f 72 20 d]"......}..}..error."value.for.
354c0 5c 22 5b 6c 69 6e 64 65 78 20 24 61 72 67 4c 69 73 74 20 65 6e 64 5d 5c 22 20 6d 69 73 73 69 6e \"[lindex.$argList.end]\".missin
354e0 67 22 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 32 3a 20 73 65 74 20 74 68 65 20 64 65 66 61 75 g".....}......#.2:.set.the.defau
35500 6c 74 20 76 61 6c 75 65 73 0d 20 20 20 20 23 0d 20 20 20 20 66 6f 72 65 61 63 68 20 63 6d 64 73 lt.values.....#.....foreach.cmds
35520 77 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 63 6d 64 5d 20 7b 0d 09 73 65 74 20 64 61 74 61 28 w.[array.names.cmd].{..set.data(
35540 24 63 6d 64 73 77 29 20 24 64 65 66 28 24 63 6d 64 73 77 29 0d 20 20 20 20 7d 0d 0d 20 20 20 20 $cmdsw).$def($cmdsw).....}......
35560 23 20 33 3a 20 70 61 72 73 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 0d 20 20 20 #.3:.parse.the.argument.list....
35580 20 23 0d 20 20 20 20 66 6f 72 65 61 63 68 20 7b 63 6d 64 73 77 20 76 61 6c 75 65 7d 20 24 61 72 .#.....foreach.{cmdsw.value}.$ar
355a0 67 4c 69 73 74 20 7b 0d 09 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 63 6d 64 28 24 63 gList.{..if.![info.exists.cmd($c
355c0 6d 64 73 77 29 5d 20 7b 0d 09 20 20 20 20 65 72 72 6f 72 20 22 75 6e 6b 6e 6f 77 6e 20 6f 70 74 mdsw)].{......error."unknown.opt
355e0 69 6f 6e 20 5c 22 24 63 6d 64 73 77 5c 22 2c 20 6d 75 73 74 20 62 65 20 5b 74 63 6c 4c 69 73 74 ion.\"$cmdsw\",.must.be.[tclList
35600 56 61 6c 69 64 46 6c 61 67 73 20 63 6d 64 5d 22 0d 09 7d 0d 09 73 65 74 20 64 61 74 61 28 24 63 ValidFlags.cmd]"..}..set.data($c
35620 6d 64 73 77 29 20 24 76 61 6c 75 65 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 44 6f 6e 65 21 0d mdsw).$value.....}......#.Done!.
35640 7d 0d 0d 70 72 6f 63 20 74 63 6c 4c 69 73 74 56 61 6c 69 64 46 6c 61 67 73 20 7b 76 7d 20 7b 0d }..proc.tclListValidFlags.{v}.{.
35660 20 20 20 20 75 70 76 61 72 20 24 76 20 63 6d 64 0d 0d 20 20 20 20 73 65 74 20 6c 65 6e 20 5b 6c ....upvar.$v.cmd......set.len.[l
35680 6c 65 6e 67 74 68 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 63 6d 64 5d 5d 0d 20 20 20 20 73 65 length.[array.names.cmd]].....se
356a0 74 20 69 20 31 0d 20 20 20 20 73 65 74 20 73 65 70 61 72 61 74 6f 72 20 22 22 0d 20 20 20 20 73 t.i.1.....set.separator."".....s
356c0 65 74 20 65 72 72 6f 72 6d 73 67 20 22 22 0d 20 20 20 20 66 6f 72 65 61 63 68 20 63 6d 64 73 77 et.errormsg."".....foreach.cmdsw
356e0 20 5b 6c 73 6f 72 74 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 63 6d 64 5d 5d 20 7b 0d 09 61 70 .[lsort.[array.names.cmd]].{..ap
35700 70 65 6e 64 20 65 72 72 6f 72 6d 73 67 20 22 24 73 65 70 61 72 61 74 6f 72 24 63 6d 64 73 77 22 pend.errormsg."$separator$cmdsw"
35720 0d 09 69 6e 63 72 20 69 0d 09 69 66 20 7b 24 69 20 3d 3d 20 24 6c 65 6e 7d 20 7b 0d 09 20 20 20 ..incr.i..if.{$i.==.$len}.{.....
35740 20 73 65 74 20 73 65 70 61 72 61 74 6f 72 20 22 20 6f 72 20 22 0d 09 7d 20 65 6c 73 65 20 7b 0d .set.separator.".or."..}.else.{.
35760 09 20 20 20 20 73 65 74 20 73 65 70 61 72 61 74 6f 72 20 22 2c 20 22 0d 09 7d 0d 20 20 20 20 7d .....set.separator.",."..}.....}
35780 0d 20 20 20 20 72 65 74 75 72 6e 20 24 65 72 72 6f 72 6d 73 67 0d 7d 0d 0d 23 20 54 68 69 73 20 .....return.$errormsg.}..#.This.
357a0 70 72 6f 63 65 64 75 72 65 20 69 73 20 75 73 65 64 20 74 6f 20 73 6f 72 74 20 73 74 72 69 6e 67 procedure.is.used.to.sort.string
357c0 73 20 69 6e 20 61 20 63 61 73 65 2d 69 6e 73 65 6e 73 74 69 76 65 20 6d 6f 64 65 2e 0d 23 0d 70 s.in.a.case-insenstive.mode..#.p
357e0 72 6f 63 20 74 63 6c 53 6f 72 74 4e 6f 43 61 73 65 20 7b 73 74 72 31 20 73 74 72 32 7d 20 7b 0d roc.tclSortNoCase.{str1.str2}.{.
35800 20 20 20 20 72 65 74 75 72 6e 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 73 74 72 69 ....return.[string.compare.[stri
35820 6e 67 20 74 6f 75 70 70 65 72 20 24 73 74 72 31 5d 20 5b 73 74 72 69 6e 67 20 74 6f 75 70 70 65 ng.toupper.$str1].[string.touppe
35840 72 20 24 73 74 72 32 5d 5d 0d 7d 0d 0d 0d 23 20 47 69 76 65 73 20 61 6e 20 65 72 72 6f 72 20 69 r.$str2]].}...#.Gives.an.error.i
35860 66 20 74 68 65 20 73 74 72 69 6e 67 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 20 f.the.string.does.not.contain.a.
35880 76 61 6c 69 64 20 69 6e 74 65 67 65 72 0d 23 20 6e 75 6d 62 65 72 0d 23 0d 70 72 6f 63 20 74 63 valid.integer.#.number.#.proc.tc
358a0 6c 56 65 72 69 66 79 49 6e 74 65 67 65 72 20 7b 73 74 72 69 6e 67 7d 20 7b 0d 20 20 20 20 6c 69 lVerifyInteger.{string}.{.....li
358c0 6e 64 65 78 20 7b 31 20 32 20 33 7d 20 24 73 74 72 69 6e 67 0d 7d 0d 0d 0d 23 2d 2d 2d 2d 2d 2d ndex.{1.2.3}.$string.}...#------
358e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
35900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
35920 0d 23 0d 23 09 09 09 46 6f 63 75 73 20 47 72 6f 75 70 0d 23 0d 23 20 46 6f 63 75 73 20 67 72 6f .#.#...Focus.Group.#.#.Focus.gro
35940 75 70 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 75 73 65 72 27 ups.are.used.to.handle.the.user'
35960 73 20 66 6f 63 75 73 69 6e 67 20 61 63 74 69 6f 6e 73 20 69 6e 73 69 64 65 20 61 0d 23 20 74 6f s.focusing.actions.inside.a.#.to
35980 70 6c 65 76 65 6c 2e 0d 23 0d 23 20 4f 6e 65 20 65 78 61 6d 70 6c 65 20 6f 66 20 75 73 69 6e 67 plevel..#.#.One.example.of.using
359a0 20 66 6f 63 75 73 20 67 72 6f 75 70 73 20 69 73 3a 20 77 68 65 6e 20 74 68 65 20 75 73 65 72 20 .focus.groups.is:.when.the.user.
359c0 66 6f 63 75 73 65 73 20 6f 6e 20 61 6e 0d 23 20 65 6e 74 72 79 2c 20 74 68 65 20 74 65 78 74 20 focuses.on.an.#.entry,.the.text.
359e0 69 6e 20 74 68 65 20 65 6e 74 72 79 20 69 73 20 68 69 67 68 6c 69 67 68 74 65 64 20 61 6e 64 20 in.the.entry.is.highlighted.and.
35a00 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 70 75 74 20 74 6f 0d 23 20 74 68 65 20 65 6e 64 20 6f the.cursor.is.put.to.#.the.end.o
35a20 66 20 74 68 65 20 74 65 78 74 2e 20 57 68 65 6e 20 74 68 65 20 75 73 65 72 20 63 68 61 6e 67 65 f.the.text..When.the.user.change
35a40 73 20 66 6f 63 75 73 20 74 6f 20 61 6e 6f 74 68 65 72 20 77 69 64 67 65 74 2c 0d 23 20 74 68 65 s.focus.to.another.widget,.#.the
35a60 20 74 65 78 74 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 6c 79 20 66 6f 63 75 73 65 64 20 .text.in.the.previously.focused.
35a80 65 6e 74 72 79 20 69 73 20 76 61 6c 69 64 61 74 65 64 2e 0d 23 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d entry.is.validated..#.#---------
35aa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
35ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 0d -----------------------------...
35ae0 23 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 43 72 65 61 74 65 20 2d 2d 0d 23 0d 23 09 43 72 65 #.tkFocusGroup_Create.--.#.#.Cre
35b00 61 74 65 20 61 20 66 6f 63 75 73 20 67 72 6f 75 70 2e 20 41 6c 6c 20 74 68 65 20 77 69 64 67 65 ate.a.focus.group..All.the.widge
35b20 74 73 20 69 6e 20 61 20 66 6f 63 75 73 20 67 72 6f 75 70 20 6d 75 73 74 20 62 65 0d 23 09 77 69 ts.in.a.focus.group.must.be.#.wi
35b40 74 68 69 6e 20 74 68 65 20 73 61 6d 65 20 66 6f 63 75 73 20 74 6f 70 6c 65 76 65 6c 2e 20 45 61 thin.the.same.focus.toplevel..Ea
35b60 63 68 20 74 6f 70 6c 65 76 65 6c 20 63 61 6e 20 68 61 76 65 20 6f 6e 6c 79 0d 23 09 6f 6e 65 20 ch.toplevel.can.have.only.#.one.
35b80 66 6f 63 75 73 20 67 72 6f 75 70 2c 20 77 68 69 63 68 20 69 73 20 69 64 65 6e 74 69 66 69 65 64 focus.group,.which.is.identified
35ba0 20 62 79 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 0d 23 09 74 6f 70 6c 65 76 65 6c 20 77 .by.the.name.of.the.#.toplevel.w
35bc0 69 64 67 65 74 2e 0d 23 0d 70 72 6f 63 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 43 72 65 61 74 idget..#.proc.tkFocusGroup_Creat
35be0 65 20 7b 74 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 e.{t}.{.....global.tkPriv.....if
35c00 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c .[string.compare.[winfo.toplevel
35c20 20 24 74 5d 20 24 74 5d 20 7b 0d 09 65 72 72 6f 72 20 22 24 74 20 69 73 20 6e 6f 74 20 61 20 74 .$t].$t].{..error."$t.is.not.a.t
35c40 6f 70 6c 65 76 65 6c 20 77 69 6e 64 6f 77 22 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 21 5b 69 oplevel.window".....}.....if.![i
35c60 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 66 67 2c 24 74 29 5d 20 7b 0d 09 73 65 74 nfo.exists.tkPriv(fg,$t)].{..set
35c80 20 74 6b 50 72 69 76 28 66 67 2c 24 74 29 20 31 0d 09 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 .tkPriv(fg,$t).1..set.tkPriv(foc
35ca0 75 73 2c 24 74 29 20 22 22 0d 09 62 69 6e 64 20 24 74 20 3c 46 6f 63 75 73 49 6e 3e 20 20 22 74 us,$t).""..bind.$t.<FocusIn>.."t
35cc0 6b 46 6f 63 75 73 47 72 6f 75 70 5f 49 6e 20 20 24 74 20 25 57 20 25 64 22 0d 09 62 69 6e 64 20 kFocusGroup_In..$t.%W.%d"..bind.
35ce0 24 74 20 3c 46 6f 63 75 73 4f 75 74 3e 20 22 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 4f 75 74 20 $t.<FocusOut>."tkFocusGroup_Out.
35d00 24 74 20 25 57 20 25 64 22 0d 09 62 69 6e 64 20 24 74 20 3c 44 65 73 74 72 6f 79 3e 20 20 22 74 $t.%W.%d"..bind.$t.<Destroy>.."t
35d20 6b 46 6f 63 75 73 47 72 6f 75 70 5f 44 65 73 74 72 6f 79 20 24 74 20 25 57 22 0d 20 20 20 20 7d kFocusGroup_Destroy.$t.%W".....}
35d40 0d 7d 0d 0d 23 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 42 69 6e 64 49 6e 20 2d 2d 0d 23 0d 23 .}..#.tkFocusGroup_BindIn.--.#.#
35d60 20 41 64 64 20 61 20 77 69 64 67 65 74 20 69 6e 74 6f 20 74 68 65 20 22 46 6f 63 75 73 49 6e 22 .Add.a.widget.into.the."FocusIn"
35d80 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 63 75 73 20 67 72 6f 75 70 2e 20 54 68 65 20 24 63 .list.of.the.focus.group..The.$c
35da0 6d 64 20 77 69 6c 6c 20 62 65 0d 23 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 74 68 65 20 77 69 64 md.will.be.#.called.when.the.wid
35dc0 67 65 74 20 69 73 20 66 6f 63 75 73 65 64 20 6f 6e 20 62 79 20 74 68 65 20 75 73 65 72 2e 0d 23 get.is.focused.on.by.the.user..#
35de0 0d 70 72 6f 63 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 42 69 6e 64 49 6e 20 7b 74 20 77 20 63 .proc.tkFocusGroup_BindIn.{t.w.c
35e00 6d 64 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 46 6f 63 75 73 49 6e 20 74 6b 50 72 69 md}.{.....global.tkFocusIn.tkPri
35e20 76 0d 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 66 67 v.....if.![info.exists.tkPriv(fg
35e40 2c 24 74 29 5d 20 7b 0d 09 65 72 72 6f 72 20 22 66 6f 63 75 73 20 67 72 6f 75 70 20 5c 22 24 74 ,$t)].{..error."focus.group.\"$t
35e60 5c 22 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 22 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 \".doesn't.exist".....}.....set.
35e80 74 6b 46 6f 63 75 73 49 6e 28 24 74 2c 24 77 29 20 24 63 6d 64 0d 7d 0d 0d 0d 23 20 74 6b 46 6f tkFocusIn($t,$w).$cmd.}...#.tkFo
35ea0 63 75 73 47 72 6f 75 70 5f 42 69 6e 64 4f 75 74 20 2d 2d 0d 23 0d 23 09 41 64 64 20 61 20 77 69 cusGroup_BindOut.--.#.#.Add.a.wi
35ec0 64 67 65 74 20 69 6e 74 6f 20 74 68 65 20 22 46 6f 63 75 73 4f 75 74 22 20 6c 69 73 74 20 6f 66 dget.into.the."FocusOut".list.of
35ee0 20 74 68 65 20 66 6f 63 75 73 20 67 72 6f 75 70 2e 20 54 68 65 0d 23 09 24 63 6d 64 20 77 69 6c .the.focus.group..The.#.$cmd.wil
35f00 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 74 68 65 20 77 69 64 67 65 74 20 6c 6f 73 65 l.be.called.when.the.widget.lose
35f20 73 20 74 68 65 20 66 6f 63 75 73 20 28 55 73 65 72 0d 23 09 74 79 70 65 73 20 54 61 62 20 6f 72 s.the.focus.(User.#.types.Tab.or
35f40 20 63 6c 69 63 6b 20 6f 6e 20 61 6e 6f 74 68 65 72 20 77 69 64 67 65 74 29 2e 0d 23 0d 70 72 6f .click.on.another.widget)..#.pro
35f60 63 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 42 69 6e 64 4f 75 74 20 7b 74 20 77 20 63 6d 64 7d c.tkFocusGroup_BindOut.{t.w.cmd}
35f80 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 46 6f 63 75 73 4f 75 74 20 74 6b 50 72 69 76 0d .{.....global.tkFocusOut.tkPriv.
35fa0 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 66 67 2c 24 ....if.![info.exists.tkPriv(fg,$
35fc0 74 29 5d 20 7b 0d 09 65 72 72 6f 72 20 22 66 6f 63 75 73 20 67 72 6f 75 70 20 5c 22 24 74 5c 22 t)].{..error."focus.group.\"$t\"
35fe0 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 22 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b .doesn't.exist".....}.....set.tk
36000 46 6f 63 75 73 4f 75 74 28 24 74 2c 24 77 29 20 24 63 6d 64 0d 7d 0d 0d 23 20 74 6b 46 6f 63 75 FocusOut($t,$w).$cmd.}..#.tkFocu
36020 73 47 72 6f 75 70 5f 44 65 73 74 72 6f 79 20 2d 2d 0d 23 0d 23 09 43 6c 65 61 6e 73 20 75 70 20 sGroup_Destroy.--.#.#.Cleans.up.
36040 77 68 65 6e 20 6d 65 6d 62 65 72 73 20 6f 66 20 74 68 65 20 66 6f 63 75 73 20 67 72 6f 75 70 20 when.members.of.the.focus.group.
36060 69 73 20 64 65 6c 65 74 65 64 2c 20 6f 72 20 77 68 65 6e 20 74 68 65 0d 23 09 74 6f 70 6c 65 76 is.deleted,.or.when.the.#.toplev
36080 65 6c 20 69 74 73 65 6c 66 20 67 65 74 73 20 64 65 6c 65 74 65 64 2e 0d 23 0d 70 72 6f 63 20 74 el.itself.gets.deleted..#.proc.t
360a0 6b 46 6f 63 75 73 47 72 6f 75 70 5f 44 65 73 74 72 6f 79 20 7b 74 20 77 7d 20 7b 0d 20 20 20 20 kFocusGroup_Destroy.{t.w}.{.....
360c0 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 20 74 6b 46 6f 63 75 73 49 6e 20 74 6b 46 6f 63 75 73 4f global.tkPriv.tkFocusIn.tkFocusO
360e0 75 74 0d 0d 20 20 20 20 69 66 20 21 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 20 24 ut......if.![string.compare.$t.$
36100 77 5d 20 7b 0d 09 75 6e 73 65 74 20 74 6b 50 72 69 76 28 66 67 2c 24 74 29 0d 09 75 6e 73 65 74 w].{..unset.tkPriv(fg,$t)..unset
36120 20 74 6b 50 72 69 76 28 66 6f 63 75 73 2c 24 74 29 20 0d 0d 09 66 6f 72 65 61 63 68 20 6e 61 6d .tkPriv(focus,$t)....foreach.nam
36140 65 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 74 6b 46 6f 63 75 73 49 6e 20 24 74 2c 2a 5d 20 7b e.[array.names.tkFocusIn.$t,*].{
36160 0d 09 20 20 20 20 75 6e 73 65 74 20 74 6b 46 6f 63 75 73 49 6e 28 24 6e 61 6d 65 29 0d 09 7d 0d ......unset.tkFocusIn($name)..}.
36180 09 66 6f 72 65 61 63 68 20 6e 61 6d 65 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 74 6b 46 6f 63 .foreach.name.[array.names.tkFoc
361a0 75 73 4f 75 74 20 24 74 2c 2a 5d 20 7b 0d 09 20 20 20 20 75 6e 73 65 74 20 74 6b 46 6f 63 75 73 usOut.$t,*].{......unset.tkFocus
361c0 4f 75 74 28 24 6e 61 6d 65 29 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 69 66 20 5b Out($name)..}.....}.else.{..if.[
361e0 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 66 6f 63 75 73 2c 24 74 29 5d 20 7b 0d info.exists.tkPriv(focus,$t)].{.
36200 09 20 20 20 20 69 66 20 21 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 6b 50 72 69 76 .....if.![string.compare.$tkPriv
36220 28 66 6f 63 75 73 2c 24 74 29 20 24 77 5d 20 7b 0d 09 09 73 65 74 20 74 6b 50 72 69 76 28 66 6f (focus,$t).$w].{...set.tkPriv(fo
36240 63 75 73 2c 24 74 29 20 22 22 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 63 61 74 63 68 20 7b 0d 09 20 cus,$t).""......}..}..catch.{...
36260 20 20 20 75 6e 73 65 74 20 74 6b 46 6f 63 75 73 49 6e 28 24 74 2c 24 77 29 0d 09 7d 0d 09 63 61 ...unset.tkFocusIn($t,$w)..}..ca
36280 74 63 68 20 7b 0d 09 20 20 20 20 75 6e 73 65 74 20 74 6b 46 6f 63 75 73 4f 75 74 28 24 74 2c 24 tch.{......unset.tkFocusOut($t,$
362a0 77 29 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 49 6e w)..}.....}.}..#.tkFocusGroup_In
362c0 20 2d 2d 0d 23 0d 23 09 48 61 6e 64 6c 65 73 20 74 68 65 20 3c 46 6f 63 75 73 49 6e 3e 20 65 76 .--.#.#.Handles.the.<FocusIn>.ev
362e0 65 6e 74 2e 20 43 61 6c 6c 73 20 74 68 65 20 46 6f 63 75 73 49 6e 20 63 6f 6d 6d 61 6e 64 20 66 ent..Calls.the.FocusIn.command.f
36300 6f 72 20 74 68 65 20 6e 65 77 6c 79 0d 23 09 66 6f 63 75 73 65 64 20 77 69 64 67 65 74 20 69 6e or.the.newly.#.focused.widget.in
36320 20 74 68 65 20 66 6f 63 75 73 20 67 72 6f 75 70 2e 0d 23 0d 70 72 6f 63 20 74 6b 46 6f 63 75 73 .the.focus.group..#.proc.tkFocus
36340 47 72 6f 75 70 5f 49 6e 20 7b 74 20 77 20 64 65 74 61 69 6c 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 Group_In.{t.w.detail}.{.....glob
36360 61 6c 20 74 6b 50 72 69 76 20 74 6b 46 6f 63 75 73 49 6e 0d 0d 20 20 20 20 69 66 20 21 5b 69 6e al.tkPriv.tkFocusIn......if.![in
36380 66 6f 20 65 78 69 73 74 73 20 74 6b 46 6f 63 75 73 49 6e 28 24 74 2c 24 77 29 5d 20 7b 0d 09 73 fo.exists.tkFocusIn($t,$w)].{..s
363a0 65 74 20 74 6b 46 6f 63 75 73 49 6e 28 24 74 2c 24 77 29 20 22 22 0d 09 72 65 74 75 72 6e 0d 20 et.tkFocusIn($t,$w).""..return..
363c0 20 20 20 7d 0d 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 ...}.....if.![info.exists.tkPriv
363e0 28 66 6f 63 75 73 2c 24 74 29 5d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 (focus,$t)].{..return.....}.....
36400 69 66 20 21 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 6b 50 72 69 76 28 66 6f 63 75 if.![string.compare.$tkPriv(focu
36420 73 2c 24 74 29 20 24 77 5d 20 7b 0d 09 23 20 54 68 69 73 20 69 73 20 61 6c 72 65 61 64 79 20 69 s,$t).$w].{..#.This.is.already.i
36440 6e 20 66 6f 63 75 73 0d 09 23 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d n.focus..#..return.....}.else.{.
36460 09 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 2c 24 74 29 20 24 77 0d 09 65 76 61 6c 20 24 .set.tkPriv(focus,$t).$w..eval.$
36480 74 6b 46 6f 63 75 73 49 6e 28 24 74 2c 24 77 29 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 46 6f tkFocusIn($t,$w).....}.}..#.tkFo
364a0 63 75 73 47 72 6f 75 70 5f 4f 75 74 20 2d 2d 0d 23 0d 23 09 48 61 6e 64 6c 65 73 20 74 68 65 20 cusGroup_Out.--.#.#.Handles.the.
364c0 3c 46 6f 63 75 73 4f 75 74 3e 20 65 76 65 6e 74 2e 20 43 68 65 63 6b 73 20 69 66 20 74 68 69 73 <FocusOut>.event..Checks.if.this
364e0 20 69 73 20 72 65 61 6c 6c 79 20 61 20 6c 6f 73 65 0d 23 09 66 6f 63 75 73 20 65 76 65 6e 74 2c .is.really.a.lose.#.focus.event,
36500 20 6e 6f 74 20 6f 6e 65 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 74 68 65 20 6d 6f 75 73 65 20 .not.one.generated.by.the.mouse.
36520 6d 6f 76 69 6e 67 20 6f 75 74 20 6f 66 20 74 68 65 0d 23 09 74 6f 70 6c 65 76 65 6c 20 77 69 6e moving.out.of.the.#.toplevel.win
36540 64 6f 77 2e 20 20 43 61 6c 6c 73 20 74 68 65 20 46 6f 63 75 73 4f 75 74 20 63 6f 6d 6d 61 6e 64 dow...Calls.the.FocusOut.command
36560 20 66 6f 72 20 74 68 65 20 77 69 64 67 65 74 0d 23 09 77 68 6f 20 6c 6f 73 65 73 20 69 74 73 20 .for.the.widget.#.who.loses.its.
36580 66 6f 63 75 73 2e 0d 23 0d 70 72 6f 63 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 4f 75 74 20 7b focus..#.proc.tkFocusGroup_Out.{
365a0 74 20 77 20 64 65 74 61 69 6c 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 20 t.w.detail}.{.....global.tkPriv.
365c0 74 6b 46 6f 63 75 73 4f 75 74 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 tkFocusOut......if.{[string.comp
365e0 61 72 65 20 24 64 65 74 61 69 6c 20 4e 6f 74 69 66 79 4e 6f 6e 6c 69 6e 65 61 72 5d 20 26 26 0d are.$detail.NotifyNonlinear].&&.
36600 09 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 64 65 74 61 69 6c 20 4e 6f 74 69 66 79 4e .[string.compare.$detail.NotifyN
36620 6f 6e 6c 69 6e 65 61 72 56 69 72 74 75 61 6c 5d 7d 20 7b 0d 09 23 20 54 68 69 73 20 69 73 20 63 onlinearVirtual]}.{..#.This.is.c
36640 61 75 73 65 64 20 62 79 20 6d 6f 75 73 65 20 6d 6f 76 69 6e 67 20 6f 75 74 20 6f 66 20 74 68 65 aused.by.mouse.moving.out.of.the
36660 20 77 69 6e 64 6f 77 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 21 5b 69 .window..return.....}.....if.![i
36680 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 66 6f 63 75 73 2c 24 74 29 5d 20 7b 0d 09 nfo.exists.tkPriv(focus,$t)].{..
366a0 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 return.....}.....if.![info.exist
366c0 73 20 74 6b 46 6f 63 75 73 4f 75 74 28 24 74 2c 24 77 29 5d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 s.tkFocusOut($t,$w)].{..return..
366e0 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 65 76 61 6c 20 24 74 6b 46 6f 63 75 73 4f 75 74 28 24 74 ...}.else.{..eval.$tkFocusOut($t
36700 2c 24 77 29 0d 09 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 2c 24 74 29 20 22 22 0d 20 20 ,$w)..set.tkPriv(focus,$t).""...
36720 20 20 7d 0d 7d 0d 0d 23 20 74 6b 46 44 47 65 74 46 69 6c 65 54 79 70 65 73 20 2d 2d 0d 23 0d 23 ..}.}..#.tkFDGetFileTypes.--.#.#
36740 09 50 72 6f 63 65 73 73 20 74 68 65 20 73 74 72 69 6e 67 20 67 69 76 65 6e 20 62 79 20 74 68 65 .Process.the.string.given.by.the
36760 20 2d 66 69 6c 65 74 79 70 65 73 20 6f 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 6c 65 0d 23 .-filetypes.option.of.the.file.#
36780 09 64 69 61 6c 6f 67 73 2e 20 53 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 43 20 66 75 6e 63 74 .dialogs..Similar.to.the.C.funct
367a0 69 6f 6e 20 54 6b 47 65 74 46 69 6c 65 46 69 6c 74 65 72 73 28 29 20 6f 6e 20 74 68 65 20 4d 61 ion.TkGetFileFilters().on.the.Ma
367c0 63 0d 23 09 61 6e 64 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0d 23 0d 70 72 6f 63 c.#.and.Windows.platform..#.proc
367e0 20 74 6b 46 44 47 65 74 46 69 6c 65 54 79 70 65 73 20 7b 73 74 72 69 6e 67 7d 20 7b 0d 20 20 20 .tkFDGetFileTypes.{string}.{....
36800 20 66 6f 72 65 61 63 68 20 74 20 24 73 74 72 69 6e 67 20 7b 0d 09 69 66 20 7b 5b 6c 6c 65 6e 67 .foreach.t.$string.{..if.{[lleng
36820 74 68 20 24 74 5d 20 3c 20 32 20 7c 7c 20 5b 6c 6c 65 6e 67 74 68 20 24 74 5d 20 3e 20 33 7d 20 th.$t].<.2.||.[llength.$t].>.3}.
36840 7b 0d 09 20 20 20 20 65 72 72 6f 72 20 22 62 61 64 20 66 69 6c 65 20 74 79 70 65 20 5c 22 24 74 {......error."bad.file.type.\"$t
36860 5c 22 2c 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 74 79 70 65 4e 61 6d 65 20 7b 65 78 74 65 6e 73 \",.should.be.\"typeName.{extens
36880 69 6f 6e 20 3f 65 78 74 65 6e 73 69 6f 6e 73 20 2e 2e 2e 3f 7d 20 3f 7b 6d 61 63 54 79 70 65 20 ion.?extensions....?}.?{macType.
368a0 3f 6d 61 63 54 79 70 65 73 20 2e 2e 2e 3f 7d 3f 5c 22 22 0d 09 7d 0d 09 65 76 61 6c 20 6c 61 70 ?macTypes....?}?\""..}..eval.lap
368c0 70 65 6e 64 20 5b 6c 69 73 74 20 66 69 6c 65 54 79 70 65 73 28 5b 6c 69 6e 64 65 78 20 24 74 20 pend.[list.fileTypes([lindex.$t.
368e0 30 5d 29 5d 20 5b 6c 69 6e 64 65 78 20 24 74 20 31 5d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 0])].[lindex.$t.1].....}......se
36900 74 20 74 79 70 65 73 20 7b 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 74 20 24 73 74 72 69 6e 67 t.types.{}.....foreach.t.$string
36920 20 7b 0d 09 73 65 74 20 6c 61 62 65 6c 20 5b 6c 69 6e 64 65 78 20 24 74 20 30 5d 0d 09 73 65 74 .{..set.label.[lindex.$t.0]..set
36940 20 65 78 74 73 20 7b 7d 0d 0d 09 69 66 20 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 68 61 73 44 6f .exts.{}...if.[info.exists.hasDo
36960 6e 65 54 79 70 65 28 24 6c 61 62 65 6c 29 5d 20 7b 0d 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d neType($label)].{......continue.
36980 09 7d 0d 0d 09 73 65 74 20 6e 61 6d 65 20 22 24 6c 61 62 65 6c 20 28 22 0d 09 73 65 74 20 73 65 .}...set.name."$label.("..set.se
369a0 70 20 22 22 0d 09 66 6f 72 65 61 63 68 20 65 78 74 20 24 66 69 6c 65 54 79 70 65 73 28 24 6c 61 p.""..foreach.ext.$fileTypes($la
369c0 62 65 6c 29 20 7b 0d 09 20 20 20 20 69 66 20 21 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 bel).{......if.![string.compare.
369e0 24 65 78 74 20 22 22 5d 20 7b 0d 09 09 63 6f 6e 74 69 6e 75 65 0d 09 20 20 20 20 7d 0d 09 20 20 $ext.""].{...continue......}....
36a00 20 20 72 65 67 73 75 62 20 7b 5e 5b 2e 5d 7d 20 24 65 78 74 20 22 2a 2e 22 20 65 78 74 0d 09 20 ..regsub.{^[.]}.$ext."*.".ext...
36a20 20 20 20 69 66 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 68 61 73 47 6f 74 45 78 74 28 24 6c ...if.![info.exists.hasGotExt($l
36a40 61 62 65 6c 2c 24 65 78 74 29 5d 20 7b 0d 09 09 61 70 70 65 6e 64 20 6e 61 6d 65 20 24 73 65 70 abel,$ext)].{...append.name.$sep
36a60 24 65 78 74 0d 09 09 6c 61 70 70 65 6e 64 20 65 78 74 73 20 24 65 78 74 0d 09 09 73 65 74 20 68 $ext...lappend.exts.$ext...set.h
36a80 61 73 47 6f 74 45 78 74 28 24 6c 61 62 65 6c 2c 24 65 78 74 29 20 31 0d 09 20 20 20 20 7d 0d 09 asGotExt($label,$ext).1......}..
36aa0 20 20 20 20 73 65 74 20 73 65 70 20 2c 0d 09 7d 0d 09 61 70 70 65 6e 64 20 6e 61 6d 65 20 22 29 ....set.sep.,..}..append.name.")
36ac0 22 0d 09 6c 61 70 70 65 6e 64 20 74 79 70 65 73 20 5b 6c 69 73 74 20 24 6e 61 6d 65 20 24 65 78 "..lappend.types.[list.$name.$ex
36ae0 74 73 5d 0d 0d 09 73 65 74 20 68 61 73 44 6f 6e 65 54 79 70 65 28 24 6c 61 62 65 6c 29 20 31 0d ts]...set.hasDoneType($label).1.
36b00 20 20 20 20 7d 0d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 74 79 70 65 73 0d 7d 0d 00 00 25 4a 25 ....}......return.$types.}...%J%
36b20 25 42 65 67 69 6e 50 72 6f 6c 6f 67 0d 35 30 20 64 69 63 74 20 62 65 67 69 6e 0d 0d 25 20 54 68 %BeginProlog.50.dict.begin..%.Th
36b40 69 73 20 69 73 20 61 20 73 74 61 6e 64 61 72 64 20 70 72 6f 6c 6f 67 20 66 6f 72 20 50 6f 73 74 is.is.a.standard.prolog.for.Post
36b60 73 63 72 69 70 74 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 54 6b 27 73 20 63 61 6e 76 61 73 0d script.generated.by.Tk's.canvas.
36b80 25 20 77 69 64 67 65 74 2e 0d 25 20 53 43 43 53 3a 20 40 28 23 29 20 70 72 6f 6c 6f 67 2e 70 73 %.widget..%.SCCS:.@(#).prolog.ps
36ba0 20 31 2e 37 20 39 36 2f 30 37 2f 30 38 20 31 37 3a 35 32 3a 31 34 0d 0d 25 20 54 68 65 20 64 65 .1.7.96/07/08.17:52:14..%.The.de
36bc0 66 69 6e 69 74 69 6f 6e 73 20 62 65 6c 6f 77 20 6a 75 73 74 20 64 65 66 69 6e 65 20 61 6c 6c 20 finitions.below.just.define.all.
36be0 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 75 73 65 64 20 69 6e 0d 25 20 61 6e 79 20 6f of.the.variables.used.in.%.any.o
36c00 66 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 73 20 68 65 72 65 2e 20 20 54 68 69 73 20 69 73 20 f.the.procedures.here...This.is.
36c20 6e 65 65 64 65 64 20 66 6f 72 20 6f 62 73 63 75 72 65 20 72 65 61 73 6f 6e 73 0d 25 20 65 78 70 needed.for.obscure.reasons.%.exp
36c40 6c 61 69 6e 65 64 20 6f 6e 20 70 2e 20 37 31 36 20 6f 66 20 74 68 65 20 50 6f 73 74 73 63 72 69 lained.on.p..716.of.the.Postscri
36c60 70 74 20 6d 61 6e 75 61 6c 20 28 53 65 63 74 69 6f 6e 20 48 2e 32 2e 37 2c 0d 25 20 22 49 6e 69 pt.manual.(Section.H.2.7,.%."Ini
36c80 74 69 61 6c 69 7a 69 6e 67 20 56 61 72 69 61 62 6c 65 73 2c 22 20 69 6e 20 74 68 65 20 73 65 63 tializing.Variables,".in.the.sec
36ca0 74 69 6f 6e 20 6f 6e 20 45 6e 63 61 70 73 75 6c 61 74 65 64 20 50 6f 73 74 73 63 72 69 70 74 29 tion.on.Encapsulated.Postscript)
36cc0 2e 0d 0d 2f 62 61 73 65 6c 69 6e 65 20 30 20 64 65 66 0d 2f 73 74 69 70 69 6d 61 67 65 20 30 20 .../baseline.0.def./stipimage.0.
36ce0 64 65 66 0d 2f 68 65 69 67 68 74 20 30 20 64 65 66 0d 2f 6a 75 73 74 69 66 79 20 30 20 64 65 66 def./height.0.def./justify.0.def
36d00 0d 2f 6c 69 6e 65 4c 65 6e 67 74 68 20 30 20 64 65 66 0d 2f 73 70 61 63 69 6e 67 20 30 20 64 65 ./lineLength.0.def./spacing.0.de
36d20 66 0d 2f 73 74 69 70 70 6c 65 20 30 20 64 65 66 0d 2f 73 74 72 69 6e 67 73 20 30 20 64 65 66 0d f./stipple.0.def./strings.0.def.
36d40 2f 78 6f 66 66 73 65 74 20 30 20 64 65 66 0d 2f 79 6f 66 66 73 65 74 20 30 20 64 65 66 0d 2f 74 /xoffset.0.def./yoffset.0.def./t
36d60 6d 70 73 74 69 70 20 6e 75 6c 6c 20 64 65 66 0d 0d 25 20 44 65 66 69 6e 65 20 74 68 65 20 61 72 mpstip.null.def..%.Define.the.ar
36d80 72 61 79 20 49 53 4f 4c 61 74 69 6e 31 45 6e 63 6f 64 69 6e 67 20 28 77 68 69 63 68 20 73 70 65 ray.ISOLatin1Encoding.(which.spe
36da0 63 69 66 69 65 73 20 68 6f 77 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 0d 25 20 65 6e 63 6f cifies.how.characters.are.%.enco
36dc0 64 65 64 20 66 6f 72 20 49 53 4f 2d 38 38 35 39 2d 31 20 66 6f 6e 74 73 29 2c 20 69 66 20 69 74 ded.for.ISO-8859-1.fonts),.if.it
36de0 20 69 73 6e 27 74 20 61 6c 72 65 61 64 79 20 70 72 65 73 65 6e 74 20 28 50 6f 73 74 73 63 72 69 .isn't.already.present.(Postscri
36e00 70 74 0d 25 20 6c 65 76 65 6c 20 32 20 69 73 20 73 75 70 70 6f 73 65 64 20 74 6f 20 64 65 66 69 pt.%.level.2.is.supposed.to.defi
36e20 6e 65 20 69 74 2c 20 62 75 74 20 6c 65 76 65 6c 20 31 20 64 6f 65 73 6e 27 74 29 2e 0d 0d 73 79 ne.it,.but.level.1.doesn't)...sy
36e40 73 74 65 6d 64 69 63 74 20 2f 49 53 4f 4c 61 74 69 6e 31 45 6e 63 6f 64 69 6e 67 20 6b 6e 6f 77 stemdict./ISOLatin1Encoding.know
36e60 6e 20 6e 6f 74 20 7b 0d 20 20 20 20 2f 49 53 4f 4c 61 74 69 6e 31 45 6e 63 6f 64 69 6e 67 20 5b n.not.{...../ISOLatin1Encoding.[
36e80 0d 09 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 ../space./space./space./space./s
36ea0 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 0d 09 2f 73 70 61 63 pace./space./space./space../spac
36ec0 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 e./space./space./space./space./s
36ee0 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 0d 09 2f 73 70 61 63 65 20 2f 73 70 61 63 pace./space./space../space./spac
36f00 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 e./space./space./space./space./s
36f20 70 61 63 65 20 2f 73 70 61 63 65 0d 09 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 pace./space../space./space./spac
36f40 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 e./space./space./space./space./s
36f60 70 61 63 65 0d 09 2f 73 70 61 63 65 20 2f 65 78 63 6c 61 6d 20 2f 71 75 6f 74 65 64 62 6c 20 2f pace../space./exclam./quotedbl./
36f80 6e 75 6d 62 65 72 73 69 67 6e 20 2f 64 6f 6c 6c 61 72 20 2f 70 65 72 63 65 6e 74 20 2f 61 6d 70 numbersign./dollar./percent./amp
36fa0 65 72 73 61 6e 64 0d 09 20 20 20 20 2f 71 75 6f 74 65 72 69 67 68 74 0d 09 2f 70 61 72 65 6e 6c ersand....../quoteright../parenl
36fc0 65 66 74 20 2f 70 61 72 65 6e 72 69 67 68 74 20 2f 61 73 74 65 72 69 73 6b 20 2f 70 6c 75 73 20 eft./parenright./asterisk./plus.
36fe0 2f 63 6f 6d 6d 61 20 2f 6d 69 6e 75 73 20 2f 70 65 72 69 6f 64 20 2f 73 6c 61 73 68 0d 09 2f 7a /comma./minus./period./slash../z
37000 65 72 6f 20 2f 6f 6e 65 20 2f 74 77 6f 20 2f 74 68 72 65 65 20 2f 66 6f 75 72 20 2f 66 69 76 65 ero./one./two./three./four./five
37020 20 2f 73 69 78 20 2f 73 65 76 65 6e 0d 09 2f 65 69 67 68 74 20 2f 6e 69 6e 65 20 2f 63 6f 6c 6f ./six./seven../eight./nine./colo
37040 6e 20 2f 73 65 6d 69 63 6f 6c 6f 6e 20 2f 6c 65 73 73 20 2f 65 71 75 61 6c 20 2f 67 72 65 61 74 n./semicolon./less./equal./great
37060 65 72 20 2f 71 75 65 73 74 69 6f 6e 0d 09 2f 61 74 20 2f 41 20 2f 42 20 2f 43 20 2f 44 20 2f 45 er./question../at./A./B./C./D./E
37080 20 2f 46 20 2f 47 0d 09 2f 48 20 2f 49 20 2f 4a 20 2f 4b 20 2f 4c 20 2f 4d 20 2f 4e 20 2f 4f 0d ./F./G../H./I./J./K./L./M./N./O.
370a0 09 2f 50 20 2f 51 20 2f 52 20 2f 53 20 2f 54 20 2f 55 20 2f 56 20 2f 57 0d 09 2f 58 20 2f 59 20 ./P./Q./R./S./T./U./V./W../X./Y.
370c0 2f 5a 20 2f 62 72 61 63 6b 65 74 6c 65 66 74 20 2f 62 61 63 6b 73 6c 61 73 68 20 2f 62 72 61 63 /Z./bracketleft./backslash./brac
370e0 6b 65 74 72 69 67 68 74 20 2f 61 73 63 69 69 63 69 72 63 75 6d 20 2f 75 6e 64 65 72 73 63 6f 72 ketright./asciicircum./underscor
37100 65 0d 09 2f 71 75 6f 74 65 6c 65 66 74 20 2f 61 20 2f 62 20 2f 63 20 2f 64 20 2f 65 20 2f 66 20 e../quoteleft./a./b./c./d./e./f.
37120 2f 67 0d 09 2f 68 20 2f 69 20 2f 6a 20 2f 6b 20 2f 6c 20 2f 6d 20 2f 6e 20 2f 6f 0d 09 2f 70 20 /g../h./i./j./k./l./m./n./o../p.
37140 2f 71 20 2f 72 20 2f 73 20 2f 74 20 2f 75 20 2f 76 20 2f 77 0d 09 2f 78 20 2f 79 20 2f 7a 20 2f /q./r./s./t./u./v./w../x./y./z./
37160 62 72 61 63 65 6c 65 66 74 20 2f 62 61 72 20 2f 62 72 61 63 65 72 69 67 68 74 20 2f 61 73 63 69 braceleft./bar./braceright./asci
37180 69 74 69 6c 64 65 20 2f 73 70 61 63 65 0d 09 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 itilde./space../space./space./sp
371a0 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 ace./space./space./space./space.
371c0 2f 73 70 61 63 65 0d 09 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 /space../space./space./space./sp
371e0 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 20 2f 73 70 61 63 65 0d ace./space./space./space./space.
37200 09 2f 64 6f 74 6c 65 73 73 69 20 2f 67 72 61 76 65 20 2f 61 63 75 74 65 20 2f 63 69 72 63 75 6d ./dotlessi./grave./acute./circum
37220 66 6c 65 78 20 2f 74 69 6c 64 65 20 2f 6d 61 63 72 6f 6e 20 2f 62 72 65 76 65 20 2f 64 6f 74 61 flex./tilde./macron./breve./dota
37240 63 63 65 6e 74 0d 09 2f 64 69 65 72 65 73 69 73 20 2f 73 70 61 63 65 20 2f 72 69 6e 67 20 2f 63 ccent../dieresis./space./ring./c
37260 65 64 69 6c 6c 61 20 2f 73 70 61 63 65 20 2f 68 75 6e 67 61 72 75 6d 6c 61 75 74 20 2f 6f 67 6f edilla./space./hungarumlaut./ogo
37280 6e 65 6b 20 2f 63 61 72 6f 6e 0d 09 2f 73 70 61 63 65 20 2f 65 78 63 6c 61 6d 64 6f 77 6e 20 2f nek./caron../space./exclamdown./
372a0 63 65 6e 74 20 2f 73 74 65 72 6c 69 6e 67 20 2f 63 75 72 72 65 6e 63 79 20 2f 79 65 6e 20 2f 62 cent./sterling./currency./yen./b
372c0 72 6f 6b 65 6e 62 61 72 20 2f 73 65 63 74 69 6f 6e 0d 09 2f 64 69 65 72 65 73 69 73 20 2f 63 6f rokenbar./section../dieresis./co
372e0 70 79 72 69 67 68 74 20 2f 6f 72 64 66 65 6d 69 6e 69 6e 65 20 2f 67 75 69 6c 6c 65 6d 6f 74 6c pyright./ordfeminine./guillemotl
37300 65 66 74 20 2f 6c 6f 67 69 63 61 6c 6e 6f 74 20 2f 68 79 70 68 65 6e 0d 09 20 20 20 20 2f 72 65 eft./logicalnot./hyphen....../re
37320 67 69 73 74 65 72 65 64 20 2f 6d 61 63 72 6f 6e 0d 09 2f 64 65 67 72 65 65 20 2f 70 6c 75 73 6d gistered./macron../degree./plusm
37340 69 6e 75 73 20 2f 74 77 6f 73 75 70 65 72 69 6f 72 20 2f 74 68 72 65 65 73 75 70 65 72 69 6f 72 inus./twosuperior./threesuperior
37360 20 2f 61 63 75 74 65 20 2f 6d 75 20 2f 70 61 72 61 67 72 61 70 68 0d 09 20 20 20 20 2f 70 65 72 ./acute./mu./paragraph....../per
37380 69 6f 64 63 65 6e 74 65 72 65 64 0d 09 2f 63 65 64 69 6c 6c 61 72 20 2f 6f 6e 65 73 75 70 65 72 iodcentered../cedillar./onesuper
373a0 69 6f 72 20 2f 6f 72 64 6d 61 73 63 75 6c 69 6e 65 20 2f 67 75 69 6c 6c 65 6d 6f 74 72 69 67 68 ior./ordmasculine./guillemotrigh
373c0 74 20 2f 6f 6e 65 71 75 61 72 74 65 72 0d 09 20 20 20 20 2f 6f 6e 65 68 61 6c 66 20 2f 74 68 72 t./onequarter....../onehalf./thr
373e0 65 65 71 75 61 72 74 65 72 73 20 2f 71 75 65 73 74 69 6f 6e 64 6f 77 6e 0d 09 2f 41 67 72 61 76 eequarters./questiondown../Agrav
37400 65 20 2f 41 61 63 75 74 65 20 2f 41 63 69 72 63 75 6d 66 6c 65 78 20 2f 41 74 69 6c 64 65 20 2f e./Aacute./Acircumflex./Atilde./
37420 41 64 69 65 72 65 73 69 73 20 2f 41 72 69 6e 67 20 2f 41 45 20 2f 43 63 65 64 69 6c 6c 61 0d 09 Adieresis./Aring./AE./Ccedilla..
37440 2f 45 67 72 61 76 65 20 2f 45 61 63 75 74 65 20 2f 45 63 69 72 63 75 6d 66 6c 65 78 20 2f 45 64 /Egrave./Eacute./Ecircumflex./Ed
37460 69 65 72 65 73 69 73 20 2f 49 67 72 61 76 65 20 2f 49 61 63 75 74 65 20 2f 49 63 69 72 63 75 6d ieresis./Igrave./Iacute./Icircum
37480 66 6c 65 78 0d 09 20 20 20 20 2f 49 64 69 65 72 65 73 69 73 0d 09 2f 45 74 68 20 2f 4e 74 69 6c flex....../Idieresis../Eth./Ntil
374a0 64 65 20 2f 4f 67 72 61 76 65 20 2f 4f 61 63 75 74 65 20 2f 4f 63 69 72 63 75 6d 66 6c 65 78 20 de./Ograve./Oacute./Ocircumflex.
374c0 2f 4f 74 69 6c 64 65 20 2f 4f 64 69 65 72 65 73 69 73 20 2f 6d 75 6c 74 69 70 6c 79 0d 09 2f 4f /Otilde./Odieresis./multiply../O
374e0 73 6c 61 73 68 20 2f 55 67 72 61 76 65 20 2f 55 61 63 75 74 65 20 2f 55 63 69 72 63 75 6d 66 6c slash./Ugrave./Uacute./Ucircumfl
37500 65 78 20 2f 55 64 69 65 72 65 73 69 73 20 2f 59 61 63 75 74 65 20 2f 54 68 6f 72 6e 0d 09 20 20 ex./Udieresis./Yacute./Thorn....
37520 20 20 2f 67 65 72 6d 61 6e 64 62 6c 73 0d 09 2f 61 67 72 61 76 65 20 2f 61 61 63 75 74 65 20 2f ../germandbls../agrave./aacute./
37540 61 63 69 72 63 75 6d 66 6c 65 78 20 2f 61 74 69 6c 64 65 20 2f 61 64 69 65 72 65 73 69 73 20 2f acircumflex./atilde./adieresis./
37560 61 72 69 6e 67 20 2f 61 65 20 2f 63 63 65 64 69 6c 6c 61 0d 09 2f 65 67 72 61 76 65 20 2f 65 61 aring./ae./ccedilla../egrave./ea
37580 63 75 74 65 20 2f 65 63 69 72 63 75 6d 66 6c 65 78 20 2f 65 64 69 65 72 65 73 69 73 20 2f 69 67 cute./ecircumflex./edieresis./ig
375a0 72 61 76 65 20 2f 69 61 63 75 74 65 20 2f 69 63 69 72 63 75 6d 66 6c 65 78 0d 09 20 20 20 20 2f rave./iacute./icircumflex....../
375c0 69 64 69 65 72 65 73 69 73 0d 09 2f 65 74 68 20 2f 6e 74 69 6c 64 65 20 2f 6f 67 72 61 76 65 20 idieresis../eth./ntilde./ograve.
375e0 2f 6f 61 63 75 74 65 20 2f 6f 63 69 72 63 75 6d 66 6c 65 78 20 2f 6f 74 69 6c 64 65 20 2f 6f 64 /oacute./ocircumflex./otilde./od
37600 69 65 72 65 73 69 73 20 2f 64 69 76 69 64 65 0d 09 2f 6f 73 6c 61 73 68 20 2f 75 67 72 61 76 65 ieresis./divide../oslash./ugrave
37620 20 2f 75 61 63 75 74 65 20 2f 75 63 69 72 63 75 6d 66 6c 65 78 20 2f 75 64 69 65 72 65 73 69 73 ./uacute./ucircumflex./udieresis
37640 20 2f 79 61 63 75 74 65 20 2f 74 68 6f 72 6e 0d 09 20 20 20 20 2f 79 64 69 65 72 65 73 69 73 0d ./yacute./thorn....../ydieresis.
37660 20 20 20 20 5d 20 64 65 66 0d 7d 20 69 66 0d 0d 25 20 66 6f 6e 74 20 49 53 4f 45 6e 63 6f 64 65 ....].def.}.if..%.font.ISOEncode
37680 20 66 6f 6e 74 0d 25 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 63 68 61 6e 67 65 73 20 74 .font.%.This.procedure.changes.t
376a0 68 65 20 65 6e 63 6f 64 69 6e 67 20 6f 66 20 61 20 66 6f 6e 74 20 66 72 6f 6d 20 74 68 65 20 64 he.encoding.of.a.font.from.the.d
376c0 65 66 61 75 6c 74 0d 25 20 50 6f 73 74 73 63 72 69 70 74 20 65 6e 63 6f 64 69 6e 67 20 74 6f 20 efault.%.Postscript.encoding.to.
376e0 49 53 4f 4c 61 74 69 6e 31 2e 20 20 49 74 27 73 20 74 79 70 69 63 61 6c 6c 79 20 69 6e 76 6f 6b ISOLatin1...It's.typically.invok
37700 65 64 20 6a 75 73 74 0d 25 20 62 65 66 6f 72 65 20 69 6e 76 6f 6b 69 6e 67 20 22 73 65 74 66 6f ed.just.%.before.invoking."setfo
37720 6e 74 22 2e 20 20 54 68 65 20 62 6f 64 79 20 6f 66 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 nt"...The.body.of.this.procedure
37740 20 63 6f 6d 65 73 20 66 72 6f 6d 0d 25 20 53 65 63 74 69 6f 6e 20 35 2e 36 2e 31 20 6f 66 20 74 .comes.from.%.Section.5.6.1.of.t
37760 68 65 20 50 6f 73 74 73 63 72 69 70 74 20 62 6f 6f 6b 2e 0d 0d 2f 49 53 4f 45 6e 63 6f 64 65 20 he.Postscript.book.../ISOEncode.
37780 7b 0d 20 20 20 20 64 75 70 20 6c 65 6e 67 74 68 20 64 69 63 74 20 62 65 67 69 6e 0d 09 7b 31 20 {.....dup.length.dict.begin..{1.
377a0 69 6e 64 65 78 20 2f 46 49 44 20 6e 65 20 7b 64 65 66 7d 20 7b 70 6f 70 20 70 6f 70 7d 20 69 66 index./FID.ne.{def}.{pop.pop}.if
377c0 65 6c 73 65 7d 20 66 6f 72 61 6c 6c 0d 09 2f 45 6e 63 6f 64 69 6e 67 20 49 53 4f 4c 61 74 69 6e else}.forall../Encoding.ISOLatin
377e0 31 45 6e 63 6f 64 69 6e 67 20 64 65 66 0d 09 63 75 72 72 65 6e 74 64 69 63 74 0d 20 20 20 20 65 1Encoding.def..currentdict.....e
37800 6e 64 0d 0d 20 20 20 20 25 20 49 27 6d 20 6e 6f 74 20 73 75 72 65 20 77 68 79 20 69 74 27 73 20 nd......%.I'm.not.sure.why.it's.
37820 6e 65 63 65 73 73 61 72 79 20 74 6f 20 75 73 65 20 22 64 65 66 69 6e 65 66 6f 6e 74 22 20 6f 6e necessary.to.use."definefont".on
37840 20 74 68 69 73 20 6e 65 77 0d 20 20 20 20 25 20 66 6f 6e 74 2c 20 62 75 74 20 69 74 20 73 65 65 .this.new.....%.font,.but.it.see
37860 6d 73 20 74 6f 20 62 65 20 69 6d 70 6f 72 74 61 6e 74 3b 20 6a 75 73 74 20 75 73 65 20 74 68 65 ms.to.be.important;.just.use.the
37880 20 6e 61 6d 65 20 22 54 65 6d 70 6f 72 61 72 79 22 0d 20 20 20 20 25 20 66 6f 72 20 74 68 65 20 .name."Temporary".....%.for.the.
378a0 66 6f 6e 74 2e 0d 0d 20 20 20 20 2f 54 65 6d 70 6f 72 61 72 79 20 65 78 63 68 20 64 65 66 69 6e font......./Temporary.exch.defin
378c0 65 66 6f 6e 74 0d 7d 20 62 69 6e 64 20 64 65 66 0d 0d 25 20 53 74 72 6f 6b 65 43 6c 69 70 0d 25 efont.}.bind.def..%.StrokeClip.%
378e0 0d 25 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 63 .%.This.procedure.converts.the.c
37900 75 72 72 65 6e 74 20 70 61 74 68 20 69 6e 74 6f 20 61 20 63 6c 69 70 20 61 72 65 61 20 75 6e 64 urrent.path.into.a.clip.area.und
37920 65 72 0d 25 20 74 68 65 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f 66 20 73 74 72 6f 6b 69 6e 67 2e er.%.the.assumption.of.stroking.
37940 20 20 49 74 27 73 20 61 20 62 69 74 20 74 72 69 63 6b 79 20 62 65 63 61 75 73 65 20 73 6f 6d 65 ..It's.a.bit.tricky.because.some
37960 20 50 6f 73 74 73 63 72 69 70 74 0d 25 20 69 6e 74 65 72 70 72 65 74 65 72 73 20 67 65 74 20 65 .Postscript.%.interpreters.get.e
37980 72 72 6f 72 73 20 64 75 72 69 6e 67 20 73 74 72 6f 6b 65 70 61 74 68 20 66 6f 72 20 64 61 73 68 rrors.during.strokepath.for.dash
379a0 65 64 20 6c 69 6e 65 73 2e 20 20 49 66 0d 25 20 74 68 69 73 20 68 61 70 70 65 6e 73 20 74 68 65 ed.lines...If.%.this.happens.the
379c0 6e 20 74 75 72 6e 20 6f 66 66 20 64 61 73 68 65 73 20 61 6e 64 20 74 72 79 20 61 67 61 69 6e 2e n.turn.off.dashes.and.try.again.
379e0 0d 0d 2f 53 74 72 6f 6b 65 43 6c 69 70 20 7b 0d 20 20 20 20 7b 73 74 72 6f 6b 65 70 61 74 68 7d ../StrokeClip.{.....{strokepath}
37a00 20 73 74 6f 70 70 65 64 20 7b 0d 09 28 54 68 69 73 20 50 6f 73 74 73 63 72 69 70 74 20 70 72 69 .stopped.{..(This.Postscript.pri
37a20 6e 74 65 72 20 67 65 74 73 20 6c 69 6d 69 74 63 68 65 63 6b 20 6f 76 65 72 66 6c 6f 77 73 20 77 nter.gets.limitcheck.overflows.w
37a40 68 65 6e 29 20 3d 0d 09 28 73 74 69 70 70 6c 69 6e 67 20 64 61 73 68 65 64 20 6c 69 6e 65 73 3b hen).=..(stippling.dashed.lines;
37a60 20 20 6c 69 6e 65 73 20 77 69 6c 6c 20 62 65 20 70 72 69 6e 74 65 64 20 73 6f 6c 69 64 20 69 6e ..lines.will.be.printed.solid.in
37a80 73 74 65 61 64 2e 29 20 3d 0d 09 5b 5d 20 30 20 73 65 74 64 61 73 68 20 73 74 72 6f 6b 65 70 61 stead.).=..[].0.setdash.strokepa
37aa0 74 68 7d 20 69 66 0d 20 20 20 20 63 6c 69 70 0d 7d 20 62 69 6e 64 20 64 65 66 0d 0d 25 20 64 65 th}.if.....clip.}.bind.def..%.de
37ac0 73 69 72 65 64 53 69 7a 65 20 45 76 65 6e 50 69 78 65 6c 73 20 63 6c 6f 73 65 73 74 53 69 7a 65 siredSize.EvenPixels.closestSize
37ae0 0d 25 0d 25 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 75 73 65 64 .%.%.The.procedure.below.is.used
37b00 20 66 6f 72 20 73 74 69 70 70 6c 69 6e 67 2e 20 20 47 69 76 65 6e 20 74 68 65 20 6f 70 74 69 6d .for.stippling...Given.the.optim
37b20 61 6c 20 73 69 7a 65 0d 25 20 6f 66 20 61 20 64 6f 74 20 69 6e 20 61 20 73 74 69 70 70 6c 65 20 al.size.%.of.a.dot.in.a.stipple.
37b40 70 61 74 74 65 72 6e 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 75 73 65 72 20 63 6f 6f 72 pattern.in.the.current.user.coor
37b60 64 69 6e 61 74 65 20 73 79 73 74 65 6d 2c 0d 25 20 63 6f 6d 70 75 74 65 20 74 68 65 20 63 6c 6f dinate.system,.%.compute.the.clo
37b80 73 65 73 74 20 73 69 7a 65 20 74 68 61 74 20 69 73 20 61 6e 20 65 78 61 63 74 20 6d 75 6c 74 69 sest.size.that.is.an.exact.multi
37ba0 70 6c 65 20 6f 66 20 74 68 65 20 64 65 76 69 63 65 27 73 0d 25 20 70 69 78 65 6c 20 73 69 7a 65 ple.of.the.device's.%.pixel.size
37bc0 2e 20 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 73 74 69 70 70 6c 65 20 70 61 74 74 65 72 6e 73 20 ...This.allows.stipple.patterns.
37be0 74 6f 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 77 69 74 68 6f 75 74 0d 25 20 61 6c 69 61 73 69 to.be.displayed.without.%.aliasi
37c00 6e 67 20 65 66 66 65 63 74 73 2e 0d 0d 2f 45 76 65 6e 50 69 78 65 6c 73 20 7b 0d 20 20 20 20 25 ng.effects.../EvenPixels.{.....%
37c20 20 43 6f 6d 70 75 74 65 20 65 78 61 63 74 20 6e 75 6d 62 65 72 20 6f 66 20 64 65 76 69 63 65 20 .Compute.exact.number.of.device.
37c40 70 69 78 65 6c 73 20 70 65 72 20 73 74 69 70 70 6c 65 20 64 6f 74 2e 0d 20 20 20 20 64 75 70 20 pixels.per.stipple.dot......dup.
37c60 30 20 6d 61 74 72 69 78 20 63 75 72 72 65 6e 74 6d 61 74 72 69 78 20 64 74 72 61 6e 73 66 6f 72 0.matrix.currentmatrix.dtransfor
37c80 6d 0d 20 20 20 20 64 75 70 20 6d 75 6c 20 65 78 63 68 20 64 75 70 20 6d 75 6c 20 61 64 64 20 73 m.....dup.mul.exch.dup.mul.add.s
37ca0 71 72 74 0d 0d 20 20 20 20 25 20 52 6f 75 6e 64 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 qrt......%.Round.to.an.integer,.
37cc0 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 61 74 20 6c 65 61 73 74 make.sure.the.number.is.at.least
37ce0 20 31 2c 20 61 6e 64 20 63 6f 6d 70 75 74 65 0d 20 20 20 20 25 20 75 73 65 72 20 63 6f 6f 72 64 .1,.and.compute.....%.user.coord
37d00 20 64 69 73 74 61 6e 63 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 69 73 2e .distance.corresponding.to.this.
37d20 0d 20 20 20 20 64 75 70 20 72 6f 75 6e 64 20 64 75 70 20 31 20 6c 74 20 7b 70 6f 70 20 31 7d 20 .....dup.round.dup.1.lt.{pop.1}.
37d40 69 66 0d 20 20 20 20 65 78 63 68 20 64 69 76 20 6d 75 6c 0d 7d 20 62 69 6e 64 20 64 65 66 0d 0d if.....exch.div.mul.}.bind.def..
37d60 25 20 77 69 64 74 68 20 68 65 69 67 68 74 20 73 74 72 69 6e 67 20 53 74 69 70 70 6c 65 46 69 6c %.width.height.string.StippleFil
37d80 6c 20 2d 2d 0d 25 0d 25 20 47 69 76 65 6e 20 61 20 70 61 74 68 20 61 6c 72 65 61 64 79 20 73 65 l.--.%.%.Given.a.path.already.se
37da0 74 20 75 70 20 61 6e 64 20 61 20 63 6c 69 70 70 69 6e 67 20 72 65 67 69 6f 6e 20 67 65 6e 65 72 t.up.and.a.clipping.region.gener
37dc0 61 74 65 64 20 66 72 6f 6d 0d 25 20 69 74 2c 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 77 ated.from.%.it,.this.procedure.w
37de0 69 6c 6c 20 66 69 6c 6c 20 74 68 65 20 63 6c 69 70 70 69 6e 67 20 72 65 67 69 6f 6e 20 77 69 74 ill.fill.the.clipping.region.wit
37e00 68 20 61 20 73 74 69 70 70 6c 65 0d 25 20 70 61 74 74 65 72 6e 2e 20 20 22 53 74 72 69 6e 67 22 h.a.stipple.%.pattern..."String"
37e20 20 63 6f 6e 74 61 69 6e 73 20 61 20 70 72 6f 70 65 72 20 69 6d 61 67 65 20 64 65 73 63 72 69 70 .contains.a.proper.image.descrip
37e40 74 69 6f 6e 20 6f 66 20 74 68 65 0d 25 20 73 74 69 70 70 6c 65 20 70 61 74 74 65 72 6e 20 61 6e tion.of.the.%.stipple.pattern.an
37e60 64 20 22 77 69 64 74 68 22 20 61 6e 64 20 22 68 65 69 67 68 74 22 20 67 69 76 65 20 69 74 73 20 d."width".and."height".give.its.
37e80 64 69 6d 65 6e 73 69 6f 6e 73 2e 20 20 45 61 63 68 0d 25 20 73 74 69 70 70 6c 65 20 64 6f 74 20 dimensions...Each.%.stipple.dot.
37ea0 69 73 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 61 62 6f 75 74 20 6f 6e 65 20 75 6e 69 74 20 is.assumed.to.be.about.one.unit.
37ec0 61 63 72 6f 73 73 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 0d 25 20 75 73 65 72 20 63 6f 6f across.in.the.current.%.user.coo
37ee0 72 64 69 6e 61 74 65 20 73 79 73 74 65 6d 2e 20 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 rdinate.system...This.procedure.
37f00 74 72 61 73 68 65 73 20 74 68 65 20 67 72 61 70 68 69 63 73 20 73 74 61 74 65 2e 0d 0d 2f 53 74 trashes.the.graphics.state.../St
37f20 69 70 70 6c 65 46 69 6c 6c 20 7b 0d 20 20 20 20 25 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 ippleFill.{.....%.The.following.
37f40 63 6f 64 65 20 69 73 20 6e 65 65 64 65 64 20 74 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20 61 20 code.is.needed.to.work.around.a.
37f60 4e 65 57 53 70 72 69 6e 74 20 62 75 67 2e 0d 0d 20 20 20 20 2f 74 6d 70 73 74 69 70 20 31 20 69 NeWSprint.bug......./tmpstip.1.i
37f80 6e 64 65 78 20 64 65 66 0d 0d 20 20 20 20 25 20 43 68 61 6e 67 65 20 74 68 65 20 73 63 61 6c 69 ndex.def......%.Change.the.scali
37fa0 6e 67 20 73 6f 20 74 68 61 74 20 6f 6e 65 20 75 73 65 72 20 75 6e 69 74 20 69 6e 20 75 73 65 72 ng.so.that.one.user.unit.in.user
37fc0 20 63 6f 6f 72 64 69 6e 61 74 65 73 0d 20 20 20 20 25 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 .coordinates.....%.corresponds.t
37fe0 6f 20 74 68 65 20 73 69 7a 65 20 6f 66 20 6f 6e 65 20 73 74 69 70 70 6c 65 20 64 6f 74 2e 0d 20 o.the.size.of.one.stipple.dot...
38000 20 20 20 31 20 45 76 65 6e 50 69 78 65 6c 73 20 64 75 70 20 73 63 61 6c 65 0d 0d 20 20 20 20 25 ...1.EvenPixels.dup.scale......%
38020 20 43 6f 6d 70 75 74 65 20 74 68 65 20 62 6f 75 6e 64 69 6e 67 20 62 6f 78 20 6f 63 63 75 70 69 .Compute.the.bounding.box.occupi
38040 65 64 20 62 79 20 74 68 65 20 70 61 74 68 20 28 77 68 69 63 68 20 69 73 20 6e 6f 77 0d 20 20 20 ed.by.the.path.(which.is.now....
38060 20 25 20 74 68 65 20 63 6c 69 70 70 69 6e 67 20 72 65 67 69 6f 6e 29 2c 20 61 6e 64 20 72 6f 75 .%.the.clipping.region),.and.rou
38080 6e 64 20 74 68 65 20 6c 6f 77 65 72 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 64 6f 77 6e 0d 20 20 nd.the.lower.coordinates.down...
380a0 20 20 25 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e ..%.to.the.nearest.starting.poin
380c0 74 20 66 6f 72 20 74 68 65 20 73 74 69 70 70 6c 65 20 70 61 74 74 65 72 6e 2e 20 20 42 65 0d 20 t.for.the.stipple.pattern...Be..
380e0 20 20 20 25 20 63 61 72 65 66 75 6c 20 61 62 6f 75 74 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 ...%.careful.about.negative.numb
38100 65 72 73 2c 20 73 69 6e 63 65 20 74 68 65 20 72 6f 75 6e 64 69 6e 67 20 77 6f 72 6b 73 0d 20 20 ers,.since.the.rounding.works...
38120 20 20 25 20 64 69 66 66 65 72 65 6e 74 6c 79 20 6f 6e 20 74 68 65 6d 2e 0d 0d 20 20 20 20 70 61 ..%.differently.on.them.......pa
38140 74 68 62 62 6f 78 0d 20 20 20 20 34 20 32 20 72 6f 6c 6c 0d 20 20 20 20 35 20 69 6e 64 65 78 20 thbbox.....4.2.roll.....5.index.
38160 64 69 76 20 64 75 70 20 30 20 6c 74 20 7b 31 20 73 75 62 7d 20 69 66 20 63 76 69 20 35 20 69 6e div.dup.0.lt.{1.sub}.if.cvi.5.in
38180 64 65 78 20 6d 75 6c 20 34 20 31 20 72 6f 6c 6c 0d 20 20 20 20 36 20 69 6e 64 65 78 20 64 69 76 dex.mul.4.1.roll.....6.index.div
381a0 20 64 75 70 20 30 20 6c 74 20 7b 31 20 73 75 62 7d 20 69 66 20 63 76 69 20 36 20 69 6e 64 65 78 .dup.0.lt.{1.sub}.if.cvi.6.index
381c0 20 6d 75 6c 20 33 20 32 20 72 6f 6c 6c 0d 0d 20 20 20 20 25 20 53 74 61 63 6b 20 6e 6f 77 3a 20 .mul.3.2.roll......%.Stack.now:.
381e0 77 69 64 74 68 20 68 65 69 67 68 74 20 73 74 72 69 6e 67 20 79 31 20 79 32 20 78 31 20 78 32 0d width.height.string.y1.y2.x1.x2.
38200 20 20 20 20 25 20 42 65 6c 6f 77 20 69 73 20 61 20 64 6f 75 62 6c 79 2d 6e 65 73 74 65 64 20 66 ....%.Below.is.a.doubly-nested.f
38220 6f 72 20 6c 6f 6f 70 20 74 6f 20 69 74 65 72 61 74 65 20 61 63 72 6f 73 73 20 74 68 69 73 20 61 or.loop.to.iterate.across.this.a
38240 72 65 61 0d 20 20 20 20 25 20 69 6e 20 75 6e 69 74 73 20 6f 66 20 74 68 65 20 73 74 69 70 70 6c rea.....%.in.units.of.the.stippl
38260 65 20 70 61 74 74 65 72 6e 20 73 69 7a 65 2c 20 67 6f 69 6e 67 20 75 70 20 63 6f 6c 75 6d 6e 73 e.pattern.size,.going.up.columns
38280 20 74 68 65 6e 0d 20 20 20 20 25 20 61 63 72 6f 73 73 20 72 6f 77 73 2c 20 62 6c 61 73 74 69 6e .then.....%.across.rows,.blastin
382a0 67 20 6f 75 74 20 61 20 73 74 69 70 70 6c 65 2d 70 61 74 74 65 72 6e 2d 73 69 7a 65 64 20 72 65 g.out.a.stipple-pattern-sized.re
382c0 63 74 61 6e 67 6c 65 20 61 74 0d 20 20 20 20 25 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 0d 0d ctangle.at.....%.each.position..
382e0 20 20 20 20 36 20 69 6e 64 65 78 20 65 78 63 68 20 7b 0d 09 32 20 69 6e 64 65 78 20 35 20 69 6e ....6.index.exch.{..2.index.5.in
38300 64 65 78 20 33 20 69 6e 64 65 78 20 7b 0d 09 20 20 20 20 25 20 53 74 61 63 6b 20 6e 6f 77 3a 20 dex.3.index.{......%.Stack.now:.
38320 77 69 64 74 68 20 68 65 69 67 68 74 20 73 74 72 69 6e 67 20 79 31 20 79 32 20 78 20 79 0d 0d 09 width.height.string.y1.y2.x.y...
38340 20 20 20 20 67 73 61 76 65 0d 09 20 20 20 20 31 20 69 6e 64 65 78 20 65 78 63 68 20 74 72 61 6e ....gsave......1.index.exch.tran
38360 73 6c 61 74 65 0d 09 20 20 20 20 35 20 69 6e 64 65 78 20 35 20 69 6e 64 65 78 20 74 72 75 65 20 slate......5.index.5.index.true.
38380 6d 61 74 72 69 78 20 74 6d 70 73 74 69 70 20 69 6d 61 67 65 6d 61 73 6b 0d 09 20 20 20 20 67 72 matrix.tmpstip.imagemask......gr
383a0 65 73 74 6f 72 65 0d 09 7d 20 66 6f 72 0d 09 70 6f 70 0d 20 20 20 20 7d 20 66 6f 72 0d 20 20 20 estore..}.for..pop.....}.for....
383c0 20 70 6f 70 20 70 6f 70 20 70 6f 70 20 70 6f 70 20 70 6f 70 0d 7d 20 62 69 6e 64 20 64 65 66 0d .pop.pop.pop.pop.pop.}.bind.def.
383e0 0d 25 20 2d 2d 20 41 64 6a 75 73 74 43 6f 6c 6f 72 20 2d 2d 0d 25 20 47 69 76 65 6e 20 61 20 63 .%.--.AdjustColor.--.%.Given.a.c
38400 6f 6c 6f 72 20 76 61 6c 75 65 20 61 6c 72 65 61 64 79 20 73 65 74 20 66 6f 72 20 6f 75 74 70 75 olor.value.already.set.for.outpu
38420 74 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 2c 20 61 64 6a 75 73 74 73 0d 25 20 74 68 61 74 20 t.by.the.caller,.adjusts.%.that.
38440 76 61 6c 75 65 20 74 6f 20 61 20 67 72 61 79 73 63 61 6c 65 20 6f 72 20 6d 6f 6e 6f 20 76 61 6c value.to.a.grayscale.or.mono.val
38460 75 65 20 69 66 20 72 65 71 75 65 73 74 65 64 20 62 79 20 74 68 65 20 43 4c 0d 25 20 76 61 72 69 ue.if.requested.by.the.CL.%.vari
38480 61 62 6c 65 2e 0d 0d 2f 41 64 6a 75 73 74 43 6f 6c 6f 72 20 7b 0d 20 20 20 20 43 4c 20 32 20 6c able.../AdjustColor.{.....CL.2.l
384a0 74 20 7b 0d 09 63 75 72 72 65 6e 74 67 72 61 79 0d 09 43 4c 20 30 20 65 71 20 7b 0d 09 20 20 20 t.{..currentgray..CL.0.eq.{.....
384c0 20 2e 35 20 6c 74 20 7b 30 7d 20 7b 31 7d 20 69 66 65 6c 73 65 0d 09 7d 20 69 66 0d 09 73 65 74 ..5.lt.{0}.{1}.ifelse..}.if..set
384e0 67 72 61 79 0d 20 20 20 20 7d 20 69 66 0d 7d 20 62 69 6e 64 20 64 65 66 0d 0d 25 20 78 20 79 20 gray.....}.if.}.bind.def..%.x.y.
38500 73 74 72 69 6e 67 73 20 73 70 61 63 69 6e 67 20 78 6f 66 66 73 65 74 20 79 6f 66 66 73 65 74 20 strings.spacing.xoffset.yoffset.
38520 6a 75 73 74 69 66 79 20 73 74 69 70 70 6c 65 20 44 72 61 77 54 65 78 74 20 2d 2d 0d 25 20 54 68 justify.stipple.DrawText.--.%.Th
38540 69 73 20 70 72 6f 63 65 64 75 72 65 20 64 6f 65 73 20 61 6c 6c 20 6f 66 20 74 68 65 20 72 65 61 is.procedure.does.all.of.the.rea
38560 6c 20 77 6f 72 6b 20 6f 66 20 64 72 61 77 69 6e 67 20 74 65 78 74 2e 20 20 54 68 65 0d 25 20 63 l.work.of.drawing.text...The.%.c
38580 6f 6c 6f 72 20 61 6e 64 20 66 6f 6e 74 20 6d 75 73 74 20 61 6c 72 65 61 64 79 20 68 61 76 65 20 olor.and.font.must.already.have.
385a0 62 65 65 6e 20 73 65 74 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 2c 20 61 6e 64 20 74 68 65 0d been.set.by.the.caller,.and.the.
385c0 25 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 67 75 6d 65 6e 74 73 20 6d 75 73 74 20 62 65 20 6f 6e %.following.arguments.must.be.on
385e0 20 74 68 65 20 73 74 61 63 6b 3a 0d 25 0d 25 20 78 2c 20 79 20 2d 09 43 6f 6f 72 64 69 6e 61 74 .the.stack:.%.%.x,.y.-.Coordinat
38600 65 73 20 61 74 20 77 68 69 63 68 20 74 6f 20 64 72 61 77 20 74 65 78 74 2e 0d 25 20 73 74 72 69 es.at.which.to.draw.text..%.stri
38620 6e 67 73 20 2d 09 41 6e 20 61 72 72 61 79 20 6f 66 20 73 74 72 69 6e 67 73 2c 20 6f 6e 65 20 66 ngs.-.An.array.of.strings,.one.f
38640 6f 72 20 65 61 63 68 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 74 65 78 74 20 69 74 65 6d 2c 0d 25 or.each.line.of.the.text.item,.%
38660 09 09 69 6e 20 6f 72 64 65 72 20 66 72 6f 6d 20 74 6f 70 20 74 6f 20 62 6f 74 74 6f 6d 2e 0d 25 ..in.order.from.top.to.bottom..%
38680 20 73 70 61 63 69 6e 67 20 2d 09 53 70 61 63 69 6e 67 20 62 65 74 77 65 65 6e 20 6c 69 6e 65 73 .spacing.-.Spacing.between.lines
386a0 2e 0d 25 20 78 6f 66 66 73 65 74 20 2d 09 48 6f 72 69 7a 6f 6e 74 61 6c 20 6f 66 66 73 65 74 20 ..%.xoffset.-.Horizontal.offset.
386c0 66 6f 72 20 74 65 78 74 20 62 62 6f 78 20 72 65 6c 61 74 69 76 65 20 74 6f 20 78 20 61 6e 64 20 for.text.bbox.relative.to.x.and.
386e0 79 3a 20 30 20 66 6f 72 0d 25 09 09 6e 77 2f 77 2f 73 77 20 61 6e 63 68 6f 72 2c 20 2d 30 2e 35 y:.0.for.%..nw/w/sw.anchor,.-0.5
38700 20 66 6f 72 20 6e 2f 63 65 6e 74 65 72 2f 73 2c 20 61 6e 64 20 2d 31 2e 30 20 66 6f 72 20 6e 65 .for.n/center/s,.and.-1.0.for.ne
38720 2f 65 2f 73 65 2e 0d 25 20 79 6f 66 66 73 65 74 20 2d 09 56 65 72 74 69 63 61 6c 20 6f 66 66 73 /e/se..%.yoffset.-.Vertical.offs
38740 65 74 20 66 6f 72 20 74 65 78 74 20 62 62 6f 78 20 72 65 6c 61 74 69 76 65 20 74 6f 20 78 20 61 et.for.text.bbox.relative.to.x.a
38760 6e 64 20 79 3a 20 30 20 66 6f 72 0d 25 09 09 6e 77 2f 6e 2f 6e 65 20 61 6e 63 68 6f 72 2c 20 2b nd.y:.0.for.%..nw/n/ne.anchor,.+
38780 30 2e 35 20 66 6f 72 20 77 2f 63 65 6e 74 65 72 2f 65 2c 20 61 6e 64 20 2b 31 2e 30 20 66 6f 72 0.5.for.w/center/e,.and.+1.0.for
387a0 20 73 77 2f 73 2f 73 65 2e 0d 25 20 6a 75 73 74 69 66 79 20 2d 09 30 20 66 6f 72 20 6c 65 66 74 .sw/s/se..%.justify.-.0.for.left
387c0 20 6a 75 73 74 69 66 69 63 61 74 69 6f 6e 2c 20 30 2e 35 20 66 6f 72 20 63 65 6e 74 65 72 2c 20 .justification,.0.5.for.center,.
387e0 31 20 66 6f 72 20 72 69 67 68 74 20 6a 75 73 74 69 66 79 2e 0d 25 20 73 74 69 70 70 6c 65 20 2d 1.for.right.justify..%.stipple.-
38800 09 42 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 20 69 6e 64 69 63 61 74 69 6e 67 20 77 68 65 74 68 65 .Boolean.value.indicating.whethe
38820 72 20 6f 72 20 6e 6f 74 20 74 65 78 74 20 69 73 20 74 6f 20 62 65 0d 25 09 09 64 72 61 77 6e 20 r.or.not.text.is.to.be.%..drawn.
38840 69 6e 20 73 74 69 70 70 6c 65 64 20 66 61 73 68 69 6f 6e 2e 20 20 49 66 20 74 65 78 74 20 69 73 in.stippled.fashion...If.text.is
38860 20 73 74 69 70 70 6c 65 64 2c 0d 25 09 09 70 72 6f 63 65 64 75 72 65 20 53 74 69 70 70 6c 65 54 .stippled,.%..procedure.StippleT
38880 65 78 74 20 6d 75 73 74 20 68 61 76 65 20 62 65 65 6e 20 64 65 66 69 6e 65 64 20 74 6f 20 63 61 ext.must.have.been.defined.to.ca
388a0 6c 6c 0d 25 09 09 53 74 69 70 70 6c 65 46 69 6c 6c 20 69 6e 20 74 68 65 20 72 69 67 68 74 20 77 ll.%..StippleFill.in.the.right.w
388c0 61 79 2e 0d 25 0d 25 20 41 6c 73 6f 2c 20 77 68 65 6e 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 ay..%.%.Also,.when.this.procedur
388e0 65 20 69 73 20 69 6e 76 6f 6b 65 64 2c 20 74 68 65 20 63 6f 6c 6f 72 20 61 6e 64 20 66 6f 6e 74 e.is.invoked,.the.color.and.font
38900 20 6d 75 73 74 20 61 6c 72 65 61 64 79 0d 25 20 68 61 76 65 20 62 65 65 6e 20 73 65 74 20 66 6f .must.already.%.have.been.set.fo
38920 72 20 74 68 65 20 74 65 78 74 2e 0d 0d 2f 44 72 61 77 54 65 78 74 20 7b 0d 20 20 20 20 2f 73 74 r.the.text.../DrawText.{...../st
38940 69 70 70 6c 65 20 65 78 63 68 20 64 65 66 0d 20 20 20 20 2f 6a 75 73 74 69 66 79 20 65 78 63 68 ipple.exch.def...../justify.exch
38960 20 64 65 66 0d 20 20 20 20 2f 79 6f 66 66 73 65 74 20 65 78 63 68 20 64 65 66 0d 20 20 20 20 2f .def...../yoffset.exch.def...../
38980 78 6f 66 66 73 65 74 20 65 78 63 68 20 64 65 66 0d 20 20 20 20 2f 73 70 61 63 69 6e 67 20 65 78 xoffset.exch.def...../spacing.ex
389a0 63 68 20 64 65 66 0d 20 20 20 20 2f 73 74 72 69 6e 67 73 20 65 78 63 68 20 64 65 66 0d 0d 20 20 ch.def...../strings.exch.def....
389c0 20 20 25 20 46 69 72 73 74 20 73 63 61 6e 20 74 68 72 6f 75 67 68 20 61 6c 6c 20 6f 66 20 74 68 ..%.First.scan.through.all.of.th
389e0 65 20 74 65 78 74 20 74 6f 20 66 69 6e 64 20 74 68 65 20 77 69 64 65 73 74 20 6c 69 6e 65 2e 0d e.text.to.find.the.widest.line..
38a00 0d 20 20 20 20 2f 6c 69 6e 65 4c 65 6e 67 74 68 20 30 20 64 65 66 0d 20 20 20 20 73 74 72 69 6e ...../lineLength.0.def.....strin
38a20 67 73 20 7b 0d 09 73 74 72 69 6e 67 77 69 64 74 68 20 70 6f 70 0d 09 64 75 70 20 6c 69 6e 65 4c gs.{..stringwidth.pop..dup.lineL
38a40 65 6e 67 74 68 20 67 74 20 7b 2f 6c 69 6e 65 4c 65 6e 67 74 68 20 65 78 63 68 20 64 65 66 7d 20 ength.gt.{/lineLength.exch.def}.
38a60 7b 70 6f 70 7d 20 69 66 65 6c 73 65 0d 09 6e 65 77 70 61 74 68 0d 20 20 20 20 7d 20 66 6f 72 61 {pop}.ifelse..newpath.....}.fora
38a80 6c 6c 0d 0d 20 20 20 20 25 20 43 6f 6d 70 75 74 65 20 74 68 65 20 62 61 73 65 6c 69 6e 65 20 6f ll......%.Compute.the.baseline.o
38aa0 66 66 73 65 74 20 61 6e 64 20 74 68 65 20 61 63 74 75 61 6c 20 66 6f 6e 74 20 68 65 69 67 68 74 ffset.and.the.actual.font.height
38ac0 2e 0d 0d 20 20 20 20 30 20 30 20 6d 6f 76 65 74 6f 20 28 54 58 79 67 71 50 5a 29 20 66 61 6c 73 .......0.0.moveto.(TXygqPZ).fals
38ae0 65 20 63 68 61 72 70 61 74 68 0d 20 20 20 20 70 61 74 68 62 62 6f 78 20 64 75 70 20 2f 62 61 73 e.charpath.....pathbbox.dup./bas
38b00 65 6c 69 6e 65 20 65 78 63 68 20 64 65 66 0d 20 20 20 20 65 78 63 68 20 70 6f 70 20 65 78 63 68 eline.exch.def.....exch.pop.exch
38b20 20 73 75 62 20 2f 68 65 69 67 68 74 20 65 78 63 68 20 64 65 66 20 70 6f 70 0d 20 20 20 20 6e 65 .sub./height.exch.def.pop.....ne
38b40 77 70 61 74 68 0d 0d 20 20 20 20 25 20 54 72 61 6e 73 6c 61 74 65 20 63 6f 6f 72 64 69 6e 61 74 wpath......%.Translate.coordinat
38b60 65 73 20 66 69 72 73 74 20 73 6f 20 74 68 61 74 20 74 68 65 20 6f 72 69 67 69 6e 20 69 73 20 61 es.first.so.that.the.origin.is.a
38b80 74 20 74 68 65 20 75 70 70 65 72 2d 6c 65 66 74 0d 20 20 20 20 25 20 63 6f 72 6e 65 72 20 6f 66 t.the.upper-left.....%.corner.of
38ba0 20 74 68 65 20 74 65 78 74 27 73 20 62 6f 75 6e 64 69 6e 67 20 62 6f 78 2e 20 52 65 6d 65 6d 62 .the.text's.bounding.box..Rememb
38bc0 65 72 20 74 68 61 74 20 78 20 61 6e 64 20 79 20 66 6f 72 0d 20 20 20 20 25 20 70 6f 73 69 74 69 er.that.x.and.y.for.....%.positi
38be0 6f 6e 69 6e 67 20 61 72 65 20 73 74 69 6c 6c 20 6f 6e 20 74 68 65 20 73 74 61 63 6b 2e 0d 0d 20 oning.are.still.on.the.stack....
38c00 20 20 20 74 72 61 6e 73 6c 61 74 65 0d 20 20 20 20 6c 69 6e 65 4c 65 6e 67 74 68 20 78 6f 66 66 ...translate.....lineLength.xoff
38c20 73 65 74 20 6d 75 6c 0d 20 20 20 20 73 74 72 69 6e 67 73 20 6c 65 6e 67 74 68 20 31 20 73 75 62 set.mul.....strings.length.1.sub
38c40 20 73 70 61 63 69 6e 67 20 6d 75 6c 20 68 65 69 67 68 74 20 61 64 64 20 79 6f 66 66 73 65 74 20 .spacing.mul.height.add.yoffset.
38c60 6d 75 6c 20 74 72 61 6e 73 6c 61 74 65 0d 0d 20 20 20 20 25 20 4e 6f 77 20 75 73 65 20 74 68 65 mul.translate......%.Now.use.the
38c80 20 62 61 73 65 6c 69 6e 65 20 61 6e 64 20 6a 75 73 74 69 66 69 63 61 74 69 6f 6e 20 69 6e 66 6f .baseline.and.justification.info
38ca0 72 6d 61 74 69 6f 6e 20 74 6f 20 74 72 61 6e 73 6c 61 74 65 20 73 6f 0d 20 20 20 20 25 20 74 68 rmation.to.translate.so.....%.th
38cc0 61 74 20 74 68 65 20 6f 72 69 67 69 6e 20 69 73 20 61 74 20 74 68 65 20 62 61 73 65 6c 69 6e 65 at.the.origin.is.at.the.baseline
38ce0 20 61 6e 64 20 70 6f 73 69 74 69 6f 6e 69 6e 67 20 70 6f 69 6e 74 20 66 6f 72 20 74 68 65 0d 20 .and.positioning.point.for.the..
38d00 20 20 20 25 20 66 69 72 73 74 20 6c 69 6e 65 20 6f 66 20 74 65 78 74 2e 0d 0d 20 20 20 20 6a 75 ...%.first.line.of.text.......ju
38d20 73 74 69 66 79 20 6c 69 6e 65 4c 65 6e 67 74 68 20 6d 75 6c 20 62 61 73 65 6c 69 6e 65 20 6e 65 stify.lineLength.mul.baseline.ne
38d40 67 20 74 72 61 6e 73 6c 61 74 65 0d 0d 20 20 20 20 25 20 49 74 65 72 61 74 65 20 6f 76 65 72 20 g.translate......%.Iterate.over.
38d60 65 61 63 68 20 6f 66 20 74 68 65 20 6c 69 6e 65 73 20 74 6f 20 6f 75 74 70 75 74 20 69 74 2e 20 each.of.the.lines.to.output.it..
38d80 20 46 6f 72 20 65 61 63 68 20 6c 69 6e 65 2c 0d 20 20 20 20 25 20 63 6f 6d 70 75 74 65 20 69 74 .For.each.line,.....%.compute.it
38da0 73 20 77 69 64 74 68 20 61 67 61 69 6e 20 73 6f 20 69 74 20 63 61 6e 20 62 65 20 70 72 6f 70 65 s.width.again.so.it.can.be.prope
38dc0 72 6c 79 20 6a 75 73 74 69 66 69 65 64 2c 20 74 68 65 6e 0d 20 20 20 20 25 20 64 69 73 70 6c 61 rly.justified,.then.....%.displa
38de0 79 20 69 74 2e 0d 0d 20 20 20 20 73 74 72 69 6e 67 73 20 7b 0d 09 64 75 70 20 73 74 72 69 6e 67 y.it.......strings.{..dup.string
38e00 77 69 64 74 68 20 70 6f 70 0d 09 6a 75 73 74 69 66 79 20 6e 65 67 20 6d 75 6c 20 30 20 6d 6f 76 width.pop..justify.neg.mul.0.mov
38e20 65 74 6f 0d 09 73 74 69 70 70 6c 65 20 7b 0d 0d 09 20 20 20 20 25 20 54 68 65 20 74 65 78 74 20 eto..stipple.{.......%.The.text.
38e40 69 73 20 73 74 69 70 70 6c 65 64 2c 20 73 6f 20 74 75 72 6e 20 69 74 20 69 6e 74 6f 20 61 20 70 is.stippled,.so.turn.it.into.a.p
38e60 61 74 68 20 61 6e 64 20 70 72 69 6e 74 0d 09 20 20 20 20 25 20 62 79 20 63 61 6c 6c 69 6e 67 20 ath.and.print......%.by.calling.
38e80 53 74 69 70 70 6c 65 64 54 65 78 74 2c 20 77 68 69 63 68 20 69 6e 20 74 75 72 6e 20 63 61 6c 6c StippledText,.which.in.turn.call
38ea0 73 20 53 74 69 70 70 6c 65 46 69 6c 6c 2e 0d 09 20 20 20 20 25 20 55 6e 66 6f 72 74 75 6e 61 74 s.StippleFill.......%.Unfortunat
38ec0 65 6c 79 2c 20 6d 61 6e 79 20 50 6f 73 74 73 63 72 69 70 74 20 69 6e 74 65 72 70 72 65 74 65 72 ely,.many.Postscript.interpreter
38ee0 73 20 77 69 6c 6c 20 67 65 74 0d 09 20 20 20 20 25 20 6f 76 65 72 66 6c 6f 77 20 65 72 72 6f 72 s.will.get......%.overflow.error
38f00 73 20 69 66 20 77 65 20 74 72 79 20 74 6f 20 64 6f 20 74 68 65 20 77 68 6f 6c 65 20 73 74 72 69 s.if.we.try.to.do.the.whole.stri
38f20 6e 67 20 61 74 0d 09 20 20 20 20 25 20 6f 6e 63 65 2c 20 73 6f 20 64 6f 20 69 74 20 61 20 63 68 ng.at......%.once,.so.do.it.a.ch
38f40 61 72 61 63 74 65 72 20 61 74 20 61 20 74 69 6d 65 2e 0d 0d 09 20 20 20 20 67 73 61 76 65 0d 09 aracter.at.a.time........gsave..
38f60 20 20 20 20 2f 63 68 61 72 20 28 58 29 20 64 65 66 0d 09 20 20 20 20 7b 0d 09 09 63 68 61 72 20 ..../char.(X).def......{...char.
38f80 30 20 33 20 2d 31 20 72 6f 6c 6c 20 70 75 74 0d 09 09 63 75 72 72 65 6e 74 70 6f 69 6e 74 0d 09 0.3.-1.roll.put...currentpoint..
38fa0 09 67 73 61 76 65 0d 09 09 63 68 61 72 20 74 72 75 65 20 63 68 61 72 70 61 74 68 20 63 6c 69 70 .gsave...char.true.charpath.clip
38fc0 20 53 74 69 70 70 6c 65 54 65 78 74 0d 09 09 67 72 65 73 74 6f 72 65 0d 09 09 63 68 61 72 20 73 .StippleText...grestore...char.s
38fe0 74 72 69 6e 67 77 69 64 74 68 20 74 72 61 6e 73 6c 61 74 65 0d 09 09 6d 6f 76 65 74 6f 0d 09 20 tringwidth.translate...moveto...
39000 20 20 20 7d 20 66 6f 72 61 6c 6c 0d 09 20 20 20 20 67 72 65 73 74 6f 72 65 0d 09 7d 20 7b 73 68 ...}.forall......grestore..}.{sh
39020 6f 77 7d 20 69 66 65 6c 73 65 0d 09 30 20 73 70 61 63 69 6e 67 20 6e 65 67 20 74 72 61 6e 73 6c ow}.ifelse..0.spacing.neg.transl
39040 61 74 65 0d 20 20 20 20 7d 20 66 6f 72 61 6c 6c 0d 7d 20 62 69 6e 64 20 64 65 66 0d 0d 25 25 45 ate.....}.forall.}.bind.def..%%E
39060 6e 64 50 72 6f 6c 6f 67 0d 00 00 00 9c 00 02 00 00 00 00 00 80 00 80 00 94 00 ba 04 02 4f 6b 00 ndProlog.....................Ok.
39080 00 00 00 00 0e 00 6c 00 75 01 36 88 6b 57 69 73 68 20 2d 20 57 69 6e 64 6f 77 69 6e 67 20 53 68 ......l.u.6.kWish.-.Windowing.Sh
390a0 65 6c 6c 0d 62 61 73 65 64 20 6f 6e 20 54 63 6c 20 38 2e 30 20 26 20 54 6b 20 38 2e 30 0d 0d 52 ell.based.on.Tcl.8.0.&.Tk.8.0..R
390c0 61 79 20 4a 6f 68 6e 73 6f 6e 0d 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 20 4c 61 62 73 ay.Johnson.Sun.Microsystems.Labs
390e0 0d 72 61 79 2e 6a 6f 68 6e 73 6f 6e 40 65 6e 67 2e 73 75 6e 2e 63 6f 6d 00 00 00 00 00 00 0b 00 .ray.johnson@eng.sun.com........
39100 18 00 6f 00 5c 40 02 00 80 00 00 00 ae 00 09 00 00 00 00 00 87 00 fc 00 9b 01 4c 04 04 4f 70 65 ..o.\@....................L..Ope
39120 6e 00 00 00 00 00 68 00 fc 00 7c 01 4c 04 06 43 61 6e 63 65 6c 00 00 00 00 00 00 00 00 00 00 00 n.....h...|.L..Cancel...........
39140 00 81 04 00 01 00 82 00 00 00 00 00 08 00 eb 00 18 01 51 00 00 00 00 00 00 00 20 00 fc 00 34 01 ..................Q...........4.
39160 4c 04 05 45 6a 65 63 74 00 00 00 00 00 00 3c 00 fc 00 50 01 4c 04 07 44 65 73 6b 74 6f 70 00 00 L..Eject......<...P.L..Desktop..
39180 00 00 00 00 1d 00 0c 00 9f 00 e6 00 00 00 00 00 00 00 06 00 0c 00 19 00 e6 00 00 00 00 00 00 00 ................................
391a0 5b 00 fb 00 5c 01 4d c0 02 00 0b 00 00 00 00 00 a8 00 14 00 bb 01 2c 07 02 00 83 00 00 00 18 00 [...\.M...............,.........
391c0 55 00 6b 00 f3 01 96 00 01 01 00 01 00 00 00 00 00 00 80 00 00 28 0a 00 00 00 18 00 00 00 00 00 U.k..................(..........
391e0 c3 01 58 00 01 00 00 00 00 00 00 00 00 00 82 00 00 00 00 00 00 13 a4 13 a4 00 00 00 00 00 64 00 ..X...........................d.
39200 44 00 11 02 ff 0c 00 ff fe 00 00 00 48 00 00 00 48 00 00 00 00 00 00 00 64 00 44 00 00 00 00 00 D...........H...H.......d.D.....
39220 01 00 0a 00 00 00 00 00 64 00 44 00 99 80 44 00 00 00 00 00 64 00 44 00 00 00 00 00 00 00 00 00 ........d.D...D.....d.D.........
39240 48 00 00 00 48 00 00 00 00 00 08 00 01 00 08 00 00 00 00 01 08 00 d8 00 00 00 00 00 01 5a 5a 80 H...H........................ZZ.
39260 00 00 ff 37 36 ff 00 ff 00 ff 00 35 35 ff 00 ff 00 cc 00 34 34 ff 00 ff 00 99 00 33 33 ff 00 ff ...76......55......44......33...
39280 00 66 00 37 36 ff 00 ff 00 33 00 35 35 ff 00 ff 00 00 00 34 34 ff 00 cc 00 ff 00 33 33 ff 00 cc .f.76....3.55......44......33...
392a0 00 cc 00 37 36 ff 00 cc 00 99 00 35 35 ff 00 cc 00 66 00 fa fa ff 00 cc 00 33 00 33 33 ff 00 cc ...76......55....f.......3.33...
392c0 00 00 00 31 30 ff 00 99 00 ff 00 2f 2f ff 00 99 00 cc 00 fa fa ff 00 99 00 99 00 f9 f9 ff 00 99 ...10......//...................
392e0 00 66 00 31 30 ff 00 99 00 33 00 2f 2f ff 00 99 00 00 00 2e 2e ff 00 66 00 ff 00 f9 f9 ff 00 66 .f.10....3.//..........f.......f
39300 00 cc 00 31 30 ff 00 66 00 99 00 2f 2f ff 00 66 00 66 00 2e 2e ff 00 66 00 33 00 2d 2d ff 00 66 ...10..f...//..f.f.....f.3.--..f
39320 00 00 00 31 30 ff 00 33 00 ff 00 2f 2f ff 00 33 00 cc 00 2e 2e ff 00 33 00 99 00 2d 2d ff 00 33 ...10..3...//..3.......3...--..3
39340 00 66 00 31 30 ff 00 33 00 33 00 2f 2f ff 00 33 00 00 00 2e 2e ff 00 00 00 ff 00 2d 2d ff 00 00 .f.10..3.3.//..3...........--...
39360 00 cc 00 31 30 ff 00 00 00 99 00 2f 2f ff 00 00 00 66 00 2e 2e ff 00 00 00 33 00 2d f8 ff 00 00 ...10......//....f.......3.-....
39380 00 00 00 2b 2a cc 00 ff 00 ff 00 29 29 cc 00 ff 00 cc 00 28 28 cc 00 ff 00 99 00 27 f8 cc 00 ff ...+*......))......((......'....
393a0 00 66 00 2b 2a cc 00 ff 00 33 00 29 29 cc 00 ff 00 00 00 28 28 cc 00 cc 00 ff 00 27 27 cc 00 cc .f.+*....3.))......((......''...
393c0 00 cc 00 2b 2a cc 00 cc 00 99 00 29 29 cc 00 cc 00 66 00 28 28 cc 00 cc 00 33 00 27 27 cc 00 cc ...+*......))....f.((....3.''...
393e0 00 00 00 2b 2a cc 00 99 00 ff 00 29 29 cc 00 99 00 cc 00 28 28 cc 00 99 00 99 00 27 27 cc 00 99 ...+*......))......((......''...
39400 00 66 00 db db cc 00 99 00 33 00 47 47 cc 00 99 00 00 00 46 46 cc 00 66 00 ff 00 45 45 cc 00 66 .f.......3.GG......FF..f...EE..f
39420 00 cc 00 db db cc 00 66 00 99 00 47 47 cc 00 66 00 66 00 46 46 cc 00 66 00 33 00 45 45 cc 00 66 .......f...GG..f.f.FF..f.3.EE..f
39440 00 00 00 db db cc 00 33 00 ff 00 47 47 cc 00 33 00 cc 00 46 46 cc 00 33 00 99 00 45 45 cc 00 33 .......3...GG..3...FF..3...EE..3
39460 00 66 00 db db cc 00 33 00 33 00 41 41 cc 00 33 00 00 00 40 40 cc 00 00 00 ff 00 3f 3f cc 00 00 .f.....3.3.AA..3...@@......??...
39480 00 cc 00 43 42 cc 00 00 00 99 00 41 41 cc 00 00 00 66 00 40 40 cc 00 00 00 33 00 3f 3f cc 00 00 ...CB......AA....f.@@....3.??...
394a0 00 00 00 43 42 99 00 ff 00 ff 00 41 41 99 00 ff 00 cc 00 40 40 99 00 ff 00 99 00 3f 3f 99 00 ff ...CB......AA......@@......??...
394c0 00 66 00 43 42 99 00 ff 00 33 00 41 41 99 00 ff 00 00 00 40 40 99 00 cc 00 ff 00 3f 3f 99 00 cc .f.CB....3.AA......@@......??...
394e0 00 cc 00 43 42 99 00 cc 00 99 00 41 41 99 00 cc 00 66 00 40 40 99 00 cc 00 33 00 3f 3f 99 00 cc ...CB......AA....f.@@....3.??...
39500 00 00 00 43 42 99 00 99 00 ff 00 41 41 99 00 99 00 cc 00 40 40 99 00 99 00 99 00 3f 3f 99 00 99 ...CB......AA......@@......??...
39520 00 66 00 3d 3c 99 00 99 00 33 00 3b 3b 99 00 99 00 00 00 3a 3a 99 00 66 00 ff 00 39 39 99 00 66 .f.=<....3.;;......::..f...99..f
39540 00 cc 00 3d 3c 99 00 66 00 99 00 3b 3b 99 00 66 00 66 00 3a 3a 99 00 66 00 33 00 39 39 99 00 66 ...=<..f...;;..f.f.::..f.3.99..f
39560 00 00 00 3d 3c 99 00 33 00 ff 00 3b 3b 99 00 33 00 cc 00 3a 3a 99 00 33 00 99 00 39 39 99 00 33 ...=<..3...;;..3...::..3...99..3
39580 00 66 00 3d 3c 99 00 33 00 33 00 3b 3b 99 00 33 00 00 00 3a 3a 99 00 00 00 ff 00 39 39 99 00 00 .f.=<..3.3.;;..3...::......99...
395a0 00 cc 00 3d 3c 99 00 00 00 99 00 3b 3b 99 00 00 00 66 00 3a 3a 99 00 00 00 33 00 39 39 99 00 00 ...=<......;;....f.::....3.99...
395c0 00 00 00 3d 3c 66 00 ff 00 ff 00 3b 3b 66 00 ff 00 cc 00 3a 3a 66 00 ff 00 99 00 39 39 66 00 ff ...=<f.....;;f.....::f.....99f..
395e0 00 66 00 3d 3c 66 00 ff 00 33 00 3b 3b 66 00 ff 00 00 00 3a 3a 66 00 cc 00 ff 00 39 39 66 00 cc .f.=<f...3.;;f.....::f.....99f..
39600 00 cc 00 37 36 66 00 cc 00 99 00 35 35 66 00 cc 00 66 00 34 34 66 00 cc 00 33 00 33 33 66 00 cc ...76f.....55f...f.44f...3.33f..
39620 00 00 00 37 36 66 00 99 00 ff 00 35 35 66 00 99 00 cc 00 34 34 66 00 99 00 99 00 33 33 66 00 99 ...76f.....55f.....44f.....33f..
39640 00 66 00 37 36 66 00 99 00 33 00 35 35 66 00 99 00 00 00 34 34 66 00 66 00 ff 00 33 33 66 00 66 .f.76f...3.55f.....44f.f...33f.f
39660 00 cc 00 37 36 66 00 66 00 99 00 35 35 66 00 66 00 66 00 34 34 66 00 66 00 33 00 33 33 66 00 66 ...76f.f...55f.f.f.44f.f.3.33f.f
39680 00 00 00 37 36 66 00 33 00 ff 00 35 35 66 00 33 00 cc 00 34 34 66 00 33 00 99 00 33 33 66 00 33 ...76f.3...55f.3...44f.3...33f.3
396a0 00 66 00 37 36 66 00 33 00 33 00 35 35 66 00 33 00 00 00 34 34 66 00 00 00 ff 00 33 33 66 00 00 .f.76f.3.3.55f.3...44f.....33f..
396c0 00 cc 00 31 30 66 00 00 00 99 00 2f 2f 66 00 00 00 66 00 2e 2e 66 00 00 00 33 00 f9 f9 66 00 00 ...10f.....//f...f...f...3...f..
396e0 00 00 00 31 30 33 00 ff 00 ff 00 2f 2f 33 00 ff 00 cc 00 2e 2e 33 00 ff 00 99 00 f9 f9 33 00 ff ...103.....//3.......3.......3..
39700 00 66 00 31 30 33 00 ff 00 33 00 2f 2f 33 00 ff 00 00 00 2e 2e 33 00 cc 00 ff 00 2d 2d 33 00 cc .f.103...3.//3.......3.....--3..
39720 00 cc 00 31 30 33 00 cc 00 99 00 2f 2f 33 00 cc 00 66 00 2e 2e 33 00 cc 00 33 00 2d 2d 33 00 cc ...103.....//3...f...3...3.--3..
39740 00 00 00 31 30 33 00 99 00 ff 00 2f 2f 33 00 99 00 cc 00 2e 2e 33 00 99 00 99 00 2d 2d 33 00 99 ...103.....//3.......3.....--3..
39760 00 66 00 31 30 33 00 99 00 33 00 2f 2f 33 00 99 00 00 00 2e 2e 33 00 66 00 ff 00 2d f8 33 00 66 .f.103...3.//3.......3.f...-.3.f
39780 00 cc 00 2b 2a 33 00 66 00 99 00 29 29 33 00 66 00 66 00 28 28 33 00 66 00 33 00 27 f8 33 00 66 ...+*3.f...))3.f.f.((3.f.3.'.3.f
397a0 00 00 00 2b 2a 33 00 33 00 ff 00 29 29 33 00 33 00 cc 00 28 28 33 00 33 00 99 00 27 27 33 00 33 ...+*3.3...))3.3...((3.3...''3.3
397c0 00 66 00 2b 2a 33 00 33 00 33 00 29 29 33 00 33 00 00 00 28 28 33 00 00 00 ff 00 27 27 33 00 00 .f.+*3.3.3.))3.3...((3.....''3..
397e0 00 cc 00 2b 2a 33 00 00 00 99 00 29 29 33 00 00 00 66 00 28 28 33 00 00 00 33 00 27 27 33 00 00 ...+*3.....))3...f.((3...3.''3..
39800 00 00 00 49 48 00 00 ff 00 ff 00 47 47 00 00 ff 00 cc 00 46 46 00 00 ff 00 99 00 45 45 00 00 ff ...IH......GG......FF......EE...
39820 00 66 00 49 48 00 00 ff 00 33 00 47 47 00 00 ff 00 00 00 46 46 00 00 cc 00 ff 00 45 45 00 00 cc .f.IH....3.GG......FF......EE...
39840 00 cc 00 49 48 00 00 cc 00 99 00 47 47 00 00 cc 00 66 00 46 46 00 00 cc 00 33 00 45 45 00 00 cc ...IH......GG....f.FF....3.EE...
39860 00 00 00 43 42 00 00 99 00 ff 00 41 41 00 00 99 00 cc 00 40 40 00 00 99 00 99 00 3f 3f 00 00 99 ...CB......AA......@@......??...
39880 00 66 00 43 42 00 00 99 00 33 00 41 41 00 00 99 00 00 00 40 40 00 00 66 00 ff 00 3f 3f 00 00 66 .f.CB....3.AA......@@..f...??..f
398a0 00 cc 00 43 42 00 00 66 00 99 00 41 41 00 00 66 00 66 00 40 40 00 00 66 00 33 00 3f 3f 00 00 66 ...CB..f...AA..f.f.@@..f.3.??..f
398c0 00 00 00 43 42 00 00 33 00 ff 00 41 41 00 00 33 00 cc 00 40 40 00 00 33 00 99 00 3f 3f 00 00 33 ...CB..3...AA..3...@@..3...??..3
398e0 00 66 00 43 42 00 00 33 00 33 00 41 41 00 00 33 00 00 00 40 40 00 00 00 00 ff 00 3f 3f 00 00 00 .f.CB..3.3.AA..3...@@......??...
39900 00 cc 00 43 42 00 00 00 00 99 00 41 41 00 00 00 00 66 00 40 40 00 00 00 00 33 00 3f 3f ee 00 00 ...CB......AA....f.@@....3.??...
39920 00 00 00 3d 3c dd 00 00 00 00 00 3b 3b bb 00 00 00 00 00 3a 3a aa 00 00 00 00 00 39 39 88 00 00 ...=<......;;......::......99...
39940 00 00 00 3d 3c 77 00 00 00 00 00 3b 3b 55 00 00 00 00 00 3a 3a 44 00 00 00 00 00 39 39 22 00 00 ...=<w.....;;U.....::D.....99"..
39960 00 00 00 3d 3c 11 00 00 00 00 00 3b 3b 00 00 ee 00 00 00 3a 3a 00 00 dd 00 00 00 39 39 00 00 bb ...=<......;;......::......99...
39980 00 00 00 3d 3c 00 00 aa 00 00 00 3b 3b 00 00 88 00 00 00 3a 3a 00 00 77 00 00 00 39 39 00 00 55 ...=<......;;......::..w...99..U
399a0 00 00 00 3d 3c 00 00 44 00 00 00 3b 3b 00 00 22 00 00 00 3a 3a 00 00 11 00 00 00 39 39 00 00 00 ...=<..D...;;.."...::......99...
399c0 00 ee 00 3d 3c 00 00 00 00 dd 00 3b 3b 00 00 00 00 bb 00 3a 3a 00 00 00 00 aa 00 39 39 00 00 00 ...=<......;;......::......99...
399e0 00 88 00 3d 3c 00 00 00 00 77 00 3b 3b 00 00 00 00 55 00 3a 3a 00 00 00 00 44 00 39 39 00 00 00 ...=<....w.;;....U.::....D.99...
39a00 00 22 00 37 36 00 00 00 00 11 00 35 35 ee 00 ee 00 ee 00 34 34 dd 00 dd 00 dd 00 33 33 bb 00 bb .".76......55......44......33...
39a20 00 bb 00 37 36 aa 00 aa 00 aa 00 35 35 88 00 88 00 88 00 34 34 77 00 77 00 77 00 33 33 55 00 55 ...76......55......44w.w.w.33U.U
39a40 00 55 00 37 36 44 00 44 00 44 00 35 35 22 00 22 00 22 00 34 34 11 00 11 00 11 00 33 33 00 00 00 .U.76D.D.D.55".".".44......33...
39a60 00 00 00 00 00 00 00 00 64 00 44 00 00 00 00 00 64 00 44 00 00 00 0a 00 00 00 00 00 64 00 44 02 ........d.D.....d.D.........d.D.
39a80 bd 00 13 e8 00 01 f5 f6 fe 07 fe 0e 02 32 32 33 fd 39 00 0e e6 00 1d fc 00 01 f5 f5 fe 07 00 08 .............223.9..............
39aa0 fe 0e 02 32 32 33 fe 39 00 3a fc 40 f2 41 02 40 33 07 e9 00 17 01 00 0e fc 40 dc 41 02 39 0e f5 ...223.9.:.@.A.@3........@.A.9..
39ac0 f5 00 02 f5 f5 f6 fe 07 02 0e 07 00 16 01 00 32 d5 41 04 40 39 0e 32 33 fd 39 00 3a fc 40 fc 41 ...............2.A.@9.23.9.:.@.A
39ae0 01 32 00 08 01 00 0e c1 41 01 0e 00 08 01 00 0e c1 41 01 08 00 08 01 00 0e c1 41 01 07 00 08 01 .2......A........A........A.....
39b00 00 0e c1 41 01 07 00 09 01 00 07 c2 41 02 40 f5 00 0e 01 00 07 e8 41 01 47 47 dd 41 02 40 00 00 ...A........A.@.......A.GG.A.@..
39b20 12 01 00 07 f0 41 00 47 fa 41 01 3b 3b dd 41 02 40 00 00 19 01 00 07 f1 41 0c 47 3b 0b 3b 47 41 .....A.G.A.;;.A.@.......A.G;.;GA
39b40 41 47 11 05 05 3b 47 df 41 02 3a 00 00 17 01 00 f6 f0 41 01 0b 0b fe 41 05 47 3b 05 05 11 3b de AG...;G.A.:.......A....A.G;...;.
39b60 41 02 39 00 00 1a 02 00 f5 40 f3 41 0c 47 3b 05 3b 47 41 47 41 0b 0b 3b 47 47 de 41 02 39 00 00 A.9......@.A.G;.;GAGA..;GG.A.9..
39b80 18 02 00 f5 40 f3 41 02 47 11 0b fe 41 04 47 11 05 41 47 dc 41 02 33 00 00 1b 02 00 00 40 f3 41 ....@.A.G...A.G..AG.A.3......@.A
39ba0 03 47 11 11 47 fe 41 02 05 35 47 f7 41 fd 47 e9 41 02 32 00 00 1e 02 00 00 40 f2 41 06 11 3b 47 .G..G.A..5G.A.G.A.2......@.A..;G
39bc0 41 47 35 0b f7 41 06 47 41 39 0e 0e 40 47 ea 41 02 0e 00 00 21 02 00 00 40 f2 41 07 11 3b 47 41 AG5..A.GA9..@G.A....!...@.A..;GA
39be0 41 0b 35 47 f9 41 02 47 40 07 fe 00 02 f6 40 47 eb 41 02 0e 00 00 23 02 00 00 40 f3 41 08 47 35 A.5G.A.G@.....@G.A....#...@.A.G5
39c00 41 41 47 3b 05 41 47 fa 41 09 47 3a f6 00 f5 4f 55 f5 0e 47 eb 41 02 07 00 00 22 02 00 00 3a f3 AAG;.AG.A.G:...OU..G.A...."...:.
39c20 41 01 47 3b fe 41 01 0b 0b f9 41 05 47 3a f5 00 55 c8 fe ce 01 56 40 eb 41 02 07 00 00 1f 02 00 A.G;.A....A.G:..U....V@.A.......
39c40 00 39 f0 41 04 47 41 05 3b 47 fb 41 04 47 40 f5 f5 a4 fc ce 01 c8 5d eb 41 02 f6 00 00 1f 02 00 .9.A.GA.;G.A.G@.......].A.......
39c60 00 39 f0 41 04 47 3b 05 41 47 fc 41 04 47 40 07 f6 c8 fa ce 00 64 ec 41 03 40 f5 00 00 1c 02 00 .9.A.G;.AG.A.G@......d.A.@......
39c80 00 39 f0 41 02 47 11 0b fa 41 03 47 08 2a c8 fa ce 01 64 d8 ec 41 00 40 fe 00 25 02 00 00 39 ef .9.A.G...A.G.*....d..A.@..%...9.
39ca0 41 02 0b 3b 47 fc 41 03 47 0f f5 a4 fb ce 02 c8 87 d8 fc 41 fe 47 fc 41 00 47 f9 41 00 3a fe 00 A..;G.A.G..........A.G.A.G.A.:..
39cc0 28 02 00 00 39 ef 41 02 0b 3b 47 fd 41 03 47 39 00 a4 fa ce 00 ab fa 41 09 3b 11 3b 41 41 47 3b (...9.A..;G.A.G9.......A.;.;AAG;
39ce0 0b 3b 47 fa 41 00 39 fe 00 24 02 00 00 33 f1 41 02 47 41 0b fa 41 01 07 79 f9 ce 00 64 fa 41 02 .;G.A.9..$...3.A.GA..A..y...d.A.
39d00 35 05 0b fd 41 01 0b 0b f9 41 00 39 fe 00 28 02 00 00 32 f1 41 02 47 3b 0b fc 41 02 47 39 f6 f9 5...A....A.9..(...2.A.G;..A.G9..
39d20 ce 01 87 d8 fb 41 03 47 41 05 0b fe 41 02 47 11 0b f9 41 00 39 fe 00 2c 02 00 00 32 f1 41 02 47 .....A.GA...A.G...A.9..,...2.A.G
39d40 3b 11 fb 41 01 08 79 fa ce 05 aa 40 41 41 47 47 fe 41 0a 47 41 05 11 47 41 41 47 35 11 47 fa 41 ;..A..y....@AAGG.A.GA..GAAG5.G.A
39d60 00 32 fe 00 2f 02 00 00 0e f1 41 03 47 3b 11 47 fe 41 03 47 40 f6 c8 fa ce 05 64 d8 41 40 39 39 .2../.....A.G;.G.A.G@.....d.A@99
39d80 fe 41 04 47 3b 05 3b 47 fe 41 02 35 41 47 fa 41 00 0e fe 00 27 02 00 00 0e f1 41 03 47 3b 3b 47 .A.G;.;G.A.5AG.A....'.....A.G;;G
39da0 fe 41 02 47 0f 79 fa ce 0c 87 41 40 32 f5 00 00 3a 47 41 47 3b 05 f2 41 00 0e fe 00 27 02 00 00 .A.G.y....A@2...:GAG;..A....'...
39dc0 0e f1 41 03 47 3b 3b 47 fd 41 01 0e a4 fa ce 01 ab aa fe c8 08 79 00 39 47 41 47 11 0b 47 f3 41 ..A.G;;G.A...........y.9GAG..G.A
39de0 00 07 fe 00 1c 02 00 00 0e ea 41 02 40 2b c8 f5 ce 08 81 00 33 47 41 41 0b 3b 47 f3 41 00 07 fe ..........A.@+......3GAA.;G.A...
39e00 00 1a 02 00 00 08 eb 41 02 47 3a 55 f4 ce 06 5d 00 39 47 47 41 0b f1 41 00 f6 fe 00 1c 02 00 00 .......A.G:U...].9GGA..A........
39e20 07 eb 41 02 47 39 79 f4 ce 07 39 00 39 47 47 35 11 47 f3 41 01 40 f5 fe 00 1c 02 00 00 07 eb 41 ..A.G9y...9.9GG5.G.A.@.........A
39e40 02 47 39 a4 f5 ce 08 ab 0e 00 40 47 41 11 41 47 f3 41 00 40 fd 00 1b 02 00 00 07 eb 41 02 47 39 .G9.......@GA.AG.A.@........A.G9
39e60 a4 f5 ce 07 87 07 07 41 47 41 11 47 f2 41 00 40 fd 00 1b 02 00 00 07 eb 41 02 47 39 c8 f5 ce 07 .......AGA.G.A.@........A.G9....
39e80 63 f5 32 47 47 3b 3b 47 f2 41 00 3a fd 00 1a 03 00 00 f6 40 ec 41 02 47 39 c8 f5 ce 05 39 f5 40 c.2GG;;G.A.:.......@.A.G9....9.@
39ea0 47 41 3b f0 41 00 39 fd 00 1c 03 00 00 f5 40 eb 41 01 40 c8 fd ce 01 c8 a4 fc ce 03 ab 08 0e 47 GA;.A.9.......@.A.@............G
39ec0 ed 41 00 39 fd 00 1a fe 00 00 40 eb 41 00 40 fc ce 01 a4 c8 fc ce 03 fa 07 40 47 ed 41 00 32 fd .A.9......@.A.@..........@G.A.2.
39ee0 00 1a fe 00 00 40 ea 41 00 aa fe ce 02 87 f9 c8 fc ce 02 56 0f 47 ec 41 00 32 fd 00 19 fe 00 00 .....@.A...........V.G.A.2......
39f00 40 ea 41 00 ab fe ce 02 64 56 c8 fd ce 01 c8 32 ea 41 00 0e fd 00 1b fe 00 00 40 ed 41 03 0e 40 @.A.....dV.....2.A........@.A..@
39f20 47 87 fe ce 01 40 55 fc ce 01 fa 40 ea 41 00 08 fd 00 1a fe 00 00 3a ed 41 08 07 07 40 fb ce ce G....@U....@.A........:.A...@...
39f40 ab 39 79 fd ce 00 ab e8 41 00 07 fd 00 1c fe 00 00 3a ed 41 08 07 00 f6 a4 ce ce 87 33 79 fd ce .9y.....A........:.A........3y..
39f60 02 41 47 47 ea 41 00 07 fd 00 1e fe 00 00 39 ed 41 08 07 2a a4 c8 ce ce 88 0e 9d fe ce 03 64 1c .AGG.A........9.A..*..........d.
39f80 39 39 eb 41 01 40 f5 fd 00 1c fe 00 00 39 ed 41 01 07 4f fd ce 02 64 f7 a4 fe ce 03 ab 80 f6 07 99.A.@.......9.A..O...d.........
39fa0 eb 41 00 40 fc 00 1c fe 00 00 39 ed 41 01 08 79 fe ce 03 ab 40 2b a4 fc ce 02 f7 0e 47 ec 41 00 .A.@......9.A..y....@+......G.A.
39fc0 40 fc 00 1c fe 00 00 39 ed 41 01 08 79 fe ce 03 ab 40 f6 c8 fc ce 02 f6 15 47 ec 41 00 40 fc 00 @......9.A..y....@.......G.A.@..
39fe0 1e fe 00 00 3a ee 41 02 47 0e 79 fe ce 03 ab 40 f5 c8 fd ce 03 a4 f5 3a 47 ec 41 00 40 fc 00 1e ....:.A.G.y....@.......:G.A.@...
3a000 fe 00 00 3a ee 41 02 47 0e 56 fe ce 03 fb 3a f6 c8 fd ce 02 80 f5 40 eb 41 01 40 f5 fd 00 1e fe ...:.A.G.V....:.......@.A.@.....
3a020 00 00 40 ee 41 09 47 0f 56 ce ce c8 88 39 f6 c8 fd ce 02 56 01 40 eb 41 01 40 f5 fd 00 1c fe 00 ..@.A.G.V....9.....V.@.A.@......
3a040 00 40 ee 41 09 47 39 32 ce ce c8 88 39 2a c8 fd ce 01 56 07 e9 41 00 f6 fd 00 1b fe 00 00 40 ee .@.A.G92....9*....V..A........@.
3a060 41 08 47 3a 32 ce ce c8 64 15 2a fc ce 01 32 07 e9 41 00 07 fd 00 1a fe 00 00 40 ed 41 07 40 32 A.G:2...d.*...2..A........@.A.@2
3a080 ab ce c8 64 39 4e fc ce 01 3a 07 e9 41 00 07 fd 00 1d 03 00 00 f5 40 ed 41 07 40 0e ab ce ce 64 ...d9N...:..A.........@.A.@....d
3a0a0 0f 4e fd ce 03 ab 40 08 40 ea 41 00 07 fd 00 1b 03 00 00 f5 40 ec 41 06 0f 81 ce ce 64 33 4e fd .N....@.@.A.........@.A.....d3N.
3a0c0 ce 02 ab 40 0e e9 41 00 0e fd 00 1c 02 00 00 f6 ec 41 07 47 15 fa ce ce 64 33 4e fd ce 03 87 0f ...@..A..........A.G....d3N.....
3a0e0 0e 47 ea 41 00 0e fd 00 1c 02 00 00 07 ec 41 07 47 16 f9 ce c8 64 33 4e fd ce 03 63 08 40 47 ea .G.A..........A.G....d3N...c.@G.
3a100 41 00 0e fd 00 1a 02 00 00 07 eb 41 06 40 f9 ce c8 64 39 4e fd ce 02 39 40 47 e9 41 00 32 fd 00 A..........A.@...d9N...9@G.A.2..
3a120 1b 02 00 00 07 ea 41 05 39 ce ce 88 39 f6 fe ce 04 ab 41 41 39 40 ea 41 00 32 fd 00 1c 02 00 00 ......A.9...9.....AA9@.A.2......
3a140 07 eb 41 0e 47 3a c8 ce 88 39 f6 c8 ce ce 64 15 f6 f5 40 ea 41 00 33 fd 00 1a 02 00 00 07 ea 41 ..A.G:...9....d...@.A.3........A
3a160 0c 40 a4 ce 87 39 2a c8 ce ab 41 40 f8 f6 e9 41 00 39 fd 00 1b 02 00 00 0e eb 41 0d 47 41 ab c8 .@...9*...A@...A.9........A.GA..
3a180 87 39 f5 c8 ce ab ab ce a4 07 e9 41 00 39 fd 00 1c 02 00 00 0e ed 41 09 47 39 39 47 87 c8 ab 40 .9.........A.9........A.G99G...@
3a1a0 f5 c8 fd ce 01 a4 0e e9 41 00 39 fd 00 1d 02 00 00 0e ed 41 09 47 3a 00 07 80 ce ab 40 f5 c8 fd ........A.9........A.G:.....@...
3a1c0 ce 02 55 0e 47 ea 41 00 39 fd 00 1b 02 00 00 0e eb 41 07 07 79 c8 ce ce 40 f6 a4 fd ce 02 2b 39 ..U.G.A.9........A..y...@.....+9
3a1e0 47 ea 41 00 3a fd 00 1c 02 00 00 0e ec 41 02 47 39 79 fe ce 02 64 07 a4 fe ce 02 a4 07 40 e9 41 G.A.:........A.G9y...d.......@.A
3a200 00 40 fd 00 1a 02 00 00 32 ea 41 06 32 a4 ce ce 88 08 79 fe ce 02 f9 0f 47 e9 41 00 40 fd 00 1a .@......2.A.2.....y.....G.A.@...
3a220 02 00 00 32 eb 41 07 47 40 f7 c8 ce 87 0e 79 fe ce 01 32 40 e8 41 00 40 fd 00 19 02 00 00 33 ea ...2.A.G@.....y...2@.A.@......3.
3a240 41 0b 47 40 f8 c8 ab 0e 55 ce ce 80 15 47 e8 41 00 40 fd 00 17 02 00 00 33 e9 41 08 47 40 f9 a4 A.G@....U....G.A.@......3.A.G@..
3a260 39 4f ce ce 5d e6 41 01 40 f5 fe 00 14 02 00 00 39 e8 41 06 47 64 fb 39 2b c8 ab e4 41 00 f6 fe 9O..].A.@.......9.A.Gd.9+...A...
3a280 00 11 02 00 00 39 e5 41 03 40 f6 87 64 e4 41 00 07 fe 00 1e 02 00 00 39 eb 41 02 3a 0e 0e fd 41 .....9.A.@..d.A........9.A.:...A
3a2a0 02 07 40 47 f6 41 04 40 0f 08 39 47 f4 41 00 07 fe 00 27 02 00 00 39 fb 41 01 47 47 f2 41 02 08 ..@G.A.@..9G.A....'...9.A.GG.A..
3a2c0 00 40 fe 41 02 08 39 47 fc 41 01 47 47 fc 41 03 39 00 39 47 f4 41 00 07 fe 00 29 02 00 00 39 fb .@.A..9G.A.GG.A.9.9G.A....)...9.
3a2e0 41 01 40 39 f3 41 09 47 0e f5 40 41 41 47 0e 33 47 fc 41 01 39 3a fd 41 04 47 39 00 39 47 f4 41 A.@9.A.G..@AAG.3G.A.9:.A.G9.9G.A
3a300 00 08 fe 00 36 02 00 00 3a fc 41 03 47 0e 00 40 fc 41 02 47 41 40 fc 41 09 47 0e f5 40 41 41 47 ....6...:.A.G..@.A.GA@.A.G..@AAG
3a320 33 0e 47 fe 41 04 47 40 00 0e 47 fe 41 04 47 39 00 39 41 fe 40 f7 41 00 0e fe 00 3a 02 00 00 3a 3.G.A.G@..G.A.G9.9A.@.A....:...:
3a340 fd 41 0e 47 40 07 00 0e 40 47 41 41 47 39 0e 39 0e 40 fe 41 08 47 0e f5 40 41 41 47 39 0e fc 41 .A.G@...@GAAG9.9.@.A.G..@AAG9..A
3a360 03 0f 00 07 39 fe 41 07 47 39 00 39 40 08 0f 39 f7 41 00 0e fe 00 35 02 00 00 40 fb 41 02 0e 00 ....9.A.G9.9@..9.A....5...@.A...
3a380 40 fe 41 0d 47 40 00 39 41 00 32 47 41 41 47 0e f5 40 fe 41 01 40 08 fc 41 02 3a 00 0e fd 41 05 @.A.G@.9A.2GAAG..@.A.@..A.:...A.
3a3a0 47 39 00 39 39 33 f5 41 00 0e fe 00 39 02 00 00 40 fc 41 03 47 0e 00 40 fe 41 06 47 32 00 40 41 G9.993.A....9...@.A.G..@.A.G2.@A
3a3c0 39 40 fe 41 03 47 0e f5 40 fd 41 01 08 40 fe 41 04 47 40 00 0e 47 fe 41 06 47 39 00 07 f5 40 47 9@.A.G..@.A..@.A.G@..G.A.G9...@G
3a3e0 f6 41 00 32 fe 00 3a 02 00 00 40 fc 41 0c 47 0e 00 40 47 41 41 47 0e 00 40 47 47 fd 41 03 47 0e .A.2..:...@.A.G..@GAAG..@GG.A.G.
3a400 f5 40 fe 41 0a 47 0e 39 47 41 41 47 40 00 0e 47 fe 41 07 47 39 00 0e 00 07 41 47 f7 41 00 32 fe .@.A.G.9GAAG@..G.A.G9....AG.A.2.
3a420 00 38 02 00 00 40 fc 41 02 47 0e 00 fd 41 06 47 39 00 3a 47 40 39 fe 41 02 47 0e f5 fd 41 0a 47 .8...@.A.G...A.G9.:G@9.A.G...A.G
3a440 33 33 47 41 41 47 40 00 0e 47 fe 41 06 47 39 00 39 39 00 0e f6 41 00 33 fe 00 3a 02 00 f5 40 fc 33GAAG@..G.A.G9.99...A.3..:...@.
3a460 41 04 47 32 00 0e 39 fd 41 0b 0e 0e 40 33 3a 47 41 41 3a 07 f5 39 fe 41 02 47 3a 0e fd 41 0f 40 A.G2..9.A...@3:GAA:..9.A.G:..A.@
3a480 f5 07 33 40 41 41 40 0e 00 0e 40 07 00 0e 40 f8 41 00 39 fe 00 29 02 00 f5 40 fa 41 01 39 39 fb ..3@AA@...@...@.A.9..)...@.A.99.
3a4a0 41 02 3a 3a 40 fd 41 fd 40 fd 41 02 40 0e 40 fd 41 02 40 39 40 fd 41 fa 40 f7 41 00 39 fe 00 2a A.::@.A.@.A.@.@.A.@9@.A.@.A.9..*
3a4c0 01 00 f6 f9 41 01 47 47 fb 41 01 47 47 fb 41 01 47 47 fb 41 01 39 40 fd 41 01 47 47 fb 41 00 47 ....A.GG.A.GG.A.GG.A.9@.A.GG.A.G
3a4e0 fe 41 00 47 f6 41 00 39 fe 00 0d 01 00 07 e1 41 00 40 e4 41 00 3a fe 00 09 01 00 07 c3 41 00 3a .A.G.A.9.......A.@.A.:.......A.:
3a500 fe 00 09 01 00 07 c3 41 00 40 fe 00 09 01 00 07 c3 41 00 40 fe 00 09 01 00 07 c3 41 00 40 fe 00 .......A.@.......A.@.......A.@..
3a520 0a 01 00 0e c3 41 03 40 f5 00 00 09 01 00 0e c2 41 02 f6 00 00 09 01 00 0e c2 41 02 07 00 00 09 .....A.@........A.........A.....
3a540 01 00 0e c2 41 02 07 00 00 11 01 00 0e ed 41 fe 40 00 3a f9 40 e2 41 02 07 00 00 2b 01 00 32 f9 ....A.........A.@.:.@.A....+..2.
3a560 41 fe 40 fe 39 06 32 0e 0e 07 07 f6 f5 f8 00 02 f5 f5 f6 fb 07 fb 0e 03 32 32 33 33 fb 39 01 3a A.@.9.2.................2233.9.:
3a580 3a fb 40 02 07 00 00 0e 0a 00 0e 39 39 32 0e 0e 07 07 f6 f5 c8 00 02 bd 00 00 ff 00 00 01 00 00 :.@........992..................
3a5a0 03 a5 39 00 03 a4 39 00 00 0a f7 03 96 d1 1c 31 36 00 00 00 1c 06 92 00 09 54 45 58 54 00 15 00 ..9...9........16........TEXT...
3a5c0 52 43 55 52 53 00 54 01 5a 53 49 43 4e 00 00 05 56 63 72 73 72 00 0e 05 62 4d 44 45 46 00 00 06 RCURS.T.ZSICN...Vcrsr...bMDEF...
3a5e0 16 4d 45 4e 55 00 00 06 22 43 4e 54 4c 00 00 06 2e 44 49 54 4c 00 01 06 3a 44 4c 4f 47 00 01 06 .MENU..."CNTL....DITL...:DLOG...
3a600 52 50 49 43 54 00 00 06 6a 00 80 ff ff 00 00 00 00 00 00 00 00 00 00 03 aa 24 00 2c d6 00 00 00 RPICT...j................$.,....
3a620 00 00 01 03 af 24 00 8a 4e 00 00 00 00 00 02 03 b7 24 00 ad 45 00 00 00 00 00 0a 03 bc 24 00 be .....$..N........$..E........$..
3a640 97 00 00 00 00 00 0b 03 bf 24 00 d3 ab 00 00 00 00 00 0c 03 c6 24 00 fe cf 00 00 00 00 00 0d 03 .........$...........$..........
3a660 cd 24 01 13 f9 00 00 00 00 00 0e 03 d3 24 01 4f 50 00 00 00 00 00 0f 03 d9 24 01 62 62 00 00 00 .$...........$.OP........$.bb...
3a680 00 00 10 03 e1 24 01 90 16 00 00 00 00 00 11 03 e6 24 02 13 b7 00 00 00 00 00 12 03 f1 24 02 1a .....$...........$...........$..
3a6a0 1f 00 00 00 00 00 13 03 f9 24 02 36 98 00 00 00 00 00 14 03 ff 24 02 51 10 00 00 00 00 00 15 04 .........$.6.........$.Q........
3a6c0 09 24 02 7e 36 00 00 00 00 00 16 04 11 24 02 8d f7 00 00 00 00 00 17 04 16 24 02 f4 7d 00 00 00 .$.~6........$...........$..}...
3a6e0 00 00 18 04 1e 24 03 02 0a 00 00 00 00 00 19 04 26 24 03 31 4d 00 00 00 00 00 1a 04 2d 24 03 4c .....$..........&$.1M.......-$.L
3a700 73 00 00 00 00 00 1b 04 34 24 03 69 b9 00 00 00 00 03 e8 00 00 00 00 00 11 00 00 00 00 03 ea 00 s.......4$.i....................
3a720 05 00 00 00 59 00 00 00 00 03 eb 00 0c 00 00 00 a1 00 00 00 00 03 ec 00 13 00 00 00 e9 00 00 00 ....Y...........................
3a740 00 03 ed 00 1a 00 00 01 31 00 00 00 00 03 ee 00 22 00 00 01 79 00 00 00 00 03 ef 00 2f 00 00 01 ........1......."...y......./...
3a760 c1 00 00 00 00 03 f0 00 37 00 00 02 09 00 00 00 00 0b b8 00 40 00 00 02 51 00 00 00 00 0b b9 00 ........7...........@...Q.......
3a780 49 00 00 02 99 00 00 00 00 0b ba 00 4f 00 00 02 e1 00 00 00 00 0b bb 00 60 00 00 03 29 00 00 00 I...........O...........`...)...
3a7a0 00 0b bc 00 6f 00 00 03 71 00 00 00 00 0b bd 00 74 00 00 03 b9 00 00 00 00 0b be 00 7d 00 00 04 ....o...q.......t...........}...
3a7c0 01 00 00 00 00 0b bf 00 90 00 00 04 49 00 00 00 00 0b c0 00 a4 00 00 04 91 00 00 00 00 0b c1 00 ............I...................
3a7e0 b0 00 00 04 d9 00 00 00 00 0b c2 00 bb 00 00 05 21 00 00 00 00 0b c3 00 c6 00 00 05 69 00 00 00 ................!...........i...
3a800 00 0b c4 00 d1 00 00 05 b1 00 00 00 00 0b c5 00 d8 00 00 05 f9 00 00 00 00 0b c6 00 de 00 00 06 ................................
3a820 41 00 00 00 00 0b c7 00 e9 00 00 06 89 00 00 00 00 0b c8 00 ef 00 00 06 d1 00 00 00 00 0b c9 00 A...............................
3a840 fd 00 00 07 19 00 00 00 00 0b ca 01 07 00 00 07 61 00 00 00 00 0b cb 01 15 00 00 07 a9 00 00 00 ................a...............
3a860 00 0b cc 01 19 00 00 07 f1 00 00 00 00 0b cd 01 20 00 00 08 39 00 00 00 00 0b ce 01 2d 00 00 08 ....................9.......-...
3a880 81 00 00 00 00 0b cf 01 39 00 00 08 c9 00 00 00 00 0b d0 01 45 00 00 09 11 00 00 00 00 0b d1 01 ........9...........E...........
3a8a0 50 00 00 09 59 00 00 00 00 0b d2 01 59 00 00 09 a1 00 00 00 00 0b d3 01 5f 00 00 09 e9 00 00 00 P...Y.......Y..........._.......
3a8c0 00 0b d4 01 67 00 00 0a 31 00 00 00 00 0b d5 01 6d 00 00 0a 79 00 00 00 00 0b d6 01 73 00 00 0a ....g...1.......m...y.......s...
3a8e0 c1 00 00 00 00 0b d7 01 79 00 00 0b 09 00 00 00 00 0b d8 01 7f 00 00 0b 51 00 00 00 00 0b d9 01 ........y...............Q.......
3a900 84 00 00 0b 99 00 00 00 00 0b da 01 8f 00 00 0b e1 00 00 00 00 0b db 01 98 00 00 0c 29 00 00 00 ............................)...
3a920 00 0b dc 01 a2 00 00 0c 71 00 00 00 00 0b dd 01 ab 00 00 0c b9 00 00 00 00 0b de 01 b6 00 00 0d ........q.......................
3a940 01 00 00 00 00 0b df 01 bf 00 00 0d 49 00 00 00 00 0b e0 01 c8 00 00 0d 91 00 00 00 00 0b e1 01 ............I...................
3a960 cc 00 00 0d d9 00 00 00 00 0b e2 01 d9 00 00 0e 21 00 00 00 00 0b e3 01 df 00 00 0e 69 00 00 00 ................!...........i...
3a980 00 0b e4 01 e6 00 00 0e b1 00 00 00 00 0b e5 01 ed 00 00 0e f9 00 00 00 00 0b e6 01 f2 00 00 0f ................................
3a9a0 41 00 00 00 00 0b e7 02 01 00 00 0f 89 00 00 00 00 0b e8 02 0b 00 00 0f d1 00 00 00 00 0b e9 02 A...............................
3a9c0 16 00 00 10 19 00 00 00 00 0b ea 02 20 00 00 10 61 00 00 00 00 0b eb 02 2c 00 00 10 a9 00 00 00 ................a.......,.......
3a9e0 00 0b ec 02 35 00 00 10 f1 00 00 00 00 0b ed 02 3e 00 00 11 39 00 00 00 00 0b ee 02 4c 00 00 11 ....5...........>...9.......L...
3aa00 81 00 00 00 00 0b ef 02 5e 00 00 11 c9 00 00 00 00 0b f0 02 6c 00 00 12 11 00 00 00 00 0b f1 02 ........^...........l...........
3aa20 7b 00 00 12 59 00 00 00 00 0b f2 02 87 00 00 12 a1 00 00 00 00 0b f3 02 99 00 00 12 e9 00 00 00 {...Y...........................
3aa40 00 0b f4 02 a1 00 00 13 31 00 00 00 00 0b f5 02 a8 00 00 13 79 00 00 00 00 0b f6 02 af 00 00 13 ........1...........y...........
3aa60 c1 00 00 00 00 0b f7 02 b8 00 00 14 09 00 00 00 00 0b f8 02 bd 00 00 14 51 00 00 00 00 0b f9 02 ........................Q.......
3aa80 c4 00 00 14 99 00 00 00 00 0b fa 02 cb 00 00 14 e1 00 00 00 00 0b fb 02 da 00 00 15 29 00 00 00 ............................)...
3aaa0 00 0b fc 02 ea 00 00 15 71 00 00 00 00 0b fd 02 fb 00 00 15 b9 00 00 00 00 0b fe 03 04 00 00 16 ........q.......................
3aac0 01 00 00 00 00 0b ff 03 0c 00 00 16 49 00 00 00 00 0c 00 03 11 00 00 16 91 00 00 00 00 0c 01 03 ............I...................
3aae0 1a 00 00 16 d9 00 00 00 00 0c 02 03 23 00 00 17 21 00 00 00 00 0c 03 03 2c 00 00 17 69 00 00 00 ............#...!.......,...i...
3ab00 00 0c 04 03 32 00 00 17 b1 00 00 00 00 00 80 ff ff 04 00 17 f9 00 00 00 00 03 e8 03 38 00 00 18 ....2.......................8...
3ab20 dd 00 00 00 00 03 e9 03 3d 00 00 19 d3 00 00 00 00 0b bc 03 42 20 00 1a c9 00 00 00 00 0b c5 03 ........=...........B...........
3ab40 47 00 00 1c 27 00 00 00 00 0b c6 03 4d 00 00 1d 85 00 00 00 00 0b d3 03 58 00 00 1e db 00 00 00 G...'.......M...........X.......
3ab60 00 0b d4 03 60 00 00 20 31 00 00 00 00 0b d7 03 66 00 00 21 7f 00 00 00 00 0b e2 03 6c 20 00 22 ....`...1.......f..!........l.."
3ab80 7d 00 00 00 00 0b e3 03 72 20 00 23 fb 00 00 00 00 0b f3 03 79 00 00 25 51 00 00 00 00 0b f6 03 }.......r..#........y..%Q.......
3aba0 81 00 00 26 a7 00 00 00 00 0b f7 03 8a 00 00 28 25 00 00 00 00 0b ff 03 8f 00 00 29 1b 00 00 00 ...&...........(%..........)....
3abc0 00 0c 03 03 94 20 00 2a 71 00 00 00 00 02 4f ff ff 04 00 2b b7 00 00 00 00 00 84 ff ff 04 00 2c .......*q.....O....+...........,
3abe0 9d 00 00 00 00 00 83 03 9a 20 00 2c b1 00 00 00 00 00 80 04 3b 20 03 8f 07 03 96 e5 8c 00 82 04 ...........,........;...........
3ac00 45 20 03 8f a7 03 96 e3 4c 00 80 04 53 20 03 90 59 03 96 e5 78 00 82 ff ff 20 03 90 75 03 96 e3 E.......L...S...Y...x.......u...
3ac20 f4 00 80 ff ff 00 03 90 91 03 96 e3 94 04 68 61 6e 64 06 62 75 63 6b 65 74 06 63 61 6e 63 65 6c ..............hand.bucket.cancel
3ac40 06 52 65 73 69 7a 65 07 65 79 65 64 72 6f 70 0c 65 79 65 64 72 6f 70 2d 66 75 6c 6c 07 7a 6f 6f .Resize.eyedrop.eyedrop-full.zoo
3ac60 6d 2d 69 6e 08 7a 6f 6f 6d 2d 6f 75 74 08 58 5f 63 75 72 73 6f 72 05 61 72 72 6f 77 10 62 61 73 m-in.zoom-out.X_cursor.arrow.bas
3ac80 65 64 5f 61 72 72 6f 77 5f 64 6f 77 6e 0e 62 61 73 65 64 5f 61 72 72 6f 77 5f 75 70 04 62 6f 61 ed_arrow_down.based_arrow_up.boa
3aca0 74 08 62 6f 67 6f 73 69 74 79 12 62 6f 74 74 6f 6d 5f 6c 65 66 74 5f 63 6f 72 6e 65 72 13 62 6f t.bogosity.bottom_left_corner.bo
3acc0 74 74 6f 6d 5f 72 69 67 68 74 5f 63 6f 72 6e 65 72 0b 62 6f 74 74 6f 6d 5f 73 69 64 65 0a 62 6f ttom_right_corner.bottom_side.bo
3ace0 74 74 6f 6d 5f 74 65 65 0a 62 6f 78 5f 73 70 69 72 61 6c 0a 63 65 6e 74 65 72 5f 70 74 72 06 63 ttom_tee.box_spiral.center_ptr.c
3ad00 69 72 63 6c 65 05 63 6c 6f 63 6b 0a 63 6f 66 66 65 65 5f 6d 75 67 05 63 72 6f 73 73 0d 63 72 6f ircle.clock.coffee_mug.cross.cro
3ad20 73 73 5f 72 65 76 65 72 73 65 09 63 72 6f 73 73 68 61 69 72 0d 64 69 61 6d 6f 6e 64 5f 63 72 6f ss_reverse.crosshair.diamond_cro
3ad40 73 73 03 64 6f 74 06 64 6f 74 62 6f 78 0c 64 6f 75 62 6c 65 5f 61 72 72 6f 77 0b 64 72 61 66 74 ss.dot.dotbox.double_arrow.draft
3ad60 5f 6c 61 72 67 65 0b 64 72 61 66 74 5f 73 6d 61 6c 6c 0a 64 72 61 70 65 64 5f 62 6f 78 08 65 78 _large.draft_small.draped_box.ex
3ad80 63 68 61 6e 67 65 05 66 6c 65 75 72 07 67 6f 62 62 6c 65 72 05 67 75 6d 62 79 05 68 61 6e 64 31 change.fleur.gobbler.gumby.hand1
3ada0 05 68 61 6e 64 32 05 68 65 61 72 74 04 69 63 6f 6e 0a 69 72 6f 6e 5f 63 72 6f 73 73 08 6c 65 66 .hand2.heart.icon.iron_cross.lef
3adc0 74 5f 70 74 72 09 6c 65 66 74 5f 73 69 64 65 08 6c 65 66 74 5f 74 65 65 0a 6c 65 66 74 62 75 74 t_ptr.left_side.left_tee.leftbut
3ade0 74 6f 6e 08 6c 6c 5f 61 6e 67 6c 65 08 6c 72 5f 61 6e 67 6c 65 03 6d 61 6e 0c 6d 69 64 64 6c 65 ton.ll_angle.lr_angle.man.middle
3ae00 62 75 74 74 6f 6e 05 6d 6f 75 73 65 06 70 65 6e 63 69 6c 06 70 69 72 61 74 65 04 70 6c 75 73 0e button.mouse.pencil.pirate.plus.
3ae20 71 75 65 73 74 69 6f 6e 5f 61 72 72 6f 77 09 72 69 67 68 74 5f 70 74 72 0a 72 69 67 68 74 5f 73 question_arrow.right_ptr.right_s
3ae40 69 64 65 09 72 69 67 68 74 5f 74 65 65 0b 72 69 67 68 74 62 75 74 74 6f 6e 08 72 74 6c 5f 6c 6f ide.right_tee.rightbutton.rtl_lo
3ae60 67 6f 08 73 61 69 6c 62 6f 61 74 0d 73 62 5f 64 6f 77 6e 5f 61 72 72 6f 77 11 73 62 5f 68 5f 64 go.sailboat.sb_down_arrow.sb_h_d
3ae80 6f 75 62 6c 65 5f 61 72 72 6f 77 0d 73 62 5f 6c 65 66 74 5f 61 72 72 6f 77 0e 73 62 5f 72 69 67 ouble_arrow.sb_left_arrow.sb_rig
3aea0 68 74 5f 61 72 72 6f 77 0b 73 62 5f 75 70 5f 61 72 72 6f 77 11 73 62 5f 76 5f 64 6f 75 62 6c 65 ht_arrow.sb_up_arrow.sb_v_double
3aec0 5f 61 72 72 6f 77 07 73 68 75 74 74 6c 65 06 73 69 7a 69 6e 67 06 73 70 69 64 65 72 08 73 70 72 _arrow.shuttle.sizing.spider.spr
3aee0 61 79 63 61 6e 04 73 74 61 72 06 74 61 72 67 65 74 06 74 63 72 6f 73 73 0e 74 6f 70 5f 6c 65 66 aycan.star.target.tcross.top_lef
3af00 74 5f 61 72 72 6f 77 0f 74 6f 70 5f 6c 65 66 74 5f 63 6f 72 6e 65 72 10 74 6f 70 5f 72 69 67 68 t_arrow.top_left_corner.top_righ
3af20 74 5f 63 6f 72 6e 65 72 08 74 6f 70 5f 73 69 64 65 07 74 6f 70 5f 74 65 65 04 74 72 65 6b 08 75 t_corner.top_side.top_tee.trek.u
3af40 6c 5f 61 6e 67 6c 65 08 75 6d 62 72 65 6c 6c 61 08 75 72 5f 61 6e 67 6c 65 05 77 61 74 63 68 05 l_angle.umbrella.ur_angle.watch.
3af60 78 74 65 72 6d 04 68 61 6e 64 04 66 69 73 74 04 62 6f 61 74 05 63 6c 6f 63 6b 0a 63 6f 66 66 65 xterm.hand.fist.boat.clock.coffe
3af80 65 5f 6d 75 67 07 67 6f 62 62 6c 65 72 05 67 75 6d 62 79 05 68 65 61 72 74 05 6d 6f 75 73 65 06 e_mug.gobbler.gumby.heart.mouse.
3afa0 70 65 6e 63 69 6c 07 73 68 75 74 74 6c 65 08 73 70 72 61 79 63 61 6e 04 73 74 61 72 04 74 72 65 pencil.shuttle.spraycan.star.tre
3afc0 6b 05 77 61 74 63 68 0f 46 69 6c 65 20 54 79 70 65 73 20 6d 65 6e 75 04 49 6e 69 74 07 48 69 73 k.watch.File.Types.menu.Init.His
3afe0 74 6f 72 79 04 57 6f 72 64 02 74 6b 06 62 75 74 74 6f 6e 06 64 69 61 6c 6f 67 05 65 6e 74 72 79 tory.Word.tk.button.dialog.entry
3b000 05 66 6f 63 75 73 07 6c 69 73 74 62 6f 78 04 6d 65 6e 75 0a 6f 70 74 69 6f 6e 4d 65 6e 75 07 70 .focus.listbox.menu.optionMenu.p
3b020 61 6c 65 74 74 65 05 73 63 61 6c 65 09 73 63 72 6f 6c 6c 62 61 72 07 74 65 61 72 6f 66 66 04 74 alette.scale.scrollbar.tearoff.t
3b040 65 78 74 07 74 6b 65 72 72 6f 72 07 43 6f 6e 73 6f 6c 65 06 6d 73 67 62 6f 78 06 63 6f 6d 64 6c ext.tkerror.Console.msgbox.comdl
3b060 67 06 70 72 6f 6c 6f 67 09 41 62 6f 75 74 20 42 6f 78 0d 46 69 6c 65 20 4f 70 65 6e 20 42 6f 78 g.prolog.About.Box.File.Open.Box
3b080 11 44 65 66 61 75 6c 74 20 41 62 6f 75 74 20 42 6f 78 .Default.About.Box