-- File: WalnutDisplayerPrivate.Mesa
-- Created by: Haugeland, March 15, 1983
-- Last Edited by: Willie-Sue, April 12, 1983 11:12 am
DIRECTORY
Menus USING [Menu],
Rope USING [ROPE],
WalnutDB USING [Msg, MsgSet, MsgRec, Relship],
ViewerClasses USING [Viewer];
WalnutDisplayerPrivate: CEDAR DEFINITIONS =
BEGIN OPEN WalnutDB;
Viewer: TYPE = ViewerClasses.Viewer;
ROPE: TYPE = Rope.ROPE;
msgMenu: Menus.Menu;
msgName: ROPE;
-- ***********************************************************
-- FieldHandle for msgSet displayers, needed by msg displayers
MsgSetFieldHandle: TYPE = REF MsgSetFieldObject;
MsgSetFieldObject: TYPE = RECORD[
relship: Relship,
msgViewer: Viewer← NIL,
msg: Msg,
msgTOC: ROPE,
posOK: BOOL← FALSE,
hasBeenRead: BOOL← TRUE,
headersPos, msgLength: INT← 0,
prev, next: Viewer← NIL];
-- ***********************************************************
-- displaying Msgs
DisplayMsgFromMsgSet:
PROC[mfh: MsgSetFieldHandle, msViewer: Viewer, shift: BOOL← FALSE] RETURNS[v: Viewer];
ListCategories: PROC[msg: Msg];
-- ***********************************************************
-- maintaining MsgSet displayers
AddParsedMsgToMSViewer: PROC[msgR: MsgRec, msViewer: Viewer, rel: Relship];
RemoveFromMsgSetDisplayer: PROC[msgSet: MsgSet, msg: Msg];
AddMsgToMsgSetDisplayer: PROC[msg: Msg, msAddedTo: MsgSet, rel: Relship];
END.