<> <> <> DIRECTORY Rope USING [ROPE], Tempus USING [Packed, PackedSeconds, Seconds], ViewerClasses USING [Viewer] ; ReminderDefsPrivate: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; Packed: TYPE = Tempus.Packed; PackedSeconds: TYPE = Tempus.PackedSeconds; Seconds: TYPE = Tempus.Seconds; Viewer: TYPE = ViewerClasses.Viewer; Event: TYPE = REF EventRecord; EventRecord: TYPE = RECORD[ -- find out how to make this opaque text: ROPE, timeToStartNotification: PackedSeconds _ [0], newStartTime: BOOL _ TRUE, justPretending: BOOL _ FALSE, blink: BOOL _ FALSE, destroyed: BOOL _ FALSE, repeat: ROPE, nextNotification: PackedSeconds _ [0], -- cache for use with repeat so don't have to compute each time leadTime: Seconds _ 0, -- saved separately from timeToStartNotification so can write it back out untilTime: Seconds _ 0, durationTime: Tempus.Seconds _ 0, message: ROPE _ NIL, viewer: Viewer _ NIL, iconLabel: ROPE, iconFlavor: ROPE -- no point in constructing flavor until you need it. ]; IconLabelType: TYPE = {prev, next, this, none}; EnterEventMinder: PRIVATE PROC [itIsNow: Tempus.Packed]; <> itIsNow: PRIVATE Tempus.Packed; <> walnutUser: PRIVATE BOOL; peanutUser: PRIVATE BOOL; END.