Bwidget Source Code
Artifact Content
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

Artifact 7a049d0adcddb9c28249379417df019500eb27f14d6dc3b0ce691da28f9d74b3:

2018-12-11 Harald Oehlmann <[email protected]>
	scrollframe.tcl: use Tk8.7 TIP 518 virtual event
	<<NoManagedChild>> to resize client frame to 1x1 when
	last child is unmapped.

2018-12-06 Harald Oehlmann <[email protected]>

	**** BWidget 1.9.13 tagged ****

2018-11-26 Harald Oehlmann <[email protected]>
	dialog.c: For Unix, also Bind KP_Enter for default dialog
	button invokation. Ticket [3e31f04367].
	Thanks to Jos for the proposal.

2018-01-09 Harald Oehlmann <[email protected]>
	Spanish translation enhanced by Neko.
	Ticket [a947e33526]

2018-01-10 Harald Oehlmann <[email protected]>

	**** BWidget 1.9.12 tagged ****

2018-01-10 Harald Oehlmann <[email protected]>
	color.tcl: replace the help widget by balloons bound to the
	widgets. Ticket [2cc70ce1cb]

2018-01-09 Harald Oehlmann <[email protected]>
	color.tcl: New option -command allows to get a callback
	when the user does an unvalidated choice.
	New option -background and command SelectColor for
	window background.
	TitleFrames, Dynamic help and Aqua native buttons used.
	Show current choice by highlighting, not focus, to avoid
	conflict with keyboard traversal.
	Shows entry widget for numerical color input/output.
	New option -help to show a help area.
	Patch by Keith J. Nash
	Ticket [75101bf5ce]
	Translators: Jima (es), Vogel (fr), Marcus (nl), Ian (da)
	Ticket [a947e33526]

2017-11-03 Harald Oehlmann
	notebook.tcl (+man,demo): Add possibility to NoteBook
	to add an image at the right of each tab.
	Ticket [15e19fe9ec]. Patch by Keith J. Nash.

2017-08-25 Harald Oehlmann <[email protected]>

	**** BWidget 1.9.11 tagged ****

2017-05-08 Harald Oehlmann
	MessageDlg.html: Documented the use of the native widget for
	"MessageDlg -type !user" and the limited set of recognized
	options. Ticket [8edade3cea] by Gerhard Reithofer

2016-10-31 Harald Oehlmann
	scrollframe.tcl: Eric advised to check for unmapped window,
	as the <Map> event may be executed in the unmapped state.

2016-10-31 Harald Oehlmann
	scrollframe.tcl: width changed when unmapped and mapped.
	Checkge the Configure vound proc to not be active when
	currently unmapped. Ticket [72a5727d1b]. Thanks to
	Alexandru for the ticket and patch.

2016-10-31 Harald Oehlmann
	button.tcl: Reverted last change, Eric underlined to
	not use ttk widgets as a base due to the option
	data base. Did traditional fix to exclude all options
	known by button and not known by ttk::button.
	Ticket [845613e5590ae7cf]

2016-08-23 Harald Oehlmann
	button.tcl: configure option of a ::Button gave error in
	themed mode. Ticket [845613e5590ae7cf]. Report by Adrian.

2016-07-21 Harald Oehlmann
	util.tcl: BWidget::place moved away from visible screens
	if the current window is on a virtual screen outside of
	the main screen (Windows multi-screen configuration).
	Ticket [5919a0ec2d]

2016-07-15 Adrian Madrano Calvo
	pckIndex.tcl: auto-load commands also from global namespace
	and not only from BWidget namespace. Ticket [c86207db01]

2016-03-22 Harald Oehlmann <[email protected]>
	Only support themed packages Tile 0.8 or Ttk.
	Repair the button spacing in themed font toolbar.
	Ticket [d7ea07c40a]

2016-03-15 Harald Oehlmann <[email protected]>
	mainframe.tcl: "Mainframe configure" caused error in themed
	mode. Ticket [52273c0a4e]

2016-03-08 Harald Oehlmann <[email protected]>

	**** BWidget 1.9.10 tagged ****

2016-01-07 Adrian Medrano Calvo
	listbox.tcl: Listbox did not scroll to current item on
	startup. Ticket [ae238d5a7]

2016-01-07 Harald Oehlmann <[email protected]>
	lang/da.rc, lang/es.rc, lang/fr.rc, lang/no.rc:
	Translations non portable on utf-8 systems.
	File encoding changed to utf-8. Ticket [6c91e43d76]

2016-01-07 Harald Oehlmann <[email protected]>
	tree.tcl: Tree lines are black by default even if background
	is black. Ticket [ed4c1dab46]

2015-12-08 Harald Oehlmann <[email protected]>
	listbox.tcl: 8.4 compatibility was broken due to the use of
	min/max math functions. Ticket [0aef856302]

2015-11-04 Harald Oehlmann <[email protected]>
	dynhelp.tcl: Drop the assumption that all windows
	screen are the same size (of fix dated 2009-06-26)
	and use the virtual screen information to place the bubble
	help. Ticket [b64e03e548].

2015-10-18 Harald Oehlmann <[email protected]>

	**** BWidget 1.9.9 tagged ****

2015-03-18 Harald Oehlmann <[email protected]>

	widget.tcl: Widget::define got new parameter -namespace,
	allowing megawidget namespace be different to
	class name. This allows lower case namespace names.
	Patch by Adrian Medrano Calvo. Ticket [023a631b20]

2014-09-10 Harald Oehlmann <[email protected]>

	**** BWidget 1.9.8 tagged ****

2014-09-05 Harald Oehlmann <[email protected]>

	widget.tcl: Widget::which errors when option not present.
	Ticket [397db23424]

2014-05-21 Harald Oehlmann <[email protected]>

	widget.tcl: Don't invoke unqualified upvar in callers
	scope. Patch by Adrian Medrano Calvo. Ticket [046fa04231]

	widget.tcl: Don't double creation of temporary widget for
	default values retrieval. Use result of _get_tkwidget_options
	instead. By Adrian Medrano Calvo. Ticket [393b67ab19]

	widget.tcl: New procedure Widget::which (as in [namespace which]),
	that returns the fully qualified name for a widget option or
	widget variable. By Adrian Medrano Calvo. Ticket [a8705e5fd9]

	widget.tcl: Remove unneeded upvar. By Adrian Medrano Calvo.
	Ticket [43f93e0a97]

	widget.tcl et al: remove apparently unused procedure
	Widget::syncoptions and all calls. By Adrian Medrano Calvo.
	Ticket [3c2b8eafc6]

