C_METHSEL
Process a child selection window
WSupported on Windows
|
USupported on Unix
|
VSupported on OpenVMS
|
NSupported in Synergy .NET
|
subroutine C_METHSEL, 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 information: 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 selection 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 input for the child list. (a)
a_methoddata1 through a_methoddata20
(optional) These arguments are not used by the default method C_METHSEL. However, up to 20 additional data arguments are passed for other methods that need this information. (any)
Discussion
C_METHSEL is a Toolkit-supplied processing method that C_PROCESS calls by default when processing a child selection window. If you want something other than the default processing described below, you can instruct C_PROCESS to call a different routine by passing the routine’s name in the DC_ADD call for the selection list.
C_METHSEL does the following:
1. | Calls U_CTRCONTEXT to set context within the selection window. |
2. | Processes the selection window by calling S_SELECT and passing the ID of the selection window (child_id) and the record argument passed to this method. |
3. | If g_select is false when control is returned to C_METHSEL (indicating that an item was selected), C_METHSEL then calls %M_SIGNAL, passing “C_NEXT” as the menu entry name to signal. This moves context to the next child (or to the first button for the composite container window if there are no more children). If g_select is true, context remains on the selection window. |
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