search menu icon-carat-right cmu-wordmark

Rendering Tcl/Tk Windows as HTML

February 2003 Technical Note
Fred Hansen

Tcl is a programming language having a Toolkit library that provides a standard set of GUI widgets. Since these are aimed at direct presentation via a window manager, Tcl/Tk applications are not compatible with web-based service delivery environments. Several tools provide help, but do not provide a migration path for eventual full conversion to web-based delivery. This 2003 report suggests a new approach.

Publisher:

Software Engineering Institute

CMU/SEI Report Number

CMU/SEI-2003-TN-002

DOI (Digital Object Identifier):
10.1184/R1/6583061.v1

Abstract

Tool Control Language (Tcl) is a programming language having a Toolkit (Tk) library that provides a standard set of graphical user interface (GUI) widgets. Since these are aimed at direct presentation via a window manager, Tcl/Tk applications are not compatible with Web-based service delivery environments. Several tools provide some help, but do not provide a migration path for eventual full conversion to Web-based delivery. This note suggests a new approach. For the particular application prompting this note, the GUI consists almost entirely of Tk widgets, especially tables and buttons. Hypertext Markup Language (HTML) offers these same widgets, so it is natural to consider delivering Tk windows by expressing their contents in HTML. To demonstrate this possibility, the Tk library was altered to generate HTML. As described in the paper, this shows that the Tcl/Tk internal data structures are sufficient to generate appropriate HTML commands having the same user interface as that presented by the application. Consequently, it is possible to add to Tk a fourth GUI interface in parallel to the existing ones for Unix, Macintosh, and MS Windows.