TIPUser.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Last Edited by McGregor, October 21, 1982 10:16 am
Last Edited by: Maxwell, January 3, 1983 11:01 am
Doug Wyatt, April 14, 1985 9:06:02 pm PST
DIRECTORY
Intime USING [EventTime],
Process USING [Milliseconds],
Rope USING [ROPE];
TIPUser: CEDAR DEFINITIONS
~ BEGIN
ROPE: TYPE ~ Rope.ROPE;
TIPTable: TYPE ~ REF TIPTableRep;
TIPTableRep: TYPE ~ RECORD [
link: TIPTable ← NIL,
opaque: BOOLTRUE,
mouseTicks: Process.Milliseconds ← 50,
impl: REF TIPTableImplRep
];
TIPTableImplRep: TYPE;
TIPScreenCoords: TYPE ~ REF TIPScreenCoordsRec;
TIPScreenCoordsRec: TYPE ~ RECORD [mouseX: INTEGER, mouseY: INTEGER, color: BOOL];
TIPScreenCoords are used to pass the hardware cursor information. [0,0] is lower left.
TIPTime: TYPE ~ REF Intime.EventTime;
InstantiateNewTIPTable: PROC [file: ROPENIL] RETURNS [table: TIPTable];
TIP tables are user-editable and normally live in the FS file system. Clients may instantiate new tables with this routine. An error in reading in a new table can produce the continuable InvalidTable signal.
InvalidTable: SIGNAL [errorMsg: ROPE];
TransparentTIPTable: PROC RETURNS [table: TIPTable];
In rare cases, a client wishes to gain access to the lower level increek actions. This TIPTable always returns each action as a list of: {ClassIncreek.Increek, REF ClassIncreek.ActionBody)..
TIPPredicate: TYPE ~ PROC RETURNS [BOOL];
RegisterTIPPredicate: PROC [key: ATOM, p: TIPPredicate];
a user-defined predicate may be included in the enables list of a TIPTable via this association mechanism.
END.