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 02d9486d25f44106.

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
Replaced the boolean test function with a more efficient one. check-in: f3f827b7ac user: ericm tags: trunk
Added some comments about the internal structure. check-in: f331cf83b2 user: ericm tags: trunk
Replaced bwinclude ... "" with bwinclude ... :cmd, so that the reverse mapping from subwidget -> megawidget options works right. check-in: 7bc7bd2db4 user: ericm tags: trunk
Fixed a small scrollbar width issue introduced by merge of Boudillier's code. check-in: 40b8a7276c user: ericm tags: trunk
* 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. check-in: 25c5681556 user: ericm tags: trunk
Additional fixes from Eric Boudaillier. check-in: ac17439246 user: ericm tags: trunk
* 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 ...]). check-in: 4f04c7bef8 user: ericm tags: trunk
* notebook.tcl: Changed appearance of tabs; leftmost tab is now flush with the left of the notebook, and the tabs look more Windows-like. check-in: affe6554cd user: ericm tags: trunk
*** empty log message *** check-in: d5371a4cad user: sven tags: trunk
* 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. check-in: 39dcb910f3 user: sven tags: trunk
*** empty log message *** check-in: 83391d43ae user: sven tags: trunk
* tree.tcl: Changed the <KeyPress-space> binding to use "+", so it will not overwrite existing bindings (if there are any). Also added some extra protection in the keynav procedure against the user typing <Left> on a root node (this used to cause a stack trace). check-in: aa5dc5c579 user: sven tags: trunk
* 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. check-in: 651774cb09 user: ericm tags: trunk
Slight modification to algorithm to handle non-visible nodes. check-in: 6bdb5e8a71 user: ericm tags: trunk
* tree.tcl: Added "range" subcommand to selection. Given two visible nodes, node1 and node2, it will set the selection to the visible nodes between (and including) node1 and node2. check-in: 3c515a19e2 user: ericm tags: trunk
Added support to the Entry widget for the -validate {none focus focusin focusout key all} -invalidcommand -validatecommand -invcmd and -vcmd flags to support the validation features of the entry widget. These flags simply are passed down to the underlying entry widget if they are specified. They work identically to the flag descriptions given in the entry man page. check-in: 9f740baa74 user: kuchler tags: trunk
Rearranged build/install files to use a shared config module check-in: 22a4ce2f62 user: wart tags: trunk
Added support for building under Win95/98 using cygwin check-in: a3b649673d user: wart tags: trunk
Updated to reflect recent TEA changes check-in: 3aa1e4f1af user: wart tags: trunk