RememberPrivate.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Last Edited by: Teitelman, June 29, 1983 1:09 pm
Last Edited by: Pier, March 13, 1984 6:11:12 pm PST
Rick Beach, April 4, 1985 4:24:37 pm PST
DIRECTORY
BasicTime USING [nullGMT],
Menus USING [MenuEntry],
Rope USING [ROPE],
Tempus USING [Packed, PackedSeconds, Seconds],
ViewerClasses USING [Viewer];
RememberPrivate: 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],
trueTimeToStartNotification: PackedSeconds ← [0],
newStartTime: BOOLTRUE,
justPretending: BOOLFALSE,
restoreTrueTimes: BOOLFALSE,
blink: BOOLFALSE,
destroyed: BOOLFALSE,
repeat: ROPE,
nextNotification: PackedSeconds ← [0], -- cache for use with repeat so don't have to compute each time
trueNextNotification: PackedSeconds ← [0],
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: Packed, itIsLater: Packed ← BasicTime.nullGMT];
pretend it is now for the purposes of posting reminders. If a second time is specified (itIsLater), look for a range of reminders to display between itIsNow and itIsLater.
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.
Change Log:
Edited on March 13, 1984 6:11:12 pm PST, by Pier
changes to: EnterEventMinder to take an early and a later time and display a range of events, DIRECTORY