<<>> <> <> <> <> <> <> <<>> DIRECTORY ViewerClasses USING [ClickProc], TBQueue USING [Action], TiogaButtons USING [TiogaButton, TiogaButtonProc]; TBQueuePrivate: CEDAR DEFINITIONS ~ BEGIN <> <> <> Action: TYPE ~ TBQueue.Action; Event: TYPE ~ LIST OF Action; Queue: TYPE ~ REF QueueObj; QueueObj: TYPE ~ MONITORED RECORD [ notifier: PROCESS ¬ NIL, firstEvent: Event ¬ NIL, aborts: CARD ¬ 0, newEvent: CONDITION, stateChange: CONDITION, pushModel: BOOL, abortPending: BOOL ¬ FALSE ]; Enqueue: PROC [q: Queue, e: Event, immediate: BOOL]; <> MyClickInfo: TYPE ~ REF MyClickInfoObj; MyClickInfoObj: TYPE ~ RECORD [ tbProc: TiogaButtons.TiogaButtonProc, -- only one of these should be nonNIL mbProc: ViewerClasses.ClickProc, -- only one of these should be nonNIL immediate: BOOL, clientData: REF, q: Queue ]; TBUserClick: TiogaButtons.TiogaButtonProc; <> <<>> MBUserClick: ViewerClasses.ClickProc; <> END.