RememberDefsPrivate.mesa;
Last Edited by: Teitelman, June 29, 1983 1:09 pm
See Remember.Tioga for documentation and examples of how to use the Remember package.
DIRECTORY
Menus USING [MenuEntry],
Rope USING [ROPE],
Tempus USING [Packed, PackedSeconds, Seconds],
ViewerClasses USING [Viewer]
;
RememberDefsPrivate: 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: BOOLTRUE,
justPretending: BOOLFALSE,
blink: BOOLFALSE,
destroyed: BOOLFALSE,
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,
getSeriousAfter: Tempus.Seconds ← 0,
message: ROPENIL,
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];
pretend it is now for the purposes of posting reminders.
itIsNow: PRIVATE Tempus.Packed;
determines now both for the purposes of posting reminders and also registration of events.
Save: PRIVATE PROC;
AddEvent: PRIVATE PROC [event: Event];
walnutUser: PRIVATE BOOL;
peanutUser: PRIVATE BOOL;
reminderButtons: Menus.MenuEntry;
END.