Hex Artifact Content
Not logged in

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                                               .