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 52bc26e2bb64d81e.

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
Updated to reflect recent TEA changes check-in: 7c8eeb5052 user: wart tags: trunk
Added the new "menuonly" method, to make the main frame look nice in case all we want is a simple menubar. Also added support for function key bindings in the menu (F1 etc.). check-in: c8897b846d user: sven tags: trunk
Updated to reflect recent TEA changes check-in: 56b768526d user: wart tags: trunk
I added an "update idletask" to the scrollbar update. This prevents the loss of update events. It used to be that under certain circumstances in Author the set command did not get processed (changing the content of a text widget after doing a raise of the notebook). check-in: d8fdc9e35e user: sven tags: trunk
When the selected item is changed, the selection is now set to the entire string. check-in: 5cd9b4a28c user: sven tags: trunk
* buttonbox.tcl: Added a getbuttonstate function, which retrieves the value of a tag used on a button in the buttonbox. check-in: fd83364dae user: ericm tags: trunk
* combobox.tcl: Removed code that cleared entry selection on focus out events, as this crippled exportselection. check-in: 52bc26e2bb user: ericm tags: trunk
Updated to reflect recent TEA changes check-in: 94c91ea05f user: wart tags: trunk
Updated to reflect recent TEA changes check-in: 33a10c5030 user: wart tags: trunk
The tkwait visibility .drag is now in a catch, so the destruction of the window can no longer cause a Tcl stack trace. Fixed bug # 3571. Leaf check-in: 96b3418c47 user: sven tags: scriptics-sc-1-0, scriptics-sc-1-0-branch
Creating branch scriptics-sc-1-1-branch Leaf check-in: 6d5e62120f user: cvs tags: scriptics-sc-1-1-branch
The tkwait visibility .drag is now in a catch, so the destruction of the window can no longer cause a Tcl stack trace. Fixed bug # 3571. check-in: 1d263889a1 user: sven tags: trunk, scriptics-sc-1-1, scriptics-sc-1-1-b1, scriptics-sc-1-1-base
Changed env(BWIDGET_LIBRARY) to ::BWIDGET::LIBRARY everywhere. This makes BWidgets behave more nicely with tcltest. check-in: 149d9e6ba2 user: ericm tags: trunk, scriptics-sc-1-0-base
* buttonbox.tcl: Added a gettags function, which allows the user to query the tags that are used on buttons in the buttonbox. check-in: 133c515858 user: ericm tags: trunk
Fixed font lists on windows. check-in: e33b90fb7b user: ericm tags: trunk
* 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). check-in: 3e02826d52 user: ericm tags: trunk
Fixed some issues with the new -style flag. check-in: 3d735e7800 user: ericm tags: trunk
* 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). check-in: 0044eccdb1 user: ericm tags: trunk
* tree.tcl: Added support for keyboard-based scrolling. check-in: c82174bca6 user: ericm tags: trunk
* tree.tcl: Fixed some problems with keyboard traversal. Added support for left/right arrows a la MS Explorer. check-in: d9ce65d137 user: ericm tags: trunk
* 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. check-in: 3f7df86982 user: ericm tags: trunk
Added support for keyboard traversal. The widget will now tab in even when it is not editible. 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). check-in: 347d417b33 user: sven tags: trunk
* panedw.tcl: Added a -class PanedWindow option to the main frame (the megawidget) of the paned window. check-in: cf9a0e7e76 user: ericm tags: trunk
* dialog.tcl: Added an overrideredirect option to Dialog::draw, which allows the user to control the overrideredirect state of the dialog. check-in: 6c488ce999 user: ericm tags: trunk
Added an additional x and y offset for the see command. This allows me to move the visible area to a widget that is inside of a scrolled frame child. check-in: 89c469e792 user: sven tags: trunk
ChangeLog commit. check-in: d4865f7d47 user: ericm tags: trunk, scriptics-bc-1-0-b1
* buttonbox.tcl: Fixed ButtonBox::add input list, as the change I made to allow tagging was not backwards compatible. Now tags are specified with -tags $tags, and all is well. check-in: 420c4a35b6 user: ericm tags: trunk
Implemented the new configuration option -side, which allows the selection of the side for the notebook tabs. Possible values are "top" and "bottom". check-in: 5afb5e2005 user: sven tags: trunk
* 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. check-in: 027986893f user: ericm tags: trunk
Removed unused call to SC_PROG_TCLSH check-in: fd7def4279 user: wart tags: trunk
Updated to reflect recent TEA changes check-in: 2911677e6b user: wart tags: trunk
* 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. check-in: f3ebbcbe31 user: ericm tags: trunk