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 language||English (US)|
|State||Published - 1997|
|Event||5th Annual Tcl/Tk Workshop 1997, TCL/TK 1997 - Boston, United States|
Duration: Jul 14 1997 → Jul 17 1997
|Conference||5th Annual Tcl/Tk Workshop 1997, TCL/TK 1997|
|Period||7/14/97 → 7/17/97|
Bibliographical noteFunding 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.