12008-11-14  Jeff Hobbs  <jeffh@ActiveState.com>
2
3	**** 2.10 TAGGED FOR RELEASE ****
4
5	* generic/tkTable.c: Set NO_XSETCLIP universally as Tk 8.5/Xft
6	seems to ignore XSetClipRectangles.  This may slow things down a
7	little, but draws correctly. [Bug 1805350]
8
9	* UPGRADING.txt (removed): no longer need this old v1 upgrade doc.
10
11	* README.txt: remove refs to mac classic stuff, update notes
12
13	* configure, configure.in, tclconfig/tcl.m4: Update to TEA 3.7
14	* tests/tkTable.test, unix/tktable.spec, generic/version.h:
15	* demos/loadtable.tcl: Update version to 2.10
16	* Makefile.in: update dist target, include library/tktable.py
17
18	* demos/tktable.py: note that this version is outdated
19	* library/tktable.py (NEW): Added new version of tktable wrapper
20	for Python/Tkinter from GPolo.  Not 100% compatible with previous
21	version. [Patch 2244167]
22
23	* generic/tkTableTag.c (Table_TagCmd): remove interp->result set
24	work-around for old bug as i->result is no longer exposed in 8.6.
25
26	* generic/tkTable.c:     Use safe Tcl_SetObjResult instead of trying
27	* generic/tkTableCell.c: to set existing objResult value.
28	* generic/tkTableCmds.c:
29
302006-07-10  Jeff Hobbs  <jeffh@ActiveState.com>
31
32	* license.txt (bourbon_ware): Be less restrictive in the
33	bourbon_ware clause.
34
352006-01-25  Jeff Hobbs  <jeffh@ActiveState.com>
36
37	* configure.in, configure, tclconfig/tcl.m4: update to TEA 3.5
38
392006-01-22  Jeff Hobbs  <jeffh@ActiveState.com>
40
41	* tclconfig/tcl.m4, configure: update to TEA 3.4 interim
42
432005-12-13  Jeff Hobbs  <jeffh@ActiveState.com>
44
45	* generic/tkTableCmds.c (Table_ActivateCmd): remove potential
46	undefined behavior warning.
47
482005-12-02  Jeff Hobbs  <jeffh@ActiveState.com>
49
50	* tclconfig/tcl.m4, configure.in, configure: update to TEA 3.4
51
522005-05-11  Jeff Hobbs  <jeffh@ActiveState.com>
53
54	* Makefile.in (html): switch to groff to fix botched html output.
55	* doc/tkTable.html: regen [Bug 1198478]
56	* doc/tkTable.n: use '' around \\ items.
57
582005-03-18  Jeff Hobbs  <jeffh@ActiveState.com>
59
60	* Makefile.in (AR): use @AR@, improve html doc target
61	* configure, configure.in, tclconfig/tcl.m4: TEA 3.2 patch update
62
63	* doc/tkTable.n, doc/kTable.html: doc cleanup
64
652005-02-01  Jeff Hobbs  <jeffh@ActiveState.com>
66
67	* configure, configure.in, tclconfig/tcl.m4: update to TEA 3.2
68
692004-11-18  Jeff Hobbs  <jeffh@ActiveState.com>
70
71	* library/tkTable.tcl (::tk::table::SelectAll): remove invalid ref
72	to HandleType proc. [Bug 1068874] (ade)
73
742004-07-22  Jeff Hobbs  <jeffh@ActiveState.com>
75
76	**** 2.9 TAGGED FOR RELEASE ****
77
78	* configure, tclconfig/tcl.m4: update tcl.m4 TEA_PATH_X that adds
79	Aqua build recognition and TEA_WINDOWINGSYSTEM variable.
80
812004-07-20  Jeff Hobbs  <jeffh@ActiveState.com>
82
83	* generic/version.h, unix/tktable.spec:    updated for v2.9
84	* demos/loadtable.tcl, tests/tkTable.test:
85
86	* Makefile.in, configure.in, configure, tclconfig/tcl.m4: update
87	to TEA 3.1, use CFLAGS instead of EXTRA_CFLAGS and bump the
88	version number of Tktable to 2.9.
89
90	* generic/tkTable.h: add #include <ctype.h>
91
92	* generic/tkTableCell.c (TableGetCellValue, TableSetCellValue):
93	Do faster cache checks when DATA_CACHE is the only data source.
94	In fallback from command that errors to array var, retrieve array
95	value immediately on current get|set request.
96	When setting the value with cache and array sources, don't do the
97	caching branch as the array trace will do that already.
98	(TableMoveCellValue): Do the efficient cache value management when
99	cache is the only data source, otherwise the regular fallback has
100	all the necessary checks. [Bug #919872]
101
102	* generic/tkTable.c (TableVarProc): allow setting NULL value in
103	cache hash from array trace.
104
1052004-06-10  Jeff Hobbs  <jeffh@ActiveState.com>
106
107	* generic/tkTableWin.c (EmbWinDisplay): make min window displayed
108	have width/height 1 pixel min (was 3px)
109
110	* generic/tkTable.c (TableDisplay): Don't draw when we don't have
111	the space for it. [Bug 747038]
112
113	* doc/tkTable.html, doc/tkTable.n: improve docs to note
114	requirement of specifying a data source. [Bug 963204]
115
1162004-02-17  Jeff Hobbs  <jeffh@ActiveState.com>
117
118	* generic/tkTableCmds.c (Table_ActivateCmd): test implementation
119	of an "unactivate" ($table activate "") command to remove the
120	active cell. (becroft)
121
1222004-02-13  Jeff Hobbs  <jeffh@ActiveState.com>
123
124	* library/tkTable.tcl (::tk::table::Button1): account for what
125	resizeborders are set when selecting cell [Bug 876320] (ferenc)
126	(<Prior> <Next>): activate topleft, not @0,0 (accounts for title
127	rows) [Bug 879347] (ferenc)
128
1292003-12-10  Jeff Hobbs  <jeffh@ActiveState.com>
130
131	* Makefile.in: updated to TEA3 spec
132	* configure:
133	* configure.in:
134	* generic/tkTable.c:
135	* generic/tkTableInitScript.h:
136	* generic/version.h:
137	* mac/mac_tkTable.r:
138	* tclconfig/tcl.m4:
139
140	* win/makefile.vc: minor updates, probably still out of date
141
142	* tclconfig/ChangeLog (removed): not necessary
143
144	* generic/tkTable.c: added Tk_ClassProcs and TableWorldChanged
145	proc if built against 8.4
146
147	* generic/tkTable.h: add 8.4 ifdef, remove ANSI_ARGS usage
148
1492003-07-16  Jeff Hobbs  <jeffh@ActiveState.com>
150
151	* doc/tkTable.n: add note about -window "" behavior
152
1532003-04-10  Jeff Hobbs  <jeffh@ActiveState.com>
154
155	* configure: regen
156	* tclconfig/tcl.m4: updated
157
158	* library/tkTable.tcl (BeginExtend): avoid error in tables that
159	have no anchor index yet. (renshaw)
160
1612003-04-09  Jeff Hobbs  <jeffh@ActiveState.com>
162
163	* configure: regen
164	* tclconfig/tcl.m4: Updated to newest tcl.m4, (WinCE support)
165
166	* demos/loadtable.tcl: redefine 'puts' on Windows CE
167
168	* generic/tkTable.c (TableDisplay): correctly copy clipwindow area
169	for NO_XSETCLIP case and use that when UNDER_CE as well.  Also add
170	support for drawing ellipsis in NO_XSETCLIP case.
171	Comment out OffsetClipRgn call - it was a noop.
172
1732003-04-04  Andreas Kupries  <andreask@activestate.com>
174
175	* configure.in:
176	* tclconfig/tcl.m4: Updated to newest tcl.m4, regenerated
177	  configure's.
178
1792003-02-24  Jeff Hobbs  <jeffh@ActiveState.com>
180
181	* generic/tkTable.c (TableDisplay): do not use buffer pixmap for
182	slow -drawmode on Win32 because we aren't clipping it correctly.
183
1842003-01-30  Jeff Hobbs  <jeffh@ActiveState.com>
185
186	* Makefile.in: remove use of nested $(PACKAGE) to enable building
187	on older, cruftier make versions
188
189	* doc/tkTable.n:        add -ellipsis tag /global option which
190	* tests/tkTable.test:   takes a char string (ie: "...") to display
191	* generic/tkTableTag.c: as an ellipsis.  These will only be shown
192	* generic/tkTable.h:    on non-wrapping, non-multiline cells.
193	* generic/tkTable.c:
194
1952002-12-10  Jeff Hobbs  <jeffh@ActiveState.com>
196
197	* tests/tkTable.test:
198	* generic/tkTableCell.c (TableGetCellValue): make caching allows
199	NULLs throughout to save mem.
200	Do not call Tcl_FreeResult as it will be freed before the next
201	result is set, and causes us to lose large results. [Bug #651685]
202
2032002-10-16  Jeff Hobbs  <jeffh@ActiveState.com>
204
205	**** 2.8 TAGGED FOR RELEASE ****
206
207	* Makefile.in: updated dist target to get changed fileset.
208
209	* generic/tkTableEdit.c (Table_EditCmd): Ensure that embedded
210	widgets being moved offscreen get unmapped. [Bug #551325]
211
212	* generic/tkTableCell.c (TableAtBorder): refine border detection
213	in the midst of spanned cells. [Patch #544117] (duxbury)
214
215	* doc/tkTable.n:
216	* doc/tkTable.html:
217	* tests/tkTable.test:
218	* generic/tkTable.c: Add global -justify option. [Bug #623557]
219
220	* generic/tkTableTag.c: more CONST84 casting fixes.
221	Allowing setting of tag relief to "". [Bug #233619]
222
223	* generic/tkTable.h:
224	* generic/tkTableUtil.c:
225	* generic/tkTableWin.c: more CONST84 casting fixes.
226
227	* library/tkTable.tcl: Add <FocusOut> as a default auto-commit
228	event. [Bug #611132]
229	(::tk::table::Motion): abort "extended" arm if the anchor cell
230	isn't defined. [Bug #604470]
231
2322002-10-15  Jeff Hobbs  <jeffh@ActiveState.com>
233
234	* tclconfig/tcl.m4:
235	* configure:
236	* configure.in: move the CFLAGS definition into TEA_MAKE_LIB
237	and make it pick up the env CFLAGS at configure time.
238
2392002-10-15  Andreas Kupries  <andreask@pliers.activestate.com>
240
241	* configure.in: Changed to propagate an initial CFLAGS value to
242	  the final definition. A TEA condition (SHARED_BUILD == 1)
243	  squashed it, causing it the build system to loose the
244	  +DAportable we specify for the AS PA-RISC2.2 build host. This is
245	  a problem for _all_ TEA and TEA 2 based configure files.
246
2472002-10-09  Jeff Hobbs  <jeffh@ActiveState.com>
248
249	* configure:
250	* configure.in: move TEA_PATH_X below TEA_CONFIG_CFLAGS as it can
251	mess with the configure results.
252
253	* unix/tktable.spec (new): RPM spec file. (fontaine)
254
255	* demos/tktable.py: added a contributed tktable wrapper for
256	Python/Tkinter from Klaus Roethemeyer.
257
2582002-09-27  Jeff Hobbs  <jeffh@ActiveState.com>
259
260	* Makefile.in: correct tkTable.tcl.h target to work with FreeBSD's
261	default make.
262
2632002-09-25  Jeff Hobbs  <jeffh@ActiveState.com>
264
265	* generic/tkTable.c:
266	* generic/tkTable.h: added support for building on OS X (steffen)
267
2682002-06-21  Jeff Hobbs  <jeffh@ActiveState.com>
269
270	* Makefile.in: call cygpath on INCLUDES $(srcdir)/generic.
271
272	* tests/all.tcl: minor cleanup
273
274	* tests/tkTable.test (table-30.1):
275	* generic/tkTableEdit.c (Table_EditCmd): fixed problem where row
276	insertion could segfault. [Bug #487747]
277
2782002-04-11  Jeff Hobbs  <jeffh@ActiveState.com>
279
280	* tclconfig/tcl.m4:
281	* configure: Enabled COFF as well as CV style debug info with
282	--enable-symbols to allow Dr. Watson users to see function info.
283	More info on debugging levels can be obtained at:
284	http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp
285
2862002-04-03  Jeff Hobbs  <jeffh@ActiveState.com>
287
288	* Makefile.in: improved use of DESTDIR in install targets.
289	Removed need for installdirs target.
290	Broke TCLSH_PROG into TCLSH_ENV and TCLSH_PROG with TCLSH var and
291	added comments about TCLSH_ENV.
292	Added default shell and gdb targets.
293
294	* tclconfig/tcl.m4:
295	* configure:
296	* configure.in: updated to new TEA base that: prefixes all macros
297	with TEA_* instead of SC_*; adds TEA_PREFIX, which defaults the
298	prefix and exec_prefix values to what Tcl used; adds
299	TEA_SETUP_COMPILER, which handles basic compiler / support program
300	checks and simplifies the configure.in.  Turn on --enable-threads
301	by default and do sanity checking as well.
302
3032002-04-02  Jeff Hobbs  <jeffh@ActiveState.com>
304
305	* configure: regened
306	* configure.in: added user32.lib to LIBS for Windows
307	* tclconfig/tcl.m4: updated from TEA sample
308
3092002-03-27  Jeff Hobbs  <jeffh@ActiveState.com>
310
311	* Makefile.in (WISH_PROG): moved and updated env var definitions
312	to have wish work from build dir.  Removed TCL_EXTRA_CFLAGS,
313	TCL_LD_FLAGS, TCL_SHLIB_LD_LIBS, TCL_DBGX, TCL_STUB_LIB_FILE,
314	TCL_STUB_LIB_SPEC as they aren't needed (configure acquires all
315	that info for us).  TCL_LIBS is also not needed, but left in as a
316	reference to the libs Tcl used.
317
318	* configure: regen based on updated tclconfig/tcl.m4
319	* configure.in: moved the SHLIB_LD_LIBS magic into
320	tclconfig/tcl.m4 and noted where users can modify (SHLIB_LD_)LIBS.
321	* tclconfig/tcl.m4: updated from sample to be more independent of
322	*Config.sh.
323
324	* unix/Makefile.in (removed):
325	* unix/configure.in (removed):
326	* unix/configure (removed):
327	* unix/install-sh (removed): removed old makefile files to force
328	use of new toplevel TEA 2002 configure/make.
329
3302002-03-21  Jeff Hobbs  <jeffh@ActiveState.com>
331
332	* tests/tkTable.test: more icursor tests
333	* generic/tkTable.c (TableWidgetObjCmd): corrected placing the
334	icursor and retaining the position.
335
3362002-03-20  Jeff Hobbs  <jeffh@ActiveState.com>
337
338	* generic/tkTable.c:
339	* generic/tkTable.h:
340	* generic/tkTableCmds.c:
341	* generic/tkTableUtil.c: cleaned up several areas where cache data
342	was not getting freed. [Bug #532447] (bloisi)
343
3442002-03-19  Jeff Hobbs  <jeffh@ActiveState.com>
345
346	* tests/tkTable.test: added tag configure tests
347
348	* generic/tkTableTag.c (Table_TagCmd): work-around for bug in
349	Tk_ConfigureValue that sets interp->result to NULL. [Bug #522882]
350
351	* generic/tkTable.c (TableDisplay): when building with threads on
352	WIN32, use NO_XSETCLIP instead of direct DC hacks because Tk
353	doesn't use CS_CLASSDC on threaded builds.
354	(Tktable_Init) Corrected to use BUILD_Tktable for EXTERN changes.
355
356	* configure:
357	* configure.in: use double-eval to substitute DBGX var for
358	${PACKAGE}_LIB_FILE.
359
360	* Makefile.in: cleaned up install target
361
3622002-03-13  Jeff Hobbs  <jeffh@ActiveState.com>
363
364	* demos/loadtable.tcl:
365	* tests/tkTable.test: adapted load to new configure style where
366	unix gets the 'lib' suffix for the library.
367
368	* tclconfig/ChangeLog:
369	* tclconfig/README.txt:
370	* tclconfig/install-sh:
371	* tclconfig/tcl.m4:
372	* README.txt:
373	* Makefile.in:
374	* aclocal.m4:
375	* configure:
376	* configure.in: introduction of next-gen TEA based config files.
377	The unix/ configure files should no longer be used.
378
379	* generic/tkTable.c:
380	* generic/tkTableCell.c:
381	* generic/tkTableCellSort.c:
382	* generic/tkTableCmds.c:
383	* generic/tkTableEdit.c:
384	* generic/tkTableTag.c:
385	* generic/tkTableUtil.c:
386	* generic/tkTableWin.c:
387	* generic/tkTable.h: introduced CONST84 define for compatibility
388	with new 8.4 CONST-ed headers and older headers and fixed up
389	sources where necessary.
390
391	* generic/tkTableInitScript.h:
392	* generic/tkTable.c:
393	* generic/version.h:
394	* mac/mac_tkTable.r:
395	* win/makefile.vc: changed TBL_VERSION to VERSION, upped to 2.8.
396	Added Win64 build support to makefile.vc
397
3982002-03-07  Jeff Hobbs  <jeffh@ActiveState.com>
399
400	* library/tkTable.tcl (tk_tablePasteHandler): "string comp" fixed
401	to "string compare" [Bug #500449]
402
4032002-01-16  Jeff Hobbs  <jeffh@ActiveState.com>
404
405	* generic/tkTable.c (TableWidgetObjCmd): corrected dangerous
406	caching of resultPtr that could lead to segfault.
407
4082001-08-24  Jeff Hobbs  <jeffh@ActiveState.com>
409
410	* README.txt: corrected outdated notes. [Bug #455116] (kriehbel)
411
4122001-08-23  Jeff Hobbs  <jeffh@ActiveState.com>
413
414	* unix/Makefile.in (tkTable.tcl.h): corrected target to sed \'s
415	properly in the .tcl file.
416
417	* library/tkTable.tcl: added the ability to select borders with
418	button 1. (backe)  The user can turn off this ability by calling
419	[set ::tk::table::Priv(borderB1) 0] in their code.  button 3 is
420	still active for selecting borders as well.
421	fixed a couple references to work on Mac/Tk. (steffen)
422
423	* mac/mac_tkTable_prefix.h:
424	* mac/mac_tkTable.r: corrected Mac build. (steffen)
425
426	* doc/tkTable.html: regen'd
427	* doc/tkTable.n: Clarified that any <row>,<col> index
428	specification will always return a valid cell.  [Bug #450397]
429	Corrected what 'units' scrolls. [Bug #448837]
430
431	* mac/mac_tkTable.mcp: removed in favor of XML project file
432	* mac/mac_tkTable.mcp.xml: XML CodeWarrior project file for the
433	mac. (steffen)
434
4352001-07-18  Jeff Hobbs  <jeffh@ActiveState.com>
436
437	* generic/tkTable.c (TableDestroy): freed cached values in destroy.
438
4392001-06-30  Jeff Hobbs  <jeffh@ActiveState.com>
440
441	**** 2.7 RELEASE ****
442
443	* generic/tkTable.h: added STREQ #def to replace strcmp(a,b) == 0
444	* generic/tkTable.c:
445	* generic/tkTableTag.c: made use of STREQ #define.
446	Redid tag merging to make use of only one allocated tag.
447
448	* doc/tkTable.html:
449	* doc/tkTable.n: updated docs with feature change info
450
451	* tests/tkTable.test: added more tests
452
453	* generic/tkTableCmds.c (Table_ActivateCmd): made table refresh
454	when moving the cursor in the active cell.
455
4562001-06-24  Jeff Hobbs  <jeffh@ActiveState.com>
457
458	* generic/tkTableTag.c (Table_TagCmd): corrected patch for Patch
459	#423332 that does prevent excess refresh in the simple case.
460
4612001-06-23  Jeff Hobbs  <jeffh@ActiveState.com>
462
463	* generic/tkTable.c (TableConfigure): corrected possible crash
464	during configure when switching array vars and changed name of
465	'restrict' var to something that is not a reserved word. (berggren)
466
467	* library/tkTable.tcl: support for future UTF8_STRING selection on
468	unix.
469
470	* generic/tkTable.c:
471	* generic/tkTable.h:
472	* generic/tkTableTag.c: added support for priorities in tags.
473	There are new 'tag lower' and 'tag raise' methods.  This may lead
474	to different view characteristics because the default priority
475	order is creation order, starting with flash, active, sel, title,
476	followed by whatever the user creates.  The old order was fixed at
477	flash, active, sel, <celltag>, title, <rowtag>, <coltag>
478		**** POTENTIAL INCOMPATABILITY ****
479
480	* tests/tkTable.test: makings of an initial test suite
481
482	* generic/tkTableCmds.c (Table_CurvalueCmd): removed extra curvalue
483	in error message.
484
4852001-06-22  Jeff Hobbs  <jeffh@ActiveState.com>
486
487	* generic/tkTableTag.c (Table_TagCmd): made adding tags to
488	cell/row/col create the tag if it didn't exist.  This was
489	previously an error.
490
491	* generic/tkTable.c (TableDisplay): changed use of NO_XSETCLIP to
492	only operate on Macintosh, added new Windows code that is the
493	equivalent of XSetClipRectangles. (teske)
494	Removed XFillRectangle function that was there for support with
495	8.1 (nobody should use 8.1 anymore).
496	(TableDisplay): Corrected clearing of the area beyond the last
497	cell to not be incorrect when there is a span on the last cell.
498	(TableAdjustParams): handle possible div-by-zero for scrollbar
499	calculations. (christian brunner)
500
501	* generic/tkTable.h: added TableMoveCellValue decl.
502	* generic/tkTableEdit.c (TableModifyRC): made use of
503	TableMoveCellValue.
504	* generic/tkTableCell.c (TableSetCellValue): fixed mem leak in
505	-cache option.
506	(TableMoveCellValue): new function to support possible speedier
507	movement of cells when caching is being used. (michael teske)
508
509	* generic/tkTableCell.c (TableCellCoords): corrected
510	rowspan/colspan dimension calculation for title cells.
511	(Table_SetCmd): correct possible abuse in setting result object
512	pointer.
513
514	* README.txt: updated links
515
516	* win/makefile.vc (pkgIndex.tcl):
517	* unix/Makefile.in (pkgIndex.tcl): made 8.2 the required base for
518	the stubs version
519
520	* generic/tkTableCmds.c (Table_GetCmd): fixed potential crash from
521	abusing object pointer. (jonas hodges) Bug #230701
522
523	* generic/tkTableTag.c (Table_TagCmd): fix possible hang situation
524	by preventing refresh when setting the same tag on a cell/row/col.
525	(Michael Shulz)
526
5272001-03-28  Jeff Hobbs  <jeffh@ActiveState.com>
528
529	* generic/tkTable.h: change 'char *new' -> 'char *newVal' to not
530	stump C++ compilers
531
5322000-10-19  Jeff Hobbs  <jeff at hobbs org>
533
534	* tests/all.tcl: new file
535	* tests/tkTable.test: copied listbox.test in to serve as a base
536	for tests on the table widget.  Conversion still needs to be done.
537
538	* generic/tkTableCmds.c: #if 0'd stub function Table_Cmd
539
540	* generic/tkTable.h:
541	* generic/tkTable.c: corrected headers, made TableConfigure static
542
5432000-08-30  Jeff Hobbs  <hobbs@scriptics.com>
544
545	* generic/tkTable.h:
546	* generic/tkTableWin.c (EmbWinConfigure):
547	* generic/tkTableTag.c (Table_TagCmd):
548	* generic/tkTable.c (TableConfigure): changed -borderwidth to use
549	TK_CONFIG_CUSTOM functions for option parsing.
550
551	* win/makefile.vc:
552	* unix/Makefile.in: updated for added/removed source files
553
554	* generic/cmd.c (removed):
555	* generic/mm.h (removed):
556	* generic/tkTableUtil.c (new): moved the few used Cmd_* functions
557	into tkTableUtil.c (Cmd_Struct moved to tkTable.h), removing the
558	need for the other accessory files.
559
560	* unix/configure:
561	* unix/configure.in (uname check): added support for systems where
562	uname has no -p option (ie HP).
563
5642000-08-21  Jeff Hobbs  <hobbs@scriptics.com>
565
566	* generic/tkTable.c (TableConfigure): added check for NULL
567	oldBorders during configure.
568
5692000-08-18  Jeff Hobbs  <hobbs@scriptics.com>
570
571	* generic/tkTable.c: changed the -ipad* defaults to 0, to go along
572	with the -pad* defaults.  For users looking for backwards
573	compatability with 2.5 padding, add:
574	    option add *Table.ipadX 2
575	    option add *Table.ipadY 1
576	Users will likely find that -pad* is more intuitive though.
577		**** POTENTIAL INCOMPATABILITY ****
578
579	* doc/tkTable.html:
580	* doc/tkTable.n: updated docs to reflect new -(i)pad* definitions
581	and enhanced -bd behavior.
582
583	* generic/tkTable.c (TableCursorEvent, TableConfigCursor): reduced
584	unnecessary redraws when the cursor was in a non-editable cell.
585
5862000-08-17  Jeff Hobbs  <hobbs@scriptics.com>
587
588	* generic/tkTable.c: enhanced -borderwidth option to support
589	per-edge configuration of borderwith.  -bd now takes a list of
590	pixel sizes, 1, 2 or 4 in length.  1 is traditional, 2 specifies
591	just the left and right border sizes (to emulate a multicolumn
592	listbox), and 4 specifies {left right top bottom} for ultimate
593	control.  Tags may override the default.
594	Also redid the handling of -(i)pad[xy].  Swapped the basic meaning
595	(-pad* from v2.5 should now be -ipad* in 2.7).  -pad* now enforces
596	absolute empty padding for cells, expanding the default size.
597	Embedded windows can override the -pad* value.  See docs for more.
598		**** POTENTIAL INCOMPATABILITY ****
599
600	* generic/tkTable.h: removed use of INLINE, added new border style
601	support to structures.
602
603	* generic/tkTableCell.c (TableAtBorder): made it aware of the new
604	configurable border style.  It bases its calculations off the
605	default border width(s).  Also did lots of comment cleanup.
606
607	* generic/tkTableWin.c (EmbWinDisplay): changed interpretation of
608	-pad* for windows to be per side (instead of overall).  This is
609	more intuitive.  Added support of new border styles.
610
611	* generic/tkTableTag.c: Added new border style control per tag.
612	New TableGetTagBorders function to determine border values based
613	on input.  Lots of comment/code cleanup.
614
615	* generic/tkTableEdit.c (Table_EditCmd): corrected code to ensure
616	that when rows where deleted, rows/cols would not fall below 1,
617	the minimum dimension size (otherwise "bad things" happen).
618	(Table_EditCmd): corrected problem when specifying a negative
619	count deleting more rows than exist before the specified index.
620
621	* unix/Makefile.in ($(DLL)): corrected ld build line to not use
622	SHLIB_CFLAGS, instead adding TK_LD_SEARCH_FLAGS. (virden)
623
6242000-08-10  Jeff Hobbs  <hobbs@scriptics.com>
625
626	* unix/Makefile.in: cleaned up Makefile to correctly use the right
627	flags for building with stubs support.
628
629	* generic/version.h: bumped version to 2.7
630
631	* generic/tkTable.h: added ipadX, ipadY to table struct.
632	* generic/tkTable.c (TableConfigure): removed code setting
633	forceUpdate to 1 for any configure options.
634	(TableAdjustParams): added -ipdax/-ipday, giving them the meaning
635	that -pad* was extended to use in 2.6.  -pad* are as they were in
636	2.5, and -ipad* does the extended cell padding for 2.7+.  See docs
637	for details.
638	(TableEventProc): removed xexpose.count check that would delay
639	necessary invalidate calls. (Wangnick)
640
641	* library/tkTable.tcl: added ::tk::table::BackSpace proc instead
642	of inlined event binding, taking out \ at eol that confused the
643	tcl2c converter when inlining the tkTable.tcl.h runtime.
644
6452000-08-02  Jeff Hobbs  <hobbs@scriptics.com>
646
647	2.6 RELEASE
648
649	* unix/Makefile.in: added bindist and cleanall targets, and
650	cleared up the use of some variables to allow for correct building
651	of the tktable library across platforms (including AIX).
652	The distclean target no longer removes the generated html doc.
653	* unix/configure:
654	* unix/configure.in: added check of available compression program
655	and SYSID for Unix make bindist target.  Also cleaned up the use
656	of some other variables.
657
658	* generic/tkTable.c (TableConfigCursor, TableCursorEvent)
659	(TableFlashEvent, TableEventProc):
660	* generic/tkTableEdit.c (TableDeleteChars, TableInsertChars):
661	* generic/tkTableCmds.c (Table_CurvalueCmd): removed INV_FORCE
662	from TableRefresh call.  This means more refreshes are delayed.
663
664	* generic/tkTable.c (BUILD_tkTable): corrected EXTERN def'n of
665	Init funcs.
666
6672000-08-01  Jeff Hobbs  <hobbs@scriptics.com>
668
669	* library/tkTable.tcl: rewritten to use ::tk::table namespace
670
671	* generic/tkTable.h: added CONSTRAIN and BETWEEN macros to simply
672	some MIN/MAX cases.
673	* generic/tkTable.c:
674	* generic/tkTableCell.c:
675	* generic/tkTableCmds.c: updated to use CONSTRAIN/BETWEEN instead
676	of MIN(MAX()).
677
678	* generic/tkTable.c (TableRefresh): changed to not do anything
679	when coords < 0 are passed in (like asking to refresh non-existent
680	active cell).
681	(TableEventProc): added (likely redundant) check for xexpose.count
682	== 0 before redisplaying in Expose case. (Halpin)
683
684	* generic/tkTable.c (XFillRectangle): added compat XFillRectangle
685	to make up for lack of one in Tk8.1.  (Nijtmans)
686	(TableAdjustParams): Made -padx and -pady actually work as
687	intended for each cell.  This actually affects the default size
688	for a table, as more spacing is given to each cell by default.
689	Use -padx/y to control this. (Lennard, Hobbs)
690	(TableDisplay): removed extra call to TableCellCoords (leftover
691	from NO_SPANS).  (Deich)
692
693	* generic/tkTableCmds.c (Table_SelSetCmd): Corrected the selection
694	of title cells when only title cells are available. (Brutti)
695
696	* library/tkTable.tcl (tkTableChangeWidth): changed -$a to
697	[expr {-$a}]. (Dubiner)
698	(tkTableBeginSelect): Changed behavior for extended selectmode to
699	select in the topleft title area when appropriate. (Dubiner)
700	(tkTableSelectAll): Changed behavior to select *all* cells
701	(including title cells) when -selecttitles is 1.
702
703	* demos/loadtable.tcl: corrected to search better in new directory
704	structure.
705
7062000-03-22  Jeff Hobbs  <hobbs@scriptics.com>
707
708	* */*: complete restructure of tktable sources
709	* CHANGES.txt: moved to ChangeLog, will now use ChangeLog format
710
711##########################################################################
712## TkTable CHANGES
713##
714## Newest changes at the top of the file.
715## Release dates between "****"s.
716##
717## changes by Hobbs COPYRIGHT 1996-1997 Jeffrey Hobbs, CADIX International
718## changes by Hobbs COPYRIGHT 1998-2000 Jeffrey Hobbs
719## jeff at hobbs org
720##
721# * tkTable v0.55-1.x includes additions contributed by:
722# *        tmoore@spatial.ca (Tom Moore)
723# *        sebastian.wangnick@eurocontrol.de (Sebastian Wangnick)
724# *        paulf@lamont.ldgo.columbia.edu
725# *        peter@bj-ig.de (Peter Brueckner)
726# *        jeff at hobbs org (Jeffrey Hobbs)
727# *        ellson@lucent.com (John Ellson)
728##
729## Mac support provided by Chuck Houpt (choupt@als.com). (v2.3+)
730##
731##########################################################################
732
733**** v2.6alpha 29 February 2000 ****
734
735Fixed row/col insertion/deletion to correctly handle embedded windows.
736(fix in part by albrecht@DAnalyse.de)
737
738Added stubs support to makefile.
739
740Added support for safe init script (requires embedded runtime) to
741be used in safe interpreters.
742
743Fixed bug in Table_BorderCmd on passing the 6th arg (the optional
744row|col).  (rickm@vsl.com)
745
746Added -holdselection arg to row/col insert/delete. (Paolo.Brutti@tlsoft.it)
747
748Added -DNO_SORT_CELLS ...
749
750Created tkTableCellSort.c with cell sorting routines.  Redid ...
751
752Fixed bug in tk_tableCut due to change in curselection syntax.
753
754Fixed missing comma in tkTableEdit.c:32 (Brutti)
755
756**** v2.5 31 May 1999 ****
757
758Fixed row/col insertion/deletion to move embedded windows, added
759-holdwindows option and Table_Win(Delete|Move).
760
761Removed -rows/-cols switch to insert/delete row/col, as it could
762cause very odd behavioral problems.
763
764Removed ckfree/ckalloc's between a quick delete/init of a hash table.
765
766Upgraded ExpandPercents for UTF awareness.
767
768Changed "tag cell|row|col" to complain when the tag is unknown.
769
770Fixed bug in UTF char length handling (actually due to change in
771the Tk API from 8.1beta to final) for active cell.
772
773fixed bug where scanMark* weren't properly initialized.
774
775Changed icursor method to always return an int, being -1 if there
776really isn't a valid cursor in the active cell (ie - it's disabled).
777
778Converted table widget to mostly Tcl_Obj in/output.
779Reorganized a lot of code in the process.
780
781**** v2.4 10 December 1998 ****
782
783Changed exit handler to not be used (unless -DUSE_EXIT_HANDLER is specified).
784
785Changed distribution directory name to go with new 'make distrib'.
786
787Changed TableUndisplay to properly handle unmapping embedded windows
788in title areas.  Added TableTrueCell for this.
789
790Changed EmbWinUnmapNow to always call Tk_UnmapWindow.
791
792Changed cell border drawing so that any 1-pixel border would use the
793fast drawing mode (except for when single drawmode is set).
794
795Changed borderWidth to be a tag-definable value.
796
797Removed used of borderWidth in border resize cmd calculations.
798
799Modified various C and Tcl procs to support spanning cells.
800
801Changed ckfree(value) to Tcl_Free(value) in TableFetchSelection.
802
803Streamlined use of NO_XSETCLIP, improved boundary checking for
804determining whether the cell needs clipping at all.
805
806Fixed bug in drawing with NO_XSETCLIP to copy the area from the source
807window to the clip window, draw on it, then copy it back.  Before the
808clip window was drawn on clean, losing what might be important stuff in
809the source (like an image).
810
811Added row/col spanning.  This involved a lot of code changes, mostly
812in tkTableCell.c, mostly #ifndef'ed with NO_SPANS.  See docs for behavior.
813Added 'spans' and 'hidden' command.
814
815Fixed bug in TableAtBorder that was messing up certain border cases.
816
817Added delta error of 1 pixel to the B1-Motion routine, so that the mouse
818must move more than a pixel for the tkTableMotion routine to kick in.
819
820Fixed tkTableBeginToggle to handle Control-B1 properly. (rickm@vsl.com)
821
822Fixed seg fault in Table_BorderCmd when called with too few args
823(reported by rbansal@ltcm.com).
824
825Added TableGeometryRequest to TableModifyRC to update a table's
826geometry according to the new row/col size.
827
828Fixed EmbWinDelete to clean up properly (it wouldn't clean up if there
829wasn't a window associated with the tag).
830
831Removed unused type arg from TableModifyRCaux.
832
833Fixed EmbWinRemove to actually remove all info about the window from
834the table (as advertised).
835	*** BEHAVIORAL CHANGE ***
836
837Fixed "window delete ..." to actually delete the window entry.
838
839Fixed flashing so that it will flash if any valid data source is
840being used (before only the Tcl array source caused flashes).
841
842Removed deprecated 'flush' command.  [.t flush ...] is equivalent
843to [.t clear cache ...].
844
845Improved TableUndisplay to really work within the proper seen
846constraints. (rickm@vsl.com)
847
848Removed dependency on source for Windows (only for the XSync call).
849Should now be able to compile against a binary installed version of wish.
850
851Use of EXTERN and EXPORT reworked to follow 8.0.3 guidelines.  EXPORT
852was dropped, meaning that compiling for older versions of the Borland
853compiler is not possible.
854
855Changed use of "$*.h" in Makefile.in to "$@" - some makes seemed to
856choke on the proper interpretation of $* (notably HP-UX).
857
858Added "-fg SELECT_FG" to the default sel tag definition.
859
860Swapped proto define of Tcl_DStringAppendAll with actual header.
861
862Fixed #endif SPANS syntax error in Makefile.
863
864Changed #define CELL from (ROW|COL) to it's own significant bit (this
865is used by TableRefresh).
866
867Added -sparsearray option to allow the user to choose whether the
868table treats associated arrays as "sparse", deleting the empty
869elements (default), or whether every element set is kept.
870
871Fixed demos/spreadsheet.tcl to start column labeling with "A".
872
873Changed Tcl_StaticPackage call in tkAppInit.c to include
874SafeInit function.
875
876Added "empty" bindings to tkTable.tcl to prevent the magic Alt-"menu"
877bindings from inserting chars into the table as well.
878
879**** v2.3 23 July 1998 ****
880
881Moved the 'set' command into tkTableCell.c and extended it to
882understand full row/col setting with Tcl lists.
883
884Created tkTableInitScript.h to mirror the spirit of tclInitScript.h.
885The user can now define a tkTableInit to be eval'ed at load time
886that finds the appropriate tkTable.tcl file.  Also added env support
887for these locations.
888
889Changed version.in to version.h, a file that is both readable in C
890(for the Mac build) and by make (for Unix/Windows).
891
892Changed TableDisplay #ifdef's to be more specific (NO_XSETCLIP).
893Expecting XSetClipRectangles to be available in Tk8.0.3 for Win,
894and maybe also in the future for Mac.
895
896Attempted row/col spanning with limited success.  Half functional
897code left in for reference, delimited by #ifdef SPANS/#endif.
898
899Changed TableCellCoords to no longer do bounds checking on row/col.
900
901Changed several more instances of TableCellCoords/TableInvalidate
902to TableRefresh.
903
904Fixed bug in table insertion/deletion concerning the calculation of
905the minkey (minimum valid row/col to insert/delete) when titles were
906allowed to be moved.
907
908Mac support courtesy Chuck Houpt (choupt@als.com).
909
910**** v2.2 10 July 1998 ****
911
912Undid caching of activeLayout in favor of activeTagPtr because I was
913abusing the nature of the token returned by Tk_ComputeTextLayout,
914causing amazingly odd cores.
915
916Changed TableGetLastCell definition to fix scrollbar bug. (Brutti)
917
918Changed "#if (TK_MINOR_VERSION > 0)" to "#ifdef TCL_UTF_MAX" to
919remove the ambiguity of purpose (for UTF code).
920
921Fixed bug in TableInsertChars that mangled the purpose of -autoclear,
922as well as confusing icursor index when using it.
923
924**** v2.1 2 July 1998 ****
925
926Updated man pages, generated new HTML file.
927
928Reworked directory structure, updated makefiles.
929
930Removed -batchmode.  It was pretty useless, and potentially confusing.
931	**** POTENTIAL INCOMPATIBILITY ****
932
933Fixed bug for Tk8.1a2 Unicode display in TableDisplay where the length
934of the display string was not calculated correctly.
935
936Fixed background area redraw bug in Windows.  Reworked to take out the
937#ifdef WIN32 code without too much compromise.
938
939Added TableRefresh command that subsumes many CellVCoords/Invalidate
940call combos.
941
942Adjusted TableWhatCell to what it was in v1.82, and made fix in
943TableDisplay for bounds to prevent <=0 invalidWidth|Height.
944
945Added clear command, subsumes flush command, plus adds features.
946
947Made some cleanup from DestroyNotify repetitive in TableDestroy.
948
949Added MapNotify event handler to ensure that changes to the table
950made when iconified will still cause an update.
951
952Changed "single" and "fast" drawmodes to not set -bd 1 as a side
953effect, but instead to force 0..1 to allow for fast drawing without
954any borders.  Skipped border drawing case statement when -bd is 0.
955
956Changed "tag cell ..." to only invalidate for redraw when the affected
957cell is visible.
958
959Added check for NULL tablePtr->tkwin in TableCellVCoords.  Could
960cause problems where it was used to replace TableCellCoords.
961
962Fixed bug in TableFetchSelection that truncated the string returned
963by -selectioncommand to the length of the original string.  Also
964fixed mem leak (didn't free all DStrings in an error), and changed
965it so that a background error is triggered if there is a problem
966with the -selectioncommand.
967
968Fixed bug in TableDisplay where last row, if one pixel hi, wouldn't
969get redrawn properly.
970
971Changed default fonts to those used for entry widgets.
972	**** POTENTIAL INCOMPATIBILITY ****
973
974Added UTF char (Unicode) support, based on 8.1a2 tkEntry.c.  Had
975to be conditionalized because it doesn't exist in 8.0.
976
977Added -multiline option for tags to allow old one-line text only,
978Reworked tag options so that tag values that aren't ever set won't
979affect other tags.
980
981Fixed seg fault bug in CMD_ACTIVATE when Tk_PointToChar could be called
982on double-click, but TableDisplay hadn't yet been called (because it is
983waiting for idle) which is required to set tablePtr->activeLayout
984properly.  Also fixed mem leak with old activeLayout not being freed when
985it changed.
986
987Speed improvement - changed from using Tk_GetGC/Tk_FreeGC to XCreateGc/
988XChangeGC/XFreeGC.  Since it was highly unlikely that the caching
989provided in the Tk routines would ever benefit us, moving to direct
990X calls and manipulating just one GC should be faster.
991
992**** v2.00 24 April 1998 ****
993
994Update man pages, generated new HTML version.
995
996Added "single" drawing mode, and made "single" and "fast" both set
997-borderwidth to 1 as a side effect.
998
999Fixed seg fault on Windows involving large numbers of rows.  Unsure
1000exactly what fixed it, but the problem disappeared amidst all the
1001changes since v1.82...
1002
1003Updated tkAppInit.c to Tk8.1 version.
1004
1005Added ifdef for Win32 default colors.
1006
1007Since we can now have multi-line cells, changed -rowheight and height
1008to work the same as -colwidth and width did (+ nums for size in line,
1009- for sizes in pixels).
1010	**** POTENTIAL INCOMPATIBILITY ****
1011
1012Added new "make static" option for making a static library.
1013
1014Reworked scrollbar calcs again based on pixels.  Fixes all funny off by
1015half a cell problems.  Also prevents scrolling when only title areas are
1016visible (those are, by design, not scrollable).
1017
1018Changed stretching to stretch the last row/col for any stretchmode but
1019"none", to prevent empty space from appearing.
1020
1021Fixed interpretation of CellVCoords to return 1 on slightly visible
1022cells (now only a 1 pixel square size is required to be considered
1023visible - used to be 1/4 the desired cell size).
1024
1025Added support to allow the second click into the active cell to select
1026the nearest character.
1027
1028Changed <Return> binding to work with multi-line cells.
1029	**** POTENTIAL INCOMPATIBILITY ****
1030
1031*** Undid 60.06.98 - bad fix
1032Fixed bug in TableWhatCell that caused the returned cell to be one more
1033than expected when the edge was passed in.
1034***
1035
1036Made TableVarProc not cause an Invalidate call if it was
1037triggered by SetActiveIndex.
1038
1039Changed around some function names for sense of modularity (preparing
1040better C API).
1041
1042Commented all procedures in tkTable.c.
1043
1044Broke up tkTable.c into constituent files.
1045
1046Added support for embedded windows via "window" submethod.
1047
1048Fixed quirk in xscrollbar that would make it appear as it all was
1049in view when the last column was only partially visible. (Brutti)
1050
1051Changed several CellCoord calls to CellVCoord calls to only invalidate
1052if necessary.
1053
1054Reworked merging of tags and determination of active cell.  State
1055disabled cells no longer receive the "active" look, although they
1056are still indexed as active.
1057
1058New -selecttitles option, removed prohibition of selecting title areas.
1059	**** POTENTIAL INCOMPATIBILITY ****
1060
1061Removed all KANJI, IMP and TK4 #ifdef code.  tkTable development now
1062focused 100% on Tk8+.  Also removed Itcl stuff since itcl for Tcl8
1063should be different.
1064	**** INCOMPATIBILITY FOR TK4/KANJI/ITCL USERS ****
1065
1066**** v1.82 3 April 1998 ****
1067
1068Update man pages, generated new HTML version.
1069
1070Fixed bug in row start location calculation, reorg'ed some code
1071for row stretch fill mode.
1072
1073Simplified caching of col tags for display.
1074
1075Changed code that referenced interp->result to use accessor functions.
1076
1077Fixed problem where flat reliefs would be eliminated because they
1078were assumed to be undefined (TK_RELIEF_FLAT changed in Tk8.1).
1079
1080Added -bordercursor and -resizeborders option, added PointerMotionMask
1081to event handler, moving the tkTableCheckBorder event into C.  Should
1082be much more efficient.
1083	**** POTENTIAL INCOMPATIBILITY ****
1084
1085Changed "$(COMPILE.c)" to "$(CC) $(CFLAGS) $(CPPFLAGS) -c" in Makefile.in.
1086Should be equivalent, but some make's don't understand.
1087
1088Change border dragging routines for column to support pixel movement.
1089
1090Fixed problem with column widths and row heights being shifted improperly
1091during row/col deletion (didn't account for - row/col offset).
1092
1093Updated tkTable.itcl to same versions as tkTable.tcl (ignored over
1094several revisions).
1095
1096Fixed binding bug in tkTable.tcl for <Control-(Left|Right)>. (Becker)
1097
1098changed TableModifyRC to be more selective about what is invalidated
1099for redraw. (Brutti)
1100
1101made 'title' tag have -state disabled by default (an oversight from
1102the addition of -state tag option in 1.80).
1103
1104**** v1.81 March 20 1998 ****
1105
1106added support for exact pixel dimensions for column width by using
1107negative numbers, also supported in -colwidth.  Changed width|height
1108to support 'default' key instead of assuming negative number means default.
1109	**** POTENTIAL INCOMPATIBILITY ****
1110
1111added -state tag option (cheap hack, must be improved).
1112
1113changed handling of -state table option. (Ellson)
1114
1115added -invertselected option. (Brutti)
1116
1117added FocusOut binding to commit cell on FocusOut events.
1118
1119made the cell commit changes anytime "activate" is called, regardless
1120of whether the active cell was moved or not.
1121
1122"tag cell|col|row|includes tagName" no longer return an error if the tag name
1123is unknown (just returns empty string, or 0 for "includes").  Only "tag cget"
1124complains about unknown tag names.
1125	**** POTENTIAL INCOMPATIBILITY ****
1126
1127Improved makefiles. (patches courtesy Dukhovni)
1128
1129Fixed bug in tkTable.itcl (improperly handled backslash).
1130
1131Fix for 8.0 w/ plus/dash patch (Ellson).
1132
1133Fixed minor -Wall complaints.
1134
1135Changed the way row/col tags were determined to be on a cell. (JMH)
1136
1137Made title tag have lower priority than a cell tag.
1138
1139Fixed bug where the last table row/col would be deleted when table -state was
1140disabled (should be a no op).
1141
1142**** v1.8 May 28 1997 **** (changes hobbs)
1143
1144Moved the instantiation of the tk*Uid variables from the DLLEntryPoint
1145into the *Init functions for those not compiling this as a DLL.
1146
1147Fixed bug where "active" index for an array might not update properly after
1148the table changes arrays if the previous array's cell had the same value
1149for the active cell.
1150
1151Updated Windows makefile.vc (still far from perfect).
1152
1153Fixed calculation error where WhatCell would look for the bottomright
1154cell a few pixels off (didn't account for highlightWidth).
1155
1156Fixed numerous places where cells weren't being invalidated (to be
1157redrawn) but should have been.
1158
1159Fixed bug in curvalue that didn't mark the active text as changed which
1160would cause editions to be lost when the active cell changed.
1161
1162Changed default font for Tk8 from "Helvetica 12" to just "Helvetica" because
1163the 12 was a tweaking large font on my Sol2.5 machine.
1164
1165Renamed -width to -colwidth and -height to -rowheight, replaced with
1166different interpretation such that -width, -height set the viewable
1167# of cols, rows (a la listbox or text widget).
1168	**** POTENTIAL INCOMPATIBILITY ****
1169
1170Made default title foreground white for better readability.
1171
1172Fixed INF/divide by zero possible error for scrollbars when no editable
1173cells are in view.  Possible funky behavior still exists when no editable
1174cells are available (for selection).
1175
1176Fixed possible access violation where TableInvalidate would be called
1177after the tkwin had been destroyed.
1178
1179Enhancement ideas from Pawel Gorazda <pawel.gorazda@solidex.com.pl>:
1180	* Added TCL_DEFS to TCL_CFLAGS in Makefile.in
1181	* Make "tag cell tagName" list cells for the special tags
1182	* new "tag includes" method for finding if a cell has a specific tag
1183	* changed selection to not change selection (do nothing) when
1184	  the user clicks on a title cell
1185	**** BEHAVIORAL CHANGE ****
1186
1187Fixed missing 'q' in tkTable.itcl
1188
1189Fixed interaction with -command to only blow up when an error occurs,
1190not for return/break/ok.
1191
1192Changed tkTableCheckBorder to use crosshair instead of fleur because of
1193complaint of lack of fleur cursor on WinNT.
1194
1195Added internal caching with -cache option and flush method for speed
1196improvements.
1197
1198Changed "sel clear all" to use old iterated method of clearing selection
1199for people who use "sel clear all" in Motion events and such.
1200
1201**** v1.7 Apr 11 1997 **** (changes hobbs)
1202
1203Changed instances of clearing selection to delete and reinit the
1204sel hash table instead of going through each entry.
1205
1206Updated docs and added demo and basic spreadsheet class for [incr Tcl].
1207
1208Changed default selectmode to browse, same as listbox.
1209	**** POTENTIAL INCOMPATIBLITY ****
1210
1211Added forceUpdate arg to TableConfigure to make sure that necessary
1212parameters will be adjusted at instantiation.
1213
1214Changed TableSetCellValue to *unset* empty valued indices instead of
1215setting them to "".
1216
1217Introduced support for row/col insertion/deletion with numerous options.
1218
1219Fixed geometry bug that didn't account for highlightWidth in GeometryRequest.
1220
1221Added selecttype option to alter the way selection is handled.
1222
1223Added padx and pady configuration options.
1224
1225Some changes to Makefile.in to get better behavior out of it.
1226
1227Changed "see" to ensure cell is fully visible by adding param to
1228TableCellVCoords.
1229
1230Added support for [incr Tcl] (tested against v2.2).
1231
1232Fixed TableGetIndex to properly account for row/colOffset > 0.  Also
1233adjusted constraining of user index in TableGetIndex.
1234
1235**** v1.6 Feb 7 1997 **** (changes hobbs)
1236
1237Fixed x && y offset bug for SLOW drawmode (reported by Michael Johnson).
1238
1239Now whenever you move from a cell where an edit has occured, it will
1240save that edition.  You can always use <Escape> (reread) to get the
1241old value back before you move the cell.
1242	**** BEHAVIORAL CHANGE ****
1243
1244Fixed the bug where inserting characters with autoclear off didn't set
1245TEXT_CHANGED properly, so you could move without a cell registering the
1246change (reported by Eric Dolce).
1247
1248**** v1.5 Feb 6 1997 **** (changes hobbs)
1249
1250Fixed xview/yview scroll page/units problems.
1251
1252Fixed TableConfigure error return problems.
1253
1254Fixed font display problem for Tk8 (stupid reference error).
1255
1256Fixed "set" && "curselection" to understand need for command OR array
1257existence.
1258
1259Fixed conceptual bug in -command %-substitution - there was no way to
1260get the write value!  Redefined %s/S value for -command.
1261	**** POTENTIAL INCOMPATIBLITY ****
1262
1263Fixed bug in "see" method reported by PHIL SMITH <pjsmith@netins.net>.
1264It did the opposite of what it should, caused by the change from
1265TableCellHidden to TableCellVCoords.
1266
1267Optimized TableDisplay.  offsetX, offsetY were useless because they were
1268always subtracted from x && y (so why not do it once... doh!).
1269
1270Removed CheckTagCmd and inlined some code.  This optimizes certain things
1271(there was no reason to cache row tags, just move the lookup code!).
1272
1273changed TableSetCellValue to not use GetVar, thus a write always occurs,
1274even if the value is the same.  This prevents a read trace from triggering,
1275but now a write trace will always trigger.
1276
1277**** v1.4 Feb 2 1997 **** (changes hobbs)
1278
1279Changed default unix font to medium weight (from bold).
1280
1281Updated "bbox" method to allow range.
1282
1283Added auto-resizable border code with new "border" method, TableAtBorder
1284function and new Table bindings.
1285
1286Changed TableCellHidden to TableCellVCoords & extended it.  Now understands
1287highlightWidth variation and clips area to actual visible coords.
1288
1289Added code in TableConfigure to prevent spurious redisplays of the
1290entire table for any config request.
1291
1292fixed index bug where "ROW,COL<extrajunk>" translated to "ROW,COL" and
1293a couple other similar interpretive bugs.
1294
1295fixed potential segfault in unsetting "active" element of attached array.
1296
1297changed min()/max() to MIN()/MAX() - avoids Windoze warning.
1298
1299changed textCurPosn to icursor.
1300
1301greatly simplified KANJI interoperability by making activeBuf a regular
1302char *, changing a few interfaces, and some other stuff.  This reduced
1303the number of KANJI #ifdef's significantly.
1304
1305added -command and -usecommand options.
1306
1307**** v1.3 Jan 28 1997 **** (changes hobbs)
1308
1309Included precompiled Win95/Tk8.0a2 DLL.
1310
1311Fixed several compiler warning problems.
1312
1313Moved header code to its own header file.
1314
1315Fixed some potential mem leaks.
1316
1317Added Windows support.  HACK ALERT!  Without an XSetClipRectangles, an
1318extra Drawable is used for WIN32.  There may be a better way to do this.
1319If so, make me a patch.
1320
1321Data struct / Cmd name changes to avoid any conflict when compiling older
1322version of Table with newer version in same executable.
1323
1324Added -image option to tags.
1325
1326Removed NO_TOP_LEFT ifdef'ed code.  Topleft should be showing.
1327
1328**** v1.2 Jan 18 1997 **** (changes hobbs)
1329
1330Updated man page and HTML help page.
1331
1332Added TableCellSort to sort a row,col properly.
1333
1334Added arg for curvalue method to set the current active buffer.
1335
1336Added validation mechanism, validate method and -validate, -validatecommand
1337options.  See docs for details.
1338
1339Added "active" key element to traced Tcl array for table.  This holds
1340the activeBuf value of the table.
1341
1342Change arrayVar configuration in TableConfigure to only trigger if
1343the arrayVar actually changed.
1344
1345Moved inserting/deleting in active cell to separate functions and
1346bullet-proofed the code.
1347
1348Removed TableFlashConfigure.  Not used since "flash" became permanent tag.
1349
1350Changed TableSetCellValue to only set the variable if the value
1351has changed.  This will prevent spurious flashing.
1352
1353Removed Roland King's COPYRIGHT, replaced with acknowledgements.
1354This code represents a 90% rewrite of his original code.
1355
1356Added -O as default CFLAGS in Makefile.in, along with HP cc note.
1357
1358Fixed bug with cursor at position 0 for KANJI (appears to be a bug
1359in TkWSTextExtents).
1360
1361Get/Set variable overhaul to ensure that everything works correctly
1362for KANJI support (without compile warnings).
1363
1364Changed TableBufLengthen to a #define which uses ckrealloc.
1365
1366Removed -rowfirstmode and its use in code.  It actually didn't work for
1367many functions and indices would be incorrectly returned.
1368	**** POTENTIAL INCOMPATIBLITY ****
1369
1370Fixed handling of arrayVar to accept vars with funny chars (including spaces).
1371
1372Added "see active" to tkTableMoveCell.
1373
1374Changed calculation of hidden cell to require at least 3/4 of
1375the cell to be off the screen.
1376
1377Cleaned up, optimized lots of code.  Cleaned up some memory leaks.
1378
1379Removed undocumented "setlist" functionality - it was never used
1380and I deemed it extraneous.
1381
1382Numerous name changes in tkTable.tcl (conforming to standards).  Also
1383added full row/col selection capability && cut/copy/paste functionality.
1384	**** POTENTIAL INCOMPATIBLITY ****
1385
1386Changed ".table get ..." to return items in the same way as that
1387of listbox (only affects handling of spaced values being returned).
1388	**** POTENTIAL INCOMPATIBLITY ****
1389
1390Changed Table_GetIndex to TableGetIndex (it was the only _ func).
1391
1392Optimized calling of TableAdjustParams in [xy]view and scan dragto
1393as well as TAP code.
1394
1395Removed useless selectionOn C var and "select" index.
1396	**** POTENTIAL INCOMPATIBLITY ****
1397
1398Changed the [xy]scrollcmd to receive Tk4+ style args (2 doubles
1399instead of 4 ints).
1400
1401Fixed problems with [xy]view and scan.  Might not be perfect yet.
1402Removed boundary command as it reiterates [yx]view and index,
1403added "bottomright" special index.  Change of code example:
1404    .table bound bottom	=>	.table index bottomright row|col
1405	**** POTENTIAL INCOMPATIBLITY ****
1406
1407Fixed problem with cursor not disappearing on focus out.
1408
1409Added -browsecommand option for monitoring active cell movement.
1410
1411Added selection handler and -rowseparator, -colseparator,
1412-selectioncommand, -exportselection options.
1413
1414Fixed problem with changing var to a simple variable.
1415
1416Fixed problems with compiling for KANJI, now seems to work again.
1417
1418Fixed highlight border bug. (bruecker)
1419
1420Fixed typo that prevented IMP from working.
1421
1422**** v1.1 Dec 30 1996 **** (changes hobbs)
1423
1424Updated code to handle Tk8 font mechanism.  Now works with Tk8.
1425
1426Added Tktable_SafeInit procedure so it could be loaded into a safe
1427interpreter.
1428
1429Integrated Bruecker's (peter@bj-ig.de) changes to 0.63:
1430  - Moved IMP-Code to one place, needs testing.
1431  - Some changes to TableCreate and TableDestroy:
1432      Hashtables ever needed are created in Create
1433      so no tests in configure and later needed.
1434  - Removed GcCache (will be placed in TableDisplay)
1435  - Repaired Focus-Code little bug remains in the right
1436    and bottom of HL-Frame.
1437
1438Updated README to reflect file name changes.
1439
1440Changed tkAppInit.c to reflect tk4.2 appinit.
1441
1442Changed Makefile.in to support get X_INCLUDES right.
1443
1444**** v1.0 Dec 19 1996 **** (changes hobbs)
1445
1446BUMPED VERSION TO 1.0 for initial (re)release.
1447
1448Updated man pages, in particular documenting bindings.
1449
1450Updated tkTable.tcl to use origin where appropriate.
1451
1452Added origin index.
1453
1454Added extra arg to insert/delete to specify what is really being
1455inserted/deleted to/from.
1456
1457Corrected insert/delete/icursor to not do edit the active cell if
1458it has not been set yet.
1459
1460Fixed TableScanTo.
1461
1462Enabled the display of the topleft title cells.
1463
1464Fixed cursor constraint for oversized fonts in a row.
1465
1466**** v0.63 Dec 18 96 **** (changes hobbs)
1467
1468Removed TableSetCell from tkTable.tcl, rearranged bindings as well.
1469
1470Rewrote checkTagCmd, fixed spurious return values.
1471
1472Reordered trigger path for Table_GetIndex.
1473
1474Fixed see to not be forceful, but to only move if necessary, and to
1475use the +1,+1 offset from topleft (more like centering).
1476
1477Added topleft index.
1478
1479ellson patch:
1480	Fixed package require in Makefile.in and demo files
1481	Moved Table_GetIndex to avoid implicit declaration warning.
1482
1483Changed how "anchor" was indexed internally.
1484
1485Fixed cursor showing in an active cell of width 0.
1486
1487Removed check for bounds in SEL_CLEAR (SEL_SET did it for us).
1488
1489**** v0.62 Dec 18 96 **** (changes hobbs)
1490
1491Updated man pages.
1492
1493Removed "#ifdef KANJI0" code (it was useless).
1494
1495Added in use of the active tag (it was previously ignored).
1496
1497Removed restriction on see method that kept the active cell in the view.
1498
1499Changed xview/yview/scan methods to not adjust selRow/Col.
1500
1501Changed code to use active cell as active, rather then sel cell.
1502
1503Made "flash" tag have higher display priority than "sel".
1504
1505Added pattern match support for "tag names".
1506
1507Added "tag exists" and "tag cget" submethods.
1508
1509Changed "tag celltag" to use Table_GetIndex instead of sscanf
1510
1511**** v0.61 patch Dec 14 96 **** (ellson@lucent.com)
1512
1513Change "tag celltag" to use index form of cell address,"x,y" instead of list
1514form "{x y}"
1515
1516Add back support for zero width columns and zero height rows.
1517
1518Added installation of tkTable.tcl in
1519   [lindex $tcl_pkgPath 0]/Tktable/tkTable.tcl
1520(0.61 was using the built-in copy of tkTable.tcl so the lack of
1521installation wasn't noticed.   Perhaps we don't need the built-in
1522version???)  I put the runtime script in this directory to make it
1523trivial to generate binary distributions of the widget consisting of
1524a single Tktable directory that is just dropped into lib/.
1525
1526Added a make target for tablewish (not normally needed with dynamic loading
1527but sometimes handy for debugging)
1528
1529Corrected package name (Wasn't loading from tkcon Interp->Packages menu.
1530Package name should start with capital letter to match Init entry point.)
1531
1532Added configure code to automatically discover --prefix from existing
1533tclsh installation.  Installation is now simply:
1534      ./configure
1535      make install
1536
1537**** v0.61 Dec 13 96 **** (all changes jhobbs except noted)
1538
1539Updated, corrected, expanded man pages.
1540
1541Updated internal code comments, fixed result strings.
1542
1543Fixed see problem (reported by Jean-Paul).
1544
1545Removed getwidth && getheight and rewrote width && height to be more
1546flexible and subsume the previous methods.
1547
1548Changed flashtime to really be a number representing 1/4 sec and
1549changed the default to 3 (750ms).  Added "flash" as a permanent tag
1550(like "title", "active", and "sel").  Added options:
1551	-flashmode
1552	-flashtime
1553
1554Changed "Title" tag to "title".  Why cap it?
1555
1556Reformatted most code to fit in 80 cols.
1557
1558Fixed activate index offset bug.
1559
1560Changed -*title options to -title*.  The original version was too
1561misleading as to its purpose.
1562
1563Added fixes from ellson@lucent.com.
1564	test.tcl updates
1565	SIGSEV bug from improper argc count
1566
1567Added some changes from peter@bj-ig.de.
1568	New stretch modes LAST && FILL
1569	Highlight/Focus fixes
1570	More options instead of methods
1571
1572Improved curselection code.
1573
1574added the following options:
1575	-autoclear	replaces editmode method
1576	-state		replaces editmode method
1577	-insert*	from Tk entry, manipulate cursor style
1578	-batchmode	replaces batch method
1579
1580Changed the dynamic load path for tkTable.tcl from
1581"$tk_library/tkTable/tkTable.tcl" to "$tk_library/tkTable.tcl".
1582
1583**** v0.60 Dec 10 96 **** (all changes jhobbs)
1584OPTIONS:
1585
1586Altered man pages to properly reflect what options are handled (there
1587were numerous extra, plus many missing).
1588
1589changed -procrowtag => -rowtagcommand
1590changed -proccoltag => -coltagcommand
1591
1592Added -bd synonym
1593
1594Fixed all internal coding for readability, concise representation
1595
1596changed -cursorbg => -insertbackground
1597
1598METHODS:
1599
1600Fixed lack of break in CMD_*STRETCH
1601
1602removed whatcell:  code change:
1603        .table whatcell x y     => .table index @x,y
1604
1605removed whereis, changed to bbox:  code change:
1606        .table whereis row col  => .table bbox <index>
1607This needs to be improved to take multiple indices.
1608
1609removed toprow && leftcol, added boundary:  code change:
1610        .table leftcol|toprow|bottomrow|rightcol ?rowOrCol?
1611        =>
1612        .table boundary left|right|top|bottom ?rowOrCol?
1613rowOrCol can only be specified for top|left, as appropriate (though
1614a bug in the code didn't check properly).
1615
1616removed [rc]index: code change:
1617        .table [rc]index <index>        => .table index <index> row|col
1618
1619changed get so (1) it works and (2) it returns values more like the
1620listbox command
1621
1622removed setcell.  This has been subsumed by the improved selection method.
1623code likeness:
1624        .table setcell          => .table index select
1625        OR                      => .table curselection
1626        .table setcell 4 2      => .table selection set 4,2
1627The "index select" is there for 100% compatibility, but curselection is
1628what should be used to properly represent all selected cells.
1629
1630MISC:
1631
1632fixed parse_command to handle full non-ambiguous method names
1633
1634updated man pages to include all methods/options in Tk4 style.
1635
1636reordered a lot of code to be in "alphabetical" order.
1637
1638**** v0.56 Nov 96 ****
1639   - merged changes from tkSpread from Jeffrey Hobbs <hobbs>
1640	- added support for Japanization patch
1641	- added multi-node select support
1642	- removed -underline option for tags
1643   - included default bindings in loadable library
1644
1645**** v0.5 Oct 96 ****
1646   - merged changes from Peter Brueckner <peter@peter.bj-ig.de>
1647	- takefocus
1648	- highlight border
1649	- "gcc -Wall -pedantic" cleanup
1650   - updated for tcl7.6/tk4.2
1651   - autoconf
1652   - only one c-file
1653
1654**** v0.4p8 ****
1655   - added patch from wangnick@orthogon.de to make tkTable accept -rows 0
1656   - added patch from tmoore@pnfi.forestry.ca for handling of bad
1657     array indexes
1658   - added patch from tmoore@pnfi.forestry.ca to add rowTagProc and
1659     colTagProc
1660   - added patch from ellson@lucent.com to support cget so that
1661     tkTable can be used with the dragdrop extension by
1662     fellowsd@cs.man.ac.uk (Donal K. Fellows).
1663
1664version 0.3 --> version 0.4
1665---------------------------
1666tk4.1 and tk4.0 compatability  (ellson@lucent.com)
1667   - dynamically loadable library (SunOS 4.1.3 only so far)
1668   - changed BISQUE to GRAY
1669   - statically included TableInit.tcl into dynamic library
1670   - fixed various compiler warnings
1671       (now none with tk4.1, but still one with tk4.0)
1672   - upgraded tkAppInit.c
1673   - changed a few names:     library:  libtktable.so.0.4
1674			  entry point:  Tktable_Init
1675		        extended wish:  tablewish
1676
1677version 0.2 --> version 0.3
1678---------------------------
1679Upgraded to tk4.0 (Paul Friberg)
1680
1681version 0.1 --> version 0.2
1682---------------------------
1683Changed the tag code to apply the effects of multiple tags to a cell.
1684
1685Fixed a bug with the flash code which forgot to delete the flash when
1686a table was deleted
1687
1688Fixed a bug which meant that row, column and cell tag changes didn't
1689update to the screen immediately when there was a row or column offset.
1690
1691Fixed the anchor code which was adding/subtracting a pixel from the
1692string in certain circumstances
1693
1694Fixed a cursor movement bug which caused the same cell to appear twice
1695when the cursor was moved
1696
1697Thanks particularly to Lou Salkind for pointing out some of the above
1698and suggesting fixes.
1699
1700
1701