[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: '''Widgets''' * '''button''' - generic button/checkbutton/radiobutton widget (designed for toolbars) * '''combobox''' - combobox widget * '''date''' - date selector widget (useful with popup widget) * '''drop''' - collapsible drop-frame widget * '''filelist''' - listbox file browser widget * '''filetree''' - tree file browser widget (using tree widget) * '''frame''' - scrollable frame widget * '''grid''' - grid widget/library of grid routines * '''mdi''' - mdi widget * '''menubar''' - menubar widget * '''notebook''' - notebook widget * '''panel''' - panel widget (like MS Outlook) * '''pathentry''' - file/path-completion entry widget * '''popup''' - popup widget (e.g. as used by combobox) * '''progress''' - progress bar widget * '''scroll''' - scrollable-widget widget * '''scroller''' - 2d scrollbar * '''slide''' - slide widget (similar to scale widget) * '''spinbox''' - spinbox widget * '''text::listbox''' - hierarchical listbox widget * '''text::map''' - graphical widget to display text widget search results (adapted from [Roy Terry]'s Hits!) * '''titleframe''' - titleframe widget * '''toolbar''' - toolbar widget * '''tooltip''' - tooltip widget (balloon help) * '''tree''' - canvas-based tree widget * '''window''' - generic window/toplevel widget '''Dialogs''' * '''dialog''' - generic dialog window * '''dialog::color''' - color selector dialog * '''dialog::directory''' - directory selector dialog * '''dialog::file''' - file selector dialog * '''dialog::fileprop''' - file properties dialog * '''dialog::font''' - font selector dialog * '''dialog::message''' - message dialog * '''text::find''' - text find dialog/widget * '''text::goto''' - text goto dialog/widget '''Libraries''' * '''canvas''' - library of canvas routines * '''color''' - library of color routines * '''font''' - library of font routines * '''icon''' - library of icon routines (finding, refcounting, etc) * '''image''' - library of image routines (sizes, etc) * '''label''' - library of label routines (wrapping, selection) * '''listbox''' - library of listbox routines * '''text''' - library of text widget routines (maybe) * '''[text::sync]''' - library to synchronize two or more text widgets * '''[window::or]''' - library to handle full-screen windows ---- ''[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 ''label'' library contains miscellaneous commands specific to label widgets. For example, see [label selection] and [label wrapping]. 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 subset (if you like) of the ''window'' widget, with just a few extra properties. Not sure if I'll include this widget though (does not include v. many extras, currently just the -propagate option) The ''listbox'' library contains miscellaneous commands specific to listbox widgets: moving the selection up/down, deleting the selection, chronological selection, sorting, etc. ---- [Category Package] | [Category GUI]