Compaq AA-PWCBD-TE Computer Accessories User Manual


 
DEC Text Processing Utility Program Development
5.2 Programming in DECwindows DECTPU
5.2.4.1 Background on DECwindows Callbacks
A callback is a mechanism used by a DECwindows widget to notify an
application that the widget has been modified in some way. DECwindows
applications have one or more callback routines that define what the application
does in response to the callback.
For more information about the use of callbacks and callback routines in
DECwindows programs, see the OpenVMS documentation overview.
5.2.4.2 Internally Defined DECTPU Callback Routines and Application-Level Callback Action
Routines
DECTPU implements the DECwindows concept of callback routines by providing
internally defined routines that deliver the information obtained from a widget’s
callback to a layered application. These routines are referred to as ‘‘internally
defined DECTPU callback routines.’’
When a widget calls back to DECTPU, DECTPU packages the callback
information, adds the information to its input queue, and returns to the widget.
DECTPU may not process the callback packet on its input queue until later. As
a result, the information about the widget that DECTPU gets from the callback
may not match the information returned by the GET_INFO (widget_variable,
"widget_info") built-in procedure.
When DECTPU processes the callback packet, it uses the CREATE_WIDGET
built-in or the SET (WIDGET_CALLBACK) built-in to execute the program
or learn sequence that was associated with the widget. This program or
learn sequence controls what the application does in response to the callback
information passed by the DECTPU callback routines. An application’s callback
routines are referred to as ‘‘application-level callback action routines.’’
The following sections present information on internally defined DECTPU
callback routines and on application-level callback action routines.
5.2.4.3 Internally Defined DECTPU Callback Routines with UIL
DECTPU declares two internally defined callback routines to the X Resource
Manager to handle incoming callbacks and dispatch them to the layered
application:
TPU$WIDGET_INTEGER_CALLBACK—Use this routine as the callback
routine for all callbacks that have an integer closure.
TPU$WIDGET_STRING_CALLBACK—Use this routine as the callback
routine for all callbacks that have a string closure.
Although DECwindows lets you specify a different callback routine for each
reason that a widget can call back, DECwindows DECTPU does not support this
capability. Instead, it provides only the two callback routines mentioned.
Use these callback routines only if you are specifying a widget’s callback resources
in a User Interface Language (UIL) file. When a widget is part of an X Resource
Manager hierarchy, do not include callback resource names or values in the array
you pass to SET (WIDGET). Instead, specify one of the two internally defined
callback routines in the UIL file.
5–8 DEC Text Processing Utility Program Development