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/ . I'll try to release individual packages as and when available.
Here's a partial list of widgets, dialogs and libraries that will be included:Widgets
- button - generic button/checkbutton/radiobutton widget (designed for toolbars)
- calendar - date selector widget (useful with popup widget)
- combobox - combobox widget (uses popup widget)
- drop - collapsible drop-frame widget
- entry::file - file/path-completion for an entry widget
- entry::history - history for an entry widget
- filelist - listbox file browser widget
- filetree - tree file browser widget (using tree widget)
- frame - scrollable frame widget
- mdi - MDI widget
- menubar - menubar widget (using user-definable menu configuration files)
- notebook - notebook widget
- panel - panel widget (like MS Outlook)
- popup - popup widget (e.g. as used by combobox, calendar)
- progress - progress bar widget
- scroll - scrollable-widget widget (with scrollbars that appear only when needed)
- scroller - 2d x/y scrollbar (similar to BWidget's ScrollView)
- 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 (uses grid and clone libraries)
- tooltip - tooltip widget (balloon help)
- tree - canvas-based tree widget
- window - generic window/toplevel widget
- dialog - generic dialog window
- dialog::color - color selector dialog
- dialog::directory - directory selector dialog
- dialog::error - improved bgerror dialog
- dialog::file - file selector dialog
- dialog::fileprop - file properties dialog
- dialog::font - font selector dialog
- dialog::login - a username/password login dialog
- dialog::message - message dialog
- text::find - text find dialog/widget
- text::goto - text goto dialog/widget
- canvas - library of canvas widget routines (convert to polygon, reflect, rotate, see, tile)
- clone - library to enable cloning of widgets (including heirarchies), procs (see cloneProc), namespaces, variables, images, etc. Widget tree cloning should be useful for tearoff toolbars (i.e. clone a frame to a toplevel).
- color - library of color routines (see bevel 3d)
- date - library of date conversion routines
- file - library of useful file commands
- focus - library to manage a stack of focus requests
- font - library of font routines
- grab - library to manage a stack of grabbed windows
- grid - library of grid routines (reflecting/inverting/transposing/inserting & deleting columns & rows/etc)
- icon - library of icon routines (finding, refcounting, etc)
- image - library of image routines (sizes, etc)
- interp - library of interp routines (notably the ability to dump the complete state of an interp)
- label - library of label widget routines (wrapping, selection) See [1]
- list - library of useful list commands
- listbox - library of listbox widget routines (move selection up & down)
- source - library to enable debugging/auto/encoding/namespace/etc for 'source'
- string - library of string 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
PackagesI will put links here to individual packages as and when they become available:
- label - [] - http://www.binarism.com/tk/label/
- listbox - [extended listbox] - http://www.binarism.com/tk/listbox/
- popup - [popup] - http://www.binarism.com/tk/popup/
- text::sync - [text::sync] - http://www.binarism.com/tk/text/sync/
- timer - [timer] - http://www.binarism.com/tcl/timer/
- tooltip - [tooltip] - http://www.binarism.com/tk/tooltip/
- window::or - [window::or] - http://www.binarism.com/tk/window/or/
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. See also: [2]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. Actually, I'm trying to come up with a different name - I didn't want to call it scrollframe or anything like that, but something akin to frame that implies the scrollability. I've only got panel and sheet so far, but I've already got a panel widget (like the Outlook panel) and sheet sounds too like a spreadsheet. Back to the thesaurus, I think.The listbox library contains miscellaneous commands specific to listbox widgets: moving the selection up/down, deleting the selection, chronological selection, sorting, etc.