<> <> <> <> <> <> DIRECTORY Cursors, Icons, Menus, TIPUser, ViewerClasses; MJSContainers: CEDAR DEFINITIONS = BEGIN Viewer: TYPE = ViewerClasses.Viewer; ViewerRec: TYPE = ViewerClasses.ViewerRec; MJSContainer: TYPE = Viewer; <> <> <> <> MJSContainerClass: TYPE = REF MJSContainerClassRep; MJSContainerClassRep: TYPE = RECORD [ notify: ViewerClasses.NotifyProc _ NIL, paint: ViewerClasses.PaintProc _ NIL, modify: ViewerClasses.ModifyProc _ NIL, destroy: ViewerClasses.DestroyProc _ NIL, copy: ViewerClasses.CopyProc _ NIL, set: ViewerClasses.SetProc _ NIL, get: ViewerClasses.GetProc _ NIL, init: ViewerClasses.InitProc _ NIL, save: ViewerClasses.SaveProc _ NIL, caption: ViewerClasses.CaptionProc _ NIL, adjust: ViewerClasses.AdjustProc _ NIL, childAdjust: ChildAdjustProc _ NIL, menu: Menus.Menu _ NIL, tipTable: TIPUser.TIPTable _ NIL, icon: Icons.IconFlavor _ document, cursor: Cursors.CursorType _ textPointer, dontAdjustIconic: BOOL _ TRUE <> ]; ChildAdjustProc: TYPE = PROC [parent, child: Viewer] RETURNS [viewerToPaint: Viewer _ NIL, paintColumn: BOOL _ FALSE]; <> RegisterClass: PROC [viewerFlavor: ATOM, class: MJSContainerClass]; <> <> <> GetClass: PROC [viewerFlavor: ATOM] RETURNS [class: MJSContainerClass]; <> Create: PROC [viewerFlavor: ATOM, info: ViewerRec _ [], paint: BOOL _ TRUE] RETURNS [container: MJSContainer]; <> ChildYBound: PROC [container: MJSContainer, child: Viewer]; <> ChildXBound: PROC [container: MJSContainer, child: Viewer]; <> FlushChildX, FlushChildY: PROC [child: Viewer] RETURNS [changed: BOOL]; <> NoteSize: PROC [container: MJSContainer, mayPaint: BOOL] RETURNS [change: BOOL]; <> <> <> <> <> <> <<>> NoteChildSize: PROC [child: Viewer] RETURNS [viewerToPaint: Viewer, paintColumn: BOOL]; <> <> <> ScrollOffset: PROC [container: MJSContainer] RETURNS [offTop: INTEGER] ; <> HScrollOffset: PROC [container: MJSContainers.MJSContainer] RETURNS [offLeft: INTEGER] ; <> GetClientData: PROC [container: MJSContainer] RETURNS [clientData: REF ANY]; IsMJSContainer: PROC [viewer: Viewer] RETURNS [BOOL]; END.