A Multi-Column Listbox
Artifact Content
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2018 Conference, Houston/TX, US, Oct 15-19
Send your abstracts to tclconference@googlegroups.com
or submit via the online form by Aug 20.

Artifact 43975974aab138d3c45c66b200efbaacbe17be60:

2002-09-25  Jeff Hobbs  <jeffh@ActiveState.com>

	* Makefile.in: better DESTDIR/libdir support (steffen)

2001-09-07  Andreas Kupries  <andreas_kupries@users.sourceforge.net>

	* mclistbox.tcl: Added 'FirstVisibleColumn' to retrieve the id of
	  the first non-hidden column. Using this procedure in some place
	  which have trouble to compute a sensible value for a hidden
	  column (pointer location to row index for example). This fixes
	  bug [455732].

2000-09-24  Dan Kuchler  <kuchler@ajubasolutions.com>

        * mclistbox.tcl: Added a column field to the mclistbox
        '-dropcmd' callback so that special things can be done
        based on both the column as well as the row.

2000-08-07  Dan Kuchler  <kuchler@ajubasolutions.com>

        * mclistbox.tcl: Added support for the '-state' flag so that
        the mclistbox can be either normal or disabled state.  Since
        the listbox can't be disabled until tk 8.4, for now, it only
        disables the mclistbox by changing its foreground to the disabled
        foreground color.

2000-06-19  Dan Kuchler  <kuchler@ajubasolutions.com>

        * mclistbox.tcl: Added a new binding for ButtonPress-1 to store the
        index of the row that is clicked on, so that when a drag event happens
        and the mclistbox::_init_drag_cmd os called, the index has already
        been calculated.  Previously if the drag moved too quickly the wrong
        item would be dragged.

2000-06-16  Dan Kuchler  <kuchler@ajubasolutions.com>

        * mclistbox.tcl: Replaced several catch {unset varname} calls with
        if {[info exists varname]} {unset varname}.  This avoids using the
        catch, and also prevents the ::errorInfo corruption that was happening
        in mclistbox

2000-05-01  Dan Kuchler  <kuchler@scriptics.com>

        * mclistbox.tcl: Improved the AdjustColumns function to consider
        the width of the label of the column as well as the contents of
        the column when the width is set to 0 and AdjustColumns is
        calculating what the width of the column should be.

2000-03-09  Sven Delmas  <sven@scriptics.com>

	* mclistbox.tcl: Added a binding to Unmap, so that the grab is
	released when the mclistbox (with the active inline editing entry)
	is unmapped.

1999-12-14  Eric Melski  <ericm@scriptics.com>

	* mclistbox.tcl: Fixed some bugs in the _over_cmd dealing with empty 
	listboxes.  Basically just had to put some checks around the return from
	bbox; in case it was null, do something a little different.

1999-12-10  Eric Melski  <ericm@scriptics.com>

	* mclistbox.tcl: Changed syntax of edit/editcombo to take the name of a
	return variable as a parameter and return 0/1 for failure/success, instead
	of returning null/non-null (because some people feel they need to be able
	to allow null values or some such nonsense...)

1999-12-09  Eric Melski  <ericm@scriptics.com>

	* mclistbox.tcl: Added auto-scroll for drag-and-drop.  When dragging over
	the listbox, it will scroll the listbox up or down if the cursor is in a
	"hotspot" near the top or bottom of the list.

1999-11-23  Eric Melski  <ericm@scriptics.com>

	* mclistbox.tcl: Added editcombo function, same as edit function but uses
	a combo box.
	Fixed bug in bbox.
	Fixed yscrollcommand handling to get *all* the updates.
	Fixed some formatting bugs.

1999-10-28  Eric Melski  <ericm@scriptics.com>

	* mclistbox.tcl: Added -editable/-editcommand for columns and 
	-iseditableindexcommand for the listbox.  The first two control the 
	placement and function of an "Edit" button for the specified column --
	if editable is true, the button is there.  When clicked, it calls 
	-editcommand with the name of the megawidget, the column name and the
	currently selected index.

	The third allows the user to specify a function that will return 1 or 0,
	indicating whether the selected index (or indices) are editable.  If
	they are, then the Edit buttons are enabled; if not, they are disabled.
	If not iseditableindexcommand is set, then the buttons are enabled 
	anytime there is just one item selected (ie, no multi-selections allowed).

1999-10-25  Eric Melski  <ericm@scriptics.com>

	* mclistbox.tcl: Fixed a small bug with drag&drop and the insertion frame.
	The _over_drag_frame_cmd and _drop_drag_frame_cmd functions are brittle in
	the sense that they are dependant on the way that the widgets in the 
	megawidget are created.  Be sure to watch for that in the future.

1999-10-15  Eric Melski  <ericm@scriptics.com>

	* mclistbox.tcl: Added a flag "hidden" to NewColumn (defaults to false),
	which controls if the column will be a hidden column or not.  Hidden cols
	are children of the frame, non-hidden ones are children of the text widget.
	This makes clipping work correctly for the non-hidden columns (ie, they
	no longer run over the border).  This is kind of a kludgy way to do it,
	but it's safer than introducing another widget (which would be the 
	"correct" way to do it -- put an enclosing frame on the widget, and
	use that to show the border, etc).

1999-10-15  Eric Melski  <ericm@scriptics.com>

	* mclistbox.tcl: Added widgetDefault values for drag/drop options;
	extended edit command to allow the specification of a validate
	command, for validating the input before withdrawing the widgets;
	added tests of dropenabled/dragenabled in NewColumn, to only
	register the widget as a drag/drop site if it is enabled.

1999-10-14  Eric Melski  <ericm@scriptics.com>

	* mclistbox.tcl: Extended drag-and-drop support with a -dropcursor
	option; this lets the user specify what kind of insertion cursor
	will be shown when performing a drop into a listbox.  It can be
	one of before (shows a line before the dropindex), after (line
	after the dropindex), on (highlights the dropindex) or none (does
	Fixed a particularly bad bug in Configure:  there were several
	comments inappropriately placed in a switch statement that were
	preventing it from ever executing.  It's a wonder that the listbox
	worked at all.
	Added some code to remove the insertion bar when leaving the widget 
	during dragover.
	Added an edit function, for doing inline edits.
1999-10-13  Eric Melski  <ericm@scriptics.com>

	* mclistbox.tcl: Added support for BWidget drag-and-drop protocol.
	Added a drag_end command.