The Tycho Slate


The Slate is an [incr Tcl] megawidget layered over the Tcl/Tk canvas. It contains features that we believe to be necessary or useful for implementing complex graphical editing and visualization widgets. The key features of the Slate are:

A visual hierarchy
The Slate implements a straight-forward visual hierarchy, as is common in many graphics packages. We are able to define new kinds of graphical items that are composed of simpler items. All of the canvas methods are rewritten to handle hierarchical items.

Item shapes
Every item has a shape, such as point, rectangle, polygon, or a custom-designed shape. Items can be queried for the coordinates of an aspect, such as the north-east corner or the second vertex. Items can be requested to move one or more aspects, reshaping the item.

Interactors
Event-handlers can be bound to any level of the visual hierarchy. In addition, we implemented a more abstract and much more powerful user interaction framework, in which a particular sequence of user interactions is abstracted into objects called interactors.
The Slate also contains other useful methods, such as highlighting and selection. To see an example of an editor and some widgets created with the Slate, see the Continuous time simulation demo screen-shot page.

Documentation available:

A short tutorial
If you are reading this in the Tycho HTML browser, you can double-click on the Tcl code to execute it. Otherwise, you can copy and paste, or just read it.
The programmer's guide
A somewhat-disorganized guide to the internals of the Slate, the available classes and features, and a programmer's FAQ.
Class documentation
Documentation for the Slate classes, generated from the source code by the tydoc utility.

Some other useful links:

The Tycho Slate: Complex Drawing and Editing in Tcl/Tk
A paper about the Slate, which will appear in the Tcl/Tk conference in September 1998.
The Tycho User Interface System
A paper about Tycho.


Copyright © 1996-1998, The Regents of the University of California. All rights reserved.
Last updated: 05/07/98, comments to: johnr@eecs.berkeley.edu