The Tycho Slate: Complex Drawing and Editing in Tcl/Tk
This paper introduces the Slate package, which has been developed as part of the Tycho project at UC Berkeley. The Slate is layered over the Tcl/Tk canvas, and contains features that we believe to be useful for implementing complex graphical editing and visualization widgets. The first key feature is the ability to define new item types in Tcl. The second is an implementation of the concept of interactor, which abstracts low-level mouse events into self-contained objects. The third is access to and modification of items based on their shape, rather than raw coordinates. Combined with a straight-forward implementation of the model-view-controller architecture, the Slate is capable of implementing quite sophisticated graphical editors.