tinycobol/tcltk84/tk8.4/tablelist4.4/CHANGES.txt

1063 lines
43 KiB
Plaintext

What is new in Tablelist 4.4?
-----------------------------
1. New row configuration option "-hide" (thanks to Jeff Godfrey,
Patrick Fradin. Hemang Lavana, and Martyn Smith for their
proposals, and especially to Harold Campbell for providing the
initial implementation and testing the final one.) For performance
reasons this option is implemented by using elided text in the
underlying text widget, and therefore it is not supported for Tk
versions earlier than 8.3.
2. New subcommand "togglerowhide" for hiding/unhiding several rows at
a time (not supported for Tk versions earlier than 8.3).
3. Renamed the "togglevisibility" subcommand to "togglecolumnhide".
The old name is still supported, but will be eliminated in the next
Tablelist release.
4. New command "tablelist::setThemeDefaults", which can be used to
make sure that classical Tk widgets, e.g., text, will have a theme-
specific appearance, just like the tile widgets. The tile-based
demo scripts now make use of this command.
5. When using the "tileqt" theme, the version number of TileQt must be
0.3 or higher (thanks to Georgios Petasis for providing the new
"tileqt" features used in this Tablelist release).
6. For Tk 8.3 or later, hidden columns are now handled by using elided
text, which results in very significant performance improvements
(thanks to Harold Campbell for his valuable contribution).
7. Improved the handling of the "-listvariable" option in connection
with snit widgetadaptors (thanks to Rolf Ade for his bug-fix).
8. Corrected a typo in the implementation of the "move" subcommand,
introduced in the previous release (thanks to Jérome Siot for his
bug report).
9. Improved the handling of the virtual event <<ThemeChanged>> (thanks
to Wofgang Großer for his bug report).
10. Fixed a long-standing bug related to hidden columns (thanks to Dave
Leslie for his bug report).
11. Worked around a peculiarity of the "place" command on Windows,
which caused refresh problems in column labels with images (thanks
to Sebastien Barre for his bug report).
12. Numerous further improvements and minor bug fixes.
What was new in Tablelist 4.3?
------------------------------
1. Support for multi-line cells: Newline characters now force line
breaks when displaying the items (thanks to Sebastien Barre,
Tillmann Basien, Cameron Laird, Kai Morich, and Vaclav Snajdr for
their proposals). In addition, interactive cell editing can now
take place with the aid of a text widget, too (this has caused a few
minor changes in the default key bindings for the edit window).
2. Support for multi-column sorting with the aid of the new subcommands
"sortbycolumnlist", "sortcolumnlist", and "sortorderlist", as well
as of the new command "tablelist::addToSortColumns". The latter is
designed to be specified as the value of the new widget and column
configuration option "-labelcommand2", whose value is invoked on
<Shift-Button-1> events. Multi-column sorting is visualized by
means of multiple sort arrows, which are displayed together with the
corresponding sort ranks. (Thanks to Harold Campbell for proposing
most of these features, providing the initial implementation, and
testing the final one.)
3. New configuration option "-setfocus", specifying whether mouse
button 1 should set the focus to the tablelist's body (thanks to
Tillmann Basien for discussions on this topic).
4. Replaced the contents of the directory "images" with a script file
containing procedures that create the bitmap images from inline data
(thanks to Mats Bengtsson, Patrick Fradin, and Kai Morrich for their
proposals).
5. Fixed a bug related to the use of a tile entry within a non-tile-
based tablelist widget on Windows XP (thanks to Schelte Bron for his
bug report).
6. The handling of <Command-Key> events during interactive cell editing
is now explicitly restricted to Mac OS Classic and Mac OS X Aqua,
because, strangely enough, on Windows these events are generated by
simple keypresses if Num Lock is active.
7. Numerous further code improvements, minor bug-fixes, and support for
several recent changes in tile.
8. Cleaned up the documentation, to make sure that the HTML files
generated for the ActiveTcl distribution with the tool HTML Tidy
will be syntactically identical to the original ones.
What was new in Tablelist 4.2?
------------------------------
1. The resize area of the header labels now consists of a few pixels
on both sides of the right edge (thanks to Bryan Oakley for
suggesting this improvement).
2. Made sure that the header labels have the right appearance in the
"aqua" theme when using tile version 0.6.4 or later (thanks to
Bryan Oakley for his bug report).
3. Several further improvements related to Mac OS X Aqua (for example,
support for the "Command" key during keyboard navigation between
the editable cells).
4. Fixed a very long-standing bug in the "containing" subcommand
(thanks to Mats Bengtsson, Schelte Bron, and Mark Garvey for their
bug reports).
5. Fixed a bug related to the "xpnative" theme, introduced in the
previous release (thanks to Mark Garvey, Jeff Godfrey, and Uwe
Koloska for their bug reports).
6. Fixed another very long-standing bug, related to insertion and
deletion of columns having images in their labels (thanks to
Sebastien Barre for his bug report).
7. Fixed an old bug related to embedding images or windows into hidden
cells (again, thanks to Sebastien Barre for reporting this bug).
8. The demo scripts now work independently of their location (this
small improvement reflects the fact that Tablelist is now included
in tklib, where the examples are in a location different from
"$tablelist::library/demos").
9. Adapted two tile-based demo scripts to the recently released tile
version 0.7.
10. Several further improvements in the code and documentation (thanks
to Patrick Fradin for his valuable contribution).
What was new in Tablelist 4.1?
------------------------------
1. Significantly extended the tile support in the Tablelist_tile
package: Header labels now look and behave like the column
headings of treeview widgets, and over a dozen configuration
options have theme-specific default values (thanks to Paul
Obermeier for his excellent "poImgview" application, which helped
me a lot during this work, as well as to Georgios Petasis for his
Qt-related hints).
2. Header labels containing the mouse cursor are now set into active
state. Their appearance is controlled in the Tablelist package by
the new configuration options "-labelactivebackground" and
"-labelactiveforeground", while the Tablelist_tile package uses
theme-specific background and foreground colors for the active and
pressed states of the labels.
3. New configuration option "-arrowstyle", specifying the flat or
sunken relief and the dimensions of the arrow indicating the
sorting order. This option has windowing system- and theme-
specific default values.
4. New configuration option "-protecttitlecolumns", used to protect
the title column boundary from being crossed when moving a column
interactively (thanks to Schelte Bron for his proposal).
5. New configuration option "-spacing", specifying additional space to
provide above and below each tablelist row (thanks to Sebastien
Barre for his proposal).
6. New column configuration option "-stretchable", complementing the
global "-stretch" option (thanks to Sebastien Barre for his
proposal).
7. New row configuration option "-name", whose value can also be used
as a row index and as the first component of a cell index (thanks
to John Kozura for his proposal).
8. New cell configuration option "-windowdestroy", specifying a script
to be invoked when a window embedded into the cell is destroyed
(thanks to Sebastien Barre for his proposal).
9. New "imagelabelpath" subcommand (thanks to Schelte Bron for his
proposal).
10. Keyboard navigation during interactive cell editing now works on
Mac OS X Aqua, too.
11. Restored the support for Tcl/Tk versions earlier than 8.3, by
cleaning up the handling of the "-titlecolumns" option (thanks to
Andreas Flach and Brian O'Hagan for their bug reports).
12. Restored the support for Tcl/Tk versions earlier than 8.0.4, which
has been broken since release 3.5, due to the use of the
<MouseWheel> event, introduced in Tk 8.0.4 (thanks to Brian O'Hagan
for his valuable contribution).
13. Worked around a peculiarity of the text widget's "dump -window"
command (thanks to Greg Reynolds for his bug-fix).
14. Fixed a binding-related bug in "extended" selection mode (thanks to
David Mattinson for his bug-fix).
15. Numerous further improvements and minor bug fixes (thanks to
Schelte Bron, Patrick Fradin, Silas Justiniano, and Uwe Koloska for
their bug reports and valuable contributions).
What was new in Tablelist 4.0?
------------------------------
1. Support for the tile entry, combobox, and checkbutton widgets for
interactive cell editing (thanks to Miguel Bagnon, Andy Black,
Adrian Chan, and Mark Garvey for their proposals and to Mats
Bengtsson and Kevin Walzer for their support on the Macintosh).
See the new reference page "tablelistTile.html" for details.
2. Support for tile-compatibility: By just specifying "package
require Tablelist_tile" instead of "package require Tablelist", the
tablelist widgets will have a modern theme-specific appearance
(again, thanks to the above-mentioned Tablelist users for their
suggestions and assistance). See the "How to use it?" and "More on
Tablelist_tile" sections of the tutorial "tablelist.html" for
details.
3. New demo script "tileWidgets.tcl", illustrating the use of tile
widgets for interactive cell editing and of the Tablelist_tile
package. All the other demo scripts are now provided in both a
traditional and a tile-based version. See the "Tile-based demo
scripts" section of the tutorial "tablelist.html" for an example
and some screenshots.
4. The Tk checkbutton used for interactive cell editing is now a
platform-specific checkbutton widget on Windows and the Macintosh
(thanks to Mats Bengtsson for his help related to the Macintosh
platform).
5. The "-editwindow" option is now available at cell level, too
(thanks to Kenneth Green for his proposal).
6. New subcommand "togglevisibility" for hiding/unhiding several
columns at a time (thanks to Stefan Finzel and Kai Morrich for
their proposals).
7. Support for the new virtual event <<TablelistSelectionLost>>,
generated when a tablelist widget having "-exportselection 1" loses
the selection (thanks to Aldo Buratti for his proposal).
8. After sorting the items, the "most important" row is automatically
brought into view (thanks to Kai Morrich for his valuable input).
9. Worked around a peculiarity of Tk for Windows, related to mouse
events (thanks to Tore Morkemo and Mike Collins for their bug
reports).
10. Worked around a problem related to the visibility of the up/down-
arrow on Mac OS X Aqua (thanks to Kevin Walzer for his bug report).
11. Fixed a bug in the "seecell" subcommand, introduced in Tablelist
version 3.7 (thanks to Stefan Finzel for his bug report).
12. Fixed a bug in the "rowconfigure" subcommand, introduced in the
previous Tablelist release (thanks to Tore Morkemo for his bug
report).
13. Eliminated the memory leak caused by incomplete cleanup on deleting
rows with embedded windows (thanks to David Cockerell for his bug
report).
14. Fixed a small timing-related bug in the "editcell" subcommand
(thanks to Kenneth Green for his bug report).
15. Numerous further improvements and minor bug fixes (thanks to Greg
Reynolds for his valuable input).
What was new in Tablelist 3.8?
------------------------------
1. New configuration option "-forceeditendcommand", controlling the
invocation of the script corresponding to the value of the
"-editendcommand" option (thanks to Nestor Patino for his proposal).
2. New subcommands "getcells" and "windowpath" (thanks to Jeff Godfrey
and Mike Collins for their proposals).
3. Support for the new virtual event <<TablelistCellRestored>>,
generated by the "cancelediting" subcommand.
4. Significantly improved the performance of the "delete",
"deletecolumns", and "movecolumn" subcommands for tablelist widgets
having color or font options set at column, row, or cell level
(thanks to Michael Bahr for his valuable feedback).
5. Improved the autoscrolling with the left mouse button in both the
body and the header of a tablelist widget having title columns.
6. Fixed a bug related to the "-titlecolumns" option, introduced in the
previous Tablelist release (thanks to Alexander Schöpe for his bug
report).
7. Fixed a typo in the implementation of the "seecell" subcommand,
introduced in the previous Tablelist release (thanks to Patrick
Fradin for his bug report).
8. Improved the demo script "embeddedWindows.tcl" (thanks to Patrick
Fradin for his valuable input).
9. Several further improvements and minor bug fixes.
What was new in Tablelist 3.7?
------------------------------
1. New configuration option "-titlecolumns", specifying the number of
the non-scrollable columns at the left edge of the window (thanks to
Goran Ivankovic, Paul Kienzle, Hemang Lavana, and Takeshi Sakamoto
for their proposals). For technical reasons (the use of the
"-elide" option for a text widget tag), this option is not supported
for Tk versions earlier than 8.3.
2. Extended the "separatorpath" and "separators" subcommands, to
support the new special separator, which is displayed to mark the
end of the title columns, independently of the value of the
"-showseparators" option.
3. The "-stripebackground" and "-stripeforeground" options now have a
higher priority than the "-background" and "-foreground" column
configuration options, respectively (see the demo script
"styles.tcl", which has been extended to illustrate this change).
4. Improved the handling of embedded images with transparent
background, complementing the changes made in the previous Tablelist
release (thanks to Kai Morich for his valuable contribution).
5. Improved the implementation of the "seecell" subcommand for centered
and right-aligned columns.
6. Fixed two bugs related to the "rowconfigure" subcommand, introduced
in Tablelist version 3.5 (thanks to Ted Branscomb and Roger Niva for
their bug reports).
7. Fixed an old bug related to the "movecolumn" subcommand.
8. Several further improvements and minor bug fixes.
What was new in Tablelist 3.6?
------------------------------
1. Support for embedded windows, with the aid of the new cell
configuration option "-window" (thanks to Wolf Grossi, Glenn
Herteg, Takeshi Sakamoto, and Keesang Song for proposing this
option).
2. New demo script "embeddedWindows.tcl" illustrating the use of
embedded windows in tablelist widgets; this is discussed in a new
section of the tutorial "tablelist.html".
3. Significantly improved and optimized the handling of embedded
images.
4. Simplified the support for user-defined binding scripts with the
aid of the new commands "tablelist::getTablelistPath" and
"tablelist::convEventFields", as well as of a new binding tag whose
name is returned by the new "bodytag" subcommand (which is now used
in the demo script "browse.tcl").
5. Support for the new virtual events <<TablelistRowMoved>>,
<<TablelistColumnMoved>>, <<TablelistColumnSorted>> and
<<TablelistCellUpdated>> (thanks to John Vidolich for his
proposal). In addition, the new virtual event <<TablelistSelect>>
can now be used instead of <<ListboxSelect>> (which is supported
for compatibility reasons).
6. New subcommand "itemlistvar", for accessing the tablelist widget's
internal list (thanks to Patrick Fradin for his valuable input).
7. Fixed a bug related to the "-listvariable" option, introduced in
the previous Tablelist release (thanks to Torsten Reincke for his
bug report).
8. Fixed two bugs related to the "cellselection" subcommand (thanks to
John Vidolich for his bug report).
9. Fixed a few typos and minor bugs in the default binding scripts
(thanks to Patrick Fradin, Tore Morkemo, and Torsten Reincke for
their bug reports).
10. Numerous further improvements and minor bug fixes.
What was new in Tablelist 3.5?
------------------------------
1. New configuration option "-selecttype" with the values "row" and
"cell", and new binding scripts supporting these two selection
types (thanks to Kevin Partin for his proposal and to Dietmar
Müller for his valuable contribution).
2. New subcommands "activatecell", "cellselection", and
"curcellselection", used in the binding scripts mentioned above.
3. The words "active" and "anchor" are now recognized as valid column
and cell indices, too.
4. New configuration options "-movablerows" and "-movecursor", and new
mouse bindings for moving a row interactively (thanks to Dan Rogahn
for his valuable contribution).
5. The key sequences used for navigation between the editable cells
now also move the active item or element and change the
(cell)selection and the (cell)selection anchor in the body of the
tablelist widget.
6. Improved the handling and appearance of the checkbutton widget when
used as edit window (thanks to Kevin Partin for reporting a problem
experienced when the tablelist is embedded into an Iwidgets
dialogshell).
7. The "-listvariable" option now supports variable names returned by
the "itcl::scope" command, too (thanks to Nicolae Mihalache for his
bug report).
8. Fixed a very long-standing bug related to horizontal scrolling when
using a non-default font (thanks to Brand Hilton for his bug report
and fix).
9. Fixed another very long-standing bug, related to list variables
(thanks to Dr. Detlef Groth and John R. Smith for their bug
reports).
10. Numerous further improvements and minor bug fixes (thanks to
Patrick Fradin for his valuable input).
What was new in Tablelist 3.4?
------------------------------
1. New column configuration option "-editwindow", specifying the
widget type used for interactive cell editing in the respective
column (thanks to Damon Courtney, Patrick Fradin, and Keesang Song
for their proposals and to Mats Bengtsson and Benny Riefenstein for
their help related to the Macintosh platform). The edit window may
be a Tk core entry, spinbox, or checkbutton, or one of the 16
supported widgets from the packages BWidget, Iwidgets, combobox (by
Bryan Oakley), and Mentry.
2. New subcommand "editwinpath".
3. Three new demo scripts illustrating the use of the "-editwindow"
option; these are discussed in a new section of the tutorial
"tablelist.html".
4. New column configuration option "-maxwidth" (thanks to Tore Morkemo
for his proposal).
5. The <Shift-Button-3> event in a column label now restores the
column's last static width (thanks to Dietmar Müller for his
valuable input).
6. Changing a tablelist's font now updates the column widths
accordingly.
7. Improved the handling of the "-setgrid" option.
8. Improved the error handling related to the option database in the
general mega-widget utility module "mwutil.tcl".
9. Fixed a minor bug in the "containingcolumn" subcommand (thanks to
David Mattinson for his bug report).
10. Restored the support for Tcl/Tk versions earlier than 8.0.4, which
has been broken since release 3.0, due to the use of the
<MouseWheel> event, introduced in Tk 8.0.4.
11. Further code improvements (thanks to Patrick Fradin for his
valuable input).
12. Many improvements in the documentation, including a new Quick
Reference section (thanks to Dietmar Müller for his valuable
contribution).
What was new in Tablelist 3.3?
------------------------------
1. New column configuration option "-text" (thanks to Paul Kienzle for
his proposal).
2. New subcommands "containing", "containingcolumn", "containingcell",
and "fillcolumn".
3. New subcommands "deletecolumns", "insertcolumns", and
"insertcolumnlist" (thanks to Kevin Partin and Paul Kienzle for
their proposals).
4. Renamed the subcommands "getcolumn" and "getkey" to "getcolumns" and
"getkeys", respectively. (This won't break any existing scripts,
because the old command names are abbreviations of the new ones.)
5. Restored the support for Tcl/Tk versions earlier than 8.4, which was
broken in Tablelist 3.1 and 3.2, due to the use of the improved
syntax of the "place configure" command, introduced in Tk 8.4
(thanks to David Mattinson, Kurt Braganza, and Alexander Baath for
reporting this problem).
6. Fixed a bug in the "editcell" subcommand, introduced in Tablelist
3.1 (thanks to Damon Courtney for his bug report).
7. Improved the demo script "config.tcl" (thanks to Mats Bengtsson for
his input).
8. Restructured the code by moving several procedures from the
distribution file "tablelistWidget.tcl" into smaller, more
manageable modules.
9. Numerous further improvements and minor bug fixes.
What was new in Tablelist 3.2?
------------------------------
1. The key associated with a tablelist item can now be used as a row
index and as the first component of a cell index of the form
"row,col".
2. The "delete", "get", "getcolumn", "getkey", "selection clear", and
"selection set" subcommands now also accept a list of indices as
single argument (thanks to Damon Courtney and Erik Leunissen for
their proposals).
3. Made the interactive "movecolumn" operation more intuitive and
compatible with the behavior exhibited by similar actions in popular
applications on various platforms (thanks to Paul Kienzle for his
suggestion). For example, the target position of the column being
moved is now indicated by a temporary gap displayed in the
tablelist's header.
4. New configuration option "-targetcolor", used to set the color of
the gap mentioned above.
5. Fixed a bug related to the <MouseWheel> event, caused by a missing
close-bracket in the last release (thanks to Patrick Fradin for his
bug report).
6. Fixed a bug that raised an error in the "movecolumn" command for an
empty tablelist widget (thanks to Paul Kienzle for his bug report).
7. The workaround in the "xview" and "yview" subcommands for a Tk bug
under Mac OS X Aqua is now only activated for that windowing system,
since (as reported by Patrick Fradin) it caused problems on some
other systems.
8. Further minor code improvements.
What was new in Tablelist 3.1?
------------------------------
1. New configuration options "-movablecolumns" and
"-movecolumncursor".
2. New column configuration option "-name", whose value can also be
used as a column index and as the second component of a cell index
of the form "row,col".
3. New subcommands "move", "movecolumn", "getcolumn", "getkey", and
"finishediting" (thanks to Damon Courtney, Daniel Fehrenbach, Jeff
Godfrey, and Kevin Partin for their proposals).
4. Extended the scope of the "cancelediting" subcommand.
5. New mouse bindings for moving a column interactively.
6. The autoscrolling, as described in the "DEFAULT BINDINGS" section
of the "listbox" manual entry, is now implemented for the header of
a tablelist widget, too.
7. The interactive cell editing is now finished by any mouse click in
the tablelist's body, outside the cell just being edited (thanks to
Patrick Fradin and Jeff Godfrey for this suggestion).
8. The value returned by the "selection includes" command no longer
depends on the tablelist's state.
9. Worked around a bug in Tk 8.4.0 and 8.4.1 related to the "selection
handle" command, which caused crashes under KDE 3.0 (thanks to
Andres Garcia for reporting this and to Joe English for suggesting
the workaround and fixing the bug in Tk 8.4.2).
10. Improved the support of Mac OS X Aqua and Mac OS Classic (thanks to
Mats Bengtsson, Raymond Calande, Techin Alex Kang, Bernhard
Spinnler, and especially to Benny Riefenstein for their valuable
contributions).
11. Fixed a bug related to the invocation of the "cellconfigure"
subcommand from within a pre-edit callback (thanks to Dr. Johannes-
Heinrich Vogeler for his bug report).
12. Several performance improvements (thanks to Patrick Fradin for his
valuable suggestions).
13. Improved the platform-specific stuff in the demo scripts
"config.tcl" and "browse.tcl".
14. Numerous further improvements in the code and documentation.
What was new in Tablelist 3.0?
------------------------------
The main new feature provided by this release is the support for
interactive cell editing (thanks to Juri Shimon, Dr. Johannes-Heinrich
Vogeler, and Jeff Godfrey for their proposal). The first three items
below are related to this subject:
1. New configuration options "-editstartcommand" and "-editendcommand".
2. New column and cell configuration option "-editable".
3. New subcommands "editcell", "entrypath", "cancelediting", and
"rejectinput".
Further changes:
4. New subcommands "seecolumn" and "seecell".
5. Tabulator and newline characters are now retained in the internal
list, displayed as "\t" and "\n", and supported by interactive cell
editing (thanks to Jacek Jenrysik for his query concerning multi-
line items).
6. The redisplay and sorting of tablelist items have become
dramatically faster (thanks to Matt Becker for his input that
determined me to optimize these operations, and also for his
testing).
7. Further performance improvements (thanks to Patrick Fradin for his
valuable contribution).
8. The option values displayed by the demo script "config.tcl" can now
be edited interactively.
9. Minor improvements in the code and documentation.
What was new in Tablelist 2.8?
------------------------------
1. The trailing or leading ellipsis ("...") used when displaying the
elements that don't fit into their cells can now be replaced with an
arbitrary string specified with the aid of the new "-snipstring"
configuration option (thanks to Tore Morkemo for his proposal).
2. New value "none" for the "-activestyle" configuration option.
3. When exporting the selection, the elements of the hidden columns are
now skipped and the contents of the visible cells are transformed
according to the value of the "-formatcommand" option for the
corresponding columns.
4. Improved and simplified the focus control (thanks to Juri Shimon and
Gopal Reddy for their bug reports).
5. Further minor code improvements.
What was new in Tablelist 2.7?
------------------------------
1. Increased the speed of the "insert" and "insertlist" subcommands as
well as that of item insertions with the aid of the "-listvariable"
option by a factor of about 1.3. The "insert" subcommand is now
about 2.3 times faster than in version 2.4. Compared to version
2.4, item insertion with the aid of the "-listvariable" option has
become more than 10 times faster.
2. The number of pixels by which a column is stretched is now
proportional to its width in pixels. Based on this change,
significantly improved the stretching behavior after an interactive
column resize operation (thanks to Mats Bengtsson for his valuable
suggestions).
3. Fixed a bug in the "-(label)font" and "-labelborderwidth"
configuration options, introduced in version 2.5 (thanks to Bastien
Chevreux for his bug report).
4. Fixed a bug in the "columncget", "rowcget", and "cellcget"
subcommands, introduced in version 2.3 (again, thanks to Bastien
Chevreux for reporting this bug).
5. Fixed a bug in the binding scripts for the binding tag
"TablelistBody" (thanks to Miguel Bañón for his bug report).
6. Applied a patch proposed by Jeff Adamczak that works around a bug in
the "lsort" command, present in Tcl versions 8.0 - 8.3.2.
7. Applied a patch proposed (in a slightly different form) by Mats
Bengtsson that works around a bug in the "info script" command on
the Macintosh.
8. Further minor code improvements.
What was new in Tablelist 2.6?
------------------------------
The only change in this version is a bug-fix eliminating a rather nasty
bug in the "insert" and "insertlist" subcommands, introduced in the
previous release. Thanks to Mats Bengtsson for his bug report and to
Jeffrey Hobbs for suggesting me to bump the version number to 2.6.
What was new in Tablelist 2.5?
------------------------------
1. Increased the speed of the "insert" subcommand by a factor of about
1.8 and that of item insertions with the aid of the "-listvariable"
option by a factor of about 8. (These figures are based on speed
measurements made with two tablelist widgets: one having 1000 rows
and 10 columns and another one with 5000 rows and 20 columns.)
2. The "delete", "sort", and "sortbycolumn" subcommands, as well as row
and cell updates with the aid of the "rowconfigure" and
"cellconfigure" operations have also become significantly faster.
3. New "insertlist" subcommand.
4. New "-stripeheight" configuration option (thanks to Gregory Samoluk
for his proposal).
5. If no columns are to be stretched then the blank space following the
header labels is now filled with a dummy, insensitive label having
the same background, borderwidth, and relief as the "normal" header
labels.
6. Fixed a bug concerning the placement of the arrow indicating the
sorting order (thanks to Robert Minichino for his bug report).
7. Improved the handling of header labels with embedded images, to
eliminate some peculiarities experienced on Windows.
8. Several further improvements and minor bug fixes.
What was new in Tablelist 2.4?
------------------------------
1. New column configuration option "-formatcommand" (thanks to Jeff
Godfrey for his proposal). This option is now used in the demo
script "browse.tcl".
2. New row configuration option "-selectable" (thanks to Tore Morkemo
for this proposal).
3. Significantly improved the performance of the row and cell updates,
as well as of the "delete" subcommand (thanks to Emanuele Lupi for
her input that determined me to optimize these operations).
4. The widget implementation is now fully compatible with the recent
changes made in Tk 8.4a4 (thanks to Patrick Fradin for his input).
5. Pop-up menus as children of a tablelist widget cause no problem any
longer (thanks to Andres Garcia and Bastien Chevreux for reporting
this bug, introduced in the previous release).
6. Fixed a bug caused by the delayed redisplay after changing the
number of columns (thanks to Tore Morkemo for his bug report).
7. Minor improvements in the code and documentation.
What was new in Tablelist 2.3?
------------------------------
1. New configuration option "-activestyle", enabling to surround the
active item with a frame instead of underlining it.
2. The columns can now be separated with borders, by making use of the
new configuration option "-showseparators".
3. A nice distinguishing effect for the rows can now be obtained with
the aid of the new configuration options "-stripebackground" and
"-stripeforeground".
4. New tablelist widget subcommands "separatorpath" and "separators".
5. Fixed a bug related to the column index if the header labels are
hidden (thanks to Emanuele Lupi for her bug report).
6. New demo script "styles.tcl", showing several ways to improve the
appearance of a tablelist widget.
7. The demo scripts "config.tcl" and "browse.tcl" now make use of the
new "-stripebackground" option.
8. Numerous further improvements and minor bug fixes (thanks to Patrick
Fradin for his valuable input).
What was new in Tablelist 2.2?
------------------------------
1. The "-font" configuration option can now be specified at column,
row, and cell level, too (this was proposed and partly implemented
by Patrick Fradin). The data will be aligned properly, no matter if
the fonts are of different sizes.
2. Significantly improved the performance of the Tcl command associated
with a tablelist widget, especially that of the "delete", "sort",
and "sortbycolumn" subcommands for a large number (i.e., several
thousands) of items.
3. Corrected the creation of the arrow indicating the sorting order, to
make sure that it works under all supported Tcl/Tk versions (thanks
to Juri Shimon and Andres Garcia for their bug reports).
4. Several improvements in the demo scripts "config.tcl" and
"browse.tcl". Among others, the GUIs generated by these scripts now
have a better platform-specific look & feel (many thanks to Mats
Bengtsson for his valuable suggestions concerning the Macintosh
platform).
5. Further minor improvements in the code.
What was new in Tablelist 2.1?
------------------------------
1. The up- or down-arrow indicating the sorting order now has a 3-D
border, giving the arrow a sunken relief.
2. Due to the new 3-D look of the arrow, the default values of the
"-arrowcolor" and "-arrowdisabledcolor" configuration options have
been changed to an empty string, indicating that the arrow will
inherit the background color of the label in which it is placed.
3. Several improvements in the demo script "browse.tcl".
4. Minor improvements in the code and documentation.
5. The distribution file "tablelist2_1.zip" for Windows now includes
the "tablelist2.1" directory, hence it is no longer necessary to
create this folder before unpacking the distribution file (thanks to
Kevin Partin for this suggestion).
What was new in Tablelist 2.0?
------------------------------
1. New cell configuration option "-image", used to set and retrieve
the image to be displayed (by itself or together with a text) in a
cell of a tablelist widget.
2. New column configuration option "-labelimage" specifying the image
to be displayed (by itself or combined with a text) in a column
label.
3. The alignment of a header label can now be defined to be different
from that of the elements contained in its column, by using the new
column configuration option "-labelalign".
4. Renamed the column configuration option "-justify" to "-align",
because (at least in the case of the header labels) this actually
specifies not only the justification, but also the anchor point.
Hopefully, this POTENTIAL INCOMPATIBILITY will not break too many
existing applications, because the column alignments are usually
specified within the "-columns" global option.
5. Fixed a bug that raised an error when some configuration options
were specified at widget creation time before the "-columns" option
(thanks to Bastien Chevreux for his bug report).
6. Reverted the implementation of the focus control to that contained
in the pre-1.6 Tablelist releases, because its simplified version
from the last release failed to work as expected if a tablelist was
the only widget taking the focus during keyboard traversal (thanks
to Juri Shimon for his bug report).
7. Fixed a bug that caused an erronous return value of the "labels"
subcommand if the arrow indicating the sorting order was displayed.
8. Several performance improvements, kindly contributed by Patrick
Fradin.
9. To improve the performance even further, the invocations of "info
exists" for array elements are no longer replaced with a call to a
helper procedure (introduced in Tablelist 1.2), because the Tcl bug
that made this necessary for Tcl versions 8.2, 8.3.0 - 8.3.2, and
8.4a1 was fixed in Tcl 8.3.3 and 8.4a2. If for some reason you
cannot upgrade your Tcl/Tk version, then you should patch the file
"tablelistWidget.tcl" with the aid of the script "repair.tcl", as
described in the files "README.txt" and "tablelist.html".
10. The demo script "browse.tcl" now inserts an image into the first
cell of each row of the tablelist widget.
11. Numerous further improvements and minor bug fixes.
What was new in Tablelist 1.6?
------------------------------
1. The value of the "-stretch" configuration option is now ignored if
the width of the tablelist widget was specified as zero or less.
This change was necessary in order to improve the behavior of
dynamic-width tablelist widgets with the "-setgrid" option set to
true.
2. By pressing mouse button 1 over a header label, the label's relief
is now only changed to "sunken" if the value of the global or
column-specific "-labelcommand" option is nonempty.
3. Several improvements concerning hidden columns (thanks to Juri
Shimon for his bug report).
4. Made the focus control more straight-forward.
5. Extended the "How to use it?" section of the tutorial
"tablelist.html".
What was new in Tablelist 1.5?
------------------------------
This version contains mainly bug fixes and small improvements. Many
thanks to Andres Garcia, Bastien Chevreux, and Patrick Fradin for their
valuable contributions.
1. Fixed a bug concerning the "-label*" configuration options.
2. Fixed the erronous invocation of "getSubCmd" in the selection
handler "fetchSelection" (this bug was introduced in version 1.1).
3. Elements that don't fit into their cells are now displayed with a
trailing or leading ellipsis ("..."), depending on the column
alignment.
4. Several further improvements and minor bug fixes.
What was new in Tablelist 1.4?
------------------------------
1. New "-stretch" configuration option specifying the columns that are
to be stretched in order to eliminate the blank space that might
appear at the right of the table.
2. Improved the error handling in the "attrib", "configure",
"columnconfigure", "rowconfigure", and "cellconfigure" subcommands.
3. Improved the demo scripts "browse.tcl" and "config.tcl".
What was new in Tablelist 1.3?
------------------------------
1. The "sortbycolumn" subcommand now per default places an up- or
down-arrow indicating the sorting order into the respective column's
label. This can be enabled or disabled with the new "-showarrow"
configuration option, at both widget and column level.
2. New configuration options "-arrowcolor", "-arrowdisabledcolor", and
"-incrarrowtype" to control the appearance of the arrow mentioned
above.
3. New "resetsortinfo" subcommand, used to reset the information about
the sorting of the items.
4. Improved the demo script "browse.tcl".
5. Further improvements in the code and documentation.
What was new in Tablelist 1.2?
------------------------------
1. Whereever possible, eliminated the invocations of "info exists" for
array elements. This works around a severe bug in Tcl versions 8.2
and 8.3 (fixed in 8.4a2), which causes excessive memory use when
calling "info exists" on a non-existent array element. Some serious
memory leaks in earlier Tablelist versions when run under Tcl/Tk 8.2
or 8.3 (reported by Henning Hanusa and Christian Burrini) could be
tracked down to this very annoying Tcl bug (which I was not aware of
until recently).
2. The help variables used in the initialization of the "tablelist"
namespace are now declared with the "variable" keyword, in order to
avoid any conflicts with global variables.
3. Improved the parsing of configuration and command options.
What was new in Tablelist 1.1?
------------------------------
This version contains mainly bug fixes and small improvements. Many
thanks to Patrick Fradin, Bastien Chevreux, and Mats Bengtsson for
their valuable contributions.
1. Fixed some bugs in the implementation of the "-listvariable" option.
Also, the value of this option can now be an array element, not only
a scalar variable.
2. Fixed a bug in the implementation of the "get" subcommand.
3. New "sortcolumn" and "sortorder" subcommands to query the arguments
of the last sorting.
4. Improved the look & feel of tablelist widgets on the Macintosh.
5. Worked around a bug in Tk 8.3.0 (fixed in 8.3.1) concerning listbox
widgets with configured "-cursor" option.
6. Several further improvements and minor bug fixes.
What was new in Tablelist 1.0?
------------------------------
1. New "-resizable" option for the "columnconfigure" subcommand.
2. New "labels" subcommand. returning the list of the header labels.
3. The "-disabledforeground" and "-state" configuration options no
longer require Tk version 8.3 or higher.
4. All "-label*" column configuration options can now have an empty
string as value, meaning that the corresponding global option will
be used instead of the column-specific one.
5. Improved the output of the "columnconfigure" subcommand.
6. The help variables used in the coordinate transformations within
the scripts defined for the "TablelistBody" binding tag have been
moved into the "tablelist" namespace, in order to avoid any
conflicts with global variables.
7. Improved cross-platform support with the aid of the new <<Button3>>
virtual event.
8. Fixed a bug in the "compareAsSet" procedure of the demo script
"config.tcl".
9. New demo script "browse.tcl", containing a simple widget browser
based on a tablelist.
10. Both demo scripts now use a namespace for their procedures, to
avoid any conflicts when evaluating them with the "source" command.
11. The tutorial "tablelist.html" is now completed and includes a
detailed discussion of both demo scripts mentioned above.
12. Numerous further improvements in the code and documentation.
What was new in Tablelist 0.9?
------------------------------
1. The documentation now includes the tutorial "tablelist.html" (part
of which is still work in progress), as well as reference pages for
the two exported commands "tablelist::tablelist" and
"tablelist::sortByColumn".
2. The "-listvariable" configuration option is now fully implemented.
3. A column of a tablelist widget can now be made invisible by using
the new "-hide" option of the "columnconfigure" subcommand.
4. The contents of a row can now be updated with the new "-text" option
of the "rowconfigure" subcommand.
5. For Tk versions 8.3 or higher the "tablelist::tablelist" command now
supports the "-disabledforeground", "-labeldisabledforeground", and
"-state" configuration options.
6. Replaced "[focus]" with "[focus -displayof $win]", so that the code
will work properly in applications using multiple displays.
Similarly, the "font measure" command is now invoked with the
"-displayof $win" option. This also works around a peculiarity of
the "font measure" command.
7. Renamed "tablelistBindingTag" to "Tablelist".
8. Fixed a bug in the private procedure "colIndex", for arguments of
the form "@x,y". This procedure is invoked (directly or indirectly)
in the implementation of all commands that take a column or cell
index or an x coordinate as argument.
9. Numerous further improvements and minor bug fixes.