DIRECTORY Xl USING [EventFilter, SetOfEvent, unspecifiedEvents], XTk USING [TQ, Widget, WidgetNotifyProc]; XTkOps: CEDAR DEFINITIONS ~ BEGIN OPEN XTk; RegisterNotifierProcOnEvents: PROC [widget: Widget, handles: Xl.EventFilter, tq: TQ ฌ NIL, generate: Xl.SetOfEvent ฌ Xl.unspecifiedEvents, proc--LX--: WidgetNotifyProc, registerData, callData: REF ฌ NIL, temporary: BOOL ฌ FALSE]; RegisterCallNotifiersOnEvents: PROC [widget: Widget, handles: Xl.EventFilter, tq: TQ ฌ NIL, generate: Xl.SetOfEvent ฌ Xl.unspecifiedEvents, notifierKey--LX--: REF, callData: REF ฌ NIL, temporary: BOOL ฌ FALSE]; CallAndRegisterOnPostRealize: PROC [widget: Widget, proc--LX--: WidgetNotifyProc, registerData: REF ฌ NIL]; GetWidgetPropStar: PROC [w: Widget, key: REF] RETURNS [val: REF ฌ NIL, who: Widget ฌ NIL]; SetupDestruction: PROC [shell: Widget, trigger: Widget, triggerKey: REF ฌ NIL]; END. d XTkOps.mesa Copyright ำ 1991, 1992, 1993 by Xerox Corporation. All rights reserved. Christian Jacobi, March 8, 1991 3:12:12 pm PST Christian Jacobi, February 23, 1993 11:18 pm PST A random collection of useful operators for XTk. Adds a match which calls a particular XTk.WidgetNotifyProc. Locking hint: Do not use protected procedures unless you protect it with tq yourself. Adds a match which calls all XTk Notifiers registered on notifierKey. Locking hint: Do not use keys for protected procedures unless you protect it with tq yourself. Register proc permanently on postWindowCreationKey If currently realized, this calls proc also directly Searches widget and then ancestors and connection for a property until it is found; returns property value and ancestor where found. Sets up destruction of shell for when event triggerKey is notified on trigger สฎ–(cedarcode) style•NewlineDelimiter ™codešฯc ™ Kšœ ฯeœ=™HK™.K™0—K˜šฯk ˜ KšœŸœ.˜6KšœŸœŸœ˜)K˜—KšฯnœŸœŸ œ˜KšœŸœŸœ˜K™šœ0™0K™—š œŸœ/ŸœŸœ6œ,ŸœŸœ ŸœŸœ˜ๅKšœ;™;KšœV™V—K˜š œŸœ/ŸœŸœ=œŸœ ŸœŸœ ŸœŸœ˜าKšœE™EKšœ^™^—K˜š  œŸœœ"ŸœŸœ˜kKšœ2™2Kšœ4™4K™—š œŸœŸœŸœŸœŸœŸœ˜ZK™„—K˜š œŸœ.ŸœŸœ˜OK™M—K˜KšŸœ˜—…—t†