2013-12-13 Harald Oehlmann <[email protected]>

	scrollframe.tcl: Make -constrainedwidth 1 and
	-constrainedheight 1 work together.
	Patch by Simon Bachmann. Ticket [2fa44401d5]

	2013-10-17 Harald Oehlmann <[email protected]>
	widget.tcl: Remove temporary widget.
	By Wolfgang S. Kechel. Ticket [6cd041bcc1]

2013-10-15 Harald Oehlmann <[email protected]>
	combobox.tcl: Themed ComboBox color specifications
	are honored. By Wolfgang S. Kechel. Ticket [6c6704e40f]

2013-10-14 Harald Oehlmann <[email protected]>
	combobox.tcl: Fails in themed mode with "unknown
	option -bg". Patch solves this but listbox items
	are white on white when "-foreground" is specified.
	By Wolfgang S. Kechel. Ticket [6632134ce9]
	listbox.tcl: Update on option -deltay added.
	Set x0 to 2 to make highlight work and look nice for
	listbox with image.
	Take image into account to show selection.
	By Wolfgang S. Kechel. Ticket [ff1787af9c]

	scrollw.tcl: Raise scrolled window if it is below in
	the window hierarchy. By Wolfgang S. Kechel.
	Ticket [ff1787af9c]

2013-10-07 Harald Oehlmann <[email protected]>
	dynhelp.tcl: Sometimes the tooltip does not occur under
	gnome/metacity on ubuntu. By Wolfgang S. Kechel.
	Ticket [a588d2f800]

2013-09-15 Harald Oehlmann <[email protected]>

	**** BWidget 1.9.7 tagged ****

2013-09-11 Harald Oehlmann <[email protected]>

	xpm2image.tcl: many issues fixed in xpm import
	by Mattias Hembruch. Ticket [9a8b2ee42e]
2013-08-14 Harald Oehlmann <[email protected]>

	* notebook.tcl: cured error in _resize, that
	data($p,width) is not (jet) present. Ticket [a4cbba655d].

2013-06-28 Harald Oehlmann <[email protected]>

	* mainframe.tcl: Included Patch [9f67a66609]
	curing issues of Shift-Accellerators with Shift-Lock
	on Mac. By Keith Nash, Ticket [83ce3e84e7].

2013-06-26 Harald Oehlmann <[email protected]>

	* mainframe.tcl: Reverted Patch [1977644]
	(-casesensitive for accellerators). It has
	issues with shift-lock.

2013-06-21 Harald Oehlmann <[email protected]>

	* labelentry.tcl: Bug fixed:
	Methods from Tk entry widget restored [Bug 1002844].
	* mainframe.tcl: Allow case sensitive accelerators
	by new option -casesensitive.
	Patch by cmard [Patch 1977644]
	* mainframe.tcl: Allow new modifiers Shift, Cmd and ShiftCmd
	for accelerators. Patch by K.J.Nash [Patch-83ce3e84e7]

	* mainframe.tcl: When changing MainFrame -background, do
	not change menu colors on Aqua.
	Fix by Keith J.Nash [Bug-a81b7afc1e]
	* init.tcl: Make loadable in save interpreter.
	Fix by Keith J.Nash [Bug-4365a23bd3]

	* combobox.tcl: Add method getentry to return entry
	widget path for bind purposes.
	Patch by Michael [Patch-2340355]
2013-01-09 Harald Oehlmann <[email protected]>

	* widget.tcl: Bug fixed:
	Error 'invalid command name ".#BWidget.#ttk::entry"'
	arises in themed mode when an Entry widget should get
	focus by the tab key.
	The temporary widget creation fails due to the "::" in
	the command name of ttk widgets.
	Any "::" is replaced by "__" [Bug 3599955].
2011-07-27 Harald Oehlmann <[email protected]>

	**** BWidget 1.9.6 tagged ****

2012-04-12 Harald Oehlmann <[email protected]>

	* listbox.tcl ListBox::selection Only redraw if
	selection changed. Patch by Wolfgang S. Kechel [Bug 3517145]

2012-04-02 Harald Oehlmann <[email protected]>

	* entry.tcl, BWMan/entry.tcl checkbox.tcl Themed mode:
	Invoking "configure" without arguments results in errors
	that non-ttk options are not present.
	Removed Entry options: -background -foreground -relief
	-borderwidth -fg -bg -bd. Reported by Wolfgang S. Kechel
	[Bug 3513263]
	* entry.tcl mapped entry option -state to ttk::entry
	state in themed mode to make state change visible.

2012-03-06 Harald Oehlmann <[email protected]>

	* BWMan/ListBox.html documented options -selectfill and
	-autofocus as read-only. Reported by Wolfgang S. Kechel
	[Bug 3497592]

2011-11-14 Harald Oehlmann <[email protected]>

	* widget.tcl (Widget::focusOK) fixed list with update.
	Arises, if a ttk widget with a widget path with spaces
	is the next widget. Reported by jaspertheperson
	[Bug 3437761]

2011-06-24 Harald Oehlmann <[email protected]>

	**** BWidget 1.9.5 tagged ****

2011-06-23 Harald Oehlmann <[email protected]>

	* listbox.tcl (listbox::generate_data) fixed last patch
	by ryotakatsuki [Bug 3324610]

2011-06-23 Harald Oehlmann <[email protected]>

	* listbox.tcl Fix of Bug 3000293 broke listbox tags.
	The bindImage subcommand did not report right tag.
	Patch by ryotakatsuki [Bug 3324610]

2011-06-23 Harald Oehlmann <[email protected]>

	* listbox.tcl, tree.tcl (_update_scrollregion) the linewise
	scrolling did not always scroll up to the end on windows 7.
	Report and patch by Wojciech Kocjan, review and modification
	by Koen Danckaert [Bug 3317772]

