Artifact 29656623bca41a4d3cf79e079c2d48c7ce607951:
0000: 2f 2a 0a 20 2a 20 43 6f 6e 63 65 70 74 75 61 6c /*. * Conceptual
0010: 6c 79 20 62 61 73 65 64 20 6f 6e 20 54 6b 33 20 ly based on Tk3
0020: 74 61 62 6c 65 20 77 69 64 67 65 74 20 62 79 20 table widget by
0030: 52 6f 6c 61 6e 64 20 4b 69 6e 67 20 28 72 6f 6c Roland King (rol
0040: 73 40 6c 65 68 6d 61 6e 2e 63 6f 6d 29 0a 20 2a s@lehman.com). *
0050: 0a 20 2a 20 73 65 65 20 43 68 61 6e 67 65 4c 6f . * see ChangeLo
0060: 67 20 66 69 6c 65 20 66 6f 72 20 64 65 74 61 69 g file for detai
0070: 6c 73 0a 20 2a 0a 20 2a 20 63 75 72 72 65 6e 74 ls. *. * current
0080: 20 6d 61 69 6e 74 61 69 6e 65 72 3a 20 6a 65 66 maintainer: jef
0090: 66 20 61 74 20 68 6f 62 62 73 20 6f 72 67 0a 20 f at hobbs org.
00a0: 2a 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 31 *. * Copyright 1
00b0: 39 39 37 2d 32 30 30 32 2c 20 4a 65 66 66 72 65 997-2002, Jeffre
00c0: 79 20 48 6f 62 62 73 20 28 6a 65 66 66 40 68 6f y Hobbs (jeff@ho
00d0: 62 62 73 2e 6f 72 67 29 0a 20 2a 2f 0a 0a 09 09 bbs.org). */....
00e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
00f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0100: 2a 2a 2a 2a 2a 0a 09 09 20 20 54 68 65 20 54 6b *****... The Tk
0110: 20 54 61 62 6c 65 20 57 69 64 67 65 74 20 56 65 Table Widget Ve
0120: 72 73 69 6f 6e 20 32 2e 30 2b 0a 09 09 2a 2a 2a rsion 2.0+...***
0130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0150: 2a 2a 0a 0a 49 4e 54 52 4f 44 55 43 54 49 4f 4e **..INTRODUCTION
0160: 0a 0a 54 6b 54 61 62 6c 65 20 69 73 20 61 20 74 ..TkTable is a t
0170: 61 62 6c 65 2f 6d 61 74 72 69 78 20 77 69 64 67 able/matrix widg
0180: 65 74 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 et extension to
0190: 74 6b 2f 74 63 6c 2e 0a 54 68 65 20 62 61 73 69 tk/tcl..The basi
01a0: 63 20 66 65 61 74 75 72 65 73 20 6f 66 20 74 68 c features of th
01b0: 65 20 77 69 64 67 65 74 20 61 72 65 3a 0a 0a 20 e widget are:..
01c0: 2a 20 6d 75 6c 74 69 2d 6c 69 6e 65 20 63 65 6c * multi-line cel
01d0: 6c 73 0a 20 2a 20 73 75 70 70 6f 72 74 20 66 6f ls. * support fo
01e0: 72 20 65 6d 62 65 64 64 65 64 20 77 69 6e 64 6f r embedded windo
01f0: 77 73 20 28 6f 6e 65 20 70 65 72 20 63 65 6c 6c ws (one per cell
0200: 29 0a 20 2a 20 72 6f 77 20 26 20 63 6f 6c 75 6d ). * row & colum
0210: 6e 20 73 70 61 6e 6e 69 6e 67 0a 20 2a 20 76 61 n spanning. * va
0220: 72 69 61 62 6c 65 20 77 69 64 74 68 20 63 6f 6c riable width col
0230: 75 6d 6e 73 20 2f 20 68 65 69 67 68 74 20 72 6f umns / height ro
0240: 77 73 20 28 69 6e 74 65 72 61 63 74 69 76 65 6c ws (interactivel
0250: 79 20 72 65 73 69 7a 61 62 6c 65 29 0a 20 2a 20 y resizable). *
0260: 72 6f 77 20 61 6e 64 20 63 6f 6c 75 6d 6e 20 74 row and column t
0270: 69 74 6c 65 73 0a 20 2a 20 6d 75 6c 74 69 70 6c itles. * multipl
0280: 65 20 64 61 74 61 20 73 6f 75 72 63 65 73 20 28 e data sources (
0290: 28 54 63 6c 20 61 72 72 61 79 20 7c 7c 20 54 63 (Tcl array || Tc
02a0: 6c 20 63 6f 6d 6d 61 6e 64 29 20 26 7c 20 69 6e l command) &| in
02b0: 74 65 72 6e 61 6c 20 63 61 63 68 69 6e 67 29 0a ternal caching).
02c0: 20 2a 20 73 75 70 70 6f 72 74 73 20 73 74 61 6e * supports stan
02d0: 64 61 72 64 20 54 6b 20 72 65 6c 69 65 66 73 2c dard Tk reliefs,
02e0: 20 66 6f 6e 74 73 2c 20 63 6f 6c 6f 72 73 2c 20 fonts, colors,
02f0: 65 74 63 2e 0a 20 2a 20 78 2f 79 20 73 63 72 6f etc.. * x/y scro
0300: 6c 6c 62 61 72 20 73 75 70 70 6f 72 74 0a 20 2a llbar support. *
0310: 20 27 74 61 67 27 20 73 74 79 6c 65 73 20 70 65 'tag' styles pe
0320: 72 20 72 6f 77 2c 20 63 6f 6c 75 6d 6e 20 6f 72 r row, column or
0330: 20 63 65 6c 6c 20 74 6f 20 63 68 61 6e 67 65 20 cell to change
0340: 76 69 73 75 61 6c 20 61 70 70 65 61 72 61 6e 63 visual appearanc
0350: 65 0a 20 2a 20 69 6e 2d 63 65 6c 6c 20 65 64 69 e. * in-cell edi
0360: 74 69 6e 67 20 2d 20 72 65 74 75 72 6e 73 20 76 ting - returns v
0370: 61 6c 75 65 20 62 61 63 6b 20 74 6f 20 64 61 74 alue back to dat
0380: 61 20 73 6f 75 72 63 65 0a 20 2a 20 73 75 70 70 a source. * supp
0390: 6f 72 74 20 66 6f 72 20 64 69 73 61 62 6c 65 64 ort for disabled
03a0: 20 28 72 65 61 64 2d 6f 6e 6c 79 29 20 74 61 62 (read-only) tab
03b0: 6c 65 73 20 6f 72 20 63 65 6c 6c 73 20 28 76 69 les or cells (vi
03c0: 61 20 74 61 67 73 29 0a 20 2a 20 6d 75 6c 74 69 a tags). * multi
03d0: 70 6c 65 20 73 65 6c 65 63 74 69 6f 6e 20 6d 6f ple selection mo
03e0: 64 65 73 2c 20 77 69 74 68 20 22 61 63 74 69 76 des, with "activ
03f0: 65 22 20 63 65 6c 6c 0a 20 2a 20 6d 75 6c 74 69 e" cell. * multi
0400: 70 6c 65 20 64 72 61 77 69 6e 67 20 6d 6f 64 65 ple drawing mode
0410: 73 20 74 6f 20 67 65 74 20 6f 70 74 69 6d 61 6c s to get optimal
0420: 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 66 6f 72 performance for
0430: 20 6c 61 72 67 65 72 20 74 61 62 6c 65 73 0a 20 larger tables.
0440: 2a 20 6f 70 74 69 6f 6e 61 6c 20 27 66 6c 61 73 * optional 'flas
0450: 68 65 73 27 20 77 68 65 6e 20 74 68 69 6e 67 73 hes' when things
0460: 20 75 70 64 61 74 65 0a 20 2a 20 63 65 6c 6c 20 update. * cell
0470: 76 61 6c 69 64 61 74 69 6f 6e 20 73 75 70 70 6f validation suppo
0480: 72 74 0a 20 2a 20 57 6f 72 6b 73 20 65 76 65 72 rt. * Works ever
0490: 79 77 68 65 72 65 20 54 6b 20 64 6f 65 73 20 28 ywhere Tk does (
04a0: 69 6e 63 6c 75 64 69 6e 67 20 57 69 6e 64 6f 77 including Window
04b0: 73 20 61 6e 64 20 4d 61 63 21 29 0a 20 2a 20 55 s and Mac!). * U
04c0: 6e 69 63 6f 64 65 20 73 75 70 70 6f 72 74 20 28 nicode support (
04d0: 54 6b 38 2e 31 2b 29 0a 0a 46 49 4e 44 49 4e 47 Tk8.1+)..FINDING
04e0: 20 54 48 45 20 57 49 44 47 45 54 0a 0a 30 2e 20 THE WIDGET..0.
04f0: 54 68 65 20 6e 65 77 65 73 74 20 76 65 72 73 69 The newest versi
0500: 6f 6e 20 69 73 20 6d 6f 73 74 20 6c 69 6b 65 6c on is most likel
0510: 79 20 66 6f 75 6e 64 20 61 74 3a 0a 09 68 74 74 y found at:..htt
0520: 70 3a 2f 2f 74 6b 74 61 62 6c 65 2e 73 6f 75 72 p://tktable.sour
0530: 63 65 66 6f 72 67 65 2e 6e 65 74 2f 0a 09 68 74 ceforge.net/..ht
0540: 74 70 3a 2f 2f 77 77 77 2e 70 75 72 6c 2e 6f 72 tp://www.purl.or
0550: 67 2f 6e 65 74 2f 68 6f 62 62 73 2f 74 63 6c 2f g/net/hobbs/tcl/
0560: 63 61 70 70 2f 0a 0a 42 55 49 4c 44 49 4e 47 20 capp/..BUILDING
0570: 41 4e 44 20 49 4e 53 54 41 4c 4c 49 4e 47 20 54 AND INSTALLING T
0580: 48 45 20 57 49 44 47 45 54 0a 0a 31 2e 20 55 6e HE WIDGET..1. Un
0590: 63 6f 6d 70 72 65 73 73 20 61 6e 64 20 75 6e 70 compress and unp
05a0: 61 63 6b 20 74 68 65 20 64 69 73 74 72 69 62 75 ack the distribu
05b0: 74 69 6f 6e 0a 0a 20 20 20 4f 4e 20 55 4e 49 58 tion.. ON UNIX
05c0: 20 61 6e 64 20 4f 53 20 58 3a 0a 09 67 7a 69 70 and OS X:..gzip
05d0: 20 2d 63 64 20 54 6b 74 61 62 6c 65 3c 76 65 72 -cd Tktable<ver
05e0: 73 69 6f 6e 3e 2e 74 61 72 2e 67 7a 20 7c 20 74 sion>.tar.gz | t
05f0: 61 72 20 78 66 20 2d 0a 0a 20 20 20 4f 4e 20 57 ar xf -.. ON W
0600: 49 4e 44 4f 57 53 3a 0a 09 75 73 65 20 73 6f 6d INDOWS:..use som
0610: 65 74 68 69 6e 67 20 6c 69 6b 65 20 57 69 6e 5a ething like WinZ
0620: 69 70 20 74 6f 20 75 6e 70 61 63 6b 20 74 68 65 ip to unpack the
0630: 20 61 72 63 68 69 76 65 2e 0a 0a 20 20 20 4f 4e archive... ON
0640: 20 4d 41 43 49 4e 54 4f 53 48 3a 0a 09 75 73 65 MACINTOSH:..use
0650: 20 53 74 75 66 66 49 74 20 45 78 70 61 6e 64 65 StuffIt Expande
0660: 72 20 74 6f 20 75 6e 73 74 75 66 66 20 74 68 65 r to unstuff the
0670: 20 61 72 63 68 69 76 65 2e 0a 0a 20 20 20 54 68 archive... Th
0680: 69 73 20 77 69 6c 6c 20 63 72 65 61 74 65 20 61 is will create a
0690: 20 73 75 62 64 69 72 65 63 74 6f 72 79 20 74 6b subdirectory tk
06a0: 54 61 62 6c 65 3c 76 65 72 73 69 6f 6e 3e 20 77 Table<version> w
06b0: 69 74 68 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 ith all the file
06c0: 73 20 69 6e 20 69 74 2e 0a 0a 32 2e 20 43 6f 6e s in it...2. Con
06d0: 66 69 67 75 72 65 0a 0a 20 20 20 4f 4e 20 55 4e figure.. ON UN
06e0: 49 58 20 61 6e 64 20 4f 53 20 58 3a 0a 20 20 20 IX and OS X:.
06f0: 20 20 20 20 20 63 64 20 54 6b 74 61 62 6c 65 3c cd Tktable<
0700: 76 65 72 73 69 6f 6e 3e 0a 09 2e 2f 63 6f 6e 66 version>.../conf
0710: 69 67 75 72 65 0a 0a 20 20 20 74 6b 54 61 62 6c igure.. tkTabl
0720: 65 20 75 73 65 73 20 69 6e 66 6f 72 6d 61 74 69 e uses informati
0730: 6f 6e 20 6c 65 66 74 20 69 6e 20 74 6b 43 6f 6e on left in tkCon
0740: 66 69 67 2e 73 68 20 77 68 65 6e 20 79 6f 75 20 fig.sh when you
0750: 62 75 69 6c 74 20 74 6b 2e 20 20 54 68 69 73 0a built tk. This.
0760: 20 20 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 20 file will be
0770: 66 6f 75 6e 64 20 69 6e 20 24 65 78 65 63 5f 70 found in $exec_p
0780: 72 65 66 69 78 2f 6c 69 62 2f 2e 20 20 59 6f 75 refix/lib/. You
0790: 20 6d 69 67 68 74 20 73 65 74 20 74 68 65 20 2d might set the -
07a0: 2d 70 72 65 66 69 78 20 61 6e 64 0a 20 20 20 2d -prefix and. -
07b0: 2d 65 78 65 63 2d 70 72 65 66 69 78 20 6f 70 74 -exec-prefix opt
07c0: 69 6f 6e 73 20 6f 66 20 63 6f 6e 66 69 67 75 72 ions of configur
07d0: 65 20 69 66 20 79 6f 75 20 64 6f 6e 27 74 20 77 e if you don't w
07e0: 61 6e 74 20 74 68 65 20 64 65 66 61 75 6c 74 0a ant the default.
07f0: 20 20 20 28 2f 75 73 72 2f 6c 6f 63 61 6c 29 2e (/usr/local).
0800: 20 20 49 66 20 62 75 69 6c 64 69 6e 67 20 6f 6e If building on
0810: 20 6d 75 6c 74 69 70 6c 65 20 75 6e 69 78 20 70 multiple unix p
0820: 6c 61 74 66 6f 72 6d 73 2c 20 74 68 65 20 66 6f latforms, the fo
0830: 6c 6c 6f 77 69 6e 67 20 69 73 0a 20 20 20 72 65 llowing is. re
0840: 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 69 73 6f commended to iso
0850: 6c 61 74 65 20 62 75 69 6c 64 20 63 6f 6e 66 6c late build confl
0860: 69 63 74 73 3a 0a 09 6d 6b 64 69 72 20 3c 62 75 icts:..mkdir <bu
0870: 69 6c 64 64 69 72 3e 2f 3c 70 6c 61 74 66 6f 72 ilddir>/<platfor
0880: 6d 3e 0a 09 63 64 20 21 24 0a 09 2f 70 61 74 68 m>..cd !$../path
0890: 2f 74 6f 2f 54 6b 74 61 62 6c 65 3c 76 65 72 73 /to/Tktable<vers
08a0: 69 6f 6e 3e 2f 63 6f 6e 66 69 67 75 72 65 0a 0a ion>/configure..
08b0: 20 20 20 4f 4e 20 57 49 4e 44 4f 57 53 3a 0a 0a ON WINDOWS:..
08c0: 20 20 20 56 65 72 73 69 6f 6e 20 32 2e 38 20 61 Version 2.8 a
08d0: 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 dded support for
08e0: 20 62 75 69 6c 64 69 6e 67 20 69 6e 20 74 68 65 building in the
08f0: 20 63 79 67 77 69 6e 20 65 6e 76 69 72 6f 6e 6d cygwin environm
0900: 65 6e 74 20 6f 6e 0a 20 20 20 57 69 6e 64 6f 77 ent on. Window
0910: 73 20 62 61 73 65 64 20 6f 6e 20 54 45 41 20 28 s based on TEA (
0920: 68 74 74 70 3a 2f 2f 77 77 77 2e 74 63 6c 2e 74 http://www.tcl.t
0930: 6b 2f 64 6f 63 2f 74 65 61 2f 29 2e 20 20 59 6f k/doc/tea/). Yo
0940: 75 20 63 61 6e 20 72 65 74 72 69 65 76 65 0a 20 u can retrieve.
0950: 20 20 63 79 67 77 69 6e 20 66 72 6f 6d 3a 0a 09 cygwin from:..
0960: 68 74 74 70 3a 2f 2f 73 6f 75 72 63 65 73 2e 72 http://sources.r
0970: 65 64 68 61 74 2e 63 6f 6d 2f 63 79 67 77 69 6e edhat.com/cygwin
0980: 2f 0a 0a 20 20 20 49 6e 73 69 64 65 20 74 68 65 /.. Inside the
0990: 20 63 79 67 77 69 6e 20 65 6e 76 69 72 6f 6e 6d cygwin environm
09a0: 65 6e 74 2c 20 79 6f 75 20 62 75 69 6c 64 20 74 ent, you build t
09b0: 68 65 20 73 61 6d 65 20 61 73 20 6f 6e 20 55 6e he same as on Un
09c0: 69 78 2e 0a 0a 20 20 20 4f 74 68 65 72 77 69 73 ix... Otherwis
09d0: 65 2c 20 68 61 63 6b 20 6d 61 6b 65 66 69 6c 65 e, hack makefile
09e0: 2e 76 63 20 75 6e 74 69 6c 20 69 74 20 77 6f 72 .vc until it wor
09f0: 6b 73 20 61 6e 64 20 63 6f 6d 70 69 6c 65 2e 20 ks and compile.
0a00: 20 49 74 20 68 61 73 20 70 72 6f 62 6c 65 6d 73 It has problems
0a10: 0a 20 20 20 65 78 65 63 75 74 69 6e 67 20 77 69 . executing wi
0a20: 73 68 20 66 72 6f 6d 20 61 20 70 61 74 68 20 77 sh from a path w
0a30: 69 74 68 20 61 20 73 70 61 63 65 20 69 6e 20 69 ith a space in i
0a40: 74 2c 20 62 75 74 20 74 68 65 20 44 4c 4c 20 62 t, but the DLL b
0a50: 75 69 6c 64 73 20 6a 75 73 74 0a 20 20 20 66 69 uilds just. fi
0a60: 6e 65 2e 20 20 41 20 44 4c 4c 20 73 68 6f 75 6c ne. A DLL shoul
0a70: 64 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 77 d be available w
0a80: 68 65 72 65 20 79 6f 75 20 66 6f 75 6e 64 20 74 here you found t
0a90: 68 69 73 20 61 72 63 68 69 76 65 2e 0a 0a 33 2e his archive...3.
0aa0: 20 4d 61 6b 65 20 61 6e 64 20 49 6e 73 74 61 6c Make and Instal
0ab0: 6c 0a 0a 20 20 20 4f 4e 20 55 4e 49 58 3c 20 4f l.. ON UNIX< O
0ac0: 53 20 58 20 6f 72 20 57 49 4e 44 4f 57 53 20 28 S X or WINDOWS (
0ad0: 77 69 74 68 20 63 79 67 77 69 6e 29 3a 0a 09 6d with cygwin):..m
0ae0: 61 6b 65 0a 09 6d 61 6b 65 20 74 65 73 74 20 28 ake..make test (
0af0: 4f 50 54 49 4f 4e 41 4c 29 0a 09 6d 61 6b 65 20 OPTIONAL)..make
0b00: 64 65 6d 6f 20 28 4f 50 54 49 4f 4e 41 4c 29 0a demo (OPTIONAL).
0b10: 09 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 0a 0a 20 .make install..
0b20: 20 20 4f 4e 20 57 49 4e 44 4f 57 53 20 28 6d 61 ON WINDOWS (ma
0b30: 6b 65 66 69 6c 65 2e 76 63 29 3a 0a 09 6e 6d 61 kefile.vc):..nma
0b40: 6b 65 20 2d 66 20 6d 61 6b 65 66 69 6c 65 2e 76 ke -f makefile.v
0b50: 63 0a 09 6e 6d 61 6b 65 20 2d 66 20 6d 61 6b 65 c..nmake -f make
0b60: 66 69 6c 65 2e 76 63 20 74 65 73 74 20 28 4f 50 file.vc test (OP
0b70: 54 49 4f 4e 41 4c 29 0a 09 6e 6d 61 6b 65 20 2d TIONAL)..nmake -
0b80: 66 20 6d 61 6b 65 66 69 6c 65 2e 76 63 20 69 6e f makefile.vc in
0b90: 73 74 61 6c 6c 0a 0a 20 20 20 74 6b 54 61 62 6c stall.. tkTabl
0ba0: 65 20 69 73 20 62 75 69 6c 74 20 74 6f 20 63 6f e is built to co
0bb0: 6d 70 6c 79 20 74 6f 20 74 68 65 20 6c 61 74 65 mply to the late
0bc0: 73 74 20 74 63 6c 20 70 61 63 6b 61 67 65 20 63 st tcl package c
0bd0: 6f 6e 76 65 6e 74 69 6f 6e 73 2e 0a 20 20 20 54 onventions.. T
0be0: 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 73 here is also a s
0bf0: 70 65 63 69 66 69 63 20 22 6d 61 6b 65 20 73 74 pecific "make st
0c00: 61 74 69 63 22 20 66 6f 72 20 74 68 6f 73 65 20 atic" for those
0c10: 77 68 6f 20 6e 65 65 64 20 69 74 2e 0a 0a 34 2e who need it...4.
0c20: 20 55 73 65 20 69 74 0a 0a 20 20 20 53 74 61 72 Use it.. Star
0c30: 74 20 61 20 72 65 67 75 6c 61 72 20 77 69 73 68 t a regular wish
0c40: 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 27 6c interpreter, 'l
0c50: 6f 61 64 27 20 74 68 65 20 6c 69 62 72 61 72 79 oad' the library
0c60: 2c 20 61 6e 64 20 75 73 65 20 74 68 65 20 74 61 , and use the ta
0c70: 62 6c 65 2e 0a 20 20 20 54 68 65 72 65 20 61 72 ble.. There ar
0c80: 65 20 61 20 66 65 77 20 74 65 73 74 20 73 63 72 e a few test scr
0c90: 69 70 74 73 20 69 6e 20 74 68 65 20 64 65 6d 6f ipts in the demo
0ca0: 73 20 64 69 72 65 63 74 6f 72 79 20 77 68 69 63 s directory whic
0cb0: 68 20 79 6f 75 20 63 61 6e 20 73 6f 75 72 63 65 h you can source
0cc0: 2e 0a 0a 35 2e 20 52 65 61 64 20 74 68 65 20 64 ...5. Read the d
0cd0: 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 0a 20 20 ocumentation..
0ce0: 20 54 68 65 72 65 20 69 73 20 61 20 55 6e 69 78 There is a Unix
0cf0: 20 6d 61 6e 70 61 67 65 20 61 6e 64 20 48 54 4d manpage and HTM
0d00: 4c 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 70 72 L translation pr
0d10: 6f 76 69 64 65 64 20 69 6e 20 74 68 65 20 64 6f ovided in the do
0d20: 63 2f 0a 20 20 20 73 75 62 64 69 72 65 63 74 6f c/. subdirecto
0d30: 72 79 2e 20 20 54 68 65 73 65 20 64 65 73 63 72 ry. These descr
0d40: 69 62 65 20 74 68 65 20 74 61 62 6c 65 20 77 69 ibe the table wi
0d50: 64 67 65 74 27 73 20 66 65 61 74 75 72 65 73 20 dget's features
0d60: 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 0a 20 20 20 and commands.
0d70: 69 6e 20 64 65 70 74 68 2e 20 20 49 66 20 73 6f in depth. If so
0d80: 6d 65 74 68 69 6e 67 20 69 73 20 63 6f 6e 66 75 mething is confu
0d90: 73 69 6e 67 2c 20 6a 75 73 74 20 74 6f 20 74 72 sing, just to tr
0da0: 79 20 69 74 20 6f 75 74 2e 0a 0a 36 2e 20 50 79 y it out...6. Py
0db0: 74 68 6f 6e 20 75 73 65 72 73 0a 0a 20 20 20 54 thon users.. T
0dc0: 68 65 72 65 20 69 73 20 61 20 6c 69 62 72 61 72 here is a librar
0dd0: 79 2f 74 6b 74 61 62 6c 65 2e 70 79 20 77 72 61 y/tktable.py wra
0de0: 70 70 65 72 20 66 6f 72 20 75 73 65 20 77 69 74 pper for use wit
0df0: 68 20 50 79 74 68 6f 6e 2f 54 6b 69 6e 74 65 72 h Python/Tkinter
0e00: 2e 0a 0a 54 48 49 4e 47 53 20 54 4f 20 57 41 54 ...THINGS TO WAT
0e10: 43 48 20 4f 55 54 20 46 4f 52 0a 0a 50 61 63 6b CH OUT FOR..Pack
0e20: 69 6e 67 0a 20 20 54 68 65 20 74 61 62 6c 65 20 ing. The table
0e30: 74 72 69 65 73 20 6e 6f 74 20 74 6f 20 61 6c 6c tries not to all
0e40: 6f 63 61 74 65 20 68 75 67 65 20 63 68 75 6e 6b ocate huge chunk
0e50: 73 20 6f 66 20 73 63 72 65 65 6e 20 72 65 61 6c s of screen real
0e60: 20 65 73 74 61 74 65 20 69 66 0a 20 20 79 6f 75 estate if. you
0e70: 20 61 73 6b 20 69 74 20 66 6f 72 20 61 20 6c 6f ask it for a lo
0e80: 74 20 6f 66 20 72 6f 77 73 20 61 6e 64 20 63 6f t of rows and co
0e90: 6c 75 6d 6e 73 2e 20 20 59 6f 75 20 63 61 6e 20 lumns. You can
0ea0: 61 6c 77 61 79 73 20 73 74 72 65 74 63 68 20 6f always stretch o
0eb0: 75 74 0a 20 20 74 68 65 20 66 72 61 6d 65 20 6f ut. the frame o
0ec0: 72 20 65 78 70 6c 69 63 69 74 6c 79 20 74 65 6c r explicitly tel
0ed0: 6c 20 69 74 20 68 6f 77 20 62 69 67 20 69 74 20 l it how big it
0ee0: 63 61 6e 20 62 65 2e 20 20 49 66 20 79 6f 75 20 can be. If you
0ef0: 77 61 6e 74 20 74 6f 0a 20 20 73 74 72 65 74 63 want to. stretc
0f00: 68 20 74 68 65 20 74 61 62 6c 65 2c 20 72 65 6d h the table, rem
0f10: 65 6d 62 65 72 20 74 6f 20 70 61 63 6b 20 69 74 ember to pack it
0f20: 20 77 69 74 68 20 66 69 6c 6c 20 62 6f 74 68 20 with fill both
0f30: 61 6e 64 20 65 78 70 61 6e 64 20 6f 6e 2c 0a 20 and expand on,.
0f40: 20 6f 72 20 77 69 74 68 20 67 72 69 64 2c 20 67 or with grid, g
0f50: 69 76 65 20 69 74 20 2d 73 74 69 63 6b 79 20 6e ive it -sticky n
0f60: 65 77 73 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 ews and configur
0f70: 65 20 74 68 65 20 67 72 69 64 20 72 6f 77 20 61 e the grid row a
0f80: 6e 64 20 63 6f 6c 75 6d 6e 0a 20 20 66 6f 72 20 nd column. for
0f90: 73 6f 6d 65 20 77 65 69 67 68 74 69 6e 67 2e 0a some weighting..
0fa0: 0a 41 72 72 61 79 0a 20 20 54 68 65 20 61 72 72 .Array. The arr
0fb0: 61 79 20 65 6c 65 6d 65 6e 74 73 20 66 6f 72 20 ay elements for
0fc0: 74 68 65 20 74 61 62 6c 65 20 61 72 65 20 6f 66 the table are of
0fd0: 20 74 68 65 20 66 6f 72 6d 20 61 72 72 61 79 28 the form array(
0fe0: 32 2c 33 29 20 65 74 63 2e 20 20 4d 61 6b 65 0a 2,3) etc. Make.
0ff0: 20 20 73 75 72 65 20 74 68 65 72 65 20 61 72 65 sure there are
1000: 20 6e 6f 20 73 70 61 63 65 73 20 61 72 6f 75 6e no spaces aroun
1010: 64 20 74 68 65 20 27 2c 27 2e 20 20 4e 65 67 61 d the ','. Nega
1020: 74 69 76 65 20 69 6e 64 69 63 65 73 20 61 72 65 tive indices are
1030: 20 61 6c 6c 6f 77 65 64 2e 0a 0a 45 64 69 74 69 allowed...Editi
1040: 6e 67 0a 20 20 49 66 20 79 6f 75 20 63 61 6e 27 ng. If you can'
1050: 74 20 65 64 69 74 2c 20 72 65 6d 65 6d 62 65 72 t edit, remember
1060: 20 74 68 61 74 20 74 68 65 20 66 6f 63 75 73 20 that the focus
1070: 6d 6f 64 65 6c 20 69 6e 20 74 6b 20 69 73 20 65 model in tk is e
1080: 78 70 6c 69 63 69 74 2c 20 73 6f 0a 20 20 79 6f xplicit, so. yo
1090: 75 20 6e 65 65 64 20 74 6f 20 63 6c 69 63 6b 20 u need to click
10a0: 6f 6e 20 74 68 65 20 74 61 62 6c 65 20 6f 72 20 on the table or
10b0: 67 69 76 65 20 69 74 20 74 68 65 20 66 6f 63 75 give it the focu
10c0: 73 20 63 6f 6d 6d 61 6e 64 2e 20 20 4a 75 73 74 s command. Just
10d0: 0a 20 20 68 61 76 69 6e 67 20 61 20 73 65 6c 65 . having a sele
10e0: 63 74 65 64 20 63 65 6c 6c 20 69 73 20 6e 6f 74 cted cell is not
10f0: 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 the same thing
1100: 61 73 20 62 65 69 6e 67 20 61 62 6c 65 20 74 6f as being able to
1110: 20 65 64 69 74 2e 0a 20 20 59 6f 75 20 61 6c 73 edit.. You als
1120: 6f 20 6e 65 65 64 20 74 68 65 20 65 64 69 74 69 o need the editi
1130: 6e 67 20 63 75 72 73 6f 72 2e 20 20 49 66 20 79 ng cursor. If y
1140: 6f 75 20 63 61 6e 27 74 20 67 65 74 20 74 68 65 ou can't get the
1150: 20 63 75 72 73 6f 72 2c 20 6d 61 6b 65 0a 20 20 cursor, make.
1160: 73 75 72 65 20 74 68 61 74 20 79 6f 75 20 61 63 sure that you ac
1170: 74 75 61 6c 6c 79 20 68 61 76 65 20 61 20 76 61 tually have a va
1180: 72 69 61 62 6c 65 20 61 73 73 69 67 6e 65 64 20 riable assigned
1190: 74 6f 20 74 68 65 20 74 61 62 6c 65 2c 20 61 6e to the table, an
11a0: 64 20 74 68 61 74 0a 20 20 74 68 65 20 22 73 74 d that. the "st
11b0: 61 74 65 22 20 6f 66 20 74 68 65 20 63 65 6c 6c ate" of the cell
11c0: 20 69 73 20 6e 6f 74 20 64 69 73 61 62 6c 65 64 is not disabled
11d0: 2e 0a 0a 43 4f 4d 4d 45 4e 54 53 2c 20 42 55 47 ...COMMENTS, BUG
11e0: 53 2c 20 65 74 63 2e 0a 0a 2a 20 50 6c 65 61 73 S, etc...* Pleas
11f0: 65 20 63 61 6e 20 79 6f 75 20 73 65 6e 64 20 63 e can you send c
1200: 6f 6d 6d 65 6e 74 73 20 61 6e 64 20 62 75 67 20 omments and bug
1210: 72 65 70 6f 72 74 73 20 74 6f 20 74 68 65 20 63 reports to the c
1220: 75 72 72 65 6e 74 20 6d 61 69 6e 74 61 69 6e 65 urrent maintaine
1230: 72 0a 20 20 61 6e 64 20 74 68 65 69 72 20 62 65 r. and their be
1240: 73 74 20 77 69 6c 6c 20 62 65 20 64 6f 6e 65 20 st will be done
1250: 74 6f 20 61 64 64 72 65 73 73 20 74 68 65 6d 2e to address them.
1260: 20 20 41 20 6d 61 69 6c 69 6e 67 20 6c 69 73 74 A mailing list
1270: 20 66 6f 72 0a 20 20 74 6b 74 61 62 6c 65 20 64 for. tktable d
1280: 69 73 63 75 73 73 69 6f 6e 20 69 73 20 74 6b 74 iscussion is tkt
1290: 61 62 6c 65 2d 75 73 65 72 73 40 6c 69 73 74 73 able-users@lists
12a0: 2e 73 6f 75 72 63 65 66 6f 72 67 65 2e 6e 65 74 .sourceforge.net
12b0: 2e 0a 0a 2a 20 49 66 20 79 6f 75 20 66 69 6e 64 ...* If you find
12c0: 20 61 20 62 75 67 2c 20 61 20 73 68 6f 72 74 20 a bug, a short
12d0: 70 69 65 63 65 20 6f 66 20 54 63 6c 20 74 68 61 piece of Tcl tha
12e0: 74 20 65 78 65 72 63 69 73 65 73 20 69 74 20 77 t exercises it w
12f0: 6f 75 6c 64 20 62 65 20 76 65 72 79 0a 20 20 75 ould be very. u
1300: 73 65 66 75 6c 2c 20 6f 72 20 65 76 65 6e 20 62 seful, or even b
1310: 65 74 74 65 72 2c 20 63 6f 6d 70 69 6c 65 20 77 etter, compile w
1320: 69 74 68 20 64 65 62 75 67 67 69 6e 67 20 61 6e ith debugging an
1330: 64 20 73 70 65 63 69 66 79 20 77 68 65 72 65 20 d specify where
1340: 69 74 0a 20 20 63 72 61 73 68 65 64 20 69 6e 20 it. crashed in
1350: 74 68 61 74 20 73 68 6f 72 74 20 70 69 65 63 65 that short piece
1360: 20 6f 66 20 54 63 6c 2e 20 20 55 73 65 20 74 68 of Tcl. Use th
1370: 65 20 53 6f 75 72 63 65 46 6f 72 67 65 20 73 69 e SourceForge si
1380: 74 65 20 74 6f 20 63 68 65 63 6b 0a 20 20 66 6f te to check. fo
1390: 72 20 6b 6e 6f 77 6e 20 62 75 67 73 20 6f 72 20 r known bugs or
13a0: 73 75 62 6d 69 74 20 6e 65 77 20 6f 6e 65 73 2e submit new ones.
13b0: 0a .