C_METHINP
WSupported on Windows
|
USupported on Unix
|
VSupported on OpenVMS
|
NSupported in Synergy .NET
|
subroutine C_METHINP, reentrant in req container_id ,n in req type ,n in req child_id ,n in req reason ,a opt record ,a opt a_methoddata1 ,any . . . opt a_methoddata20 ,any
Arguments
container_id
This argument is not used by the default processing methods. However, it passes the ID of the container window in case a method you supply needs this information. (n)
type
This argument is not used by the default processing methods. However, it passes one of the following (defined in tools.def) in case a method you supply needs this: DC_LIST for a standard Toolkit list or an ActiveX Toolkit list, or DC_WINDOW for a Toolkit window. (n)
child_id
The ID for the child input window. (n)
reason
The reason the child was activated, which can be blank (indicating that the child was already activated), a program-supplied reason passed because the child was activated programmatically, or one of the following: (a)
C_FIRST = Focus moved in attempt to reach first child.
C_LAST = Focus moved in attempt to reach last child.
C_NEXT = Focus moved from previous child (e.g., Tab).
C_PREV = Focus moved from next child (e.g., Shift+Tab).
C_SET = Child explicitly activated. For example, this could be the result of a mouse click, or it could be that the child was activated programmatically without a specified reason.
record
(optional) The data area for child window input. (a)
a_methoddata1 through a_methoddata20
(optional) Up to 20 additional data arguments. (any)
Discussion
C_METHINP is a Toolkit-supplied processing method that C_PROCESS calls by default when processing a child input window. If you want something other than the default processing described below, however, you can instruct C_PROCESS to call a different routine by passing the routine’s name in the DC_ADD call for the input window.
C_METHINP does the following:
1. | Sets focus for the child input window by calling I_CTRCONTEXT and passing the following: the ID of the input window (child_id), “*CURR*” for the input set name, and the context change reason (reason) that was passed to this method. |
I_CTRCONTEXT is designed specifically to be used in processing methods for child input windows.
2. | Processes the input window by calling I_INPUT and passing the following: the ID of the input window (child_id), “*CURR*” for the input set name, the record argument passed to this method (see below), and all the a_methoddata arguments passed to this method. It also passes the D_NOTERM argument to avoid the input window completion logic that displays the “Make corrections or press Return to continue” message. |
3. | If g_setsts is false when control is returned to C_METHINP (indicating that input is complete), C_METHINP then calls %M_SIGNAL, passing “C_NEXT” as the menu entry name to signal. This makes the next child active (or the first button for the composite container window, if there are no more children). If g_setsts is true, context remains on the same child window. For information on g_setsts, see the I_INPUT Discussion. |
For record, C_PROCESS passes the a_methoddata argument specified by the recordindex argument in the DC_ADD call for the window. For details, see the information on recordindex in the DC_ADD Discussion, and see the information on the a_methoddata arguments in the C_PROCESS Discussion.
To view the code for this method, see the ctrmeths.dbl file included in your UI Toolkit distribution. This file is distributed simply as a reference and a starting point for writing your own composite window processing methods; modifying or compiling this file will not change the default methods. |
See also
- Controlling tabbing, focus, and input context for information on tabbing indices
- C_PROCESS routine
- Overloading UI Toolkit routines