2011-05-25 Harald Oehlmann <[email protected]>

	*mainframe.tcl: Add a boolean readonly option -sizegrip
	to show a sizegrip widget in themed mode.

2011-05-24 Harald Oehlmann <[email protected]>

	*lang/pl.rc updated by Wojciech Kocjan.

2011-04-26 Harald Oehlmann <[email protected]>

	*notebook.tcl The user frame of the notebook is now a themed
	frame in themed mode. The set background color does not apply
	to the user frame in this case.

2011-04-26 Harald Oehlmann <[email protected]>

	label.tcl configuring foreground color caused error when
	themed [Bug 3292977]

2011-04-20 Harald Oehlmann <[email protected]>

	lang/hu.rc by Rezso updated

2011-04-20 Harald Oehlmann <[email protected]>

	* font.tcl, lang/*.rc: Add translation possibility
	for color picker button of font dialog.
	Used google translater to translate "Color" to all languages.
	Please check if this is correct. [Bug 3289573] reported by Rezso

2011-04-19 Harald Oehlmann <[email protected]>

	* lang/*.rc [Bug 3289573] : Add translation (templates) for the
	Color picker widget text "Base colors" and "User colors".
	Only german and english locals are provided so far.

2011-02-14 Harald Oehlmann <[email protected]>

	* combobox.tcl: [Bug 3182287] : ComboBox failes in themed mode
	due to the use of the themed entry widget. The following options
	are not supported (and thus called) any more: -relief
	-highlightbackground -highlightforeground

2011-02-14 Harald Oehlmann <[email protected]>

	* entry.tcl, labelentry.tcl, labelframe.tcl, mainframe.tcl,
	pagesmgr.tcl, scrollw.tcl: [Bug 3168761]:
	entry failes when themed support activated with:
	unknown option "-highlightthickness" (reported by George
	on clt 27 Jan., 16:55).
	The patch by Wojciech Kocjan fixes this and enhances
	labelentry, labelframe and pagesmgr to also use themed frames.
	Within scrollw.tcl, a bug for empty background handling is fixed.
	The scrollbar background is not set any more for not-themed widget.

2011-01-17 Harald Oehlmann <[email protected]>

	* pkgIndex.tcl: corrected package version in package provide

2010-12-14 Harald Oehlmann <[email protected]>

	**** BWidget 1.9.4 tagged ****

2010-12-14  Andreas Kupries  <[email protected]>

	* tree.tcl [Bug 3106208]: Followup. Moved the fixed code of the
	last entry I did (2010-11-09) into a new command Tree::MergeFlag
	and call this from both Tree::itemconfigure and Tree::insert.
	Missing the place in Tree::insert caused another problem, found by
	Dustin Littau.

2010-11-05 Harald Oehlmann <[email protected]>

	**** BWidget 1.9.3 tagged ****

2010-11-23 Harald Oehlmann <[email protected]>

	* scrollw.tcl Add theming support for ScrolledWindow widget.
	* ScrolledWindow.html Themed mode documented.

2010-11-21 Harald Oehlmann <[email protected]>

	* label.tcl Add theming support for Label widget.
	* label.html Themed mode documented.

2010-11-16 Harald Oehlmann <[email protected]>

	* button.tcl Add theming support for Button widget.
	Option "-relief link" is mapped to "Toolbutton style.
	Option -height is not available when themed.
	Thanks to Kevin Walzer for the test on MacOS.
	* buttonbox.tcl When themed, only set themed button options.
	The widget itself is not jet themed.
	* Dialog.html Removed documentation of unavailable option -buttonwidth.

2010-11-09  Andreas Kupries  <[email protected]>

	* tree.tcl (Tree::itemconfigure): Fix intermingling of node names
	and flag values which can cause an lsearch to fail, by mistaking a
	flag value as the node searched for, and then treating a node name
	as flags. As the upd,nodes value is a dictionary it should not be
	search as a list. Now using a temporary array for quicker check
	and append/replace [Bug 3106208].

2010-11-09 Harald Oehlmann <[email protected]>

	* mainframe.tcl Menu text shows white on white on Mac aqua
	[Bug 3105665] reported by Scott Smedley fixed by Kevin Walzer.

2010-10-15 Harald Oehlmann <[email protected]>

	* label.tcl The frame surround the label gets under
	unknown conditions a -padx 5. A pad of 0 is now
	hard coded (Bug 3087955)

2010-08-04 Harald Oehlmann <[email protected]>

	* dialog.tcl Changed behaviour of window close button.
	If -cancel is given, this button is invoked.
	The cancel option may now be changed using the configure

	* init.tcl If msgcat is available use its locale to load
	a lang/*.rc file instead always using en.rc.

2010-06-09 Harald Oehlmann <[email protected]>

	* Included lang/pl.rc from HEAD.

2010-06-07 Harald Oehlmann <[email protected]>

	**** BWidget 1.9.2 tagged ****
	Version 1.9.1 was skipped.
	This was released in ActiveTCL and thus may exist on many

2010-05-31 Harald Oehlmann <[email protected]>

	* listbox.html Reflected patch 2010-05-12 in documentation.
	The selection may not be disabled any more by binding button 1.

2010-05-12 Harald Oehlmann <[email protected]>

	* listbox.tcl(ListBox::bindText and ListBox::bindImage)
	Method bindText and bindImage overwrote internal selection
	bindings [Bug 3000293] reported by Robert Karen.

2010-05-11 Harald Oehlmann <[email protected]>

	* listbox.tcl(ListBox::see) Method see shifts image out of
	view. Showed up, by a selection click on a long item with icon
	[Bug 2999764] reported by Robert Karen.

2010-05-05 Harald Oehlmann <[email protected]>

	* listbox.tcl(ListBox::_configureSelectmode) Drag modifies
	multiple selection [Bug 2995969] reported by Robert Karen.
	Bound events on ButtonRelease-1 instead Button-1 for multiple
	selections to avoid bug.
	* listbox.tcl(ListBox::_drag_and_drop) The default drag and drop
	routine only handled single drag and drop.
	It was extended to handle also drag and drop of multiple entries.

2009-09-03 Harald Oehlmann  <[email protected]>

	* util.tcl(BWidget::place), BWidget.html Widget placed incorrectly,
	when bigger than current screen [Bug 2850031] by Thomas Grausgruber
	Possible incompatibility: BWidget::place w h -> w,h are reduced to
	screen width.

2009-08-12 Harald Oehlmann  <[email protected]>

	* dynhelp.tcl Use balloon help font TkTooltipFont if tk <= 8.5.
	Otherwise use helvetica 11 on Aqua [Patch 2835180] for Kevin Walzer
	* dynhelp.tcl(DynamicHelp::_show_help)Replaced aqua conditional code
	check by $Widget::_aqua

2009-08-10 Harald Oehlmann  <[email protected]>

	* notebook.tcl (NoteBook::delete) Method delete destroyframe=1 and
	reinsertion -> raise failed - state variables were deleted.
	[Bug 2831785] by kjnash
	* tree.tcl (Tree::_keynav) Fire virtual event <<TreeSelect>> also on
	keyboard navigation [Patch 2828086] by Kevin Walzer
	* combobox.tcl Replaced aqua conditional code check by $Widget::_aqua

2009-08-10 Harald Oehlmann  <[email protected]>

	**** Branched to bwidget ****

	This is the bwidget branch of module bwidget of tcllib
	Use "-r bwidget" for all cvs operations
	Scope: Package BWidget compatible to tcl/tk 8.1 and tk
	(e.g. no tile/ttk).

2009-07-24 Harald Oehlmann  <[email protected]>

	**** BWidget 1.9.0 tagged ****

	* pkgIndex.tcl, README.txt: updated to BWidget 1.9

2009-07-23 Harald Oehlmann  <[email protected]>

	* tree.tcl (Tree::_set_help), Tree.html DynamicHelp -helpcmd added to
	tree node help
	* tree.tcl (Tree::_draw_subnodes) a vertical line to a virtual root node
	above the widget is only drawn when there are multiple child nodes.
	This reverts the modification dated 2004-04-21 for this case.
	[Patch 2825354] by Koen Danckaert

2009-07-17 Harald Oehlmann  <[email protected]>

	* scrollframe.tcl (ScrollableFrame::create et al) ScrollableFrame.html
	Background color of canvas takes the color of the scrolled frame.
	If themed, canvas takes the themed color of the scrolled themed frame.
	If themed, parameters -background and -bg are not available(doc + code).
	[Patch 2822970] by Koen Danckaert

2009-07-15 Harald Oehlmann  <[email protected]>

	* dynhelp.tcl (DynamicHelp) Typo from yesterday corrected
	[Patch 2820851] by Koen Danckaert

2009-07-14 Harald Oehlmann  <[email protected]>

	* dynhelp.tcl (DynamicHelp::_leave_info et al) issues:
	- menu help sometimes not cleared when clicking off-window (unix)
	- "-helpcmd" available also when dynamichelp is included in another
	- given "-helpcmd" always called at global scope.
	- Protect against multiple calls of <Leave> event.
	[Patch 2820851] by Koen Danckaert

2009-07-07 Harald Oehlmann  <[email protected]>

	* combobox.tcl (ComboBox::_select) Do not export selection if
	-exportselection 0 [Patch 981545] by Jeffrey Hobbs

2009-07-02 Harald Oehlmann  <[email protected]>

	* widget.tcl (Widget::configure) Bug: ProgressDlg option -geometry
	not setable. The former patch was improved.
	Koen Danckaert and myself argued, that we modify symptoms without
	basic understandings. Anyway, better now than before.

2009-07-01 Harald Oehlmann  <[email protected]>

	* mainframe.tcl, MainFrame.html (MainFrame::getmenustate)
	Added method getmenustate to return menu tag state
	[Bug 948063] reported by Rolf Ade

	* combobox.tcl (ComboBox::configure) Bug fixed: Widget did not take
	focus, when -editable false and "configure -state normal" called.
	[Bug 756334] reported by Rolf Ade
	* widget.tcl (Widget::configure) Bug: ProgressDlg option -bg not
	setable. The special handling of subwidgets with special class or
	path ":cmd" was improved. [Bug 611477]
	* notebook.tcl (NoteBook::_itemconfigure) Not honored option:
	itemconfigure ... -helptext [Patch 2814050] by Koen Danckaert
2009-06-30 Harald Oehlmann  <[email protected]>

	* buttonbox.tcl (ButtonBox::_redraw) Bug corrected:
	-uniform gridding option is used if tcl version >= 8.4 (not 8.3).
	[Patch 2807147] by Koen Danckaert

	* tree.tcl (Tree::_drop_cmd) If there is no node, drop didn't work.
	[Bug 1042613] reported by Rolf Ade
	* Tree.html Bind commands: removed promise that %W would work in future.
	The underlying widgets should only be manipulated using the node id.
	[Bug 1224203] by Jasper Taylor, remarks by J. Tang 

	* Tree.html Bind commands: with -selectfill, the given command is
	overwritten for the background box. [Bug 1003962] by Torsten Berg
	* dropsite.tcl (DropSite::register) Bug fixed: fails on multiple drop
	targets [Bug 1213123] by T.Neil

	* combobox.tcl (ComboBox::_create_popup) Bug fixed: Return key in drop
	down list when -bwlistbox true [Bug 1205536] patch by Steve Landers
	* combobox.tcl (ComboBox::_create_popup, ComboBox::_unmapliste)
	Mac aqua and x11 fixes, multi screen issue still open.
	[Bug 1451784] report by Jasper Taylor, fix by Kevin Walzer

	* listbox.tcl (ListBox::_multiple_select) Selected item not deselected
	on control-click [Bug 1029144] reported by Konrad Rosenbaum

2009-06-29 Harald Oehlmann  <[email protected]>

	* ScrolledWindow.html ScrolledWindow documentation changed:
	Documented options: -ipad, -sides, -size, -managed
	[Patch 2807160] Text by Koen Danckaert
	Removed (read only) remark of option -scrollbar.
	* scrollframe.tcl (ScrollableFrame::create) changed bindings
	[Patch 2807227] by Koen Danckaert (comment)
	* scrollw.tcl (ScrolledWindow::_set_hscroll, ScrolledWindow::_set_vscroll)
	Bug corrected: enless loop when both scrollbars where automatically
	mapped and the window size was changed by this action (on linux).
	Scrollbar unmapping and mapping secured by a locked update [Bug 2783019]

	* widget.tcl (Widget::tkinclude) : option data base entry name keeps the
	original name and not the renamed name.
	The only resulting modification is to rename the option key for
	"MessageDlg -text" from "*MessageDlg.frame.msg.message" to
	"*MessageDlg.frame.msg.text". [Bug 1266792]
	* widget.tcl (Widget::init) : fixed a memory leak on wrong option value.
	[Bug 1230737] 
2009-06-26 Harald Oehlmann  <[email protected]>

	* listbox.tcl (ListBox::create et al) new feature: listbox option
	-listbox now read/write [Bug 1501874] reported by Stephen Huntley
	* dynhelp.tcl (DynamicHelp::_show_help) fixed issue (as far as possible):
	Dynamic help baloon was on the main screen, if it touched the border on
	a windows multi screen configuration.
	The fix assumes, that all screens have same dimensions and no gaps in-
	between. This is necessary, because multi-screen configuration paramters
	may not be interrogated by tk (despite of coordinates out of the screen)
	[Bug 1499135] reported by Gregor

	* notebook.tcl (NoteBook::delete) Deleted also state variables
	[Bug 1445219] reported by Eric Kemp-Benedict

2009-06-25 Harald Oehlmann  <[email protected]>

	* combobox.tcl (ComboBox::getvalue et al) fixed bug: getvalue returned
	first apearence of current data instead of clicked index, which may not
	be the same if values is not unique. Additional variable _index(path)
	added to hold click index [Bug 1610965] reported by Martin Lemburg

2009-06-24 Harald Oehlmann  <[email protected]>

	* scrollframe.tcl (ScrollableFrame::create, ScrollableFrame::_resize,
	ScrollableFrame::_frameConfigure) fixed two issues:
	- Scrollbar activated even if not necessary
	  Fix: update scrolling reagion on configure event of the frame
	- Disfunction if the frame got to small to be on the current view
	  Fix: update scrolling reagion on map or unmap events
	[Patch 2807227] by Koen Danckaert
	* buttonbox.tcl (ButtonBox::_redraw) Bug: homogeneous button width
	not honored if button size changes after creation.
	-uniform gridding option is used if tcl version >= 8.3.
	[Patch 2807147] by Koen Danckaert
2009-06-16 Harald Oehlmann  <[email protected]>

	* combobox.tcl (ComboBox::_create_popup) In dropdown list,
	a vertical scrollbar was always shown if horizantal is used.
	ScrolledWindow is now called with "-managed 1".
	[Patch 2807160] by Koen Danckaert

2009-06-11 Harald Oehlmann  <[email protected]>

	* combobox.tcl removed \ before empty line (potential
	trap) [Bug 2804961] Andreas Kupries
	* dialog.html Documented -geometry option.
	[Bug 1634416] Erik Leunissen

2009-06-10 Harald Oehlmann  <[email protected]>

	* no.rc added norwegian translation file
	[Feature Request 2797153] provided by Lars Martin Hambro
	* passwddlg.tcl (PasswdDlg::_verifonpasswd) check for
	disabled password field and confirm directly.
	[Bug 1642050] (Calvin Bascom) Enter key did not confirm
	dialog when -passwdstate disabled.
	* combobox.tcl (ComboBox::_select) included [Patch 981545],
	but commented out - it works for me without it.

2009-06-10 Harald Oehlmann  <[email protected]>

	* dialog.html Added documentation for option -buttonwidth
	of Dialog
	[Bug 1668587] (Eric Leunissen)

2009-06-10 Harald Oehlmann  <[email protected]>

	* arrow.tcl initialised set _grab(oldstate) to "normal" to avoid
	error when there is a ArrowButton::_leave without corresponding
	ArrowButton::_enter [Bug 2762361]
	* entry.tcl (Entry::_path_command) Add "invoke" to the list of
	internally handled commands
	[Bug 2340320] (patch by [email protected])
	* uitils.tcl (BWidget::place) BWidget::place used screen width
	instead window width.
	[Bug 1842346] (patch by Niels Gollesch [email protected])
	* listbox.tcl (ListBox::_redraw_selection) Added check if redrawn
	item is on the to-delete list and thus does not exist any more as
	BWidget. [Bug 1752755] ([email protected]]

2008-10-30  Jeff Hobbs  <[email protected]>

	* tree.tcl (Tree::_node_name_rev): Return node names as they are
	input, and properly handle :: in node names.  This changes
	internal node name reps, but should be transparent to the user,
	except for the result of [insert].

2008-05-26  Jeff Hobbs  <[email protected]>

	* tree.tcl (Tree::_redraw_selection):       do not allow empty
	* listbox.tcl (ListBox::_redraw_selection): fill color as that
	creates a transparent item that doesn't return a bbox.  This
	showed up on OS X/Aqua, where the listbox selectforeground
	defaults to empty. [AS Bug 77186 74923]

2007-10-31  Jeff Hobbs  <[email protected]>

	* lang/nl.rc (new): Dutch translation [Bug 1804469]

	* lang/hu.rc (new): Hungarian translation [Bug 1821842]

	* tree.tcl (Tree::insert): do node_name on parent arg [Bug 1046955]

	* listbox.tcl: speed up ListBox insertion significantly. [Bug 1472443]

2007-05-11  Jeff Hobbs  <[email protected]>

	* widget.tcl (Widget::theme): make sure Tk 8.5a6 is recognized as
	having the themed widgets

2006-12-20  J. Tang  <[email protected]>

	* util.tcl: fixed BWidget::write for widgets that require
	DynamicHelp.  [bug 1518803]

2006-12-05  Andreas Kupries <[email protected]>

	* demo/demo.tcl (Demo::main): Removed the 'inscope' qualifier from
	  the 'package require Bwidget'. The package system already forces
	  loading and sourcing of package code in the global namespace, so
	  this is bogus.

2006-11-13  J. Tang  <[email protected]>

	* panedw.tcl: if activator is set to line then its width is set to
	3.  --activator was an undocumented option; updated man page to
	make it documented.  Thanks to Jos Decoster for pointing this out.

2006-11-10  J. Tang  <[email protected]>

	* widget.tcl: remove relative namespace resolution of variables,
	in anticipation of TIP 278.  Widget should have been doing this
	anyways.  [bug 1579744]

	* DragSite.html: noted that -draginitcmd can return an empty
	string to prevent a drag [bug 740499]
	* DropSite.html: fixed documentation with DropSite::register
	command [bug 740474]

	* combobox.tcl: allow autocomplete and autopost be
	enabled/disabled after the widget was created [bug 1588808]; fixed
	keysym in autopost binding [bug 1589111]

	* tree.tcl: fixed error with drag & drop's autoscroll [bug
	* listbox.tcl: fixed error with drag & drop's autoscroll; fixed
	error when dropping at the end of the list

	* Added dynamic help to text tags (man page updated); fixed resize
	bug with scrollframes.  Thanks to Jos Decoster for these patches.

2006-10-20  Jeff Hobbs  <[email protected]>

	* utils.tcl (BWidget::bindMouseWheel): do not make special
	mousewheel bindings if global ones exist (like from style::as)

2006-09-28  J. Tang  <[email protected]>

	**** BWIDGET 1.8.0 TAGGED ****
	* removed

	* font.tcl: correctly handle code path when user cancels dialog

	* passwd.tcl: fixed Dialog::enddialog error; fixed ordering error

	* pkgIndex.tcl, README.txt: updated to BWidget 1.8

	* removed and aclocal.m4

	* messagedlg.tcl: explicitly marked the 'Abort' button upon -type
	abortretryignore to be the default button [bug 970199]

	* Tree.html: documented [find] and [line] commands [bug 626819];
	noted bug with %W binding [bug 1224203]

	* tree.tcl: added [bindArea] procedure; updated man page [patch

	* combobox.tcl: added [clearvalue] proc to explicitly clear a
	ComboBox value, updated man page [patch 780704]

2006-09-26  J. Tang  <[email protected]>

	* passwd.tcl: don't ignore -labelwidth when calculating label
	widths; return key moves through subwidgets like most login
	managers [patch 922877, with slight change]

	* font.tcl: add options to select font color and to disable font
	sizes; updated man pages [patch 1531199]

	* font.tcl: using arrow keys to browse font family / font size
	will cause an update to the shown sample font [patch 947109]

	* demo/basic.tcl: fixed Entry's enter command callback [bug

2006-08-21  J. Tang  <[email protected]>

	* combobox.tcl: unpost after autoposting when another Tk window
	gets the focus; unpost upon hitting the enter key

	* scrollw.tcl: allow toggling of scrollbars [bug 1488712]

	* Tree.html: corrected documentation for Tree::opencmd (callback
	does not append the path to the tree to the command) [bug 1507713]

	* tree.tcl: disable keyboard navigation for empty trees [bug 1514855]

	* tree.tcl: changed '-drawcross allways' to be '-drawcross
	always'; updated documentation

2006-06-29  Jeff Hobbs  <[email protected]>

	* statusbar.tcl (StatusBar::remove): remove neighboring separator
	when removing the first item. [Bug 1512671]

2006-03-24  J. Tang  <[email protected]>

	* pkgIndex.tcl: removed bogus "ControlFrame" entry [bug 1429405]

	* MainFrame man page: fixed some typos on man page

	* mainframe.tcl: fixed status bar placement when it is re-shown
	after a [showstatusbar none] command [bug 1027568]

2006-03-23  J. Tang  <[email protected]>

	* dynhelp.tcl: if a widget's help balloon is being displayed when
	that widget is destroyed, also destroy the associated balloon [bug

	* listbox.tcl: when deleting an item from the ListBox that has
	dynamic help text, also remove its entry from the help array [bug

2006-02-10  J. Tang  <[email protected]>

	* ProgressDlg man page: note that caller must invoke [update], the
	progressbar will not do it automatically [bug 1105778]

	* progressbar.tcl: -maximum value must now be non-zero, else
	divide by 0 occurs [bug 1145523]; use double() calculations to
	prevent integer overflow with very large -maximum values [bug

	* PagesManager man page: clarified [add] behavior and default
	state [bug 1305988]

2006-02-08  J. Tang  <[email protected]>

	* combobox.tcl: allow -autocomplete with uppercase chars [bug
	996569]; added -autopost option [patch 1359041]

	* dynamic help man page: added clarification to -variable

2006-01-25  J. Tang  <[email protected]>

	* buttonbox.tcl: fixed -homogeneous calculation [bug 1362899]

2005-11-01  Jeff Hobbs  <[email protected]>

	* color.tcl (SelectColor::menu): use native dialog for palette
	menu item where possible (and Widget::theme is used).

2005-10-31  Jeff Hobbs  <[email protected]>

	* statusbar.tcl: correct Widget::theme typos

2005-10-12  Jeff Hobbs  <[email protected]>

	* mainframe.tcl (MainFrame::configure): need to ignore -bg change
	check when themed.

2005-09-28  Jeff Hobbs  <[email protected]>

	* mainframe.tcl (MainFrame::_create_menubar): ignore -bg -bd opts
	when themed

2005-09-22  Jeff Hobbs  <[email protected]>

	* font.tcl (SelectFont::_getfont): fix tile compat to still set
	data(family) and data(size) in any case.

2005-09-19  Jeff Hobbs  <[email protected]>

	* mainframe.tcl: 
	* font.tcl: remove tile compat options that aren't valid.

2005-08-23  Jeff Hobbs  <[email protected]>

	* mainframe.tcl: extend ttk theme awareness to subframes/separators

2005-08-10  Jeff Hobbs  <[email protected]>

	* mainframe.tcl (MainFrame::create): make ttk theme aware

2005-07-27  Jeff Hobbs  <[email protected]>

	* statusbar.tcl: if themed, use ttk::separator
	* scrollframe.tcl: if themed, use ttk::frame
	* font.tcl: if themed, use ttk::comboboxes and ttk::checkbuttons
	* widget.tcl: encapsulate all .#BWidget* hidden widgets into a
	single frame .#BWidget to clean up main '.' childspace.
	Add 'Widget::theme ?boolean?' that, if enabled, has BWidgets try
	to use some ttk themed widgets (*very* incomplete).

	* init.tcl (Widget::_opt_defaults): make a proc for opt defaults,
	recognize aqua as a platform

2005-02-25  Jeff Hobbs  <[email protected]>

	* lang/da.rc (new): Danish language file [Bug 1151534] (elhaard)

2005-01-25  Jeff Hobbs  <[email protected]>

	* notebook.tcl: reverted lester patch - too many bugs related to
	deleting and reinsertion of tabs.

2004-12-01  Jeff Hobbs  <[email protected]>

	* notebook.tcl: speed improvements via array hashing for many tabs

2004-10-09  Rolf Ade  <[email protected]>

	* mainframe.tcl: (MainFrame::_parse_accelerator) made
	  accelerator Ctrl-f in -menu definitions work. [Bug 1043107] 

2004-09-24  Jeff Hobbs  <[email protected]>

	* color.tcl: use toplevel instead of menu for dropdown color menu
	and do better focus/grab restoration.

	* utils.tcl (BWidget::RestoreFocusGrab,SetFocusGrab): add BWidget
	equivalents of what Tk uses for better stacked grab/focus mgmt.

	* dialog.tcl (Dialog::create): withdraw topleve immediately after

2004-09-14  Jeff Hobbs  <[email protected]>

	* listbox.tcl: add FocusIn redirector to %W.c, add explicit
	-takefocus 0 to the frame parent.

	* widget.tcl (Widget::focusPrev): hack to avoid focus into direct
	parent when it is a megawidget. [Bug 765667]

	* notebook.tcl (NoteBook::_draw_page): adjust height for bottom
	drawn tabs. [Bug 988628]

2004-09-09  Jeff Hobbs  <[email protected]>

	* panelframe.tcl (new): new PanelFrame widget which creates a
	* pkgIndex.tcl:         frame with boxed title area that accepts
	*          additional widgets.
	* BWman/contents.html: 
	* BWman/navtree.html:
	* BWman/PanelFrame.html (new): 

	* statusbar.tcl: improve init to use bwidget's automated arg
	passing for subwidgets.  Simplify delete subcommand to call remove.

	* xpm2image.tcl (xpm-to-image): correctly recognize None with

2004-09-02  Jeff Hobbs  <[email protected]>

	* buttonbox.tcl, combobox.tcl: code safety fixes

	* dialog.tcl: default button width to -11 on Win8.4, 8 otherwise

	* color.tcl, font.tcl, messagedlg.tcl:
	* passwddlg.tcl, progressdlg.tcl: change dialogs to anchor buttons e

	* statusbar.tcl: better -bg handling (configure too), and tighten
	up spacing on resize control to place it flush bottom right

2004-09-01  Jeff Hobbs  <[email protected]>

	* statusbar.tcl: add -showseparator optional horizontal separator.

2004-08-31  Jeff Hobbs  <[email protected]>

	* statusbar.tcl: correct name of image for use on unix.
	Try to use of PNG image at each create (it just looks better).

2004-08-26  Jeff Hobbs  <[email protected]>

	* tree.tcl (Tree::delete): call -selectcommand if we delete
	something that was selected.

2004-08-25  Jeff Hobbs  <[email protected]>

	* statusbar.tcl: correct use of PNG vs. GIF image.
	Don't abort creation of statusbar when gridded - just don't try
	to resize.
	Correct example to use label -width 1

2004-08-20  Jeff Hobbs  <[email protected]>

	* statusbar.tcl (new): Addition of a statusbar container widget
	* pkgIndex.tcl:        with resize control
	* BWman/contents.html: 
	* BWman/navtree.html:
	* BWman/StatusBar.html (new): 

2004-05-12  Jeff Hobbs  <[email protected]>

	* font.tcl (SelectFont::create): don't hardcode -bd 2 when
	creating the style selectbuttons.

	* dynhelp.tcl (_show_help): account for OS X help style

2004-05-04  Jeff Hobbs  <[email protected]>

	* listbox.tcl (_keyboard_navigation): make sure you can see the
	item that you key navigate to. (aas)

2004-04-26  Jeff Hobbs  <[email protected]>

	* tree.tcl (_update_nodes): align with _draw_nodes code,
	specifically correcting placement of cross on new nodes and anchor
	of changed window/image.

2004-04-23  Jeff Hobbs  <[email protected]>

	* listbox.tcl (create): don't force -highlightthickness 1 as it
	prevents the user changing it on creation.
	(_draw_item): pass more cached info from _redraw_items for speed.
	(_redraw_selection): correct drawing of selfill for items that
	extend beyond the width of the window.

2004-04-22  Jeff Hobbs  <[email protected]>

	* tree.tcl (edit): correct inversion of verifycmd emptiness test.
	* listbox.tcl: correct eval/after/lists usage.
	(_redraw_listbox): call _update_select_fill on redraw, otherwise
	the insert of items causes wonkiness.
	(_redraw_items): call update idle after changing cursor.
	(create): Insert $path into the canvas bindings, so that anyone
	binding directly onto the widget will see their bindings activated
	when the canvas has focus. Add slightly modified up/down bindings
	to the canvas, in case it gets the focus (like with -autofocus).

2004-04-21  Jeff Hobbs  <[email protected]>

	* tree.tcl (_draw_subnodes): Adjust the drawing of the line to the
	first root node to start at the vertical point (not go up).

	* entry.tcl, arrow.tcl, combobox.tcl: better space/list handling

	* entry.tcl: make the icursor not appear for non-editable and/or
	state disabled comboboxes.

2004-03-08  Joe English  <[email protected]>

	* init.tcl: (bugfix) Use <<PrevWindow>> virtual event instead
	of <Shift-Tab> event for back-tab binding.

2004-02-07  Jeff Hobbs  <[email protected]>

	* progressbar.tcl (ProgressBar::_modify): convert rect coords to
	ints to prevent left-over lines that are likely due to a bug in
	core Tk related to fractional coord refresh.

2004-02-03  Jeff Hobbs  <[email protected]>

	* scrollw.tcl (ScrolledWindow::create): correctly set -relief and
	-bd at creation time. [Bug #873666]

	* init.tcl: don't modify *Listbox.background and *Button.padY
	options - leave core widgets alone.

	* mainframe.tcl (MainFrame::_create_menubar): set the bg for menus
	only on unix (otherwise disturbs menu native L&F)
	Correct some eval/list issues.

	* BWman/MainFrame.html: 
	* mainframe.tcl (MainFrame::_create_entries): correct 'cascade'
	spelling, but support old 'cascad' as well.

2004-01-28  Reinhard Max  <[email protected]>

	* bumped to v1.7.
	This should have happened before releasing 1.7.0.

	* fixed support for DESTDIR.

2004-01-05  Damon Courtney  <[email protected]>

	* init.tcl: Added a binding to the Tk spinbox to handle
	traversal as loading BWidgets seems to screw up the default
	handling for Tk.  [Bug #867604]

	* utils.tcl: Fixed a bug that would cause some geometry calculations
	in BWidget::place to behave incorrectly.  This would occasionally
	make it appear as though a drawn dialog would freeze the application.
	[Bug #868315]

2003-12-18  Bob Techentin <[email protected]>

	**** 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  <[email protected]>

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

2003-11-17  Jeff Hobbs  <[email protected]>

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

2003-11-10  Damon Courtney  <[email protected]>

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

2003-11-05  Damon Courtney  <[email protected]>

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

2003-11-05  Jeff Hobbs  <[email protected]>

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

2003-10-30  Jeff Hobbs  <[email protected]>

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

2003-10-27  Damon Courtney  <[email protected]>

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

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

	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  <[email protected]>
	* DragSite.html, DropSite.html: Fix markup errors [Bug #740484]

2003-10-20  Damon Courtney  <[email protected]>
	* 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  <[email protected]>

	* 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  <[email protected]>

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

2003-07-17  Joe English  <[email protected]>
	* 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  <[email protected]>

	* 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 <[email protected]>
	* combobox.tcl: Added a little better handling of keys in the

2003-06-06  Damon Courtney <[email protected]>
	* 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 <[email protected]>
	* listbox.tcl: Liberal use of list where appropriate to make
	the code safe for space-containing node names.

2003-05-23  Bob Techentin <[email protected]>

	**** BWIDGET 1.6.0 TAGGED ****

	* README.txt: 

2003-05-18  Jeff Hobbs  <[email protected]>

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

2003-05-18  Joe English  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2003-05-06  Jeff Hobbs  <[email protected]>

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

2003-05-01  Jeff Hobbs  <[email protected]>

	* 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  <[email protected]>

	* 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 <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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 <[email protected]>

	* 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

2003-02-25  Jeff Hobbs  <[email protected]>

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

	* pkgIndex.tcl:
	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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 <[email protected]>
	* 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 <[email protected]>
	* 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  <[email protected]>
	* tree.tcl (Tree::delete, Tree::_subdelete): remove all deleted
	nodes from the the selection [Bug #621178].

2003-01-17  Pat Thoyts  <[email protected]>

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

2002-10-14  Jeff Hobbs  <[email protected]>

	* pkgIndex.tcl:
	* 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  <[email protected]>

	* better DESTDIR/libdir support (steffen)

2002-09-11  Jeff Hobbs  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	**** BWIDGET 1.4.1 TAGGED ****

	* README.txt: 
	* 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  <[email protected]>

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

2002-05-09  Andreas Kupries  <[email protected]>

	* dynhelp.tcl: Accepted patch for bug 528929. Reported by
	  <[email protected]>, patch also by him.

2002-04-25  Andreas Kupries  <[email protected]>

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

2002-01-26  Pat Thoyts  <[email protected]>

	* 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
	* BWMan/BWidget.html: added documentation for BWidget::place.
2002-01-22  Jeff Hobbs  <[email protected]>

	**** BWidget 1.4.0 tagged ****

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

2002-01-15  Jeff Hobbs  <[email protected]>

	* 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]

2001-12-28  Jeff Hobbs  <[email protected]>

	* 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)

	* 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  <[email protected]>

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

2001-10-11  Jeff Hobbs  <[email protected]>

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

2001-09-11  Andreas Kupries  <[email protected]>

	* 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  <[email protected]>

	* passwddlg.tcl: Accepted change by Bastien Chevreux
	  <[email protected]> adding a -logineditable option to
	  the password dialog. [436340].

2001-09-05  Andreas Kupries  <[email protected]>

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

	* label.tcl: Corrected typo in BWlabel::configure [454505], report
	  and fix by Bastien Chevreux <[email protected]>.

	* arrow.tcl: Changed containing frame to be more invisible
	  (borderwidth 0). Fixes [458301], by Georgios Petasis
	  <[email protected]>.

2001-08-08  Andreas Kupries <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

        * 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

2000-10-10  Dan Kuchler  <[email protected]>

        * 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  <[email protected]>

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

2000-09-17  Eric Melski  <[email protected]>

	* 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  <[email protected]>

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

2000-09-05  Eric Melski  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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:

2000-04-27  Eric Melski  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2000-03-07  Eric Melski  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

	* 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  <[email protected]>

	* 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  <[email protected]>

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

	* 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  <[email protected]>

	* 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

	* 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  <[email protected]>

	* 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

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

2000-02-28  Sven Delmas  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2000-02-23  Eric Melski  <[email protected]>

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

2000-02-18  Eric Melski  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2000-02-16  Sven Delmas  <[email protected]>

	* 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

2000-02-11  Eric Melski  <[email protected]>

	* tree.tcl: Integrated changes from Eric Boudaillier:
	[itemconfigure -open ...]
	    optimized to only call redraw_idle 3 if node has subnodes.
	    itemconfigure -open called before -opencmd/closecmd; no more
	    call to _redraw_idle (handled by other procedures)
	    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

	* 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

	* 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  <[email protected]>

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

1999-12-14  Sven Delmas  <[email protected]>

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

1999-12-13  Eric Melski  <[email protected]>

	* 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  <[email protected]>

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

1999-10-29  Eric Melski  <[email protected]>

	* 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  <[email protected]>

	* 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 

1999-10-25  Eric Melski  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

1999-10-15  Eric Melski  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]

	* 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  <[email protected]>

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