2003-12-18  Bob Techentin <techentin@sourceforge.net>

	**** BWIDGET 1.7.0 TAGGED ****

	* README.txt: Changed revision to 1.7.0.  Note that
	1.7.0 does not include 2003-11-26 mod to notebook.tcl.

2003-11-26  Jeff Hobbs  <jeffh@ActiveState.com>

	* notebook.tcl (NoteBook::bindtabs): correct tab name returned.	(groth)

2003-11-17  Jeff Hobbs  <jeffh@ActiveState.com>

	* entry.tcl (Entry::create): add missing line continuation.
	[Patch #843932] (oehlmann)

2003-11-10  Damon Courtney  <damon@unreality.com>

	* entry.tcl: Use a button widget for -disabled options if
	we're using 8.3 [Bug 839469]

2003-11-05  Damon Courtney  <damon@unreality.com>

	* combobox.tcl: Fixed dropdown listbox selection for
	standard Tk listbox [Bug 831496].

2003-11-05  Jeff Hobbs  <jeffh@ActiveState.com>

	* scrollview.tcl (ScrollView::_set_view): correct :canvas to
	renamed :cmd.

2003-10-30  Jeff Hobbs  <jeffh@ActiveState.com>

	* scrollw.tcl (ScrolledWindow::setwidget): check that the old
	widget associated still exists before unconfiguring it. [Bug #833034]

2003-10-27  Damon Courtney  <damon@unreality.com>

	* combobox.tcl, listbox.tcl: Fixed keyboard navigation in the
	combobox drop down [Bug 831496].

	* listbox.tcl: Added curselection subcommand to mimic Tk listbox
	behavior.

	Added keyboard navigation to the listbox.

	* widget.tcl: Added Widget::exists command to return whether a
	widget is a BWidget (based on whether it exists in the _class array).

	Widget::destroy now properly unsets the widget's variable in
	the _class array.

2003-10-27  Joe English  <jenglish@users.sourceforge.net>
	* DragSite.html, DropSite.html: Fix markup errors [Bug #740484]

2003-10-20  Damon Courtney  <damon@unreality.com>
	* arrow.tcl, bitmap.tcl, button.tcl, buttonbox.tcl, color.tcl,
	* combobox.tcl, dialog.tcl, dragsite.tcl, dropsite.tcl, entry.tcl
	* font.tcl, label.tcl, labelentry.tcl, labelframe.tcl, listbox.tcl
	* mainframe.tcl, messagedlg.tcl, notebook.tcl, pagesmgr.tcl
	* panedw.tcl, passwddlg.tcl, progressbar.tcl, progressdlg.tcl
	* scrollframe.tcl, scrollview.tcl, scrollw.tcl, separator.tcl
	* spinbox.tcl, titleframe.tcl, tree.tcl, utils.tcl, widget.tcl
	* xpm2image.tcl: Revamp again to let core Widget commands handle
	most of the esoteric work of creating and destroying widgets
	properly in the BWidget environment.

	The command Widget::define defines a class, its filename and a
	list of classes which it uses.  This command handles creating
	the command to create new widgets, creates a ::use command for
	the class and calls the ::use command for each class included.

	The command Widget::create does the renaming of the widget to
	$path:cmd and creates the proc to redirect the widget commands.

	Widget::destroy now does the rename $path "" that almost all
	widgets do.

	* button.tcl: Added a -state option to configure the state of the
	entire box at once.

	Added new insert and delete subcommands.

	Added an after cancel to stop button repeat upon release.
	[Bug 697022]

	* combobox.tcl: Added -bwlistbox, -listboxwidth and -hottrack options.
	-images option already existed, but now it actually does something.

	Added getlistbox, get, icursor, post and unpost subcommands.

	* dynhelp.tcl: Added add subcommand to replace the (now) deprecated
	register command.  The new command adds for a lot more flexibility
	in applying dynamic help.

	Help popup now comes up -topmost 1 on Windows if available.

	* entry.tcl: Added -disabledbackground option so that the BWidget
	entry more closely resembles the standard Tk entry.
	[Bug 638236].

	* init.tcl: Moved Widget::traverseTo into widget.tcl.

	* label.tcl: Renamed BWLabel class to just Label.

	* listbox.tcl: Added a default -dropcmd so that if -dragenabled
	and -dropenabled are true, drag-and-drop within the same widget
	is possible without any other options.

	Added -autofocus option to specify that clicking within the listbox
	should draw the focus in order to handle mouse wheel events.

	Added -selectfill option for drawing a full selection rectangle
	around selected items instead of just around the item.

	Added getcanvas subcommand.  [Bug 436762].

	bindImage and bindText now map %W to $path in order to get an
	accurate path in events.  This can probably be fixed better
	when we have more control over event parameters.  [Bug 607745]

	Added mouse wheel bindings by default.

	Added <<ListboxSelect>> event when selection changes.

	* mainframe.tcl: Fixed bug for adding CTRL-F items to a mainframe
	[Bug 784269]

	* messagedlg.tcl: Added -buttonwidth option.

	* notebook.tcl: Added dynamic help to tabs.

	Added -tabpady option to specify the padding between the text and
	the tab.

	Notebooks now handle multi-line text properly.  [Bug 565284]

	* scrollview.tcl: Rewritten to use a variable per path instead of
	a big array.

	* tree.tcl: Added -anchor option to nodes to specify the anchor for
	an image or window when displayed.

	Added -crossopenimage, -crosscloseimage, -crossopenbitmap and
	-crossclosebitmap options to change the open / close cross.

	Added mouse wheel bindings by default.

	Added toggle subcommand to toggle a single tree node.

	Added <<TreeSelect>> event when selection changes.

	The characters "& | ^ !" are all converted to | silently in
	node names.  This is to avoid errors because these characters
	are special to the canvas widget.  [Bug 746960]

	bindImage and bindText now map %W to $path in order to get an
	accurate path in events.  This can probably be fixed better
	when we have more control over event parameters.  [Bug 607745]

	* utils.tcl: Added BWidget::wrongNumArgsString command to return
	a standard wrong # args error string.

	Added BWidget::classes command that returns a list of all classes
	required by a given class.

	Added BWidget::inuse command to determine if a given class is inuse.

	Added BWidget::library command to return a body of code that can
	be saved into a project or other code based on the given classes.
	When called with a list of classes, all the classes and code
	necessary to use those classes is returned in a large string which
	can then be written out to a file.

	Added BWidget::write command to write to a given file the current
	set of classes that are in use.

	Added BWidget::bindMouseWheel command to setup default mouse
	bindings on a given widget.

	* widget.tcl: Added a new option type 'Padding' which will accept
	the standard padding arguments in Tcl 8.4+.

	Added Widget::define command to define a new BWidget class.

	Added Widget::create command to create a BWidget properly.

	Widget::destroy now attempts to delete a widget command created
	through Widget::create.

	Added Widget::options command to return the current options of
	a given widget in a style that can be used to serialize a widget.

	Added Widget::getOption command to get options based on children
	having the same option.

	* wizard.tcl: Added new Wizard widget.


2003-10-17  Jeff Hobbs  <jeffh@ActiveState.com>

	* arrow.tcl, bitmap.tcl, button.tcl, buttonbox.tcl, color.tcl,
	* combobox.tcl, dialog.tcl, dragsite.tcl, dropsite.tcl, entry.tcl
	* font.tcl, label.tcl, labelentry.tcl, labelframe.tcl, listbox.tcl
	* mainframe.tcl, messagedlg.tcl, notebook.tcl, pagesmgr.tcl
	* panedw.tcl, passwddlg.tcl, progressbar.tcl, progressdlg.tcl
	* scrollframe.tcl, scrollview.tcl, scrollw.tcl, separator.tcl
	* spinbox.tcl, titleframe.tcl, tree.tcl, utils.tcl, widget.tcl
	* xpm2image.tcl: major revamp to reduce incorrect use of eval and
	other list-safetiness evils.  Also change !strcomp to streq.

2003-08-06  Jeff Hobbs  <jeffh@ActiveState.com>

	* listbox.tcl: Correct Listbox selection drawing [Bug #781652]

2003-07-17  Joe English  <jenglish@users.sourceforge.net>
	* init.tcl, combobox.tcl:  Fix for [Bug 720032] "BWidget
	breaks Tk entry behaviour".  Highlight the entry
	in a <<TraverseIn>> binding, instead of doing so
	on every <FocusIn> event.  Change the global <Tab> 
	and <Shift-Tab> bindings to generate <<TraverseIn>>
	and <<TraverseOut>> events.

2003-07-17  Jeff Hobbs  <jeffh@ActiveState.com>

	* notebook.tcl: Use list with eval for safety.
	Use lsearch -exact instead of default -glob in all uses.

	* listbox.tcl (_multiple_select): correct shift-selection when
	selectmode is multiple.  [Bug 653266]
	Use lsearch -exact instead of default -glob in all uses.
	Use list with eval for safety.

	* BWman/ScrolledWindow.html: clarify management of embedded widget.

2003-06-23  Damon Courtney <damon@unreality.com>
	* combobox.tcl: Added a little better handling of keys in the
	auto-complete.

2003-06-06  Damon Courtney <damon@unreality.com>
	* combobox.tcl: Added a rudimentary auto-complete function
	with option (-autocomplete) that is turned off by default.
	Over time, I'm sure this function can be improved, but I
	think it works pretty well for now.

	* BWman/ComboBox.tcl: Added documentation for -autocomplete.

2003-06-05  Damon Courtney <damon@unreality.com>
	* listbox.tcl: Liberal use of list where appropriate to make
	the code safe for space-containing node names.

2003-05-23  Bob Techentin <techentin@sourceforge.net>

	**** BWIDGET 1.6.0 TAGGED ****

	* README.txt: 

2003-05-18  Jeff Hobbs  <jeffh@ActiveState.com>

	* progressbar.tcl: correctly handle progressbar being quickly
	created and deleted by deleting afters and checking var existence.

2003-05-18  Joe English  <jenglish@users.sourceforge.net>

	* widget.tcl (Widget::focusOK): Don't assume that '-editable' 
	option is always 1 or 0 for all widgets. [Bug 710658]

2003-05-14  Jeff Hobbs  <jeffh@ActiveState.com>

	* demo/tree.tcl: make the tree scrollview make sense in demo.
	[Bug 684462]

	* notebook.tcl: ensure that bd is min 1 at all times. [Bug 688227]
	Correct use of eval with list.

	* tree.tcl: correct node lsearch'ing to use -exact to allow for []
	containing nodes [Bug 628041] (decoster)

2003-05-07  Jeff Hobbs  <jeffh@ActiveState.com>

	* dynhelp.tcl (DynamicHelp::_motion_balloon): correctly listify
	after delayed _show_help callback.

2003-05-06  Jeff Hobbs  <jeffh@ActiveState.com>

	* scrollw.tcl (ScrolledWindow::setwidget): remove any existing
	widget before setting the next.

2003-05-01  Jeff Hobbs  <jeffh@ActiveState.com>

	* tree.tcl (Tree::configure, Tree::_draw_node): add a full-width
	box underneath the text and image/window that will react to the
	node binding if -selectfill is true.  It is an empty box that is
	overly wide, but it could be improved to resize on Configure to
	just the window width and replace the sel box.

2003-04-23  Jeff Hobbs  <jeffh@ActiveState.com>

	* tree.tcl: liberal use of list where appropriate to make the code
	safe for space-containing node names.
	Make use of string equal instead of !string compare.
	(Tree::_redraw_selection): correct -selectfill to include the
	image, in any, in the bbox calculation since it may be larger.

2003-04-15  Damon Courtney <damon@unreality.com>

	* listbox.tcl
	* tree.tcl: Added a #auto substitution for inserting new items
	into a tree or listbox.

	* BWman/ListBox.html
	* BWman/Tree.html: Added documentation for #auto substitution.

2003-04-14  Jeff Hobbs  <jeffh@ActiveState.com>

	* utils.tcl (BWidget::focus): add optional refocus arg
	* combobox.tcl: make droplist use solid 1-pixel relief more in
	accordance with Windows style.  Set topmost attribute on droplist.
	Add bindings that unmap the droplist if we lose focus to another
	application (where [focus] == ""), without refocusing to the entry.

2003-04-11  Jeff Hobbs  <jeffh@ActiveState.com>

	* combobox.tcl (ComboBox::_expand): add tab expansion behavior
	when -expand tab is specified
	(ComboBox::_focus_in): autohighlight full contents only when no
	existing selection exists. [Bug #720024]

	* BWman/ComboBox.html: doc -expand none|tab

2003-03-12  Damon Courtney <damon@unreality.com>

	* listbox.tcl: Added dynamic help support to listbox items.

	* tree.tcl: Fixed a little inconsistency in the tree dynamic help.
	We don't need to save the whole path in the help array, just the
	node.

2003-02-25  Jeff Hobbs  <jeffh@ActiveState.com>

	* scrollw.tcl: add lock around grid remove scrollbar to prevent
	infinite loop in small window situations. (kienzle)

	* pkgIndex.tcl:
	* configure.in: bumped to v1.6

	* scrollw.tcl: complete rewrite of ScrolledWindow widget to
	address infinite loop scrollbar problems.  This one is much
	simpler and does not suffer the infinite loop.  There still seems
	to be an issue with shrinking smaller than one scrollbar width /
	height in size, but that's not common (nor fatal).  Addresses
	[Patch #671821, #520903] [Bug #472718, #564691]
	This may introduce new incompatabilities, but it does work as
	expected for noted bugs and in the demos.

	* widget.tcl: code cleanup
	* scrollframe.tcl: code cleanup

2003-02-24  Jeff Hobbs  <jeffh@ActiveState.com>

	* panedw.tcl (_realize): only allow _realize to be called once the
	Configure binding has triggered once. [Bug #613134]
	[Patch #63500] (decoster)

2003-02-17  Jeff Hobbs  <jeffh@ActiveState.com>

	* font.tcl: comment out the adding of default style bits for bold
	and italic.  The allows setting the font to something like
	"Courier 8", clicking B on and off and getting "Courier 8" back
	again (otherwise gave "Courier 8 normal roman").

2003-02-08  Damon Courtney <damon@unreality.com>
	* BWman/SelectColor.html
	* color.tcl:   Cleaned up some of the documentation of SelectColor
	  and made it actually work like the documentation says it does.

	* BWman/DynamicHelp.html
	* dynhelp.tcl:  Added -topbackground, -padx and -pady options to
	  allow a little more flexibility in the look-and-feel of balloons.

	  Added the ability to bind dynamic help to individual items or tags
	  on a canvas.

	* BWman/Tree.html
	* tree.tcl:  Added -padx and -deltax options to individual nodes
	  within a tree.  Each option defaults to -1, meaning to take its
	  value from the global option of the same name.

	  Added dynamic help to nodes within a tree.  Adds the following
	  options: -helptext, -helptype and -helpvar to each node.

	* BWman/BWidget.html
	* utils.tcl:  Added BWidget::badOptionString utility to return a
	  standard error string when a given option doesn't match a list.

	* BWman/Widget.html
	* widget.tcl:  Added Widget::getVariable proc to create a reference
	  to a variable relative to the given widget path.

2003-01-26  Damon Courtney <damon@unreality.com>
	* BWman/DynamicHelp.html:
	* dynhelp.tcl:  Added -state option to disable help balloons on a
	  global scale.

	* BWman/Tree.html:
	* tree.tcl: Added -crossfill option to allow the + / - bitmap to
	  be filled with a different color than the connecting node lines.
	  -linesfill is now accurate in its help entry and only adjusts
	  the foreground color of the lines between the nodes.

2003-01-24  Joe English  <jenglish@users.sourceforge.net>
	* tree.tcl (Tree::delete, Tree::_subdelete): remove all deleted
	nodes from the the selection [Bug #621178].

2003-01-17  Pat Thoyts  <patthoyts@users.sourceforge.net>

	* labelentry.tcl: fixed -textvariable option [bug #649383]

2002-10-14  Jeff Hobbs  <jeffh@ActiveState.com>

	* pkgIndex.tcl:
	* configure.in: bump version to 1.5

	* button.tcl: remove -repeatdelay and -repeatinterval for 8.4 to
	allow Button to override them. [Bug #620103]

	* combobox.tcl: make -entrybg also control the listbox background.
	[Bug #519189] (chevreux)

	* tree.tcl (_see): change to always show left edge of requested
	item. [Patch #556077] (english)  [NOTE: also included Patch #621331 
	"Allow delete of selected Tree nodes"]

	* dynhelp.tcl: allow variable and balloon help simultaneously.
	[Patch #567982] (decoster)

	* BWman/LabelFrame.html:
	* labelframe.tcl: allow -bitmap -image and -textvariable options
	of the BWLabel component of a LabelFrame. [Patch #620753] (decoster)

	* widget.tcl (_get_tkwidget_options): withdraw toplevel if it is
	the TkResource base widget. [Patch #620754] (decoster)

	* tree.tcl (delete): correct tree deletion with selected nodes.
	[Patch #621331] (decoster)

	* progressbar.tcl (_modify): use updated idletasks instead of
	update. [Patch #622927] (decoster)

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

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

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

	* color.tcl (SelectColor::menu): added tkwait and update to make
	sure that the grab doesn't fail on Unix.

	* listbox.tcl: corrected multiple selectmode bindings.
	[Patch #483838, Bug #594853] (decoster)

2002-08-23  Andreas Kupries  <andreas_kupries@users.sourceforge.net>

	* tree.tcl: Modified subcommand 'includes' of the method
	  'selection to properly extract its argument. ... Revamped the
	  whole subcommand to properly extract and check its arguments.

	  (create) Added Control-Button-1 bindings to allow toggling the
	  selection of a node. I will do no bindings for shift-selecting
	  and/or drag-selecting ranges. To complex for me right now.

	  Moved the code executing the -selectcommand callback to an
	  internal procedure, and added calls to that procedure to all
	  subcommands which change the selection. This fixes SF Bwidget
	  Bug #547245.

	* BWman/Tree.html: Documented the 'includes' and 'range'
	  subcommands of the method 'selection' of tree widgets.
	  Documented the node option '-selectable'. Documented that the
	  subcommands extending or setting the selection silently ignore
	  unselectable nodes. Documented new 'toggle' subcommand of method
	  'selection'. Documented option --slectcommand'. Fixed bogus
	  table html in option lists.

2002-06-04  Jeff Hobbs  <jeffh@ActiveState.com>

	**** BWIDGET 1.4.1 TAGGED ****

	* README.txt: 
	* configure.in: 
	* pkgIndex.tcl: up'ed version to 1.4.1

	* listbox.tcl: corrected use of 'end' as move index. [Bug #561391]
	* buttonbox.tcl: 
	* tree.tcl: force frame -padx/-pady to 0 to handle 8.4+ frame
	padding options. [Bug #545119]

	* scrollframe.tcl: corrected scrollregion configuration on
	Configure of frame to use full width/height of canvas when the
	canvas is larger.  This ensures that scrolling "anchors" properly
	to topleft.

	* dialog.tcl: prevent dialog from freezing on Windows with tkwait
	visibility on withdrawn toplevels. [Patch #521386] (chevreux)

	* font.tcl: reworked loadfont to not sort font names unless
	requested.  [Patch #524353] (kienzle, hobbs)

	* panedw.tcl: corrected handling of weighted panes following a
	Configure event. [Patch #513320] (decoster)

	* progressbar.tcl: Fixed display of vertical progressbar.
	[Patch #561403]

2002-05-29  Andreas Kupries  <andreas_kupries@users.sourceforge.net>

	* combobox.tcl: Changed relief of popup list to ridge, for Win*
	  platforms.

2002-05-09  Andreas Kupries  <andreas_kupries@users.sourceforge.net>

	* dynhelp.tcl: Accepted patch for bug 528929. Reported by
	  <bach@users.sourceforge.net>, patch also by him.

2002-04-25  Andreas Kupries  <andreas_kupries@users.sourceforge.net>

	* notebook.tcl: Accepted patch for bug #532246, fixing the
	  appearance of the tabs so that text is always visible
	  completely.

2002-01-26  Pat Thoyts  <patthoyts@users.sourceforge.net>

	* utils.tcl: Modified BWidget::place to support multiple screens
	under Windows. Better support would require Tk modifications.
	* demo/tree.tcl: Fixed for starting on secondary monitor under
	windows.
	* BWMan/BWidget.html: added documentation for BWidget::place.
	
2002-01-22  Jeff Hobbs  <jeffh@ActiveState.com>

	**** BWidget 1.4.0 tagged ****

	* widget.tcl: added Color as an optional type, with _test_color
	test.  [RFE #443124].

2002-01-15  Jeff Hobbs  <jeffh@ActiveState.com>

	* BWman/ComboBox.html: removed reference to label options that
	were removed when the LabelFrame was dropped.  [Bug #477130]

	* listbox.tcl: allowed drop handler to work in empty listbox.
	[Bug #456883]

	* mainframe.tcl: correct unprotected eval calls.  [Patch #501210]
	(chevreux)

2001-12-28  Jeff Hobbs  <jeffh@ActiveState.com>

	* BWman/Dialog.html:
	* dialog.tcl: Added '-transient' and '-place' flags.
	[Patch #483838] (decoster)

	* BWman/Tree.html:
	* tree.tcl: Added a 'recursive' argument to 'Tree::opentree' and
	'Tree::closetree'. [Patch #483838] (decoster)

	* BWman/ProgressBar.html:
	* progressbar.tcl: Added new type 'nonincremental_infinite' and
	modified movement of progressbar when in 'infinite' or
	'nonincremental_infinite' mode. The 'nonincremental_infinite' can
	be used when a certain process monitored by a ProgressBar returns
	a total count and not an increment count. [Patch #483838] (decoster)

	* BWman/PanedWindow.html:
	* panedw.tcl: Added '-weights' flag with possible value 'extra' or
	'available'.  Since BWidget-1.3.1, the meaning of the '-weight'
	flag for the 'PanedWindow::add' command was changed. This made it
	difficult to create a layout where the panes occupy a certain
	amount of the screen. When using the '-weights extra' flag when
	creating a PanedWindow widget, the >=1.3.1 behavior is used: the
	weights for the different panes are only used for extra space.
	When using the '-weights available' flag, the weights for the
	different panes are used to set the size of each panes relative to
	the total available space. [Patch #483838] (decoster)

	* BWman/ListBox.html:
	* listbox.tcl: Added '-selectmode' flag and 2 possible
	select-modes: single and multiple. [Patch #483838] (decoster)

	* widget.tcl: Select element 4 (was 3) from the config-options to
	get value from optiondb. [Patch #483838] (decoster)

	* utils.tcl: added else case to place is called with location
	different from 'at' and 'center' and without a parent.
	[Patch #484123] (decoster)

	* mainframe.tcl: added options -menubarfont, -menuentryfont and
	-statusbarfont at creation time of the widget as well as
	subsequent configures. [Patch #479935] (chevreux)

	* listbox.tcl: added multipleinsert command to allow faster
	inserts of multiple items. [Patch #458446] (chevreux)
	* widget.tcl: added Widget::copyinit. [Patch #458446] (chevreux)

	* BWman/NoteBook.html:
	* notebook.tcl: added options for enhanced tab shape in notebooks.
	[Patch #402466] (haneef)

	* configure.in:
	* pkgIndex.tcl:
	* README.txt: bumped version to 1.4.0 (not released)

	* mainframe.tcl (_create_menubar): start tagstate initially on.
	[Patch #470273] (chevreux)
	(_parse_accelerator): improve F* function key accelerator support.
	[Patch #444172] (venski)

2001-10-14  Jeff Hobbs  <jeffh@ActiveState.com>

	* pagesmgr.tcl: reverted fix of 2001-10-11 - it was bogus.

2001-10-11  Jeff Hobbs  <jeffh@ActiveState.com>

	* pagesmgr.tcl: allowed the ability to specify page by name,
	not just number.

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

	* notebook.tcl: Removed 'Canvas' from the list of bindtags for the
	  internal canvas to prevent interference from application
	  specific bindings with our special widget. [459033].

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

	* passwddlg.tcl: Accepted change by Bastien Chevreux
	  <bach@users.sourceforge.net> adding a -logineditable option to
	  the password dialog. [436340].

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

	* panedw.tcl: Added option -activator to allow user to choose sash
	  activator. Reduced minimum allowed sash width. [442474]. Request
	  made by Bastien Chevreux <bach@users.sourceforge.net>.

	* label.tcl: Corrected typo in BWlabel::configure [454505], report
	  and fix by Bastien Chevreux <bach@users.sourceforge.net>.

	* arrow.tcl: Changed containing frame to be more invisible
	  (borderwidth 0). Fixes [458301], by Georgios Petasis
	  <petasis@users.sourceforge.net>.

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

	* tree.tcl (Tree::_keynav): Added code to call the open and close
	  commands when the open-status of a node is toggled with the
	  space bar. Bug [449284].

	* color.tcl: Added the missing definition of the main
	  'SelectColor' procedure. This prevented users from creating
	  these widgets in the documented way. Bug [449276].

2001-06-21  eric melski  <ericm@ajubasolutions.com>

	* tree.tcl: Corrected keyboard navigation so that open/close
	commands are invoked when right/left arrows are used to open/close
	nodes, patch from [Bug #435097].  Also corrected keyboard
	navigation on right arrow press; previously only opened closed
	nodes that had children, but should always open nodes, regardless
	of whether it has children.

2001-06-11  Jeff Hobbs  <jeffh@ActiveState.com>

	* pkgIndex.tcl: bumped version to 1.3.1 and added Tk 8.1.1 package
	require as Tcl 8.1.1 is needed in certain core areas for the new
	string methods.

	* mainframe.tcl: corrected state interpretation.  It doesn't do
	exact argument matching, but it is consistent with the rest of
	BWidget.  [Bug #224476]

	* demo/demo.tcl: fixed demo script to run when called from
	another directory

	* messagedlg.tcl: corrected winfo exists call

	* listbox.tcl: fixed string compare call

	* combobox.tcl: added package require Tk 8.3.

	* passwddlg.tcl: 
	* xpm2image.tcl: 
	* mainframe.tcl: 
	* panedw.tcl: 
	* utils.tcl: 
	* entry.tcl: 
	* dynhelp.tcl: 
	* dragsite.tcl: 
	* color.tcl: added braces to expr where appropriate

2000-10-31  Dan Kuchler  <kuchler@ajubasolutions.com>

        * combobox.tcl: Added the '-exact' option to the 'lsearch'
        commands in the combobox code so that the correct index
        of items will be returned even when there are glob/regexp
        characters.

2000-10-10  Dan Kuchler  <kuchler@ajubasolutions.com>

        * dynhelp.tcl: Added the '-screen' option to the toplevel that
        is created to display the help text to fix a bug reported by
        Tupone Alfredo.

2000-10-01  Eric Melski  <ericm@ajubasolutions.com>

	* notebook.tcl: Fixed typo in _draw_page that incorrectly placed
	images on tabs.

2000-09-17  Eric Melski  <ericm@ajubasolutions.com>

	* widget.tcl (_test_boolean): Altered to return strictly 0 or 1
	(for false and true, respectively), rather than allowing the
	string booleans (false, true, off, on, etc).

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

	* mainframe.tcl: Fixed the typo of Alt (Atl) as reported in bug #
	6079.

2000-09-05  Eric Melski  <ericm@ajubasolutions.com>

	* label.tcl: Corrected bindtags for BWidgets Label components:
	primary component widget now includes the megawidget pathname in
	its bindtags list, so that bindings on the megawidget pathname are
	applied properly.

2000-08-10  Eric Melski  <ericm@ajubasolutions.com>

	* widget.tcl: Corrected a problem caused by the destruction of the
	special .#BWidget* widgets, which are used by BWidgets for some
	option value validations; formerly, if these were destroyed, it
	could confuse the BWidgets system's internal state, and creating
	BWidgets after destroying these helper widgets would throw an error.

2000-06-14  Dan Kuchler  <kuchler@scriptics.com>

	* dialog.tcl
	* dropsite.tcl
	* dynhelp.tcl
	* scrollview.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 BWidgets.

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

	* tree.tcl: Fixed a typing error in the Tree::find procedure.
	The procedure wouldn't work because there was a 'llengh' where there
	should have been a 'llength'.

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

	* titleframe.tcl: Added a '-state' flag that is associated to the
	state of the label.  Now that labels can be disabled (in 8.3 and
	beyond) this allows for the titleframe to have a disabled appearence.

2000-05-02  Eric Melski  <ericm@scriptics.com>

	* tree.tcl: Did some fancy focus footwork [Bug: 4491].  Now you
	can do this: "Tree .t ; bind .t <Button-1> foo", and it will do
	the right thing.  This will enable the use of proper
	focus-on-mouse-click bindings for trees, which in turn will fix
	the focus problem described in 4491.  In addition, I added a
	binding to the canvas widget in the tree that redirects focus when
	it leaves the canvas and goes to the frame, just in case.
	
	* dialog.tcl: Added a -geometry option, to allow the specification
	of geometry for the dialog.  No particular care is taken to
	validate the geometry string, so if it is bogus, you lose. [RFE:
	5188].

2000-04-27  Eric Melski  <ericm@scriptics.com>

	* entry.tcl: Added smarts to handle Copy for non-editable entries
	(it should be allowed, but was not previously) [Bug: 3755].

	* notebook.tcl: Small tweaks for placement of images on tabs.

	* combobox.tcl: Added code to ensure that non-editable (but
	enabled) comboboxes could still be tabbed in to.

2000-04-26  Dan Kuchler  <kuchler@scriptics.com>

	* button.tcl: Fixed the bindings that get setup on buttons with
	an underline specified to be case insensitive (i.e  if 'A' or 'a'
	was the underline character, Alt-A and Alt-a would both be bound
	to the button.

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

	* tree.tcl:  Added protection for the left arrow key click in case
	we are already at the root node. This used to throw a Tcl error
	(fixes bug # 4619).

2000-03-20  Eric Melski  <ericm@scriptics.com>

	* progressbar.tcl: (configure) Added test for change to -maximum
	value, so that bar is redrawn if maximum changes. [Bug: 4399].

	* BWman/SpinBox.html: Removed references to -label* options.

	* demo/select.tcl: Removed use of -label* options on ComboBox and
	SpinBox. [Bug: 4394].

2000-03-14  Eric Melski  <ericm@scriptics.com>

	* button.tcl: (configure) replaced several hasChanged calls with
	one hasChangedX call.

	* dynhelp.tcl: (sethelp) replaced several hasChanged calls with
	one hasChangedX call.

	* entry.tcl: Replaced stack of hasChanged calls with one
	hasChangedX (in configure); replaced a couple cget's with
	getMegawidgetOption's.

	* spinbox.tcl: Updated _test_options to use setMegawidgetOption,
	and to only do that if it has to, instead of always doing it.

	* tree.tcl: Worked on itemcget; instead of upvar'ing the
	one-time-use variable, just refer to it directly.

	* widget.tcl: One problem with [set
	${class}::${path}:opt($option)] -- if path contains "foo(foo)",
	the command will choke.  Removed that particular
	micro-optimization.  Added setMegawidgetOption to compliment
	getMegawidgetOption; extended hasChangedX to accept multiple
	options to check.  This allows us to compress stacks of hasChanged
	calls into a single call (so there's a single function call, and a
	single upvar...).

2000-03-13  Eric Melski  <ericm@scriptics.com>

	* combobox.tcl: Tweaked bg/background options so that button
	didn't pick up entry background.

	* widget.tcl: Removed dead code; micro-optimizations to initFromODB.

	* tree.tcl: Added option for default -fill of tree nodes on windows.

	* notebook.tcl: Removed commented code.

	* button.tcl: 
	* tree.tcl: 
	* spinbox.tcl: 
	* entry.tcl: 
	* dropsite.tcl: 
	* dragsite.tcl: 
	* arrow.tcl: Replaced selected cget/getoption calls with
	getMegawidgetOption calls.

	* combobox.tcl: Removed LabelFrame from ComboBox (30% faster).

	* widget.tcl: Added getMegawidgetOption function, which allows
	direct access to megawidget-specific options (those that do not
	map to a component widget option).  This is dangerous, because it
	bypasses some checks, and it will only work with options that are
	specific to the megawidget.  However, it is much faster, and
	enables some functions (like visiblenodes) to be much faster.

	* tree.tcl: Reworked visiblenodes function to do a tree walk to
	find visible nodes.  This is faster and more correct than the
	previous implementation, which queried all the nodes in the tree
	for their open bit.
	

2000-03-10  Eric Melski  <ericm@scriptics.com>

	* widget.tcl: Replaced an upvar with a direct reference to the
	variable in initFromODB.

	* dynhelp.tcl: Changed sethelp function to use new hasChangedX
	function instead of hasChanged, which avoids an unneeded upvar,
	for a little better speed.

	* button.tcl: Changed to parseArgs/initFromODB format for a small
	(25%) speedup in creation time.

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

	* tree.tcl: Changed the allnodes procedure to visiblenodes, and
	also the mechanism of retrieving those nodes. This took care of
	the previously required update.

2000-03-09  Eric Melski  <ericm@scriptics.com>

	* entry.tcl: Added code to re-sync the -text option with the
	contents of the entry widget before doing configuration; this
	fixes [Bug: 4304].

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

	* tree.tcl: Disabled the update before the find withtag in the
	allnodes procedure. The nodes are apparently created delayed, so
	before this procedure is called, the program has to do an
	update. I don't do this in the procedure anymore, because it
	caused multiple updates, making the app slower.

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

	* tree.tcl: The new allnodes procedure was not handling the
	"current" tag correctly. This is now stripped of.

2000-03-07  Eric Melski  <ericm@scriptics.com>

	* button.tcl: Added check for -state flag, to initialize it properly.

	* entry.tcl: Changed to parseArgs/initFromODB format; added check
	for -text flag to initialize it properly.

	* labelentry.tcl: Changed to use parseArgs/initFromODB format.

2000-03-03  Eric Melski  <ericm@scriptics.com>

	* spinbox.tcl: Added a call in setvalue to scan the current value into
	a float to trim out any 0 padding on the number (otherwise the zero's 
	make it look like octal to tcl, which chokes on numbers > 8)

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

	* passwddlg.tcl: Reenabled the <Return> binding to activate the ok
	button. 

	* dragsite.tcl: I added an extra protection into the _begin_drag
	procedure to guard against a motion event that (sometimes) arrives
	before the press event. This fixes bug # 4324.

2000-03-03  Eric Melski  <ericm@scriptics.com>

	* spinbox.tcl: Removed LabelFrame from SpinBox (BACKWARDS
	INCOMPATIBLE) to speed creation; updated configure proc to use
	hasChangedX instead of hasChanged, as it didn't really need the
	values of the options it was checking.

2000-03-01  Eric Melski  <ericm@scriptics.com>

	* spinbox.tcl: Changed bindings to be on class SpinBox instead of
	BwSpinBox, and added class SpinBoxEntry to the bindtags of the
	SpinBox entry component.

	* configure.in:
	* pkgIndex.tcl: Bumped version to 1.3.0.

	* tree.tcl: Changed focus redirect to use {after idle} to avoid
	focus loops.

	* label.tcl: Added -bd 0 -highlight... etc to wrapper frame; moved
	class bindings to the frame instead of the component label.

	* utils.tcl: Added helper function BWidget::refocus, to handle
	focus redirection calls.

	* spinbox.tcl: Changed focus redirect to use {after idle} to avoid
	focus loops.

	* combobox.tcl: Changed init to parseArgs/initFromODB style;
	changed focus redirect to use {after idle} to avoid focus loops.

2000-02-29  Eric Melski  <ericm@scriptics.com>

	* widget.tcl: Added bits to handle
	$path#subclass_that_inherits_from_other_bw_class megawidget names.

	* passwddlg.tcl:
	* progressdlg.tcl: 
	* progressbar.tcl: Changed init to parseArgs/initFromODB style.

	* pkgIndex.tcl: Changed Label -> BWLabel

	* messagedlg.tcl: Changed initialization to parseArgs/initFromODB
	style.  Changed to use tk_messageBox on UNIX.
	
	* labelframe.tcl: Updated to use BWLabel instead of Label.

	* labelentry.tcl: Added -class LabelEntry to widget.

	* label.tcl: Changed class name to BWLabel (to avoid option db
	clashes with tk labels), changed initialization	to
	parseArgs/initFromODB style.

	* init.tcl: dropped obsolete Tree option from init.

	* dialog.tcl: changed initialization to parseArgs/initFromODB style.

	* notebook.tcl: Added -bd 0 -highlightthickness 0 -relief flat to
	the notebook container frame so geometries are correct.

	* entry.tcl: Fixed a conflict with configuring the Entry -text and
	textvariables.

	* dialog.tcl: added a -class option to the dialog, to allow the
	class of the dialog to be set (this enables proper optiondb use
	for things like the PasswdDlg).

2000-02-28  Eric Melski  <ericm@scriptics.com>

	* widget.tcl: Added Widget::varForOption function, which returns a 
	variable name that can be used to trace changes to an option for a
	particular megawidget (such as the -values option of a combobox).
	
	* entry.tcl: Made cget -text a little more efficient by
	shortcircuiting in that case.

	* combobox.tcl: Fixed bug #4248 by making the listbox use a
	-listvariable instead of trying to micromanage the listbox contents.

	* tests/entry.test: tests for the Entry widget.

	* widget.tcl: minor code cleanup.

	* tree.tcl: Was not getting proper default bg color on Windows,
	and keyboard navigation was goofy because of internal structure
	changes.

	* entry.tcl: Fixed an issue with initial foreground color not
	being picked up correctly.

2000-02-28  Sven Delmas  <sven@scriptics.com>

	* tree.tcl: Added a procedure called "allnodes" to retrieve the
	names of all currently defined treenodes. Apparently the internal
	widget structure of tree was changed recently. I adjusted the
	"allnodes" procedure to that.

2000-02-25  Eric Melski  <ericm@scriptics.com>

	* combobox.tcl: Fixed a problem with non-editable comboboxes and
	selecting values.

	* arrow.tcl: 
	Fixed a problem with the invoke method (doing one too many winfo
	parents in some cases)

	* button.tcl: 
	* buttonbox.tcl: 
	* combobox.tcl: 
	* dialog.tcl: 
	* dynhelp.tcl: 
	* entry.tcl: (also fixed validation)
	* label.tcl: 
	* labelframe.tcl: 
	* listbox.tcl: 
	* mainframe.tcl: 
	* notebook.tcl: 
	* pagesmgr.tcl: 
	* panedw.tcl: 
	* progressbar.tcl: 
	* scrollview.tcl: 
	* scrollw.tcl: 
	* separator.tcl: 
	* spinbox.tcl: 
	* titleframe.tcl: 
	* tree.tcl: Updated to new megawidget architecture.

	* widget.tcl: Changed internal architecture.  When possible,
	megawidget options are stored in component widgets instead of in
	an intermediary array.  Also, made use of option database to make
	megawidget creation more efficient.

2000-02-24  Eric Melski  <ericm@scriptics.com>

	* LICENSE.txt: Removed LGPL license; added Tcl-license terms.

2000-02-23  Eric Melski  <ericm@scriptics.com>

	* widget.tcl: Replaced _test_boolean function with a more efficient
	implementation.

2000-02-18  Eric Melski  <ericm@scriptics.com>

	* images/target.xbm: Placeholder for actual icon.

	* color.tcl: Change env(BWIDGET_LIBRARY) to ::BWIDGET::LIBRARY;
	changed proc "dialogue" to "dialog"

	* pkgIndex.tcl: Updated function spec for color.tcl.

	* widget.tcl: Various minor speed tweaks; added a reverse mapping
	from component widget options -> mega-widget options so that
	subcget can be faster.

	* entry.tcl: 
	* dropsite.tcl: 
	* dragsite.tcl: 
	* arrow.tcl: Tcl list'd the specs for Widget::declare calls.

	* combobox.tcl: Removed extraneous ListBox::use call.
	

2000-02-17  Eric Melski  <ericm@scriptics.com>

	* notebook.tcl: Added an extra check to move the leftmost tab a
	touch to the right when it is not selected (again, to make the
	tabs more Windows-like).  Also replaced redundant [string equal]
	checks with a stored pre-check (ie, set foo [string equal ...]).

2000-02-16  Eric Melski  <ericm@scriptics.com>

	* notebook.tcl: Changed appearance of tabs; leftmost tab is now 
	flush with the left of the notebook, and the tabs look more
	Windows-like.

2000-02-16  Sven Delmas  <sven@scriptics.com>

	* dialog.tcl: Added a new parameter to the draw procedure that
	allows me to pass in the desired geometry for the window. This was
	needed to support tracking of dialog window geometries.

	* tree.tcl: Changed the <KeyPress-space> binding to use "+", so it
	will not overwrite existing bindings (if there are any). Also
	added some extra protection in the keynav procedure against the
	user typing <Left> on a root node (this used to cause a stack
	trace).

2000-02-11  Eric Melski  <ericm@scriptics.com>

	* tree.tcl: Integrated changes from Eric Boudaillier:
	[itemconfigure -open ...]
	    optimized to only call redraw_idle 3 if node has subnodes.
	_cross_event:
	    itemconfigure -open called before -opencmd/closecmd; no more
	    call to _redraw_idle (handled by other procedures)
	_over_cmd:
	    allow position {root 0} when tree is empty
	new [find] command:  
	    [find @x,y ?confine?]
	    	    if confine is "confine" returns the node at window
		    coordinate x,y (x,y must be inside the bbox of the
		    node) else returns the node found on the line (in
		    pixel) pixel y
	    [find line]
	            returns the node on the line $line (in -deltay coords)
	new [line] command:
	    [line node]
	            returns the line where node is drawn
	-selectfill option added:
	    if true, selection is draw on full width of tree (instead of
	    just highlighting the bbox of the selected nodes)
	
	* combobox.tcl: Integrated changes from Eric Boudaillier:
	internal widget restructuring.

	* tree.tcl: Added "range" subcommand to selection.  Given two
	nodes, node1 and node2, it will set the selection to the visible
	nodes between (and including) node1 and node2.  If node1 or node2
	is not visible, it will find the first visible ancestor of the
	node and use that as the start/end point instead.

	* listbox.tcl: Integrated changes from Eric Boudaillier:
	_over_cmd: allow position 0 when listbox is empty
	find command, similar to tree find command.
	
	* spinbox.tcl: Integrated changes from Eric Boudaillier:
	cosmetic changes.
	
	* color.tcl: Integrated changes from Eric Boudaillier:
	split widget into two commands: SelectColor::menu and
	SelectColor::dialog.

	* progressbar.tcl: Integrated changes from Eric Boudaillier:
	added -idle option to prevent call to update in case where task is
	done in idle (ie, fileevents)

	* scrollview.tcl: Integrated changes from Eric Boudaillier:
	bindings changed.

	* scrollw.tcl: Integrated changes from Eric Boudaillier:
	-managed option: if true, scrollbar are managed during creation,
	so their size are included in the requested size of the
	ScrolledWindow.  If false, they are not.
	-sides option: specifies the side of the scrollbar.
	-size option: specifies size of scrollbar.
	-ipad option: specifies pad between scrollbar and scrolled widget.

	* mainframe.tcl: Integrated changes from Eric Boudaillier: support
	for function keys in accelerators, support for no modifier in
	accelerators.

	* notebook.tcl: Integrated changes from Eric Boudaillier:
	-internalborderwidth (-ibd) option specifies pad around pages;
	-foreground, -background, -activeforeground, -activebackground,
	-disabledforeground options for each tab.
	Code cleanup.

1999-12-23  Sven Delmas  <sven@scriptics.com>

	* scrollw.tcl: Added "update idletask" to scrollbar update to
	prevent loss of update events.

1999-12-14  Sven Delmas  <sven@scriptics.com>

	* combobox.tcl: When the selected item is changed, the selection
	is now set to the entire string.

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

	* buttonbox.tcl: Added a getbuttonstate function, which retrieves 
	the value of a tag used on a button in the buttonbox.

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

	* combobox.tcl: Removed code that cleared entry selection on focus out 
	events, as this crippled exportselection.

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

	* buttonbox.tcl: Added a gettags function, which allows the user
	to query the tags that are used on buttons in the buttonbox.

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

	* font.tcl: Added one new flag: -querysystem.  This lets the user 
	control whether the font selector queries the system 
	(via font families) for the list of fonts, or if it uses a preset 
	list of fonts (which is much faster and less likely to crash some 
	systems).

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

	* font.tcl: Added support for two new flags: -families and -styles; 
	-families allows you to specify one of all, fixed, or variable, to
	limit the choice of fonts to those fonts; -styles allows you to
	specify a list of styles that can be set with the widget (ie,
	bold, italic, etc).

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

	* tree.tcl: Fixed some problems with keyboard traversal.  Added
	support for left/right arrows a la MS Explorer.
	Added support for keyboard-based scrolling.
	
1999-10-21  Sven Delmas  <sven@scriptics.com>

	* combobox.tcl: Added support for keyboard traversal.  The widget
	will now tab in even when it is not editable.  Also the entry
	widget content will be selected when the user tabs in. The key
	bindings now allow a traversal of the list (<Down> brings up the
	list). The arrow button no longer switches to an up button, but
	instead changes relief. The button is now more Windows NT like
	(for Windows NT).  Changed keyboard bindings:  down/up now
	display/hide the listbox; control-{up|down|prev|next} move through
	the options without displaying the listbox.
	
1999-10-21  Eric Melski  <ericm@scriptics.com>

	* tree.tcl: Added a -selectable option to tree nodes, which
	controls whether or not a given node is selectable (duh).  This
	works with the new -selectcommand option for the tree, and with
	keyboard traversal (also new).  Now, whenever the tree gets a
	"selection set", it calls the given -selectcommand with the name
	of the tree and the list of selected nodes, which makes it easier
	to just drop in place and use.

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

	* panedw.tcl: Added a -class PanedWindow option to the main frame 
	(the megawidget) of the paned window.

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

	* dialog.tcl: Added an overrideredirect option to Dialog::draw, which
	allows the user to control the overrideredirect state of the dialog.

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

	* mainframe.tcl:  Fixed _destroy to unset ALL state variables, so that
	when a new MainFrame of the same name as an old one is created, it
	doesn't pick up residual state from the old one.

1999-09-17  Eric Melski  <ericm@scriptics.com

	* mainframe.tcl: Modified menu creation/setmenustate functions to
	support a new model of menustate.  Instead of enabling/disabling a
	menu item whenever any one of its tags changes state, now it only
	enables menu items if all of its tags are set.  This makes it
	really easy to, say, only enable the "New Action" entry if both a
	project is open and an element is selected.

	* buttonbox.tcl: Added tagging mechanism to buttonbox.  When using
	$bbox add, the first parameter is a list of tags for the button.  Then
	use $bbox setbuttonstate to change the state of a tag.

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

	* notebook.tcl: Added some (non-functional) code for doing
	tab-notebooks with the tabs on the bottom.

