Copyright (C) 1992, Digital Equipment Corporation
All rights reserved.
See the file COPYRIGHT for a full description.
Last modified on Tue Oct 13 23:34:02 PDT 1992 by msm
<*PRAGMA LL*>
A mechanism for attaching arbitrary sets of properties to an installed
window that can be set and retrieved by a TrestleClass. The interface
is like VBT's property set, but supports enumeration.
INTERFACE TrestleGoo;
IMPORT VBT;
PROCEDURE PutProp(v: VBT.T; ref: REFANY); <* LL.sup < v *>
Add ref
to v
's property set, replacing any existing reference of
the same type as ref
. This is a checked runtime error if ref
is
NIL
.
PROCEDURE GetProp(v: VBT.T; tc: INTEGER): REFANY;
<* LL.sup < v *>
Return the element of v
's property set with typecode tc
, or
NIL
if no such element exists.
PROCEDURE RemProp(v: VBT.T; tc: INTEGER); <* LL.sup < v *>
Remove the element with typecode tc
from v
's property set, if one
exists.
TYPE Enum <: REFANY;
PROCEDURE Next(v: VBT.T; VAR enum: Enum): REFANY;
Start with enum = NIL, continue until NIL is returned
PROCEDURE Alias(v, ch: VBT.T);
Establish v as a TrestleGoo alias for ch; that is, GetProp, etc. will all
work on v as if it were ch
END TrestleGoo.