TrcStandardClasses.mesa
Copyright © 1986 by Xerox Corporation. All rights reserved.
Eric Nickell, August 29, 1986 2:46:39 pm PDT
~
BEGIN
Class: TYPE ~ Trc.Class;
ROPE: TYPE ~ Rope.ROPE;
TRC: TYPE ~ Trc.TRC;
Parm: TYPE ~ RECORD [name: ROPE, initialValue: REAL ← 0.5];
ParmInstance:
TYPE ~
REF ParmInstanceRep;
ParmInstanceRep:
TYPE ~
RECORD [
SEQUENCE n: NAT OF REAL
];
NewIdentityTrc:
PUBLIC
PROC
RETURNS [trc:
TRC];
Returns the values passed in.
NewChainTrc: PUBLIC PROC [dependents: LIST OF TRC] RETURNS [trc: TRC];
ReplaceNthTrcInChain:
PUBLIC
PROC [chain, new:
TRC, n:
NAT, notify:
BOOL ←
TRUE];
If notify~FALSE, then it becomes the client's responsibility to tip off chain's listeners at the appropriate time.
ChainInfo: PROC [chain: TRC] RETURNS [n: NAT];
GetNthTrcInChain: PROC [chain: TRC, n: NAT] RETURNS [trc: TRC];
ExtendChain:
PROC [chain:
TRC, newLinks:
NAT ← 1, atPosition:
NAT ←
NAT.
LAST];
Adds newLinks sub-trc's to the chain, inserting them at atPosition.
DeleteNthTrcInChain: PROC [chain: TRC, n: NAT, notify: BOOL ← TRUE];
CreateParametricSubclass: PUBLIC PROC [flavor: ATOM, fcn: Trc.Fcn, blockFcn: Trc.BlockFcn, parms: LIST OF Parm, register: BOOL ← TRUE] RETURNS [class: Trc.Class];
NewParametricTrc: PUBLIC PROC [class: Class] RETURNS [trc: TRC];
EnumerateRegisteredParametricClasses:
PROC [proc: Trc.ClassEnumProc];
Enumerates the all the parametric classes which have been registered with Trc