2003-05-23 Bob Techentin **** BWIDGET 1.6.0 TAGGED **** * README.txt: 2003-05-18 Jeff Hobbs * progressbar.tcl: correctly handle progressbar being quickly created and deleted by deleting afters and checking var existence. 2003-05-18 Joe English * 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 * 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 * dynhelp.tcl (DynamicHelp::_motion_balloon): correctly listify after delayed _show_help callback. 2003-05-06 Jeff Hobbs * scrollw.tcl (ScrolledWindow::setwidget): remove any existing widget before setting the next. 2003-05-01 Jeff Hobbs * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * tree.tcl (Tree::delete, Tree::_subdelete): remove all deleted nodes from the the selection [Bug #621178]. 2003-01-17 Pat Thoyts * labelentry.tcl: fixed -textvariable option [bug #649383] 2002-10-14 Jeff Hobbs * 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 * Makefile.in: better DESTDIR/libdir support (steffen) 2002-09-11 Jeff Hobbs * 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 * 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 **** 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 * combobox.tcl: Changed relief of popup list to ridge, for Win* platforms. 2002-05-09 Andreas Kupries * dynhelp.tcl: Accepted patch for bug 528929. Reported by , patch also by him. 2002-04-25 Andreas Kupries * 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 * 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 **** BWidget 1.4.0 tagged **** * widget.tcl: added Color as an optional type, with _test_color test. [RFE #443124]. 2002-01-15 Jeff Hobbs * 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 * 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 * pagesmgr.tcl: reverted fix of 2001-10-11 - it was bogus. 2001-10-11 Jeff Hobbs * pagesmgr.tcl: allowed the ability to specify page by name, not just number. 2001-09-11 Andreas Kupries * 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 * passwddlg.tcl: Accepted change by Bastien Chevreux adding a -logineditable option to the password dialog. [436340]. 2001-09-05 Andreas Kupries * panedw.tcl: Added option -activator to allow user to choose sash activator. Reduced minimum allowed sash width. [442474]. Request made by Bastien Chevreux . * label.tcl: Corrected typo in BWlabel::configure [454505], report and fix by Bastien Chevreux . * arrow.tcl: Changed containing frame to be more invisible (borderwidth 0). Fixes [458301], by Georgios Petasis . 2001-08-08 Andreas Kupries * 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 * 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 * 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 * 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 * 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 * notebook.tcl: Fixed typo in _draw_page that incorrectly placed images on tabs. 2000-09-17 Eric Melski * 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 * mainframe.tcl: Fixed the typo of Alt (Atl) as reported in bug # 6079. 2000-09-05 Eric Melski * 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 * 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 * 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 * 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 * 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 * tree.tcl: Did some fancy focus footwork [Bug: 4491]. Now you can do this: "Tree .t ; bind .t 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * tree.tcl: The new allnodes procedure was not handling the "current" tag correctly. This is now stripped of. 2000-03-07 Eric Melski * 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 * 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 * passwddlg.tcl: Reenabled the 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 * 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 * 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 * 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 * 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 * 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 * 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 * LICENSE.txt: Removed LGPL license; added Tcl-license terms. 2000-02-23 Eric Melski * widget.tcl: Replaced _test_boolean function with a more efficient implementation. 2000-02-18 Eric Melski * 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 * 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 * 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 * 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 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 on a root node (this used to cause a stack trace). 2000-02-11 Eric Melski * 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 * scrollw.tcl: Added "update idletask" to scrollbar update to prevent loss of update events. 1999-12-14 Sven Delmas * combobox.tcl: When the selected item is changed, the selection is now set to the entire string. 1999-12-13 Eric Melski * 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 * combobox.tcl: Removed code that cleared entry selection on focus out events, as this crippled exportselection. 1999-10-29 Eric Melski * 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 * 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 * 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 * 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 * 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 ( 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 * 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 * panedw.tcl: Added a -class PanedWindow option to the main frame (the megawidget) of the paned window. 1999-10-15 Eric Melski * 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 * 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 * notebook.tcl: Added some (non-functional) code for doing tab-notebooks with the tabs on the bottom.