


XtSetValues(3Xt)					     XtSetValues(3Xt)
X11R5									X11R5



NAME
  XtSetValues, XtSetSubvalues, XtGetValues, XtGetSubvalues - obtain and	set
  widget resources

SYNTAX
  void XtSetValues(_w, _a_r_g_s, _n_u_m__a_r_g_s)
	Widget _w;
	ArgList	_a_r_g_s;
	Cardinal _n_u_m__a_r_g_s;

  void XtSetSubvalues(_b_a_s_e, _r_e_s_o_u_r_c_e_s, _n_u_m__r_e_s_o_u_r_c_e_s, _a_r_g_s, _n_u_m__a_r_g_s)
	XtPointer _b_a_s_e;
	XtResourceList _r_e_s_o_u_r_c_e_s;
	Cardinal _n_u_m__r_e_s_o_u_r_c_e_s;
	ArgList	_a_r_g_s;
	Cardinal _n_u_m__a_r_g_s;

  void XtGetValues(_w, _a_r_g_s, _n_u_m__a_r_g_s)
	Widget _w;
	ArgList	_a_r_g_s;
	Cardinal _n_u_m__a_r_g_s;

  void XtGetSubvalues(_b_a_s_e, _r_e_s_o_u_r_c_e_s, _n_u_m__r_e_s_o_u_r_c_e_s, _a_r_g_s, _n_u_m__a_r_g_s)
	XtPointer _b_a_s_e;
	XtResourceList _r_e_s_o_u_r_c_e_s;
	Cardinal _n_u_m__r_e_s_o_u_r_c_e_s;
	ArgList	_a_r_g_s;
	Cardinal _n_u_m__a_r_g_s;

ARGUMENTS

  _a_r_g_s	    Specifies the argument list	of name/address	pairs that contain
	    the	resource name and either the address into which	the resource
	    value is to	be stored or their new values.

  _b_a_s_e	    Specifies the base address of the subpart data structure where
	    the	resources should be retrieved or written.

  _n_u_m__a_r_g_s  Specifies the number of arguments in the argument list.

  _r_e_s_o_u_r_c_e_s Specifies the nonwidget resource list or values.

  _n_u_m__r_e_s_o_u_r_c_e_s
	    Specifies the number of resources in the resource list.

  _w	    Specifies the widget.

DESCRIPTION
  The _X_t_S_e_t_V_a_l_u_e_s function starts with the resources specified for the _C_o_r_e
  widget fields	and proceeds down the subclass chain to	the widget.  At	each
  stage, it writes the new value (if specified by one of the arguments)	or
  the existing value (if no new	value is specified) to a new widget data
  record.  _X_t_S_e_t_V_a_l_u_e_s then calls the set_values procedures for	the widget in
  superclass-to-subclass order.	 If the	widget has any non-NULL
  set_values_hook fields, these	are called immediately after the correspond-
  ing set_values procedure.  This procedure permits subclasses to set
  nonwidget data for _X_t_S_e_t_V_a_l_u_e_s.

  If the widget's parent is a subclass of _c_o_n_s_t_r_a_i_n_t_W_i_d_g_e_t_C_l_a_s_s, _X_t_S_e_t_V_a_l_u_e_s
  also updates the widget's constraints.  It starts with the constraint
  resources specified for _c_o_n_s_t_r_a_i_n_t_W_i_d_g_e_t_C_l_a_s_s	and proceeds down the sub-
  class	chain to the parent's class.  At each stage, it	writes the new value
  or the existing value	to a new constraint record.  It	then calls the con-
  straint set_values procedures	from _c_o_n_s_t_r_a_i_n_t_W_i_d_g_e_t_C_l_a_s_s down	to the
  parent's class.  The constraint set_values procedures	are called with	wid-
  get arguments, as for	all set_values procedures, not just the	constraint
  record arguments, so that they can make adjustments to the desired values
  based	on full	information about the widget.

  _X_t_S_e_t_V_a_l_u_e_s determines if a geometry request is needed by comparing the
  current widget to the	new widget.  If	any geometry changes are required, it
  makes	the request, and the geometry manager returns _X_t_G_e_o_m_e_t_r_y_Y_e_s,
  _X_t_G_e_o_m_e_t_r_y_A_l_m_o_s_t, or _X_t_G_e_o_m_e_t_r_y_N_o.  If _X_t_G_e_o_m_e_t_r_y_Y_e_s,	_X_t_S_e_t_V_a_l_u_e_s calls the
  widget's resize procedure.  If _X_t_G_e_o_m_e_t_r_y_N_o, _X_t_S_e_t_V_a_l_u_e_s resets the
  geometry fields to their original values.  If	_X_t_G_e_o_m_e_t_r_y_A_l_m_o_s_t, _X_t_S_e_t_V_a_l_u_e_s
  calls	the set_values_almost procedure, which determines what should be done
  and writes new values	for the	geometry fields	into the new widget.  _X_t_S_e_t_-
  _V_a_l_u_e_s then repeats this process, deciding once more whether the geometry
  manager should be called.

  Finally, if any of the set_values procedures returned	_T_r_u_e, _X_t_S_e_t_V_a_l_u_e_s
  causes the widget's expose procedure to be invoked by	calling	the Xlib
  _X_C_l_e_a_r_A_r_e_a function on the widget's window.

  The _X_t_S_e_t_S_u_b_v_a_l_u_e_s function stores resources into the	structure identified
  by base.

  The _X_t_G_e_t_V_a_l_u_e_s function starts with the resources specified for the core
  widget fields	and proceeds down the subclass chain to	the widget.  The
  value	field of a passed argument list	should contain the address into	which
  to store the corresponding resource value.  It is the	caller's responsibil-
  ity to allocate and deallocate this storage according	to the size of the
  resource representation type used within the widget.

  If the widget's parent is a subclass of _c_o_n_s_t_r_a_i_n_t_W_i_d_g_e_t_C_l_a_s_s, _X_t_G_e_t_V_a_l_u_e_s
  then fetches the values for any constraint resources requested.  It starts
  with the constraint resources	specified for _c_o_n_s_t_r_a_i_n_t_W_i_d_g_e_t_C_l_a_s_s and
  proceeds down	to the subclass	chain to the parent's constraint resources.
  If the argument list contains	a resource name	that is	not found in any of
  the resource lists searched, the value at the	corresponding address is not
  modified.  Finally, if the get_values_hook procedures	are non-NULL, they
  are called in	superclass-to-subclass order after all the resource values
  have been fetched by _X_t_G_e_t_V_a_l_u_e_s.  This permits a subclass to	provide
  nonwidget resource data to _X_t_G_e_t_V_a_l_u_e_s.

  The _X_t_G_e_t_S_u_b_v_a_l_u_e_s function obtains resource values from the structure
  identified by	base.

SEE ALSO
  _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s - _C _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e
  _X_l_i_b - _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e	delim off













