<<>> <> <> <> <> <> <> <> <<>> DIRECTORY EditNotify USING [Change]; <<>> UndoEvent: CEDAR DEFINITIONS ~ BEGIN <<>> Event: TYPE ~ REF EventRep; EventRep: TYPE ~ RECORD [subevents: SubEvent]; -- actual type of Tioga.EventRep <<>> SubEvent: TYPE = REF SubEventBody; SubEventBody: TYPE = RECORD [ next: SubEvent, undoProc: UndoProc, undoRef: REF Change ]; Change: TYPE ~ EditNotify.Change; <> UndoProc: TYPE = PROC [undoRef: REF Change, currentEvent: Event]; <> Create: PROC RETURNS [Event]; Note: PROC [event: Event, undoProc: UndoProc, undoRef: REF Change]; < to list of subevents>> Undo: PROC [undoEvent: Event, currentEvent: Event ¬ NIL]; <> <> <> Reset: PROC [event: Event]; <> <> Empty: PROC [event: Event] RETURNS [BOOL]; <> END.