Bwidget Source Code
Timeline
Not logged in

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

86 check-ins using file BWman/NoteBook.html version 8bfd39160b

2003-10-20
21:23
This is a huge commit with a lot of changes. I've tested through it with the demo as well as some of my own software, and everything seems to be working properly. I have no doubt that there will be little inconsistencies discovered through some thorough use.

Please checkout this latest version and give it a spin through your applications and tests. I am available to fix any and every bug that crops up, as I want to see this in really good shape for the next ActiveTcl release (which will follow the next Tcl release shortly).

* 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. check-in: b363fd16f2 user: damonc tags: trunk

2003-10-17
18:33
* 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.
check-in: ebde8e280e user: hobbs tags: trunk
2003-08-06
23:37
* listbox.tcl: Correct Listbox selection drawing [Bug #781652]
check-in: b9e13bfb56 user: hobbs tags: trunk
2003-07-17
23:45
Fix for bug #720032 "BWidget breaks Tk entry behaviour" check-in: bb7a1f845a user: jenglish tags: trunk
20:00
* 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.
check-in: 8e2dd9b45a user: hobbs tags: trunk
19:59
* notebook.tcl: Use list with eval for safety. Use lsearch -exact instead of default -glob in all uses.
check-in: ce3ff258fa user: hobbs tags: trunk
16:41
clarify management of embedded widget check-in: 5aa0ec2611 user: hobbs tags: trunk
2003-06-23
20:27
* combobox.tcl: Added a little better handling of keys in the auto-complete. check-in: 5cb54da8ad user: damonc tags: trunk
2003-06-06
23:02
* 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. check-in: 6c5562c1f7 user: damonc tags: trunk

00:50
* listbox.tcl: Liberal use of list where appropriate to make the code safe for space-containing node names. check-in: ebe3ea42a0 user: damonc tags: trunk
2003-05-23
12:47
updated version number to 1.6.0 check-in: 8018d81385 user: techentin tags: trunk, bwidget-1-6-0
12:46
* README.txt: updated version number to 1.6.0
check-in: 3919e357f0 user: techentin tags: trunk
2003-05-18
23:07
* progressbar.tcl: correctly handle progressbar being quickly created and deleted by deleting afters and checking var existence.
check-in: 146a1b8e71 user: hobbs tags: trunk
17:26
Widget::focusOK: Don't assume that '-editable' option is always 1 or 0 for all widgets. [Bug 710658] check-in: 61b5694e0b user: jenglish tags: trunk
2003-05-15
00:09
* demo/tree.tcl: make the tree scrollview make sense in demo. [Bug 684462]
check-in: fcf32fa827 user: hobbs tags: trunk
00:09
* tree.tcl: correct node lsearch'ing to use -exact to allow for [] containing nodes [Bug 628041] (decoster)
check-in: 26989afe66 user: hobbs tags: trunk
00:09
* notebook.tcl: ensure that bd is min 1 at all times. [Bug 688227] Correct use of eval with list.
check-in: c901fb6c6f user: hobbs tags: trunk
2003-05-07
08:24
* dynhelp.tcl (DynamicHelp::_motion_balloon): correctly listify after delayed _show_help callback.
check-in: 63e01075ed user: hobbs tags: trunk
06:26
* scrollw.tcl (ScrolledWindow::setwidget): remove any existing widget before setting the next.
check-in: 28c841c470 user: hobbs tags: trunk
2003-05-02
01:07
* 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.
check-in: 16aef283ae user: hobbs tags: trunk
2003-04-24
01:03
(Tree::_redraw_selection): correct -selectfill to include the image, in any, in the bbox calculation since it may be larger.
check-in: aec83cd20a user: hobbs tags: trunk
00:53
* 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.
check-in: 3f4eb85d05 user: hobbs tags: trunk
2003-04-16
03:41
* 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. check-in: 106735c26c user: damonc tags: trunk

2003-04-15
01:21
* 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.
check-in: fa48aa6dee user: hobbs tags: trunk
2003-04-12
01:33
* 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
check-in: 21a522aaec user: hobbs tags: trunk
2003-03-13
06:59
* 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. check-in: 2068922661 user: damonc tags: trunk

2003-02-25
22:02
* scrollw.tcl: add lock around grid remove scrollbar to prevent infinite loop in small window situations. (kienzle)
check-in: 7d8f06c9a4 user: hobbs tags: trunk
21:56
bumped to v1.6 check-in: 25ea388b96 user: hobbs tags: trunk
10:13
bumped to v1.6 check-in: 598623983d user: hobbs tags: trunk
09:51
* 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]
check-in: 08508ddc5a user: hobbs tags: trunk
09:47
code cleanup check-in: a69dbc6278 user: hobbs tags: trunk
07:52
* panedw.tcl (_realize): only allow _realize to be called once the Configure binding has triggered once. [Bug #613134] [Patch #63500] (decoster)
check-in: e14bab597e user: hobbs tags: trunk
07:43
typo fix check-in: 987a93c858 user: hobbs tags: trunk
2003-02-18
01:54
* 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").
check-in: 1951f74ec2 user: hobbs tags: trunk
2003-02-08
10:21
* 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. check-in: ecd5aec25e user: damonc tags: trunk

2003-01-26
10:55
* 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. check-in: 56196186a5 user: damonc tags: trunk

2003-01-24
22:17
* tree.tcl (Tree::delete, Tree::_subdelete): remove all deleted nodes from the the selection [Bug #621178]. check-in: e50950f7c9 user: jenglish tags: trunk
2003-01-17
22:06
fixed -textvariable option [bug #649383] check-in: 48afad9c03 user: patthoyts tags: trunk
2002-10-14
20:56
* pkgIndex.tcl: * configure.in: bump version to 1.5
check-in: 0c25286c24 user: hobbs tags: trunk
20:56
code cleanup check-in: bf6ed377fa user: hobbs tags: trunk
20:55
* progressbar.tcl (_modify): use updated idletasks instead of update. [Patch #622927] (decoster)
check-in: 398edca30b user: hobbs tags: trunk
20:54
* widget.tcl (_get_tkwidget_options): withdraw toplevel if it is the TkResource base widget. [Patch #620754] (decoster)
check-in: 5ce7bed34c user: hobbs tags: trunk
20:54
* BWman/LabelFrame.html: * labelframe.tcl: allow -bitmap -image and -textvariable options of the BWLabel component of a LabelFrame. [Patch #620753] (decoster)
check-in: 8a47540795 user: hobbs tags: trunk
20:54
* dynhelp.tcl: allow variable and balloon help simultaneously. [Patch #567982] (decoster)
check-in: 03782bd383 user: hobbs tags: trunk
20:54
* tree.tcl (_see): change to always show left edge of requested item. [Patch #556077] (english)
check-in: d4829f8387 user: hobbs tags: trunk
20:54
* combobox.tcl: make -entrybg also control the listbox background. [Bug #519189] (chevreux)
check-in: c4f57dc7ac user: hobbs tags: trunk
20:53
* button.tcl: remove -repeatdelay and -repeatinterval for 8.4 to allow Button to override them. [Bug #620103]
check-in: 1cdb02035f user: hobbs tags: trunk
2002-09-25
22:55
better DESTDIR/libdir support (steffen) check-in: 3038836bdf user: hobbs tags: trunk
2002-09-11
19:33
* color.tcl (SelectColor::menu): added tkwait and update to make sure that the grab doesn't fail on Unix.
check-in: 3ad83c2251 user: hobbs tags: trunk
19:33
* listbox.tcl: corrected multiple selectmode bindings. [Patch #483838, Bug #594853] (decoster)
check-in: 37705c89d2 user: hobbs tags: trunk
2002-08-23
20:12
* 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.
check-in: 155e59d7ed user: andreas_kupries tags: trunk
2002-08-07
22:10
reverted panedwindow class change - this was really a core name problem check-in: 358a9bc466 user: hobbs tags: trunk
22:04
* panedw.tcl: changed class from PanedWindow to BwPanedWindow to not conflict with 8.4 panedwindow.
check-in: 440b5c10d6 user: hobbs tags: trunk
2002-06-04
22:27
correction to chevreux patch to handle no parent specified check-in: c34013ef9f user: hobbs tags: trunk, tcllib-1-3-0, bwidget-1-4-1
22:11
noted tag date of 1.4.1 check-in: 0b9d48e5ec user: hobbs tags: trunk
22:09
uped version to 1.4.1 check-in: 031c28da0a user: hobbs tags: trunk
22:05
comment cleanup check-in: 11fc8fa88a user: hobbs tags: trunk
22:04
* 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]
check-in: 0149086be5 user: hobbs tags: trunk
22:03
* dialog.tcl: prevent dialog from freezing on Windows with tkwait visibility on withdrawn toplevels. [Patch #521386] (chevreux)
check-in: 33df5b59fd user: hobbs tags: trunk
22:03
* font.tcl: reworked loadfont to not sort font names unless requested. [Patch #524353] (kienzle, hobbs)
check-in: 7a9a373b6d user: hobbs tags: trunk
22:03
* panedw.tcl: corrected handling of weighted panes following a Configure event. [Patch #513320] (decoster)
check-in: f03b3e6de4 user: hobbs tags: trunk
22:02
* progressbar.tcl: Fixed display of vertical progressbar. [Patch #561403]
check-in: 42ecc7a8ca user: hobbs tags: trunk
2002-05-29
22:02
* combobox.tcl: Changed relief of popup list to ridge, for Win* platforms. check-in: 31049255f2 user: andreas_kupries tags: trunk
2002-05-09
21:01
* dynhelp.tcl: Accepted patch for bug 528929. Reported by <[email protected]>, patch also by him. check-in: f58f549e7a user: andreas_kupries tags: trunk
2002-04-25
18:11
* notebook.tcl: Accepted patch for bug #532246, fixing the appearance of the tabs so that text is always visible completely. check-in: 044c516f24 user: andreas_kupries tags: trunk
2002-01-28
21:56
Support for multiple screens under Windows OS check-in: c4352baa1c user: patthoyts tags: trunk
2002-01-23
00:38
updated for 1.4.0 tag release check-in: 84eda1311f user: hobbs tags: trunk, bwidget-1-4-0
00:37
updated copyright dates check-in: 7af53b61b9 user: hobbs tags: trunk
00:36
* widget.tcl: added Color as an optional type, with _test_color test. [RFE #443124].
check-in: 8df09802d4 user: hobbs tags: trunk
2002-01-16
02:20
see ChangeLog check-in: 041d2b879a user: hobbs tags: trunk
02:19
* BWman/ComboBox.html: removed reference to label options that were removed when the LabelFrame was dropped. [Bug #477130]
check-in: c2627c0036 user: hobbs tags: trunk
02:19
* listbox.tcl: allowed drop handler to work in empty listbox. [Bug #456883]
check-in: b3b6913380 user: hobbs tags: trunk
2002-01-15
18:51
* mainframe.tcl: correct unprotected eval calls. [Patch #501210] (chevreux)
check-in: b29891b0fe user: hobbs tags: trunk
2001-12-29
02:06
see ChangeLog check-in: be1ce2e200 user: hobbs tags: trunk
02:06
* widget.tcl: Select element 4 (was 3) from the config-options to get value from optiondb. [Patch #483838] (decoster)
check-in: 5ab2c913b3 user: hobbs tags: trunk
02:06
* mainframe.tcl: added options -menubarfont, -menuentryfont and -statusbarfont at creation time of the widget as well as subsequent configures. [Patch #479935] (chevreux)
check-in: 5f381ab362 user: hobbs tags: trunk
02:06
* utils.tcl: added else case to place is called with location different from 'at' and 'center' and without a parent. [Patch #484123] (decoster)
check-in: 0cfe507567 user: hobbs tags: trunk
02:06
* BWman/ListBox.html: * listbox.tcl: Added '-selectmode' flag and 2 possible select-modes: single and multiple. [Patch #483838] (decoster)
check-in: 513fac1226 user: hobbs tags: trunk
02:05
* 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)
check-in: a09ea2424c user: hobbs tags: trunk
02:05
* 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)
check-in: 44910f5251 user: hobbs tags: trunk
02:05
* BWman/Tree.html: * tree.tcl: Added a 'recursive' argument to 'Tree::opentree' and 'Tree::closetree'. [Patch #483838] (decoster)
check-in: fb00672cdf user: hobbs tags: trunk
02:04
* BWman/Dialog.html: * dialog.tcl: Added '-transient' and '-place' flags. [Patch #483838] (decoster)
check-in: 54c7f1716d user: hobbs tags: trunk
01:41
* configure.in: * pkgIndex.tcl: * README.txt: bumped version to 1.4.0 (not released)
check-in: 053e2f358e user: hobbs tags: trunk
01:40
* widget.tcl: added Widget::copyinit. [Patch #458446] (chevreux)
check-in: 6d692f3145 user: hobbs tags: trunk
01:40
* listbox.tcl: added multipleinsert command to allow faster inserts of multiple items. [Patch #458446] (chevreux)
check-in: 37e7e5b746 user: hobbs tags: trunk
01:40
* BWman/NoteBook.html: * notebook.tcl: added options for enhanced tab shape in notebooks. [Patch #402466] (haneef)
check-in: d148d6af34 user: hobbs tags: trunk