What: incr Tk Slate megawidget
Where: http://ptolemy.eecs.berkeley.edu/%7Ejohnr/archives/code/slate/ Description: The Slate is an [incr Tcl] megawidget layered over the Tcl/Tk canvas. It contains visual hierarchy, symbolic item aspects and interaction support. Release 3.0alpha supports Tcl 8.0 or [incr Tcl] 3.0. Updated: 07/1998 Contact: mailto:[email protected] (John Reekie)
JMN 2007-01-28 The entire ptolemy system seems to have migrated to Java a while ago - but there are still earlier versions available which include the Tcl slate code. It's under a BSD style license and includes some very interesting features such as 'interactors'. From the documentation:
Interactors package common patterns of user interaction into reusable objects. They are a mechanism originally developed in Brad Meyer's Garnet system
With a bit of mucking about I was able to get most of the slate demos running under Tcl 8.5 - and it seems to me that the code may be worth rescuing.
escargo 29 Jan 2007 - If it's to be rescued, don't your changes need to be saved somewhere accessible?
JMN 2007-02-03 sure.. I'm working on some stuff in a private subversion repository at the moment - but I'll make it publicly accessible if I get anywhere with it. At the moment I'm just ripping out the logic related to the tycho & ptolemy packages. While it's admirable that slate goes to lengths to test for the presence of things such as Itcl & tycho and adjust accordingly - I had trouble with for example the 'obstcl' oo package that is supposed to emulate Itcl. Most of the code is written using incr Tcl/Tk so in the interests of simplification I'm just giving it a firm dependency on that. Someone can hack 'oo layer' switchability of some sort back in later if they really want it. I'm giving the new package a dependency on Tcl8.5+ and doing minor tweaks like bracing 'expr' statements. Tcl8.5 allows replacement of things like 'tycho::lassign v1 v2 .. $val_list' with the new builtin 'lassign $val_list v1 v2 ...' There's also a tycho::apply which I suspect may be replacable with Tcl8.5 apply...
see also - The Tycho Slate: Complex Drawing and Editing in Tcl/Tk[L1 ]
Source code: [L2 ]