Process a child selection window

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



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)


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)


The ID for the child selection window. (n)


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.


(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)


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