DIRECTORY TIPUser USING [TIPClient, TIPTable], ViewerClasses USING [NotifyProc, Viewer]; InputFocus: CEDAR DEFINITIONS = BEGIN OPEN ViewerClasses; Focus: TYPE = REF FocusRec; FocusRec: TYPE = RECORD [ owner: Viewer _ NIL, -- Viewer associated with this focus. info: REF _ NIL, -- focus data private to the owner. link: PRIVATE Focus _ NIL -- focus stack overhead. ]; GetInputFocus: PROC RETURNS[Focus]; SetInputFocus: PROC[self: Viewer _ NIL, info: REF _ NIL]; PushInputFocus: PROC[self: Viewer _ NIL, info: REF _ NIL]; PopInputFocus: PROC; CaptureButtons: PROC[proc: NotifyProc, tip: TIPUser.TIPTable, viewer: Viewer _ NIL]; ReleaseButtons: PROC; EnableInput: PRIVATE PROC; inputEnabled: READONLY BOOL; focusTIP: PRIVATE TIPUser.TIPClient; WindowManagerTIPTable: PRIVATE TIPUser.TIPTable; InputFocusImpl: PRIVATE PROGRAM; END. ΘInputFocus.mesa; Last Edited by McGregor, August 17, 1982 10:43 am Last Edited by: Maxwell, December 17, 1982 10:00 am Last Edited by: Wyatt, October 14, 1983 6:07 pm Returns the current focus (the one on the top of the focus stack). Sets focus stack to self. Calls the modify proc of the old focus with {kill}. Calls the modify proc of the new focus with {set}. Pushes self on top of focus stack. Calls the modify proc of the old focus with {push}. Calls the modify proc of the new focus with {set}. Pops the focus stack. Calls the modify proc of the old focus with {kill}. Calls the modify proc of the new focus with {pop}. A client may register with the InputFocus mechanism to capture all button events, without regard to the mouse position (useful for growing windows, for example). Registration is reset by calling ReleaseButtons below. Note that mouse coordinates passed to the NotifyProc will be screen relative rather than relative to any particular viewer. See ViewerOps.MouseInViewer should you require mapping to a particular viewer. Call at init to enable input from TIP. Type-ahead lost up to this point. Wizards only, please. keyboard input enable flag InputFocus TIP Client; wizards only, please. Κ3– "cedar" style˜JšΟcB™BJšœ3™3Jšœ/™/J™šΟk ˜ Jšœžœ˜$Jšœžœ˜)—J˜Jšœ ž˜Jšœžœžœ˜J˜Jšœžœžœ ˜šœ žœžœ˜Jšœžœ%˜