DIRECTORY SVInterfaceTypes, ViewerOps, ViewerClasses; SVViewerTool: CEDAR DEFINITIONS IMPORTS ViewerOps = BEGIN OPEN ViewerClasses; Viewer: TYPE = ViewerClasses.Viewer; Create: PROC [info: ViewerRec _ [], paint: BOOL _ TRUE] RETURNS [solidContainer: Viewer] = INLINE {RETURN[ViewerOps.CreateViewer[$SolidViewerTool, info, paint]]}; ChildYBound: PROC [solidContainer: Viewer, child: Viewer] = INLINE {solidContainer.class.set[self: solidContainer, data: child, op: $YBound]} ; ChildXBound: PROC [solidContainer: Viewer, child: Viewer] = INLINE {solidContainer.class.set[self: solidContainer, data: child, op: $XBound]} ; END. RFile: SVViewerTool.mesa Last edited by Bier on December 18, 1982 1:43 am Copyright c 1984 by Xerox Corporation. All rights reserved. Author: Eric Bier before June 18, 1987 4:37:42 pm PDT My very own container-type class for solid viewers Containers are just viewers that are convenient to hold other viewers. Creates a new, empty container. You probably want to pass a name in the info record. constrain (child.wy + child.wh = solidViewerTool.wh) after next time solidViewerTool is painted constrain (child.wx + child.ww = solidViewerTool.ww) after next time solidViewerTool is painted Κ(˜Iheadšœ™Jšœ0™0Jšœ Οmœ1™