-- File: NoteEditor.mesa
-- Contents: interface to a "notes" subwindow for use by nut implementations
-- Created by Donahue, October 27, 1982 11:31 am
-- Last edited by:
-- Donahue, March 14, 1983 3:17 pm
-- Cattell, April 6, 1983 2:49 pm

DIRECTORY
DB: TYPE USING[ Entity, Segment ],
ViewerClasses: TYPE USING[ Viewer ],
VTables: TYPE USING[ VTable ];

NoteEditor: DEFINITIONS IMPORTS DB =

BEGIN OPEN DB, ViewerClasses, VTables;

DisplayNote: PROC[ entity: Entity,
      parent: Viewer,
      segment: DB.Segment ← NIL,
      openHeight: NAT ← 0,
      openWidth: NAT ← 0,
      noEdits: BOOLEANFALSE ] RETURNS[VTable];
-- make a nested viewer (a VTable) that has the contents the "note" relation for the Entity.
-- if noEdits, then user edits will be inhibited

SaveNote: PROC[ newEntity: Entity, viewer: Viewer, update: BOOLEANFALSE ];
-- given a table set up by DisplayNote, add its contents to the database;
-- newEntity is used for the "of" field.
-- if update is TRUE, then the previous relship for this entity will be changed instead of
-- adding a new one

END.