MGS The eWidgets Toolkit is a collection of extended widgets and dialogs for Tcl/Tk. Each widget/dialog is designed to be self-contained, efficient, lightweight, cross-platform, and to work equally well on large and small displays.
This will form the basis for my other project Mogul.
eWidgets was originally going to be a substantial rewrite of the BWidget toolkit, but I got very bogged down in the complexity of its internal architecture. I also had already written many new widgets, so they have formed the basis of this toolkit.
I would like to hear from anyone who has comments (good and bad) about BWidgets and other mega-widget libraries. In particular, things that don't work, things that are missing, extra functionality, etc. And if you're looking for a new kind of widget that doesn't exist, I might be interested in writing it. I'm always looking for new and better ways of doing things. Please feel free to drop me line at markgsaye @ yahoo.com
Q. Where does one find this toolkit? I don't see a URL.
A. One doesn't, yet. I'm still very busy writing it. When I have an architecture which is somewhat stable, with widgets that work (!), some examples, and a smidgin of documentation, I will make an announcement, and upload stuff to http://ewidgets.sourceforge.net/ and http://sourceforge.net/projects/ewidgets/ .
Here's a partial list of widgets, dialogs and libraries that will be included:
" '''file''' - library of useful file commands
LV [2003/05/14] Q. How do the entries above such as text, frame, etc. that are currently in Tk differ from the Tk versions?
MGS - At the moment, I'm not sure that the text library will exist. It was intended for a collection of miscellaneous text widget commands, most of which have now been split out into separate libraries/widgets such as text::find, text::goto etc.
The canvas library contains miscellaneous commands specific to canvas widgets. For example: canvas::see, canvas::tile, canvas::convert, canvas::rotate, and more.
The window widget is effectively just a toplevel with some syntactic sugaring to incorporate some extra properties, notably the toplevel-specific options from the wm command. i.e. you could do things like: window .mywin -title "My Window Title" -propagate 0 -transient . . This also means that you can put wm properties into the options database.
The frame widget is a scrollable frame widget, but not using a canvas as most scrollable widgets do. The scrollable area of the widget works more intuitively (I think) than, say, the BWidget's version.
The listbox library contains miscellaneous commands specific to listbox widgets: moving the selection up/down, deleting the selection, chronological selection, sorting, etc.