GSoC Idea: Create Free-standing Slate Widget

Create Free-standing Slate Widget

Difficulty: easy-medium

slate is a sophisticated object-oriented widget for authoring interactive graphs and hierarchies, which uses the Tk canvas as a support base. It was developed as part of the Tycho project, now abandoned. It would be worthwhile to extract the slate code from the overall Tycho codebase, update it for modern Tcl/Tk compatibility, and submit it to Tklib.

The slate wiki page describes a previous partial attempt to do just this. This project would take up where it left off, or use it for guidance in a wholly new effort.

If any time is left over, the student could examine the Tycho codebase for more code gems (of which there are many), identify them and extract them in a similar way.

Benefits for the student: learn object-oriented programming and design patterns as they apply to GUI development and graph theory. Graph theory is an important concept for areas such as decision flow, software modeling, hardware IC design, etc.

Benefits for the community: Acquire powerful old/new widget that leverages new TclOO feature to provide a tool for graphing applications.