From: Bryan Oakley <oakley@channelpoint.com> Subject: ANNOUNCE: combobox 1.06 Date: Tue, 08 Sep 1998 17:09:07 -0600 WHO: Bryan Oakley <oakley@channelpoint.com> WHAT: combobox v1.06 tcl-only combobox widget WHERE: http://www1.clearlight.com/~oakley/tcl/combobox/index.html REQUIREMENTS: tcl/tk 8.0 or greater (8.0.3 recommended) SUPPORTS: all platforms supported by tcl 8.x WHAT'S NEW FOR 1.06: * dropdown list scrollbar is now "smart", and will only appear if the number of elements in the list is larger than the -height (or -maxheight, if -height is zero) of the widget * slightly different bitmap for the button, courtesy of Martin M. Hunt * slight modification to the computation of the height of the dropdown list. The computation now takes into consideration the borderwidth of the dropdown list * added option -commandstate. If "disabled", the value of -command will *not* be called when the value changes. Useful for setting the value programatically when you don't want to run the associated command. NB: I really like this concept (of a -commandstate); I sure wish all tk widgets had such an option... * added value checks when setting -state and -commandstate (prior to 1.06 we would attempt to set the state to whatever you passed in) * fixed bug in error reporting of some listbox manipulation commands (like ".foo list insert" and friends) * the -command is called whenever something is chosen from the list or the user presses Return or Tab with focus in the entry, even if the value hasn't changed. The reasoning is that some people might actually want this behavior, and for those that don't they can easily do the check for a changed value themselves. * went back to putting all procs _outside_ the initial namespace eval, as per suggestions in the style guide published by scriptics. * focus is better handled when the dropdown listbox is hidden -- focus should now be restored to whatever widget had it last. * added a keyboard widget traversal hack in the README.txt file; this hack also appears in test.tcl KNOWN BUGS: * There is currently no options database support. * With some ill-behaved window managers it may be possible to obscure the dropdown listbox by switching virtual desktops or even just clicking on the main application window * keyboard traversal and focus isn't perfect, but hopefully these problems will go away when the mythical "megawidget support" makes it in to the core. BASIC FEATURES: * written in pure tcl; no megawidget or OO extensions required * self-contained and portable; all the code is in one file * API is similar to standard Tk widgets, with subcommands such as configure, cget, insert, etc. * keyboard navigation * emulates the look and feel of a Windows combobox (not sure about the look/feel on a mac -- I haven't personally tested it there) * completely, totally, free. I retain copyright but you are free to use the code however you see fit. Don't be mean. -- Bryan Oakley ChannelPoint, Inc.