NAME

XSetICValues, XGetICValues - set and obtain XIC values

SYNTAX

char * XSetICValues(XIC _i_c, ...); char * XGetICValues(XIC _i_c, ...);

ARGUMENTS

_i_c Specifies the input context.
... Specifies the variable length argument list to set or get XIC values.

DESCRIPTION

The _X_S_e_t_I_C_V_a_l_u_e_s function returns NULL if no error occurred; otherwise, it returns the name of the first argument that could not be set. An argument might not be set for any of the following reasons:
· The argument is read-only (for example,
_X_N_F_i_l_t_e_r_E_v_e_n_t_s).
· The argument name is not recognized.
· An implementation-dependent error occurs.

Each value to be set must be an appropriate datum, matching the data type imposed by the semantics of the argument.

The _X_S_e_t_I_C_V_a_l_u_e_s can generate _B_a_d_A_t_o_m, _B_a_d_C_o_l_o_r, _B_a_d_C_u_r_s_o_r, _B_a_d_P_i_x_m_a_p, and _B_a_d_W_i_n_d_o_w errors.

The _X_G_e_t_I_C_V_a_l_u_e_s function returns NULL if no error occurred; otherwise, it returns the name of the first argument that could not be obtained. An argument could not be obtained for any of the following reasons:

· The argument name is not recognized.
· The input method encountered an implementation-dependent error.

Each IC attribute value argument (following a name) must point to a location where the IC value is to be stored. That is, if the IC value is of type T, the argument must be of type T*. If T itself is a pointer type, then _X_G_e_t_I_C_V_a_l_u_e_s allocates memory to store the actual data, and the client is responsible for freeing this data by calling _X_F_r_e_e with the returned pointer. The exception to this rule is for an IC value of type _X_N_V_a_N_e_s_t_e_d_L_i_s_t (for preedit and status attributes). In this case, the argument must also be of type _X_V_a_N_e_s_t_e_d_L_i_s_t. Then, the rule of changing type T to T* and freeing the allocated data applies to each element of the nested list.

DIAGNOSTICS

_B_a_d_A_t_o_m
A value for an Atom argument does not name a defined Atom.
_B_a_d_C_o_l_o_r
A value for a Colormap argument does not name a defined Colormap.
_B_a_d_C_u_r_s_o_r
A value for a Cursor argument does not name a defined Cursor.
_B_a_d_P_i_x_m_a_p
A value for a Pixmap argument does not name a defined Pixmap.
_B_a_d_W_i_n_d_o_w
A value for a Window argument does not name a defined Window.

SEE ALSO

XCreateIC(3X11), XOpenIM(3X11), XSetICFocus(3X11), XmbResetIC(3X11)
_X_l_i_b _- _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e