C_METHINP

Process a child input window

WTSupported in traditional Synergy on Windows
WNSupported in Synergy .NET on Windows
USupported on UNIX
VSupported on OpenVMS
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.

Note

To see 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