<> <> <> <> <> <<>> DIRECTORY Menus USING [Entry], Rope USING [ROPE], VFonts USING [defaultFont, FONT], ViewerOps USING [DestroyViewer], ViewerClasses USING [NotifyProc, Viewer, ViewerRec]; Buttons: CEDAR DEFINITIONS IMPORTS VFonts, ViewerOps = BEGIN OPEN ViewerClasses; Button: TYPE = Viewer; <> Create: PROC [info: ViewerRec _ [], proc: ViewerClasses.NotifyProc, entry: Menus.Entry, font: VFonts.FONT _ VFonts.defaultFont, clientData: REF ANY _ NIL, paint: BOOL _ TRUE] RETURNS [button: Button]; <> Destroy: PROC [button: Button] = INLINE {ViewerOps.DestroyViewer[button]}; ReLabel: PROC [button: Button, newName: Rope.ROPE, paint: BOOL _ TRUE] = INLINE {button.class.set[button, newName, paint]}; <> SetClientData: PROC [button: Button, clientData: REF ANY] = INLINE {button.class.set[button, clientData, FALSE, $ClientData]} ; GetClientData: PROC [button: Button] RETURNS[clientData: REF ANY] = INLINE {RETURN[button.class.get[button, $ClientData]]} ; SetDisplayStyle: PROC [button: Button, style: ATOM, paint: BOOL _ TRUE] = INLINE {button.class.set[button, style, paint, $DisplayStyle]} ; <> <<$BlackOnWhite - black letters on white background (default)>> <<$WhiteOnBlack - white letters on black background>> <<$BlackOnGrey - black letters on grey background>> END.