Bwidget Source Code
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.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 check-ins occurring around 76927de5281b0479.

*** empty log message *** check-in: e8ee979e23 user: sven tags: trunk, scriptics-sc-2-0-b5
* 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). check-in: b1d0ba62c9 user: sven tags: trunk
*** empty log message *** Leaf check-in: b4dff7da83 user: sven tags: scriptics-sc-2-0-beta-branch
* 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). check-in: 9e54948e6a user: sven tags: scriptics-sc-2-0-beta-branch
* progressbar.tcl: (configure) Added test for change to -maximum value, so that bar is redrawn if maximum changes. [Bug: 4399]. check-in: 03371c78c0 user: ericm tags: trunk, scriptics-sc-2-0-beta-base, scriptics-sc-2-0-b1, scriptics-sc-2-0-b2
* BWman/SpinBox.html: Removed references to -label* options.    * demo/select.tcl: Removed use of -label* options on ComboBox and SpinBox. [Bug: 4394]. check-in: 04caf798b9 user: ericm tags: trunk
* 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...). check-in: 6492bbaf6a user: ericm tags: trunk
Rollback problematic change. check-in: ea76b043b6 user: ericm tags: trunk
* combobox.tcl: Tweaked bg/background options so that button didn't pick up entry background. check-in: 790b606531 user: ericm tags: trunk
* 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: * entry.tcl: Replaced selected cget/getoption calls with getMegawidgetOption calls. check-in: 8f3c969d9b user: ericm tags: trunk
Undid a bad change. check-in: fe40b9229a user: ericm tags: trunk
* 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). check-in: 8ba51986ce user: ericm tags: trunk
* 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. check-in: a0170bdaf0 user: ericm tags: trunk
*** empty log message *** check-in: af0ae685f5 user: sven tags: trunk
* tree.tcl: Changed the allnodes procedure to visiblenodes, and also the mechanism of retrieving those nodes. This took care of the previously required update. check-in: ba225828c0 user: sven tags: trunk
* 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. check-in: 26a9e9b23a user: ericm tags: trunk
* entry.tcl: Added code to re-sync the -text option with the contents of the entry widget before doing configuration; this fixes [Bug: 4304]. check-in: c37d8b3a34 user: ericm tags: trunk
*** empty log message *** check-in: d3409f6e69 user: sven tags: trunk
* 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. check-in: a4a2ddb7f9 user: sven tags: trunk
Changed the allnodes procedure. check-in: f74f07e33b user: sven tags: trunk
* tree.tcl: The new allnodes procedure was not handling the "current" tag correctly. This is now stripped of. check-in: 59d7527d59 user: sven tags: trunk
* 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. check-in: 9933dd2412 user: ericm tags: trunk
* 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) check-in: 5c9f801de6 user: ericm tags: trunk
*** empty log message *** check-in: 41327cfc32 user: sven tags: trunk
* passwddlg.tcl: Reenabled the <Return> binding to activate the ok button. check-in: 65d0d8a6f1 user: sven tags: trunk
* 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. check-in: 76927de528 user: sven tags: trunk
* 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. check-in: d0f8f323d9 user: ericm tags: trunk
Updated version number in; added SpinBoxEntry to bindtags for SpinBox entry component. check-in: e8a9147a37 user: ericm tags: trunk
* 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. check-in: 790e86ec6a user: ericm tags: trunk
Fixed typo ProgessDlg => ProgressDlg check-in: 580ca7f9f5 user: ericm tags: trunk
* 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.    * 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). check-in: 45d35a6ade user: ericm tags: trunk
* entry.tcl: Fixed a conflict with configuring the Entry -text and textvariables. check-in: 67cb79fdbc user: ericm tags: trunk
* 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). check-in: c2380ca81c user: ericm tags: trunk
* 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. check-in: 6f11528113 user: ericm tags: trunk
* tree.tcl: Fixed focus issue. check-in: f30440abdc user: ericm tags: trunk
* 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. check-in: ffceb11fde user: ericm tags: trunk
*** empty log message *** check-in: 85bdc24db0 user: sven tags: trunk
* tree.tcl: Apparently the internal widget structure of tree was changed recently. I adjusted the "allnodes" procedure to that. check-in: e8bac5f7a5 user: sven tags: trunk
*** empty log message *** check-in: 597a04b1a9 user: sven tags: trunk
* tree.tcl: Added a procedure called "allnodes" to retrieve the names of all currently defined treenodes. check-in: 2d821a754a user: sven tags: trunk
ComboBox was setting -state flag of its entry instead of -editable flag when changing the -editable flag of the combobox. check-in: c7456a9d0f user: ericm tags: trunk
* 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) check-in: 8e57b113e0 user: ericm tags: trunk
* arrow.tcl: * 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. check-in: fb6cf15d1c user: ericm tags: trunk
Added hack back to BWidget tree to d omulti-line select. Eric M. is aware of this and will fix it when he has time. check-in: e2b50e08e6 user: surles tags: trunk
*** empty log message *** check-in: 02d9486d25 user: ericm tags: trunk, bwidget-1-2-2
Removed LGPL from license (hooray!); added Tcl-license terms to LICENSE.txt. check-in: 97ce0e72a0 user: ericm tags: trunk
Typo fix. check-in: fd45bd1c5b user: ericm tags: trunk
Updated demo for new select color stuff, from Boudillier. check-in: ca7559d5d6 user: ericm tags: trunk
Corrected target.xbm from Boudillier. check-in: e65e332467 user: ericm tags: trunk
Changed bwinclude ... "" to bwinclude ... :cmd so that reverse mappings work. check-in: 5a57a30f89 user: ericm tags: trunk