<> <> <> <> <<>> DIRECTORY Sliders USING [Slider, SliderProc], ViewerClasses USING [Viewer, ViewerRec], ViewerOps USING [DestroyViewer] ; KnobAttach: CEDAR DEFINITIONS IMPORTS ViewerOps = BEGIN KnobAttachViewer: TYPE ~ ViewerClasses.Viewer; Slider: TYPE ~ Sliders.Slider; Attachment: TYPE ~ {left, right, none}; NotASlider: ERROR; TurnProc: TYPE ~ Sliders.SliderProc; Create: PROC [info: ViewerClasses.ViewerRec, slider: Slider, turnProc: TurnProc _ NIL, clientData: REF _ NIL, paint: BOOL _ TRUE] RETURNS [KnobAttachViewer]; <> <> <<>> Destroy: PROC [viewer: KnobAttachViewer] ~ INLINE {ViewerOps.DestroyViewer[viewer]}; GetAttachment: PROC [viewer: KnobAttachViewer] RETURNS [Attachment]; Attach: PROC [viewer: KnobAttachViewer, whichKnob: Attachment, paint: BOOL _ TRUE]; <> <<>> Detach: PROC [viewer: KnobAttachViewer, paint: BOOL _ TRUE] ~ INLINE {Attach[viewer, none, paint]}; <<>> END.