Purpose: to discuss the package library known as '''tklib''' ---- '''Overview''' Tklib is like [Tcllib], a collection of many small packages providing utilities, except that packages here are expected to depend on [Tk]. Tklib specializes in utilities for GUI programming. Version 1.7 has been released October 7, 2004. ---- [Tklib Location]: Where to find Tklib. [Tklib Installation]: How to install and then use Tcllib. [Tklib Contribution & Feedback]: How to contribute to Tcllib, report errors, etc. [Tklib Contents]: List of all the packages found in tklib. ---- Previous discussions on this page: from http://tcllib.sourceforge.net/ , its uses, policies, ''got-chas'', etc. List here the serious candidates for inclusion in tklib (these already exist in the appropriate SourceForge project): * [scwoop] * [text::sync] * [efftcl] from the [BOOK Effective Tcl - Writing Better Programs in Tcl and Tk] ---- [lv] any real reason to put bwidgets into tklib? It already is a [distribution] that many get. Remember to list only items that come in Tk scripting - compiled widgets like [tkimg], [tkhtml], [tktable], [tktreectrl], [blt], [tix], [vum widgets], [tkdnd], etc. belong in the various [Batteries Included] distributions. And some pieces of code here on the wiki that might be useful to add to tklib would include: * [A Little Hex Editor Widget] * [An entry with a history] * [Analog widgets] such as [a voltmeter-like widget: type 1], [a tachometer-like widget: type 1], [a needlemeter widget: type 1] * [Entry Field Processing] * [Gradients Color Transitions] * [Integer entry validation with range check] * [Mentry], [Wcb], [Tablelist] * [RS]'s [keyboard widget] for unicode virtual keyboard entry * [Read-only text widget] * [Right-to-left entry widget] * [Scrolling Widgets With a Scale] * [Time entry that never contains invalid data] * [Validating Credit Card Check Digits] and maybe some addition common edits, like zip codes, social security and phone numbers, etc. * [chart generation support] * [console for Unix] * [dial widget] * [pan] add panning to any widget with xview/yview (including blt::graph) * Perhaps [A wiki-like markup language for the text widget] Another systematic source for tklib-appropriate ideas are ports of the add-ons and widgets that [Perl/Tk] and [Tkinter] (and perhaps [PMW]) build in beyond the core ones provided in Tk itself. I encourage people to list other useful Tk related widgets and add-ons that are not already a part of some other extension. In particular, look around this wiki - I suspect there's a number of wonderful possibilities here. For instance, check out [Commonly requested widgets] - if you can find well written versions of these, putting them into tklib would be a wonderful idea. Do be careful to verify the licensing status of the code, and '''GET PERMISSION FROM THE AUTHOR''' before adding code to the library though. ---- The other thing needed is a person interested enough in seeing more [Tk] [megawidget]s being commonly available that the work necessary to integrate the code into tk begins. So far, lots of words, but no action. ---- [AM] Things I can add: * Flash windows (transient windows with a picture) en maximised windows - there are several such scripts around * Bindings for zooming/panning in a canvas * Scaling functions (so that you can add items to a canvas in world coordinates) Further ideas: * emu_graph * gtklook.tcl and general "griffionisations" * presentation graphics - such as the various slide shows ---- [NEM] I am currently working on a [CSS] parser, which will then lead on to work to create CSS megawidgets based around the text widget and the canvas (which is more work, and so much longer term). The CSS parser is pure Tcl, should be finished some time in the next month (it probably has about 2 days more work left + testing, but finding the time...), and I will be submitting it for inclusion in [tcllib] when finished. The megawidgets will probably be written using [snit], and might find their way in to [tklib] at some point. Combined with [tdom] or [TclXML] these might make a decent alternative to [tkhtml] with support for more recent (XML-based) web standards. Much work to do though. ---- Oh, NEM reminded me of something . If you check out tcllib's [snit], you will find a framework for creating megawidgets. I don't know whether there are any megawidgets actually in there, but certainly people are using the snit code to build them. ---- [Category Package] | [Category GUI] | [Category Widget] | [Category tklib]