Extending traces with OAT1: An object attribute trace package for Tcl/Tk2

Alex Safonov, Joseph A. Konstan, John V. Carlis, Brian Bailey

Research output: Contribution to conferencePaperpeer-review


Tcl supports variable traces, which associate arbitrary scripts with variable reads, writes and unsets. We developed OAT (Object Attribute Traces), a protocol for extending traces to attributes of arbitrary Tcl “objects.” We wrote several OAT-based extensions including TkOAT, which provides traces on attributes of Tk widgets and canvas items. The OAT protocol and derived extensions bring the benefits of more expressive constraints to Tcl/Tk applications by providing extended traces. OAT requires no changes to the Tcl core and is implemented as a loadable library; OAT-based extended trace packages introduce minimal changes to the code of existing extensions (Tk, CMT, etc.). The new version of our formula manager, TclProp, takes advantage of extended traces provided by OAT.

Original languageEnglish (US)
StatePublished - 1997
Event5th Annual Tcl/Tk Workshop 1997, TCL/TK 1997 - Boston, United States
Duration: Jul 14 1997Jul 17 1997


Conference5th Annual Tcl/Tk Workshop 1997, TCL/TK 1997
Country/TerritoryUnited States

Bibliographical note

Funding Information:
The Listbox Pager shown in Figure 1 demonstrates the usefulness of traces set directly on widget attributes. The “Prev Page” and “Next Page” buttons scroll the contents of the listbox by the number of visible lines. They are disabled when the listbox is positioned on the last page (starting at item 5) and the first page (starting at item 0), respectively. The state of the pager buttons depends on the following three attributes of the listbox: 1. the total number of items 2. the number of visible items 3. the number of the first visible item 1 One of the reviewers suggested that we come up with a different name for the OAT package, so we renamed our package FATCAT: Flexible Architecture for Tcl Constraints And Traces. 2 Partially supported by NSF grants EBN-9419233 and IRI-9410470, and a grant from the Minnesota Distributed Multimedia Research Center.


Dive into the research topics of 'Extending traces with OAT1: An object attribute trace package for Tcl/Tk2'. Together they form a unique fingerprint.

Cite this