


                                                        XmTextGetBaseline(3X)



   NAME
     XXmmTTeexxttGGeettBBaasseelliinnee-A Text function that accesses the_x position of the
     first baseline

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     iinntt XXmmTTeexxttGGeettBBaasseelliinnee ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttGGeettBBaasseelliinnee accesses the _x position of the first baseline in the
     Text widget, relative to the _x position of the top of the widget.

     _w_i_d_g_e_t Specifies the Text widget ID

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     Returns an integer value that indicates the _x position of the first
     baseline in the Text widget.  The calculation takes into account the
     margin height, shadow thickness, highlight thickness, and font ascent of
     the first font in the fontlist.  In this calculation the _x position of
     the top of the widget is 0.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).




























   1-781






   XmTextGetEditable(3X)



   NAME
     XXmmTTeexxttGGeettEEddiittaabbllee-A Text function that accesses the edit permission
     state

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     BBoooolleeaann XXmmTTeexxttGGeettEEddiittaabbllee ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttGGeettEEddiittaabbllee accesses the edit permission state of the Text widget.

     _w_i_d_g_e_t Specifies the Text widget ID

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     Returns a Boolean value that indicates the state of the XXmmNNeeddiittaabbllee
     resource.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).
































   1-782






                                               XmTextGetInsertionPosition(3X)



   NAME
     XXmmTTeexxttGGeettIInnsseerrttiioonnPPoossiittiioonn-A Text function that accesses the position of
     the insert cursor

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     XXmmTTeexxttPPoossiittiioonn XXmmTTeexxttGGeettIInnsseerrttiioonnPPoossiittiioonn ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttGGeettIInnsseerrttiioonnPPoossiittiioonn accesses the insertion cursor position of the
     Text widget.

     _w_i_d_g_e_t Specifies the Text widget ID

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     Returns an XmTextPosition value that indicates the state of the XXmmNNccuurr--
     ssoorrPPoossiittiioonn resource.  This is an integer number of characters from the
     beginning of the text buffer.  The first character position is 0.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).






























   1-783






   XmTextGetLastPosition(3X)



   NAME
     XXmmTTeexxttGGeettLLaassttPPoossiittiioonn-A Text function that accesses the last position in
     the text

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     XXmmTTeexxttPPoossiittiioonn XXmmTTeexxttGGeettLLaassttPPoossiittiioonn ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttGGeettLLaassttPPoossiittiioonn accesses the last position in the text buffer of
     the Text widget.  This is an integer number of characters from the
     beginning of the buffer, and represents the position following which
     text that is added to the end of the buffer is placed.  The first char-
     acter position is 0.  The last character position is equal to the number
     of characters in the text buffer.

     _w_i_d_g_e_t Specifies the Text widget ID

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     Returns an XmTextPosition value that indicates the last position in the
     text buffer.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).



























   1-784






                                                       XmTextGetMaxLength(3X)



   NAME
     XXmmTTeexxttGGeettMMaaxxLLeennggtthh-A Text function that accesses the value of the
     current maximum allowable length of a text string entered from the key-
     board

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     iinntt XXmmTTeexxttGGeettMMaaxxLLeennggtthh ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttGGeettMMaaxxLLeennggtthh accesses the value of the current maximum allowable
     length of the text string in the Text widget entered from the keyboard.
     The maximum allowable length prevents the user from entering a text
     string larger than this limit.

     _w_i_d_g_e_t Specifies the Text widget ID

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     Returns the integer value that indicates the string's maximum allowable
     length that can be entered from the keyboard.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).




























   1-785






   XmTextGetSelection(3X)



   NAME
     XXmmTTeexxttGGeettSSeelleeccttiioonn-A Text function that retrieves the value of the pri-
     mary selection

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     cchhaarr ** XXmmTTeexxttGGeettSSeelleeccttiioonn ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttGGeettSSeelleeccttiioonn retrieves the value of the primary selection.  It
     returns a NULL pointer if no text is selected in the widget.  The appli-
     cation is responsible for freeing the storage associated with the string
     by calling XXttFFrreeee.

     _w_i_d_g_e_t Specifies the Text widget ID

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     Returns a character pointer to the string that is associated with the
     primary selection.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttGGeettSSeelleeccttiioonnWWccss((33XX)).





























   1-786






                                               XmTextGetSelectionPosition(3X)



   NAME
     XXmmTTeexxttGGeettSSeelleeccttiioonnPPoossiittiioonn-A Text function that accesses the position of
     the primary selection

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     BBoooolleeaann XXmmTTeexxttGGeettSSeelleeccttiioonnPPoossiittiioonn ((_w_i_d_g_e_t, _l_e_f_t, _r_i_g_h_t))
          WWiiddggeett    _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn*_l_e_f_t;;
          XXmmTTeexxttPPoossiittiioonn*_r_i_g_h_t;;

   DESCRIPTION
     XXmmTTeexxttGGeettSSeelleeccttiioonnPPoossiittiioonn accesses the left and right position of the
     primary selection in the text buffer of the Text widget.

     _w_i_d_g_e_t Specifies the Text widget ID

     _l_e_f_t   Specifies the pointer in which the position of the left boundary
            of the primary selection is returned.  This is an integer number
            of characters from the beginning of the buffer.  The first char-
            acter position is 0.

     _r_i_g_h_t  Specifies the pointer in which the position of the right boundary
            of the primary selection is returned.  This is an integer number
            of characters from the beginning of the buffer.  The first char-
            acter position is 0.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     This function returns True if the widget owns the primary selection;
     otherwise, it returns False.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).



















   1-787






   XmTextGetSelectionWcs(3X)



   NAME
     XXmmTTeexxttGGeettSSeelleeccttiioonnWWccss-A Text function that retrieves the value of a wide
     character encoded primary selection

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     wwcchhaarr__tt ** XXmmTTeexxttGGeettSSeelleeccttiioonnWWccss ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttGGeettSSeelleeccttiioonnWWccss retrieves the value of the primary selection that
     is encoded in a wide character format.  It returns a NULL pointer if no
     text is selected in the widget.  The application is responsible for
     freeing the storage associated with the wide character buffer by calling
     XXttFFrreeee.

     _w_i_d_g_e_t Specifies the Text widget ID

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     Returns the wide character string that is associated with the primary
     selection in the Text widget.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttGGeettSSeelleeccttiioonn((33XX)).




























   1-788






                                                          XmTextGetSource(3X)



   NAME
     XXmmTTeexxttGGeettSSoouurrccee-A Text function that accesses the source of the widget

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     XXmmTTeexxttSSoouurrccee XXmmTTeexxttGGeettSSoouurrccee ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttGGeettSSoouurrccee accesses the source of the Text widget.  Text widgets
     can share sources of text so that editing in one widget is reflected in
     another.  This function accesses the source of one widget so that it can
     be made the source of another widget, using the function
     XXmmTTeexxttSSeettSSoouurrccee((33XX)).

     Setting a new text source destroys the old text source if no other Text
     widgets are using that source.  To replace a text source but keep it for
     later use, create an unmanaged Text widget and set its source to the
     text source you want to keep.

     _w_i_d_g_e_t Specifies the Text widget ID

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     Returns an XmTextSource value that represents the source of the Text
     widget.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).
























   1-789






   XmTextGetString(3X)



   NAME
     XXmmTTeexxttGGeettSSttrriinngg-A Text function that accesses the string value

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     cchhaarr ** XXmmTTeexxttGGeettSSttrriinngg ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttGGeettSSttrriinngg accesses the string value of the Text widget.  The
     application is responsible for freeing the storage associated with the
     string by calling XXttFFrreeee.

     _w_i_d_g_e_t Specifies the Text widget ID

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     Returns a character pointer to the string value of the text widget.
     Returns an empty string if the length of the Text widget's string is 0.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttGGeettSSttrriinnggWWccss((33XX)).































   1-790






                                                       XmTextGetStringWcs(3X)



   NAME
     XXmmTTeexxttGGeettSSttrriinnggWWccss-A Text function that retrieves a copy of the wide
     character string value of a Text widget

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     wwcchhaarr__tt ** XXmmTTeexxttGGeettSSttrriinnggWWccss ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttGGeettSSttrriinnggWWccss retrieves a copy of the wide character string value
     of the Text widget.  The application is responsible for freeing the
     storage associated with the string by calling XXttFFrreeee.

     _w_i_d_g_e_t Specifies the Text widget ID

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     Returns the wide character string value of the Text widget.  The func-
     tion returns an empty string if the length of the Text widget's string
     is 0.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttGGeettSSttrriinngg((33XX)).





























   1-791






   XmTextGetSubstring(3X)



   NAME
     XXmmTTeexxttGGeettSSuubbssttrriinngg-A Text function that retrieves a copy of a portion of
     the internal text buffer

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     iinntt XXmmTTeexxttGGeettSSuubbssttrriinngg ((_w_i_d_g_e_t, _s_t_a_r_t, _n_u_m__c_h_a_r_s, _b_u_f_f_e_r__s_i_z_e, _b_u_f_f_e_r))
          WWiiddggeett      _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn_s_t_a_r_t;;
          iinntt         _n_u_m__c_h_a_r_s;;
          iinntt         _b_u_f_f_e_r__s_i_z_e;;
          cchhaarr        **_b_u_f_f_e_r;;

   DESCRIPTION
     XXmmTTeexxttGGeettSSuubbssttrriinngg retrieves a copy of a portion of the internal text
     buffer of a Text widget.  The function copies a specified number of
     characters from a given start position in the internal text buffer into
     a buffer provided by the application.  A NULL terminator is placed at
     the end of the copied data.

     The size of the required buffer depends on the maximum number of bytes
     per character (MMBB__CCUURR__MMAAXX) for the current locale.  MMBB__CCUURR__MMAAXX is a
     macro defined in ssttddlliibb..hh.  The buffer should be large enough to contain
     the substring to be copied and a NULL terminator.  Use the following
     equation to calculate the size of buffer the application should provide:

     _b_u_f_f_e_r__s_i_z_e = (_n_u_m__c_h_a_r_s * MMBB__CCUURR__MMAAXX) + 1

     _w_i_d_g_e_t    Specifies the Text widget ID.

     _s_t_a_r_t     Specifies the beginning character position from which the data
               will be retrieved.  This is an integer number of characters
               from the beginning of the text buffer.  The first character
               position is 0.

     _n_u_m__c_h_a_r_s Specifies the number of characters to be copied into the pro-
               vided buffer.

     _b_u_f_f_e_r__s_i_z_e
               Specifies the size of the supplied buffer in bytes.  This size
               should account for a NULL terminator.

     _b_u_f_f_e_r    Specifies the character buffer into which the internal text
               buffer will be copied.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE

     XXmmCCOOPPYY__SSUUCCCCEEEEDDEEDD    The function was successful.

     XXmmCCOOPPYY__FFAAIILLEEDD       The function failed because it was unable to copy


   1-792






                                                       XmTextGetSubstring(3X)


                         the

                         specified number of characters into the buffer pro-
                         vided.  The buffer size may be insufficient.  The
                         contents of _b_u_f_f_e_r are undefined.

     XXmmCCOOPPYY__TTRRUUNNCCAATTEEDD    The requested number of characters extended beyond
                         the internal buffer.  The function copied characters
                         between _s_t_a_r_t and the end of the widget's buffer and
                         terminated the string with a NULL terminator; fewer
                         than _n_u_m__c_h_a_r_s characters were copied.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttGGeettSSuubbssttrriinnggWWccss((33XX)).










































   1-793






   XmTextGetSubstringWcs(3X)



   NAME
     XXmmTTeexxttGGeettSSuubbssttrriinnggWWccss-A Text function that retrieves a portion of a wide
     character internal text buffer

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     iinntt XXmmTTeexxttGGeettSSuubbssttrriinnggWWccss ((_w_i_d_g_e_t, _s_t_a_r_t, _n_u_m__c_h_a_r_s, _b_u_f_f_e_r__s_i_z_e, _b_u_f_f_e_r))
          WWiiddggeett      _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn_s_t_a_r_t;;
          iinntt         _n_u_m__c_h_a_r_s;;
          iinntt         _b_u_f_f_e_r__s_i_z_e;;
          wwcchhaarr__tt     **_b_u_f_f_e_r;;

   DESCRIPTION
     XXmmTTeexxttGGeettSSuubbssttrriinnggWWccss retrieves a copy of a portion of the internal text
     buffer of a Text widget that is stored in a wide character format.  The
     function copies a specified number of characters from a given start
     position in the internal text buffer into a buffer provided by the
     application.  A NULL terminator is placed at the end of the copied data.

     _w_i_d_g_e_t    Specifies the Text widget ID.

     _s_t_a_r_t     Specifies the beginning character position from which the data
               will be retrieved.  This is an integer number of characters
               from the beginning of the text buffer.  The first character
               position is 0.

     _n_u_m__c_h_a_r_s Specifies the number of wwcchhaarr__tt characters to be copied into
               the provided buffer.

     _b_u_f_f_e_r__s_i_z_e
               Specifies the size of the supplied buffer as a number of
               wwcchhaarr__tt storage locations.  The minimum size is _n_u_m__c_h_a_r_s + 1.

     _b_u_f_f_e_r    Specifies the wide character buffer into which the internal
               text buffer will be copied.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE

     XXmmCCOOPPYY__SSUUCCCCEEEEDDEEDD    The function was successful.

     XXmmCCOOPPYY__FFAAIILLEEDD       The function failed because it was unable to copy
                         the specified number of characters into the buffer
                         provided.  The buffer size may be insufficient.  The
                         contents of _b_u_f_f_e_r are undefined.

     XXmmCCOOPPYY__TTRRUUNNCCAATTEEDD    The requested number of characters extended beyond
                         the internal buffer.  The function copied characters
                         between _s_t_a_r_t and the end of the widget's buffer and
                         terminated the string with a NULL terminator; fewer


   1-794






                                                    XmTextGetSubstringWcs(3X)


                         than _n_u_m__c_h_a_r_s characters were copied.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttGGeettSSuubbssttrriinngg((33XX)).




















































   1-795






   XmTextGetTopCharacter(3X)



   NAME
     XXmmTTeexxttGGeettTTooppCChhaarraacctteerr-A Text function that accesses the position of the
     first character displayed

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     XXmmTTeexxttPPoossiittiioonn XXmmTTeexxttGGeettTTooppCChhaarraacctteerr ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttGGeettTTooppCChhaarraacctteerr accesses the position of the text at the top of
     the Text widget.

     _w_i_d_g_e_t Specifies the Text widget ID

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     Returns an XmTextPosition value that indicates the state of the XXmmNNttoopp--
     CChhaarraacctteerr resource.  This is an integer number of characters from the
     beginning of the text buffer.  The first character position is 0.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).






























   1-796






                                                             XmTextInsert(3X)



   NAME
     XXmmTTeexxttIInnsseerrtt-A Text function that inserts a character string into a text
     string

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttIInnsseerrtt((_w_i_d_g_e_t, _p_o_s_i_t_i_o_n, _v_a_l_u_e))
          WWiiddggeett         _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn _p_o_s_i_t_i_o_n;;
          cchhaarr           * _v_a_l_u_e;;

   DESCRIPTION
     XXmmTTeexxttIInnsseerrtt inserts a character string into the text string in the Text
     widget.  The character positions begin at zero and are numbered sequen-
     tially from the beginning of the text.  For example, to insert a string
     after the fourth character, the parameter _p_o_s_i_t_i_o_n must be 4.

     This routine calls the widget's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk and verification
     callbacks, either XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk or XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss,
     or both.  If both verification callback lists are registered, the pro-
     cedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are executed first and the
     resulting data is passed to the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.

     _w_i_d_g_e_t Specifies the Text widget ID.

     _p_o_s_i_t_i_o_n
            Specifies the position in the text string where the character
            string is to be inserted.

     _v_a_l_u_e  Specifies the character string value to be added to the text
            widget.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttIInnsseerrttWWccss((33XX)).


















   1-797






   XmTextInsertWcs(3X)



   NAME
     XXmmTTeexxttIInnsseerrttWWccss-A Text function that inserts a wide character string
     into a Text widget

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttIInnsseerrttWWccss ((_w_i_d_g_e_t, _p_o_s_i_t_i_o_n, _w_c_s_t_r_i_n_g))
          WWiiddggeett         _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn _p_o_s_i_t_i_o_n;;
          wwcchhaarr__tt        **_w_c_s_t_r_i_n_g;;

   DESCRIPTION
     XXmmTTeexxttIInnsseerrttWWccss inserts a wide character string into the Text widget at
     a specified location.  The character positions begin at zero and are
     numbered sequentially from the beginning of the text.  For example, to
     insert a string after the fourth character, the _p_o_s_i_t_i_o_n parameter must
     be 4.

     This routine calls the widget's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk and verification
     callbacks, either XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk or XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss,
     or both.  If both verification callback lists are registered, the pro-
     cedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are executed first and the
     resulting data is passed to the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.

     _w_i_d_g_e_t Specifies the Text widget ID

     _p_o_s_i_t_i_o_n
            Specifies the position in the text string where the new character
            string is to be inserted

     _w_c_s_t_r_i_n_g
            Specifies the wide character string value to be added to the Text
            widget

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttIInnsseerrtt((33XX)).
















   1-798






                                                              XmTextPaste(3X)



   NAME
     XXmmTTeexxttPPaassttee-A Text function that inserts the clipboard selection

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     BBoooolleeaann XXmmTTeexxttPPaassttee ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttPPaassttee inserts the clipboard selection at the insertion cursor of
     the destination widget.  If XXmmNNppeennddiinnggDDeelleettee is True and the insertion
     cursor is inside the current selection, the clipboard selection replaces
     the selected text.

     This routine calls the widget's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk and verification
     callbacks, either XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk or XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss,
     or both.  If both verification callback lists are registered, the pro-
     cedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are executed first and the
     resulting data is passed to the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.

     _w_i_d_g_e_t Specifies the Text widget ID.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     This function returns False if the _w_i_d_g_e_t doesn't own the primary selec-
     tion.  Otherwise, it returns True.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).
























   1-799






   XmTextPosToXY(3X)



   NAME
     XXmmTTeexxttPPoossTTooXXYY-A Text function that accesses the x and y position of a
     character position

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     BBoooolleeaann XXmmTTeexxttPPoossTTooXXYY ((_w_i_d_g_e_t, _p_o_s_i_t_i_o_n, _x, _y))
          WWiiddggeett    _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn_p_o_s_i_t_i_o_n;;
          PPoossiittiioonn  *_x;;
          PPoossiittiioonn  *_y;;

   DESCRIPTION
     XXmmTTeexxttPPoossTTooXXYY accesses the x and y position, relative to the upper left
     corner of the Text widget, of a given character position in the text
     buffer.

     _w_i_d_g_e_t Specifies the Text widget ID

     _p_o_s_i_t_i_o_n
            Specifies the character position in the text for which the x and
            y position is accessed.  This is an integer number of characters
            from the beginning of the buffer.  The first character position
            is 0.

     _x      Specifies the pointer in which the x position, relative to the
            upper left corner of the widget, is returned.  This value is
            meaningful only if the function returns True.

     _y      Specifies the pointer in which the y position, relative to the
            upper left corner of the widget, is returned.  This value is
            meaningful only if the function returns True.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     This function returns True if the character position is displayed in the
     Text widget; otherwise, it returns False, and no _x or _y value is
     returned.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).












   1-800






                                                           XmTextPosition(3X)



   NAME
     XXmmTTeexxttPPoossiittiioonn-Data type for a character position within a text string

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>

   DESCRIPTION
     XXmmTTeexxttPPoossiittiioonn is the data type for a character position within a text
     string.  The text position is an integer representing the number of
     characters from the beginning of the string.  The first character posi-
     tion in the string is 0.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).









































   1-801






   XmTextRemove(3X)



   NAME
     XXmmTTeexxttRReemmoovvee-A Text function that deletes the primary selection

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     BBoooolleeaann XXmmTTeexxttRReemmoovvee ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTTeexxttRReemmoovvee deletes the primary selected text.  If there is a selec-
     tion, this routine also calls the widget's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk and
     verification callbacks, either XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk or  XXmmNNmmooddiiffyyVVeerr--
     iiffyyCCaallllbbaacckkWWccss, or both.  If both verification callback lists are
     registered, the procedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are exe-
     cuted first and the resulting data is passed to the XXmmNNmmooddiiffyyVVeerr--
     iiffyyCCaallllbbaacckkWWccss callbacks.

     _w_i_d_g_e_t Specifies the Text widget ID.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     This function returns False if the primary selection is NULL or if the
     _w_i_d_g_e_t doesn't own the primary selection.  Otherwise, it returns True.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).



























   1-802






                                                            XmTextReplace(3X)



   NAME
     XXmmTTeexxttRReeppllaaccee-A Text function that replaces part of a text string

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttRReeppllaaccee ((_w_i_d_g_e_t, _f_r_o_m__p_o_s, _t_o__p_o_s, _v_a_l_u_e))
          WWiiddggeett      _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn_f_r_o_m__p_o_s;;
          XXmmTTeexxttPPoossiittiioonn_t_o__p_o_s;;
          cchhaarr        * _v_a_l_u_e;;

   DESCRIPTION
     XXmmTTeexxttRReeppllaaccee replaces part of the text string in the Text widget.  The
     character positions begin at zero and are numbered sequentially from the
     beginning of the text.

     An example text replacement would be to replace the second and third
     characters in the text string.  To accomplish this, the parameter
     _f_r_o_m__p_o_s must be 1 and _t_o__p_o_s must be 3.  To insert a string after the
     fourth character, both parameters, _f_r_o_m__p_o_s and _t_o__p_o_s, must be 4.

     This routine calls the widget's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk and verification
     callbacks, either XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk or XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss,
     or both.  If both verification callback lists are registered, the pro-
     cedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are executed first and the
     resulting data is passed to the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.

     _w_i_d_g_e_t Specifies the Text widget ID

     _f_r_o_m__p_o_s
            Specifies the start position of the text to be replaced

     _t_o__p_o_s Specifies the end position of the text to be replaced

     _v_a_l_u_e  Specifies the character string value to be added to the text
            widget

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttRReeppllaacceeWWccss((33XX)).













   1-803






   XmTextReplaceWcs(3X)



   NAME
     XXmmTTeexxttRReeppllaacceeWWccss-A Text function that replaces part of a wide character
     string in a Text widget

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttRReeppllaacceeWWccss ((_w_i_d_g_e_t, _f_r_o_m__p_o_s, _t_o__p_o_s, _w_c_s_t_r_i_n_g))
          WWiiddggeett      _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn_f_r_o_m__p_o_s;;
          XXmmTTeexxttPPoossiittiioonn_t_o__p_o_s;;
          wwcchhaarr__tt     **_w_c_s_t_r_i_n_g;;

   DESCRIPTION
     XXmmTTeexxttRReeppllaacceeWWccss replaces part of the wide character string in the Text
     widget.  The character positions begin at zero and are numbered sequen-
     tially from the beginning of the text.

     An example text replacement would be to replace the second and third
     characters in the text string.  To accomplish this, the _f_r_o_m__p_o_s parame-
     ter must be 1 and the _t_o__p_o_s parameter must be 3.  To insert a string
     after the fourth character, both the _f_r_o_m__p_o_s and _t_o__p_o_s parameters must
     be 4.

     This routine calls the widget's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk and verification
     callbacks, either XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk or XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss,
     or both.  If both verification callback lists are registered, the pro-
     cedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are executed first and the
     resulting data is passed to the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.

     _w_i_d_g_e_t    Specifies the Text widget ID

     _f_r_o_m__p_o_s  Specifies the start position of the text to be replaced

     _t_o__p_o_s    Specifies the end position of the text to be replaced

     _w_c_s_t_r_i_n_g  Specifies the wide character string value to be added to the
               Text widget

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttRReeppllaaccee((33XX)).












   1-804






                                                             XmTextScroll(3X)



   NAME
     XXmmTTeexxttSSccrroollll-A Text function that scrolls text

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttSSccrroollll ((_w_i_d_g_e_t, _l_i_n_e_s))
          WWiiddggeett      _w_i_d_g_e_t;;
          iinntt         _l_i_n_e_s;;

   DESCRIPTION
     XXmmTTeexxttSSccrroollll scrolls text in a Text widget.

     _w_i_d_g_e_t Specifies the Text widget ID

     _l_i_n_e_s  Specifies the number of lines of text to scroll.  A positive
            value causes text to scroll upward; a negative value causes text
            to scroll downward.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).
































   1-805






   XmTextSetAddMode(3X)



   NAME
     XXmmTTeexxttSSeettAAddddMMooddee-A Text function that sets the state of Add Mode

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttSSeettAAddddMMooddee ((_w_i_d_g_e_t, _s_t_a_t_e))
          WWiiddggeett    _w_i_d_g_e_t;;
          BBoooolleeaann   _s_t_a_t_e;;

   DESCRIPTION
     XXmmTTeexxttSSeettAAddddMMooddee controls whether or not the Text widget is in Add Mode.
     When the widget is in Add Mode, the insert cursor can be moved without
     disturbing the primary selection.

     _w_i_d_g_e_t Specifies the Text widget ID

     _s_t_a_t_e  Specifies whether or not the widget is in Add Mode.  A value of
            True turns on Add Mode; a value of False turns off Add Mode.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).































   1-806






                                                        XmTextSetEditable(3X)



   NAME
     XXmmTTeexxttSSeettEEddiittaabbllee-A Text function that sets the edit permission

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttSSeettEEddiittaabbllee ((_w_i_d_g_e_t, _e_d_i_t_a_b_l_e))
          WWiiddggeett    _w_i_d_g_e_t;;
          BBoooolleeaann   _e_d_i_t_a_b_l_e;;

   DESCRIPTION
     XXmmTTeexxttSSeettEEddiittaabbllee sets the edit permission state of the Text widget.
     When set to True, the text string can be edited.

     _w_i_d_g_e_t Specifies the Text widget ID

     _e_d_i_t_a_b_l_e
            Specifies a Boolean value that when True allows text string edits

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).
































   1-807






   XmTextSetHighlight(3X)



   NAME
     XXmmTTeexxttSSeettHHiigghhlliigghhtt-A Text function that highlights text

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttSSeettHHiigghhlliigghhtt ((_w_i_d_g_e_t, _l_e_f_t, _r_i_g_h_t, _m_o_d_e))
          WWiiddggeett    _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn_l_e_f_t;;
          XXmmTTeexxttPPoossiittiioonn_r_i_g_h_t;;
          XXmmHHiigghhlliigghhttMMooddee_m_o_d_e;;

   DESCRIPTION
     XXmmTTeexxttSSeettHHiigghhlliigghhtt highlights text between the two specified character
     positions.  The _m_o_d_e parameter determines the type of highlighting.
     Highlighting text merely changes the visual appearance of the text; it
     does not set the selection.

     _w_i_d_g_e_t Specifies the Text widget ID

     _l_e_f_t   Specifies the position of the left boundary of text to be
            highlighted.  This is an integer number of characters from the
            beginning of the text buffer.  The first character position is 0.

     _r_i_g_h_t  Specifies the position of the right boundary of text to be
            highlighted.  This is an integer number of characters from the
            beginning of the text buffer.  The first character position is 0.

     _m_o_d_e   Specifies the type of highlighting to be done.  A value of
            XXmmHHIIGGHHLLIIGGHHTT__NNOORRMMAALL removes highlighting.  A value of
            XXmmHHIIGGHHLLIIGGHHTT__SSEELLEECCTTEEDD highlights the text using reverse video.  A
            value of XXmmHHIIGGHHLLIIGGHHTT__SSEECCOONNDDAARRYY__SSEELLEECCTTEEDD highlights the text using
            underlining.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).

















   1-808






                                               XmTextSetInsertionPosition(3X)



   NAME
     XXmmTTeexxttSSeettIInnsseerrttiioonnPPoossiittiioonn-A Text function that sets the position of the
     insert cursor

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttSSeettIInnsseerrttiioonnPPoossiittiioonn ((_w_i_d_g_e_t, _p_o_s_i_t_i_o_n))
          WWiiddggeett    _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn_p_o_s_i_t_i_o_n;;

   DESCRIPTION
     XXmmTTeexxttSSeettIInnsseerrttiioonnPPoossiittiioonn sets the insertion cursor position of the
     Text widget.  This routine also calls the widget's XXmmNNmmoottiioonnVVeerriiffyyCCaallll--
     bbaacckk callbacks if the insertion cursor position changes.

     _w_i_d_g_e_t Specifies the Text widget ID

     _p_o_s_i_t_i_o_n
            Specifies the position of the insertion cursor.  This is an
            integer number of characters from the beginning of the text
            buffer.  The first character position is 0.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).




























   1-809






   XmTextSetMaxLength(3X)



   NAME
     XXmmTTeexxttSSeettMMaaxxLLeennggtthh-A Text function that sets the value of the current
     maximum allowable length of a text string entered from the keyboard

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttSSeettMMaaxxLLeennggtthh ((_w_i_d_g_e_t, _m_a_x__l_e_n_g_t_h))
          WWiiddggeett    _w_i_d_g_e_t;;
          iinntt       _m_a_x__l_e_n_g_t_h;;

   DESCRIPTION
     XXmmTTeexxttSSeettMMaaxxLLeennggtthh sets the value of the current maximum allowable
     length of the text string in the Text widget.  The maximum allowable
     length prevents the user from entering a text string from the keyboard
     that is larger than this limit. Strings that are entered using the
     XXmmNNvvaalluuee (or XXmmNNvvaalluueeWWccss) resource, or the XXmmTTeexxttSSeettSSttrriinngg (or
     XXmmTTeexxttSSeettSSttrriinnggWWccss) function ignore this resource.

     _w_i_d_g_e_t Specifies the Text widget ID

     _m_a_x__l_e_n_g_t_h
            Specifies the maximum allowable length of the text string

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)), XXmmTTeexxttSSeettSSttrriinngg((33XX)), and XXmmTTeexxttSSeettSSttrriinnggWWccss((33XX)).



























   1-810






                                                       XmTextSetSelection(3X)



   NAME
     XXmmTTeexxttSSeettSSeelleeccttiioonn-A Text function that sets the primary selection of
     the text

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttSSeettSSeelleeccttiioonn ((_w_i_d_g_e_t, _f_i_r_s_t, _l_a_s_t, _t_i_m_e))
          WWiiddggeett      _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn_f_i_r_s_t;;
          XXmmTTeexxttPPoossiittiioonn_l_a_s_t;;
          TTiimmee        _t_i_m_e;;

   DESCRIPTION
     XXmmTTeexxttSSeettSSeelleeccttiioonn sets the primary selection of the text in the widget.
     It also sets the insertion cursor position to the last position of the
     selection and calls the widget's XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckk callbacks.

     _w_i_d_g_e_t Specifies the Text widget ID

     _f_i_r_s_t  Marks the first character position of the text to be selected

     _l_a_s_t   Marks the last position of the text to be selected

     _t_i_m_e   Specifies the time at which the selection value is desired.  This
            should be the same as the time of the event that triggered this
            request.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).























   1-811






   XmTextSetSource(3X)



   NAME
     XXmmTTeexxttSSeettSSoouurrccee-A Text function that sets the source of the widget

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttSSeettSSoouurrccee ((_w_i_d_g_e_t, _s_o_u_r_c_e, _t_o_p__c_h_a_r_a_c_t_e_r, _c_u_r_s_o_r__p_o_s_i_t_i_o_n))
          WWiiddggeett    _w_i_d_g_e_t;;
          XXmmTTeexxttSSoouurrccee_s_o_u_r_c_e;;
          XXmmTTeexxttPPoossiittiioonn_t_o_p__c_h_a_r_a_c_t_e_r;;
          XXmmTTeexxttPPoossiittiioonn_c_u_r_s_o_r__p_o_s_i_t_i_o_n;;

   DESCRIPTION
     XXmmTTeexxttSSeettSSoouurrccee sets the source of the Text widget.  Text widgets can
     share sources of text so that editing in one widget is reflected in
     another.  This function sets the source of one widget so that it can
     share the source of another widget.

     Setting a new text source destroys the old text source if no other Text
     widgets are using that source.  To replace a text source but keep it for
     later use, create an unmanaged Text widget and set its source to the
     text source you want to keep.

     _w_i_d_g_e_t Specifies the Text widget ID

     _s_o_u_r_c_e Specifies the source with which the widget displays text.  This
            can be a value returned by the XXmmTTeexxttGGeettSSoouurrccee((33XX)) function.  If
            no source is specified, the widget creates a default string
            source.

     _t_o_p__c_h_a_r_a_c_t_e_r
            Specifies the position in the text to display at the top of the
            widget.  This is an integer number of characters from the begin-
            ning of the text buffer.  The first character position is 0.

     _c_u_r_s_o_r__p_o_s_i_t_i_o_n
            Specifies the position in the text at which the insert cursor is
            located.  This is an integer number of characters from the begin-
            ning of the text buffer.  The first character position is 0.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).











   1-812






                                                          XmTextSetString(3X)



   NAME
     XXmmTTeexxttSSeettSSttrriinngg-A Text function that sets the string value

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttSSeettSSttrriinngg ((_w_i_d_g_e_t, _v_a_l_u_e))
          WWiiddggeett    _w_i_d_g_e_t;;
          cchhaarr      * _v_a_l_u_e;;

   DESCRIPTION
     XXmmTTeexxttSSeettSSttrriinngg sets the string value of the Text widget.  This routine
     calls the widget's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk and verification callbacks,
     either XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk or XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss, or both.
     If both verification callback lists are registered, the procedures of
     the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are executed first and the resulting
     data is passed to the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.  It also
     sets the insertion cursor position to the beginning of the string and
     calls the widget's XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckk callbacks.

     _w_i_d_g_e_t Specifies the Text widget ID

     _v_a_l_u_e  Specifies the character pointer to the string value and places
            the string into the text edit window

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttSSeettSSttrriinnggWWccss((33XX)).


























   1-813






   XmTextSetStringWcs(3X)



   NAME
     XXmmTTeexxttSSeettSSttrriinnggWWccss-A Text function that sets a wide character string
     value

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttSSeettSSttrriinnggWWccss ((_w_i_d_g_e_t, _w_c_s_t_r_i_n_g))
          WWiiddggeett    _w_i_d_g_e_t;;
          wwcchhaarr__tt   **_w_c_s_t_r_i_n_g;;

   DESCRIPTION
     XXmmTTeexxttSSeettSSttrriinnggWWccss sets the wide character string value of the Text
     widget.  This routine calls the widget's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk and
     verification callbacks, either XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk or XXmmNNmmooddiiffyyVVeerr--
     iiffyyCCaallllbbaacckkWWccss, or both.  If both verification callback lists are
     registered, the procedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are exe-
     cuted first and the resulting data is passed to the XXmmNNmmooddiiffyyVVeerr--
     iiffyyCCaallllbbaacckkWWccss callbacks.  It also sets the insertion cursor position to
     the beginning of the string and calls the widget's XXmmNNmmoottiioonnVVeerriiffyyCCaallll--
     bbaacckk callbacks.

     _w_i_d_g_e_t Specifies the Text widget ID

     _v_a_l_u_e  Specifies the wide character string value and places the string
            into the text edit window.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttSSeettSSttrriinngg((33XX)).
























   1-814






                                                    XmTextSetTopCharacter(3X)



   NAME
     XXmmTTeexxttSSeettTTooppCChhaarraacctteerr-A Text function that sets the position of the
     first character displayed

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttSSeettTTooppCChhaarraacctteerr ((_w_i_d_g_e_t, _t_o_p__c_h_a_r_a_c_t_e_r))
          WWiiddggeett    _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn_t_o_p__c_h_a_r_a_c_t_e_r;;

   DESCRIPTION
     XXmmTTeexxttSSeettTTooppCChhaarraacctteerr sets the position of the text at the top of the
     Text widget.  If the XXmmNNeeddiittMMooddee is XXmmMMUULLTTII__LLIINNEE__EEDDIITT, the line of text
     that contains _t_o_p__c_h_a_r_a_c_t_e_r is displayed at the top of the widget
     without shifting the text left or right.

     _w_i_d_g_e_t Specifies the Text widget ID

     _t_o_p__c_h_a_r_a_c_t_e_r
            Specifies the position in the text to display at the top of the
            widget.  This is an integer number of characters from the begin-
            ning of the text buffer.  The first character position is 0.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).



























   1-815






   XmTextShowPosition(3X)



   NAME
     XXmmTTeexxttSShhoowwPPoossiittiioonn-A Text function that forces text at a given position
     to be displayed

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttSShhoowwPPoossiittiioonn ((_w_i_d_g_e_t, _p_o_s_i_t_i_o_n))
          WWiiddggeett    _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn_p_o_s_i_t_i_o_n;;

   DESCRIPTION
     XXmmTTeexxttSShhoowwPPoossiittiioonn forces text at the specified position to be
     displayed.  If the XXmmNNaauuttooSShhoowwCCuurrssoorrPPoossiittiioonn resource is True, the
     application should also set the insert cursor to this position.

     _w_i_d_g_e_t Specifies the Text widget ID

     _p_o_s_i_t_i_o_n
            Specifies the character position to be displayed.  This is an
            integer number of characters from the beginning of the text
            buffer.  The first character position is 0.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).




























   1-816






                                                            XmTextXYToPos(3X)



   NAME
     XXmmTTeexxttXXYYTTooPPooss-A Text function that accesses the character position
     nearest an x and y position

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     XXmmTTeexxttPPoossiittiioonn XXmmTTeexxttXXYYTTooPPooss ((_w_i_d_g_e_t, _x, _y))
          WWiiddggeett    _w_i_d_g_e_t;;
          PPoossiittiioonn  _x;;
          PPoossiittiioonn  _y;;

   DESCRIPTION
     XXmmTTeexxttXXYYTTooPPooss accesses the character position nearest to the specified x
     and y position, relative to the upper left corner of the Text widget.

     _w_i_d_g_e_t Specifies the Text widget ID

     _x      Specifies the x position, relative to the upper left corner of
            the widget.

     _y      Specifies the y position, relative to the upper left corner of
            the widget.

     For a complete definition of Text and its associated resources, see
     XXmmTTeexxtt((33XX)).

   RETURN VALUE
     Returns the character position in the text nearest the x and y position
     specified.  This is an integer number of characters from the beginning
     of the buffer.  The first character position is 0.

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)).






















   1-817






   XmToggleButton(3X)



   NAME
     XXmmTToogggglleeBBuuttttoonn-The ToggleButton widget class

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TToogggglleeBB..hh>>

   DESCRIPTION
     ToggleButton sets nontransitory state data within an application.  Usu-
     ally this widget consists of an indicator (square or diamond) with
     either text or a pixmap on one side of it.  However, it can also consist
     of just text or a pixmap without the indicator.

     The toggle graphics display a 11--ooff--mmaannyy or NN--ooff--mmaannyy selection state.
     When a toggle indicator is displayed, a square indicator shows an NN--ooff--
     mmaannyy selection state and a diamond indicator shows a 11--ooff--mmaannyy selection
     state.

     ToggleButton implies a selected or unselected state.  In the case of a
     label and an indicator, an empty indicator (square or diamond shaped)
     indicates that ToggleButton is unselected, and a filled indicator shows
     that it is selected.  In the case of a pixmap toggle, different pixmaps
     are used to display the selected/unselected states.

     The default behavior associated with a ToggleButton in a menu depends on
     the type of menu system in which it resides.  By default, BBSSeelleecctt con-
     trols the behavior of the ToggleButton.  In addition, BBMMeennuu controls the
     behavior of the ToggleButton if it resides in a PopupMenu system.  The
     actual mouse button used is determined by its RowColumn parent.

     To accommodate the toggle indicator when created, Label's resource
     XXmmNNmmaarrggiinnLLeefftt may be increased.

     Classes

     ToggleButton inherits behavior and resources from CCoorree, XXmmPPrriimmiittiivvee, and
     XXmmLLaabbeell Classes.

     The class pointer is xxmmTToogggglleeBBuuttttoonnWWiiddggeettCCllaassss.

     The class name is XXmmTToogggglleeBBuuttttoonn.

     New Resources

     The following table defines a set of widget resources used by the pro-
     grammer to specify data.  The programmer can also set the resource
     values for the inherited classes to set attributes for this widget.  To
     reference a resource by name or by class in a .Xdefaults file, remove
     the XXmmNN or XXmmCC prefix and use the remaining letters.  To specify one of
     the defined values for a resource in a .Xdefaults file, remove the XXmm
     prefix and use the remaining letters (in either lowercase or uppercase,
     but include any underscores between words).  The codes in the access
     column indicate if the given resource can be set at creation time (C),
     set by using XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is


   1-818






                                                           XmToggleButton(3X)


     not applicable (N/A).
                                         XXmmTToogggglleeBBuuttttoonn RReessoouurrccee SSeett
   NNaammee                         CCllaassss                        TTyyppee             DDeeffaauulltt                AAcccceessss
   ________________________________________________________________________________________________________
   XmNarmCallback               XmCArmCallback               XtCallbackList   NULL                   C
   XmNdisarmCallback            XmCDisarmCallback            XtCallbackList   NULL                   C
   XmNfillOnSelect              XmCFillOnSelect              Boolean          dynamic                CSG
   XmNindicatorOn               XmCIndicatorOn               Boolean          True                   CSG
   XmNindicatorSize             XmCIndicatorSize             Dimension        dynamic                CSG
   XmNindicatorType             XmCIndicatorType             unsigned char    dynamic                CSG
   XmNselectColor               XmCSelectColor               Pixel            dynamic                CSG
   XmNselectInsensitivePixmap   XmCSelectInsensitivePixmap   Pixmap           XmUNSPECIFIED_PIXMAP   CSG
   XmNselectPixmap              XmCSelectPixmap              Pixmap           XmUNSPECIFIED_PIXMAP   CSG
   XmNset                       XmCSet                       Boolean          False                  CSG
   XmNspacing                   XmCSpacing                   Dimension        4                      CSG
   XmNvalueChangedCallback      XmCValueChangedCallback      XtCallbackList   NULL                   C
   XmNvisibleWhenOff            XmCVisibleWhenOff            Boolean          dynamic                CSG

     XXmmNNaarrmmCCaallllbbaacckk
               Specifies the list of callbacks called when the ToggleButton
               is armed.  To arm this widget, press the active mouse button
               while the pointer is inside the ToggleButton.  For this call-
               back, the reason is XXmmCCRR__AARRMM.

     XXmmNNddiissaarrmmCCaallllbbaacckk
               Specifies the list of callbacks called when ToggleButton is
               disarmed.  To disarm this widget, press and release the active
               mouse button while the pointer is inside the ToggleButton.
               This widget is also disarmed when the user moves out of the
               widget and releases the mouse button when the pointer is out-
               side the widget.  For this callback, the reason is
               XXmmCCRR__DDIISSAARRMM.

     XXmmNNffiillllOOnnSSeelleecctt
               Fills the indicator with the color specified in XXmmNNsseelleeccttCCoolloorr
               and switches the top and bottom shadow colors when set to
               True.  Otherwise, it switches only the top and bottom shadow
               colors.  The default is set to the value of XXmmNNiinnddiiccaattoorrOOnn.
               When XXmmNNiinnddiiccaattoorrOOnn is False, and XXmmNNffiillllOOnnSSeelleecctt is set
               explicitly to True, the background is filled with the color
               specified by XXmmNNsseelleeccttCCoolloorr.

     XXmmNNiinnddiiccaattoorrOOnn
               Specifies that a toggle indicator is drawn to one side of the
               toggle text or pixmap when set to True.  When set to False, no
               space is allocated for the indicator, and it is not displayed.
               If XXmmNNiinnddiiccaattoorrOOnn is True, the indicator shadows are switched
               when the button is selected or unselected, but, any shadows
               around the entire widget are not switched.  However, if XXmmNNiinn--
               ddiiccaattoorrOOnn is False, any shadows around the entire widget are
               switched when the toggle is selected or unselected.

     XXmmNNiinnddiiccaattoorrSSiizzee
               Sets the size of the indicator.  If no value is specified, the


   1-819






   XmToggleButton(3X)


               size of the indicator is based on the size of the label string
               or pixmap.  If the label string or pixmap changes, the size of
               the indicator is recomputed based on the size of the label
               string or pixmap.  Once a value has been specified for XXmmNNiinn--
               ddiiccaattoorrSSiizzee, the indicator has that size, regardless of the
               size of the label string or pixmap, until a new value is
               specified.

     XXmmNNiinnddiiccaattoorrTTyyppee
               Specifies if the indicator is a 11--ooff or NN--ooff indicator.  For
               the 11--ooff indicator, the value is XXmmOONNEE__OOFF__MMAANNYY.  For the NN--ooff
               indicator, the value is XXmmNN__OOFF__MMAANNYY.  The NN--ooff--mmaannyy indicator
               is square.  The 11--ooff--mmaannyy indicator is diamond shaped.  This
               resource specifies only the visuals and does not enforce the
               behavior.  When the ToggleButton is in a RadioBox, the default
               is XXmmOONNEE__OOFF__MMAANNYY; otherwise, the default is XXmmNN__OOFF__MMAANNYY.

     XXmmNNsseelleeccttCCoolloorr
               Allows the application to specify what color fills the center
               of the square or diamond-shaped indicator when it is set.  If
               this color is the same as either the top or the bottom shadow
               color of the indicator, a one-pixel-wide margin is left
               between the shadows and the fill; otherwise, it is filled com-
               pletely.  This resource's default for a color display is a
               color between the background and the bottom shadow color.  For
               a monochrome display, the default is set to the foreground
               color.  To set the background of the button to XXmmNNsseelleeccttCCoolloorr
               when XXmmNNiinnddiiccaattoorrOOnn is False, the value of XXmmNNffiillllOOnnSSeelleecctt
               must be explicitly set to True.

     XXmmNNsseelleeccttIInnsseennssiittiivveePPiixxmmaapp
               Specifies a pixmap used as the button face when the ToggleBut-
               ton is selected and the button is insensitive if the Label
               resource XXmmNNllaabbeellTTyyppee is set to XXmmPPIIXXMMAAPP.  If the ToggleButton
               is unselected and the button is insensitive, the pixmap in
               XXmmNNllaabbeellIInnsseennssiittiivveePPiixxmmaapp is used as the button face.  If no
               value is specified for XXmmNNllaabbeellIInnsseennssiittiivveePPiixxmmaapp, that
               resource is set to the value specified for XXmmNNsseelleeccttIInnsseennssii--
               ttiivveePPiixxmmaapp.

     XXmmNNsseelleeccttPPiixxmmaapp
               Specifies the pixmap to be used as the button face if XXmmNNllaa--
               bbeellTTyyppee is XXmmPPIIXXMMAAPP and the ToggleButton is selected.  When
               the ToggleButton is unselected, the pixmap specified in
               Label's XXmmNNllaabbeellPPiixxmmaapp is used.  If no value is specified for
               XXmmNNllaabbeellPPiixxmmaapp, that resource is set to the value specified
               for XXmmNNsseelleeccttPPiixxmmaapp.

     XXmmNNsseett    Represents the state of the ToggleButton.  A value of false
               indicates that the ToggleButton is not set.   A value of true
               indicates that the ToggleButton is set.  Setting this resource
               sets the state of the ToggleButton.

     XXmmNNssppaacciinngg


   1-820






                                                           XmToggleButton(3X)


               Specifies the amount of spacing between the toggle indicator
               and the toggle label (text or pixmap).

     XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
               Specifies the list of callbacks called when the ToggleButton
               value is changed.  To change the value, press and release the
               active mouse button while the pointer is inside the ToggleBut-
               ton.  This action also causes this widget to be disarmed.  For
               this callback, the reason is XXmmCCRR__VVAALLUUEE__CCHHAANNGGEEDD.

     XXmmNNvviissiibblleeWWhheennOOffff
               Indicates that the toggle indicator is visible in the
               unselected state when the Boolean value is True.  When the
               ToggleButton is in a menu, the default value is False.  When
               the ToggleButton is in a RadioBox, the default value is True.

     Inherited Resources

     ToggleButton inherits behavior and resources from the following superc-
     lasses.  For a complete description of each resource, refer to the man
     page for that superclass.
                                              XXmmLLaabbeell RReessoouurrccee SSeett
   NNaammee                        CCllaassss                       TTyyppee                DDeeffaauulltt                  AAcccceessss
   ___________________________________________________________________________________________________________
   XmNaccelerator              XmCAccelerator              String              NULL                     CSG
   XmNacceleratorText          XmCAcceleratorText          XmString            NULL                     CSG
   XmNalignment                XmCAlignment                unsigned char       dynamic                  CSG
   XmNfontList                 XmCFontList                 XmFontList          dynamic                  CSG
   XmNlabelInsensitivePixmap   XmCLabelInsensitivePixmap   Pixmap              XmUNSPECIFIED_PIXMAP     CSG
   XmNlabelPixmap              XmCLabelPixmap              Pixmap              XmUNSPECIFIED_PIXMAP     CSG
   XmNlabelString              XmCXmString                 XmString            dynamic                  CSG
   XmNlabelType                XmCLabelType                unsigned char       XmSTRING                 CSG
   XmNmarginBottom             XmCMarginBottom             Dimension           dynamic                  CSG
   XmNmarginHeight             XmCMarginHeight             Dimension           2                        CSG
   XmNmarginLeft               XmCMarginLeft               Dimension           dynamic                  CSG
   XmNmarginRight              XmCMarginRight              Dimension           0                        CSG
   XmNmarginTop                XmCMarginTop                Dimension           dynamic                  CSG
   XmNmarginWidth              XmCMarginWidth              Dimension           2                        CSG
   XmNmnemonic                 XmCMnemonic                 KeySym              NULL                     CSG
   XmNmnemonicCharSet          XmCMnemonicCharSet          String              XmFONTLIST_DEFAULT_TAG   CSG
   XmNrecomputeSize            XmCRecomputeSize            Boolean             True                     CSG
   XmNstringDirection          XmCStringDirection          XmStringDirection   dynamic                  CSG
                                       XXmmPPrriimmiittiivvee RReessoouurrccee SSeett
   NNaammee                    CCllaassss                   TTyyppee               DDeeffaauulltt                AAcccceessss
   ________________________________________________________________________________________________
   XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic                CSG
   XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap             XmUNSPECIFIED_PIXMAP   CSG
   XmNforeground           XmCForeground           Pixel              dynamic                CSG
   XmNhelpCallback         XmCCallback             XtCallbackList     NULL                   C
   XmNhighlightColor       XmCHighlightColor       Pixel              dynamic                CSG
   XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
   XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
   XmNhighlightThickness   XmCHighlightThickness   Dimension          2                      CSG
   XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE                 CSG


   1-821






   XmToggleButton(3X)


   XmNshadowThickness      XmCShadowThickness      Dimension          dynamic                CSG
   XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
   XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
   XmNtraversalOn          XmCTraversalOn          Boolean            True                   CSG
   XmNunitType             XmCUnitType             unsigned char      dynamic                CSG
   XmNuserData             XmCUserData             XtPointer          NULL                   CSG
                                                 CCoorree RReessoouurrccee SSeett
   NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss
   ______________________________________________________________________________________________________________
   XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
   XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
   XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
   XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
   XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
   XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
   XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
   XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
   XmNdepth                        XmCDepth                        int              dynamic                CG
   XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
   XmNheight                       XmCHeight                       Dimension        dynamic                CSG
   XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
   XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
   XmNscreen                       XmCScreen                       Screen *         dynamic                CG
   XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
   XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
   XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
   XmNx                            XmCPosition                     Position         0                      CSG
   XmNy                            XmCPosition                     Position         0                      CSG

     Callback Information

     A pointer to the following structure is passed to each callback:
     ttyyppeeddeeff ssttrruucctt
     {{
       iinntt          _r_e_a_s_o_n;;
       XXEEvveenntt       * _e_v_e_n_t;;
       iinntt          _s_e_t;;
     }} XXmmTToogggglleeBBuuttttoonnCCaallllbbaacckkSSttrruucctt;;

     _r_e_a_s_o_n Indicates why the callback was invoked

     _e_v_e_n_t  Points to the XXEEvveenntt that triggered the callback

     _s_e_t    Reflects the ToggleButton's current state when the callback
            occurred, either True (selected) or False (unselected)

     Translations









   1-822






                                                           XmToggleButton(3X)


     XmToggleButton includes translations from Primitive.  Additional XmTog-
     gleButton translations for buttons not in a menu system are listed
     below.  These translations may not directly correspond to a translation
     table.

     Note that altering translations in ##oovveerrrriiddee or ##aauuggmmeenntt mode is unde-
     fined.
     BBDDrraaggPPrreessss::    PPrroocceessssDDrraagg(())
     BBSSeelleecctt PPrreessss:: AArrmm(())
     BBSSeelleecctt RReelleeaassee::SSeelleecctt(())
                    DDiissaarrmm(())
     KKHHeellpp::         HHeellpp(())
     KKSSeelleecctt::       AArrmmAAnnddAAccttiivvaattee(())

     XmToggleButton inherits menu traversal translations from XmLabel.  Addi-
     tional XmToggleButton translations for ToggleButtons in a menu system
     are listed below.  In a Popup menu system, BBMMeennuu also performs the
     BBSSeelleecctt actions.  These translations may not directly correspond to a
     translation table.
     BBSSeelleecctt PPrreessss:: BBttnnDDoowwnn(())
     BBSSeelleecctt RReelleeaassee::BBttnnUUpp(())
     KKHHeellpp::         HHeellpp(())
     KKAAccttiivvaattee::     AArrmmAAnnddAAccttiivvaattee(())
     KKSSeelleecctt::       AArrmmAAnnddAAccttiivvaattee(())
     MMAAnnyy KKCCaanncceell::  MMeennuuSShheellllPPooppddoowwnnOOnnee(())

     Action Routines

     The XmToggleButton action routines are described below:

     AArrmm(()):    If the button was previously unset, this action does the fol-
               lowing: If XXmmNNiinnddiiccaattoorrOOnn is True, it draws the indicator sha-
               dow so that the indicator looks pressed; if XXmmNNffiillllOOnnSSeelleecctt is
               True, it fills the indicator with the color specified by
               XXmmNNsseelleeccttCCoolloorr.  If XXmmNNiinnddiiccaattoorrOOnn is False, it draws the but-
               ton shadow so that the button looks pressed.  If XXmmNNllaabbeellTTyyppee
               is XXmmPPIIXXMMAAPP, the XXmmNNsseelleeccttPPiixxmmaapp is used as the button face.
               Calls the XXmmNNaarrmmCCaallllbbaacckk callbacks.  If the button was previ-
               ously set, this action does the following: If both XXmmNNiinnddiiccaa--
               ttoorrOOnn and XXmmNNvviissiibblleeWWhheennOOffff are True, it draws the indicator
               shadow so that the indicator looks raised; if XXmmNNffiillllOOnnSSeelleecctt
               is True, it fills the indicator with the background color.  If
               XXmmNNiinnddiiccaattoorrOOnn is False, it draws the button shadow so that
               the button looks raised.  If XXmmNNllaabbeellTTyyppee is XXmmPPIIXXMMAAPP, the
               XXmmNNllaabbeellPPiixxmmaapp is used as the button face.  Calls the XXmmNNaarrmm--
               CCaallllbbaacckk callbacks.

     AArrmmAAnnddAAccttiivvaattee(()):
               If the ToggleButton was previously set, unsets it; if the Tog-
               gleButton was previously unset, sets it.  In a menu, does the
               following: Unposts all menus in the menu hierarchy.  Unless
               the button is already armed, calls the XXmmNNaarrmmCCaallllbbaacckk call-
               backs.  Calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk and XXmmNNddiissaarrmmCCaallll--
               bbaacckk callbacks.  Outside a menu, if the button was previously


   1-823






   XmToggleButton(3X)


               unset, this action does the following: If XXmmNNiinnddiiccaattoorrOOnn is
               True, it draws the indicator shadow so that the indicator
               looks pressed; if XXmmNNffiillllOOnnSSeelleecctt is True, it fills the indi-
               cator with the color specified by XXmmNNsseelleeccttCCoolloorr.  If XXmmNNiinnddii--
               ccaattoorrOOnn is False, it draws the button shadow so that the but-
               ton looks pressed.  If XXmmNNllaabbeellTTyyppee is XXmmPPIIXXMMAAPP, the
               XXmmNNsseelleeccttPPiixxmmaapp is used as the button face.  Calls the XXmmNNaarrmm--
               CCaallllbbaacckk, XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk, and XXmmNNddiissaarrmmCCaallllbbaacckk call-
               backs.  Outside a menu, if the button was previously set, this
               action does the following: If both XXmmNNiinnddiiccaattoorrOOnn and XXmmNNvviissii--
               bblleeWWhheennOOffff are True, it draws the indicator shadow so that the
               indicator looks raised; if XXmmNNffiillllOOnnSSeelleecctt is True, it fills
               the indicator with the background color.  If XXmmNNiinnddiiccaattoorrOOnn is
               False, it draws the button shadow so that the button looks
               raised.  If XXmmNNllaabbeellTTyyppee is XXmmPPIIXXMMAAPP, the XXmmNNllaabbeellPPiixxmmaapp is
               used as the button face.  Calls the XXmmNNaarrmmCCaallllbbaacckk,
               XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk, and XXmmNNddiissaarrmmCCaallllbbaacckk callbacks.

     BBttnnDDoowwnn(()):
               This action unposts any menus posted by the ToggleButton's
               parent menu, disables keyboard traversal for the menu, and
               enables mouse traversal for the menu.  It draws the shadow in
               the armed state and, unless the button is already armed, calls
               the XXmmNNaarrmmCCaallllbbaacckk callbacks.

     BBttnnUUpp(()):  This action unposts all menus in the menu hierarchy.  If the
               ToggleButton was previously set, unsets it; if the ToggleBut-
               ton was previously unset, sets it.  It calls the
               XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks and then the XXmmNNddiissaarrmmCCaallll--
               bbaacckk callbacks.

     DDiissaarrmm(()): Calls the callbacks for XXmmNNddiissaarrmmCCaallllbbaacckk.

     HHeellpp(()):   In a Pulldown or Popup MenuPane, unposts all menus in the menu
               hierarchy and restores keyboard focus to the widget that had
               the focus before the menu system was entered.  Calls the call-
               backs for XXmmNNhheellppCCaallllbbaacckk if any exist.  If there are no help
               callbacks for this widget, this action calls the help call-
               backs for the nearest ancestor that has them.

     MMeennuuSShheellllPPooppddoowwnnOOnnee(()):
               In a toplevel Pulldown MenuPane from a MenuBar, unposts the
               menu, disarms the MenuBar CascadeButton and the MenuBar, and
               restores keyboard focus to the widget that had the focus
               before the MenuBar was entered.  In other Pulldown MenuPanes,
               unposts the menu.  In a Popup MenuPane, unposts the menu and
               restores keyboard focus to the widget from which the menu was
               posted.

     PPrroocceessssDDrraagg(()):
               Drags the contents of a ToggleButton label, identified by
               pressing BBDDrraagg.  This action creates a DragContext object
               whose XXmmNNeexxppoorrttTTaarrggeettss resource is set to "COMPOUND_TEXT" for
               a label type of XXmmSSTTRRIINNGG; otherwise, "PIXMAP" if the label


   1-824






                                                           XmToggleButton(3X)


               type is XXmmPPIIXXMMAAPP.  This action is undefined for ToggleButtons
               used in a menu system.

     SSeelleecctt(()): If the pointer is within the button, takes the following
               actions: If the button was previously unset, sets it; if the
               button was previously set, unsets it.  Calls the
               XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.

     Additional Behavior

     This widget has the additional behavior described below:

     <<EEnntteerrWWiinnddooww>>:
               In a menu, if keyboard traversal is enabled, this action does
               nothing.  Otherwise, it draws the shadow in the armed state
               and calls the XXmmNNaarrmmCCaallllbbaacckk callbacks.  If the ToggleButton
               is not in a menu and the cursor leaves and then reenters the
               ToggleButton's window while the button is pressed, this action
               restores the button's armed appearance.

     <<LLeeaavveeWWiinnddooww>>:
               In a menu, if keyboard traversal is enabled, this action does
               nothing.  Otherwise, it draws the shadow in the unarmed state
               and calls the XXmmNNddiissaarrmmCCaallllbbaacckk callbacks.  If the ToggleBut-
               ton is not in a menu and the cursor leaves the ToggleButton's
               window while the button is pressed, this action restores the
               button's unarmed appearance.

     Virtual Bindings

     The bindings for virtual keys are vendor specific.  For information
     about bindings for virtual buttons and keys, see VViirrttuuaallBBiinnddiinnggss((33XX)).

   RELATED INFORMATION
     CCoorree((33XX)), XXmmCCrreeaatteeRRaaddiiooBBooxx((33XX)), XXmmCCrreeaatteeTToogggglleeBBuuttttoonn((33XX)), XXmmLLaabbeell((33XX)),
     XXmmPPrriimmiittiivvee((33XX)), XXmmRRoowwCCoolluummnn((33XX)), XXmmTToogggglleeBBuuttttoonnGGeettSSttaattee((33XX)), and
     XXmmTToogggglleeBBuuttttoonnSSeettSSttaattee((33XX)).



















   1-825






   XmToggleButtonGadget(3X)



   NAME
     XXmmTToogggglleeBBuuttttoonnGGaaddggeett-The ToggleButtonGadget widget class

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TToogggglleeBBGG..hh>>

   DESCRIPTION
     ToggleButtonGadget sets nontransitory state data within an application.
     Usually this gadget consists of an indicator (square or diamond-shaped)
     with either text or a pixmap on one side of it.  However, it can also
     consist of just text or a pixmap without the indicator.

     The toggle graphics display a 11--ooff--mmaannyy or NN--ooff--mmaannyy selection state.
     When a toggle indicator is displayed, a square indicator shows an NN--ooff--
     mmaannyy selection state and a diamond-shaped indicator shows a 11--ooff--mmaannyy
     selection state.

     ToggleButtonGadget implies a selected or unselected state.  In the case
     of a label and an indicator, an empty indicator (square or diamond-
     shaped) indicates that ToggleButtonGadget is unselected, and a filled
     indicator shows that it is selected.  In the case of a pixmap toggle,
     different pixmaps are used to display the selected/unselected states.

     The default behavior associated with a ToggleButtonGadget in a menu
     depends on the type of menu system in which it resides.  By default,
     BBSSeelleecctt controls the behavior of the ToggleButtonGadget.  In addition,
     BBMMeennuu controls the behavior of the ToggleButtonGadget if it resides in a
     PopupMenu system.  The actual mouse button used is determined by its
     RowColumn parent.

     To accommodate the toggle indicator when created, Label's resource
     XXmmNNmmaarrggiinnLLeefftt may be increased.

     Classes

     ToggleButtonGadget inherits behavior and resources from OObbjjeecctt, RReeccttOObbjj,
     XXmmGGaaddggeett and XXmmLLaabbeellGGaaddggeett classes.

     The class pointer is xxmmTToogggglleeBBuuttttoonnGGaaddggeettCCllaassss.

     The class name is XXmmTToogggglleeBBuuttttoonnGGaaddggeett.

     New Resources

     The following table defines a set of widget resources used by the pro-
     grammer to specify data.  The programmer can also set the resource
     values for the inherited classes to set attributes for this widget.  To
     reference a resource by name or by class in a .Xdefaults file, remove
     the XXmmNN or XXmmCC prefix and use the remaining letters.  To specify one of
     the defined values for a resource in a .Xdefaults file, remove the XXmm
     prefix and use the remaining letters (in either lowercase or uppercase,
     but include any underscores between words).  The codes in the access
     column indicate if the given resource can be set at creation time (C),


   1-826






                                                     XmToggleButtonGadget(3X)


     set by using XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is
     not applicable (N/A).
                                      XXmmTToogggglleeBBuuttttoonnGGaaddggeett RReessoouurrccee SSeett
   NNaammee                         CCllaassss                        TTyyppee             DDeeffaauulltt                AAcccceessss
   ________________________________________________________________________________________________________
   XmNarmCallback               XmCArmCallback               XtCallbackList   NULL                   C
   XmNdisarmCallback            XmCDisarmCallback            XtCallbackList   NULL                   C
   XmNfillOnSelect              XmCFillOnSelect              Boolean          dynamic                CSG
   XmNindicatorOn               XmCIndicatorOn               Boolean          True                   CSG
   XmNindicatorSize             XmCIndicatorSize             Dimension        dynamic                CSG
   XmNindicatorType             XmCIndicatorType             unsigned char    dynamic                CSG
   XmNselectColor               XmCSelectColor               Pixel            dynamic                CSG
   XmNselectInsensitivePixmap   XmCSelectInsensitivePixmap   Pixmap           XmUNSPECIFIED_PIXMAP   CSG
   XmNselectPixmap              XmCSelectPixmap              Pixmap           XmUNSPECIFIED_PIXMAP   CSG
   XmNset                       XmCSet                       Boolean          False                  CSG
   XmNspacing                   XmCSpacing                   Dimension        4                      CSG
   XmNvalueChangedCallback      XmCValueChangedCallback      XtCallbackList   NULL                   C
   XmNvisibleWhenOff            XmCVisibleWhenOff            Boolean          dynamic                CSG

     XXmmNNaarrmmCCaallllbbaacckk
               Specifies a list of callbacks that is called when the Tog-
               gleButtonGadget is armed.  To arm this gadget, press the
               active mouse button while the pointer is inside the ToggleBut-
               tonGadget.  For this callback, the reason is XXmmCCRR__AARRMM.

     XXmmNNddiissaarrmmCCaallllbbaacckk
               Specifies a list of callbacks called when ToggleButtonGadget
               is disarmed.  To disarm this gadget, press and release the
               active mouse button while the pointer is inside the ToggleBut-
               tonGadget.  The gadget is also disarmed when the user moves
               out of the gadget and releases the mouse button when the
               pointer is outside the gadget.  For this callback, the reason
               is XXmmCCRR__DDIISSAARRMM.

     XXmmNNffiillllOOnnSSeelleecctt
               Fills the indicator with the color specified in XXmmNNsseelleeccttCCoolloorr
               and switches the top and bottom shadow colors when set to
               True.  Otherwise, it switches only the top and bottom shadow
               colors.  The default is set to the value of XXmmNNiinnddiiccaattoorrOOnn.
               When XXmmNNiinnddiiccaattoorrOOnn is False, and XXmmNNffiillllOOnnSSeelleecctt is set
               explicitly to True, the background is filled with the color
               specified by XXmmNNsseelleeccttCCoolloorr.

     XXmmNNiinnddiiccaattoorrOOnn
               Specifies that a toggle indicator is drawn to one side of the
               toggle text or pixmap when set to True.  When set to False, no
               space is allocated for the indicator, and it is not displayed.
               If XXmmNNiinnddiiccaattoorrOOnn is True, the indicator shadows are switched
               when the button is selected or unselected, but any shadows
               around the entire gadget are not switched.  However, if XXmmNNiinn--
               ddiiccaattoorrOOnn is False, any shadows around the entire gadget are
               switched when the toggle is selected or unselected.

     XXmmNNiinnddiiccaattoorrSSiizzee


   1-827






   XmToggleButtonGadget(3X)


               Sets the size of the indicator.  If no value is specified, the
               size of the indicator is based on the size of the label string
               or pixmap.  If the label string or pixmap changes, the size of
               the indicator is recomputed based on the size of the label
               string or pixmap.  Once a value has been specified for XXmmNNiinn--
               ddiiccaattoorrSSiizzee, the indicator has that size, regardless of the
               size of the label string or pixmap, until a new value is
               specified.

     XXmmNNiinnddiiccaattoorrTTyyppee
               Specifies if the indicator is a 11--ooff or an NN--ooff indicator.
               For the 11--ooff indicator, the value is XXmmOONNEE__OOFF__MMAANNYY.  For the
               NN--ooff indicator, the value is XXmmNN__OOFF__MMAANNYY.  The NN--ooff--mmaannyy indi-
               cator is square.  The 11--ooff--mmaannyy indicator is diamond-shaped.
               This resource specifies only the visuals and does not enforce
               the behavior.  When the ToggleButtonGadget is in a RadioBox,
               the default is XXmmOONNEE__OOFF__MMAANNYY; otherwise, the default is
               XXmmNN__OOFF__MMAANNYY.

     XXmmNNsseelleeccttCCoolloorr
               Allows the application to specify what color fills the center
               of the square or diamond-shaped indicator when it is set.  If
               this color is the same as either the top or the bottom shadow
               color of the indicator, a one-pixel-wide margin is left
               between the shadows and the fill;  otherwise, it is filled
               completely.  This resource's default for a color display is a
               color between the background and the bottom shadow color.  For
               a monochrome display, the default is set to the foreground
               color.  To set the background of the button to XXmmNNsseelleeccttCCoolloorr
               when XXmmNNiinnddiiccaattoorrOOnn is False, the value of XXmmNNffiillllOOnnSSeelleecctt
               must be explicitly set to True.

     XXmmNNsseelleeccttIInnsseennssiittiivveePPiixxmmaapp
               Specifies a pixmap used as the button face when the ToggleBut-
               tonGadget is selected and the button is insensitive if the
               LabelGadget resource XXmmNNllaabbeellTTyyppee is XXmmPPIIXXMMAAPP.  If the Tog-
               gleButtonGadget is unselected and the button is insensitive,
               the pixmap in XXmmNNllaabbeellIInnsseennssiittiivveePPiixxmmaapp is used as the button
               face.  If no value is specified for XXmmNNllaabbeellIInnsseennssiittiivveePPiixxmmaapp,
               that resource is set to the value specified for XXmmNNsseelleeccttIInn--
               sseennssiittiivveePPiixxmmaapp.

     XXmmNNsseelleeccttPPiixxmmaapp
               Specifies the pixmap to be used as the button face if XXmmNNllaa--
               bbeellTTyyppee is XXmmPPIIXXMMAAPP and the ToggleButtonGadget is selected.
               When the ToggleButtonGadget is unselected, the pixmap speci-
               fied in LabelGadget's XXmmNNllaabbeellPPiixxmmaapp is used.  If no value is
               specified for XXmmNNllaabbeellPPiixxmmaapp, that resource is set to the
               value specified for XXmmNNsseelleeccttPPiixxmmaapp.

     XXmmNNsseett    Represents the state of the ToggleButton.  A value of false
               indicates that the ToggleButton is not set.   A value of true
               indicates that the ToggleButton is set.  Setting this resource
               sets the state of the ToggleButton.


   1-828






                                                     XmToggleButtonGadget(3X)



     XXmmNNssppaacciinngg
               Specifies the amount of spacing between the toggle indicator
               and the toggle label (text or pixmap).

     XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
               Specifies a list of callbacks called when the ToggleBut-
               tonGadget value is changed.  To change the value, press and
               release the active mouse button while the pointer is inside
               the ToggleButtonGadget.  This action also causes the gadget to
               be disarmed.  For this callback, the reason is
               XXmmCCRR__VVAALLUUEE__CCHHAANNGGEEDD.

     XXmmNNvviissiibblleeWWhheennOOffff
               Indicates that the toggle indicator is visible in the
               unselected state when the Boolean value is True.  When the
               ToggleButtonGadget is in a menu, the default value is False.
               When the ToggleButtonGadget is in a RadioBox, the default
               value is True.

     Inherited Resources

     ToggleButtonGadget inherits behavior and resources from the following
     superclasses.  For a complete description of each resource, refer to the
     man page for that superclass.
                                          XXmmLLaabbeellGGaaddggeett RReessoouurrccee SSeett
   NNaammee                        CCllaassss                       TTyyppee                DDeeffaauulltt                AAcccceessss
   _________________________________________________________________________________________________________
   XmNaccelerator              XmCAccelerator              String              NULL                   CSG
   XmNacceleratorText          XmCAcceleratorText          XmString            NULL                   CSG
   XmNalignment                XmCAlignment                unsigned char       dynamic                CSG
   XmNfontList                 XmCFontList                 XmFontList          dynamic                CSG
   XmNlabelInsensitivePixmap   XmCLabelInsensitivePixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
   XmNlabelPixmap              XmCLabelPixmap              Pixmap              XmUNSPECIFIED_PIXMAP   CSG
   XmNlabelString              XmCXmString                 XmString            dynamic                CSG
   XmNlabelType                XmCLabelType                unsigned char       XmSTRING               CSG
   XmNmarginBottom             XmCMarginBottom             Dimension           dynamic                CSG
   XmNmarginHeight             XmCMarginHeight             Dimension           2                      CSG
   XmNmarginLeft               XmCMarginLeft               Dimension           dynamic                CSG
   XmNmarginRight              XmCMarginRight              Dimension           0                      CSG
   XmNmarginTop                XmCMarginTop                Dimension           dynamic                CSG
   XmNmarginWidth              XmCMarginWidth              Dimension           2                      CSG
   XmNmnemonic                 XmCMnemonic                 KeySym              NULL                   CSG
   XmNmnemonicCharSet          XmCMnemonicCharSet          String              dynamic                CSG
   XmNrecomputeSize            XmCRecomputeSize            Boolean             True                   CSG
   XmNstringDirection          XmCStringDirection          XmStringDirection   dynamic                CSG
                                  XXmmGGaaddggeett RReessoouurrccee SSeett
   NNaammee                    CCllaassss                   TTyyppee               DDeeffaauulltt   AAcccceessss
   ___________________________________________________________________________________
   XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic   G
   XmNhelpCallback         XmCCallback             XtCallbackList     NULL      C
   XmNhighlightColor       XmCHighlightColor       Pixel              dynamic   G
   XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False     CSG
   XmNhighlightThickness   XmCHighlightThickness   Dimension          2         CSG


   1-829






   XmToggleButtonGadget(3X)


   XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE    CSG
   XmNshadowThickness      XmCShadowThickness      Dimension          dynamic   CSG
   XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic   G
   XmNtraversalOn          XmCTraversalOn          Boolean            True      CSG
   XmNunitType             XmCUnitType             unsigned char      dynamic   CSG
   XmNuserData             XmCUserData             XtPointer          NULL      CSG
                               RReeccttOObbjj RReessoouurrccee SSeett
       NNaammee                   CCllaassss            TTyyppee        DDeeffaauulltt   AAcccceessss
       ____________________________________________________________________
       XmNancestorSensitive   XmCSensitive     Boolean     dynamic   G
       XmNborderWidth         XmCBorderWidth   Dimension   0         CSG
       XmNheight              XmCHeight        Dimension   dynamic   CSG
       XmNsensitive           XmCSensitive     Boolean     True      CSG
       XmNwidth               XmCWidth         Dimension   dynamic   CSG
       XmNx                   XmCPosition      Position    0         CSG
       XmNy                   XmCPosition      Position    0         CSG
                               OObbjjeecctt RReessoouurrccee SSeett
       NNaammee                 CCllaassss         TTyyppee             DDeeffaauulltt   AAcccceessss
       ____________________________________________________________________
       XmNdestroyCallback   XmCCallback   XtCallbackList   NULL      C

     Callback Information

     A pointer to the following structure is passed to each callback:
     ttyyppeeddeeff ssttrruucctt
     {{
       iinntt          _r_e_a_s_o_n;;
       XXEEvveenntt       * _e_v_e_n_t;;
       iinntt          _s_e_t;;
     }} XXmmTToogggglleeBBuuttttoonnCCaallllbbaacckkSSttrruucctt;;

     _r_e_a_s_o_n Indicates why the callback was invoked

     _e_v_e_n_t  Points to the XXEEvveenntt that triggered the callback

     _s_e_t    Reflects the ToggleButtonGadget's current state when the callback
            occurred, either True (selected) or False (unselected)

     Behavior

     XmToggleButtonGadget includes behavior from XmGadget.  XmToggleBut-
     tonGadget includes menu traversal behavior from XmLabelGadget.  Addi-
     tional XmToggleButtonGadget behavior is described below:

     BBDDrraagg PPrreessss:
               Drags the contents of a ToggleButtonGadget label, identified
               by pressing BBDDrraagg.  This action creates a DragContext object
               whose XXmmNNeexxppoorrttTTaarrggeettss resource is set to "COMPOUND_TEXT" for
               a label type of XXmmSSTTRRIINNGG; otherwise, "PIXMAP" if the label
               type is XXmmPPIIXXMMAAPP.  This action is undefined for ToggleBut-
               tonGadgets used in a menu system.

     BBSSeelleecctt PPrreessss:
               In a menu, this action unposts any menus posted by the


   1-830






                                                     XmToggleButtonGadget(3X)


               ToggleButtonGadget's parent menu, disables keyboard traversal
               for the menu, and enables mouse traversal for the menu.  It
               draws the shadow in the armed state and, unless the button is
               already armed, calls the XXmmNNaarrmmCCaallllbbaacckk callbacks.  Outside a
               menu, if the button was previously unset, this action does the
               following: If XXmmNNiinnddiiccaattoorrOOnn is True, it draws the indicator
               shadow so that the indicator looks pressed; if XXmmNNffiillllOOnnSSeelleecctt
               is True, it fills the indicator with the color specified by
               XXmmNNsseelleeccttCCoolloorr.  If XXmmNNiinnddiiccaattoorrOOnn is False, it draws the but-
               ton shadow so that the button looks pressed.  If XXmmNNllaabbeellTTyyppee
               is XXmmPPIIXXMMAAPP, the XXmmNNsseelleeccttPPiixxmmaapp is used as the button face.
               Calls the XXmmNNaarrmmCCaallllbbaacckk callbacks.  Outside a menu, if the
               button was previously set, this action does the following: If
               both XXmmNNiinnddiiccaattoorrOOnn and XXmmNNvviissiibblleeWWhheennOOffff are True, it draws
               the indicator shadow so that the indicator looks raised; if
               XXmmNNffiillllOOnnSSeelleecctt is True, it fills the indicator with the back-
               ground color.  If XXmmNNiinnddiiccaattoorrOOnn is False, it draws the button
               shadow so that the button looks raised.  If XXmmNNllaabbeellTTyyppee is
               XXmmPPIIXXMMAAPP, the XXmmNNllaabbeellPPiixxmmaapp is used as the button face.
               Calls the XXmmNNaarrmmCCaallllbbaacckk callbacks.

     BBSSeelleecctt RReelleeaassee:
               In a menu, this action does the following: It unposts all
               menus in the menu hierarchy.  If the ToggleButtonGadget was
               previously set, unsets it; if the ToggleButtonGadget was pre-
               viously unset, sets it.  It calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
               callbacks and then the XXmmNNddiissaarrmmCCaallllbbaacckk callbacks.  If the
               button is outside a menu and the pointer is within the button,
               this action does the following: If the button was previously
               unset, sets it; if the button was previously set, unsets it.
               Calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.  If the button is
               outside a menu, calls the XXmmNNddiissaarrmmCCaallllbbaacckk callbacks.

     KKHHeellpp:    In a Pulldown or Popup MenuPane, unposts all menus in the menu
               hierarchy and, when the shell's keyboard focus policy is XXmmEEXX--
               PPLLIICCTT, restores keyboard focus to the widget that had the
               focus before the menu system was entered.  Calls the callbacks
               for XXmmNNhheellppCCaallllbbaacckk if any exist.  If there are no help call-
               backs for this widget, this action calls the help callbacks
               for the nearest ancestor that has them.

     AAccttiivvaattee: In a menu, does the following: unposts all menus in the menu
               hierarchy; unless the button is already armed, calls the
               XXmmNNaarrmmCCaallllbbaacckk callbacks; and calls the XXmmNNvvaalluueeCChhaannggeeddCCaallll--
               bbaacckk and XXmmNNddiissaarrmmCCaallllbbaacckk callbacks.  Outside a menu, if the
               parent is a manager, passes the event to the parent.

     KKSSeelleecctt:  If the ToggleButtonGadget was previously set, unsets it; if
               the ToggleButtonGadget was previously unset, sets it.  In a
               menu, does the following: Unposts all menus in the menu
               hierarchy.  Unless the button is already armed, calls the
               XXmmNNaarrmmCCaallllbbaacckk callbacks.  Calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
               and XXmmNNddiissaarrmmCCaallllbbaacckk callbacks.  Outside a menu, if the but-
               ton was previously unset, this action does the following: If


   1-831






   XmToggleButtonGadget(3X)


               XXmmNNiinnddiiccaattoorrOOnn is True, it draws the indicator shadow so that
               the indicator looks pressed; if XXmmNNffiillllOOnnSSeelleecctt is True, it
               fills the indicator with the color specified by
               XXmmNNsseelleeccttCCoolloorr.  If XXmmNNiinnddiiccaattoorrOOnn is False, it draws the but-
               ton shadow so that the button looks pressed.  If XXmmNNllaabbeellTTyyppee
               is XXmmPPIIXXMMAAPP, the XXmmNNsseelleeccttPPiixxmmaapp is used as the button face.
               Calls the XXmmNNaarrmmCCaallllbbaacckk, XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk, XXmmNNddiissaarrmm--
               CCaallllbbaacckk callbacks.  Outside a menu, if the button was previ-
               ously set, this action does the following: If both XXmmNNiinnddiiccaa--
               ttoorrOOnn and XXmmNNvviissiibblleeWWhheennOOffff are True, it draws the indicator
               shadow so that the indicator looks raised; if XXmmNNffiillllOOnnSSeelleecctt
               is True, it fills the indicator with the background color.  If
               XXmmNNiinnddiiccaattoorrOOnn is False, it draws the button shadow so that
               the button looks raised.  If XXmmNNllaabbeellTTyyppee is XXmmPPIIXXMMAAPP, the
               XXmmNNllaabbeellPPiixxmmaapp is used as the button face.  Calls the XXmmNNaarrmm--
               CCaallllbbaacckk, XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk, and XXmmNNddiissaarrmmCCaallllbbaacckk call-
               backs.

     MMAAnnyy KKCCaanncceell:
               In a toplevel Pulldown MenuPane from a MenuBar, unposts the
               menu, disarms the MenuBar CascadeButton and the MenuBar, and,
               when the shell's keyboard focus policy is XXmmEEXXPPLLIICCTT, restores
               keyboard focus to the widget that had the focus before the
               MenuBar was entered.  In other Pulldown MenuPanes, unposts the
               menu.  Outside a menu, if the parent is a manager, this action
               passes the event to the parent.  In a Popup MenuPane, unposts
               the menu and restores keyboard focus to the widget from which
               the menu was posted.

     <<EEnntteerr>>:  In a menu, if keyboard traversal is enabled, this action does
               nothing.  Otherwise, it draws the shadow in the armed state
               and calls the XXmmNNaarrmmCCaallllbbaacckk callbacks.  If the ToggleBut-
               tonGadget is not in a menu and the cursor leaves and then
               reenters the ToggleButtonGadget while the button is pressed,
               this action restores the button's armed appearance.

     <<LLeeaavvee>>:  In a menu, if keyboard traversal is enabled, this action does
               nothing.  Otherwise, it draws the shadow in the unarmed state
               and calls the XXmmNNddiissaarrmmCCaallllbbaacckk callbacks.  If the ToggleBut-
               tonGadget is not in a menu and the cursor leaves the Tog-
               gleButtonGadget while the button is pressed, this action
               restores the button's unarmed appearance.

     Virtual Bindings

     The bindings for virtual keys are vendor specific.  For information










   1-832






                                                     XmToggleButtonGadget(3X)


     about bindings for virtual buttons and keys, see VViirrttuuaallBBiinnddiinnggss((33XX)).

   RELATED INFORMATION
     OObbjjeecctt((33XX)), RReeccttOObbjj((33XX)), XXmmCCrreeaatteeRRaaddiiooBBooxx((33XX)),
     XXmmCCrreeaatteeTToogggglleeBBuuttttoonnGGaaddggeett((33XX)), XXmmGGaaddggeett((33XX)), XXmmLLaabbeellGGaaddggeett((33XX)),
     XXmmRRoowwCCoolluummnn((33XX)), XXmmTToogggglleeBBuuttttoonnGGaaddggeettGGeettSSttaattee((33XX)), and
     XXmmTToogggglleeBBuuttttoonnGGaaddggeettSSeettSSttaattee((33XX)).

















































   1-833






   XmToggleButtonGadgetGetState(3X)



   NAME
     XXmmTToogggglleeBBuuttttoonnGGaaddggeettGGeettSSttaattee-A ToggleButtonGadget function that obtains
     the state of a ToggleButtonGadget

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TToogggglleeBBGG..hh>>
     BBoooolleeaann XXmmTToogggglleeBBuuttttoonnGGaaddggeettGGeettSSttaattee ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTToogggglleeBBuuttttoonnGGaaddggeettGGeettSSttaattee obtains the state of a ToggleButtonGadget.

     _w_i_d_g_e_t Specifies the ToggleButtonGadget ID

     For a complete definition of ToggleButtonGadget and its associated
     resources, see XXmmTToogggglleeBBuuttttoonnGGaaddggeett((33XX)).

   RETURN VALUE
     Returns True if the button is selected and False if the button is
     unselected.

   RELATED INFORMATION
     XXmmTToogggglleeBBuuttttoonnGGaaddggeett((33XX)).
































   1-834






                                             XmToggleButtonGadgetSetState(3X)



   NAME
     XXmmTToogggglleeBBuuttttoonnGGaaddggeettSSeettSSttaattee-A ToggleButtonGadget function that sets or
     changes the current state

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TToogggglleeBBGG..hh>>
     vvooiidd XXmmTToogggglleeBBuuttttoonnGGaaddggeettSSeettSSttaattee ((_w_i_d_g_e_t, _s_t_a_t_e, _n_o_t_i_f_y))
          WWiiddggeett    _w_i_d_g_e_t;;
          BBoooolleeaann   _s_t_a_t_e;;
          BBoooolleeaann   _n_o_t_i_f_y;;

   DESCRIPTION
     XXmmTToogggglleeBBuuttttoonnGGaaddggeettSSeettSSttaattee sets or changes the ToggleButtonGadget's
     current state.

     _w_i_d_g_e_t Specifies the ToggleButtonGadget widget ID.

     _s_t_a_t_e  Specifies a Boolean value that indicates whether the ToggleBut-
            tonGadget state is selected or unselected.  If True, the button
            state is selected; if False, the button state is unselected.

     _n_o_t_i_f_y Indicates whether XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called; it can be
            either True or False.  The XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is only called
            when this function changes the state of the ToggleButtonGadget.
            When this argument is True and the ToggleButtonGadget is a child
            of a RowColumn widget whose XXmmNNrraaddiiooBBeehhaavviioorr is True, setting the
            ToggleButtonGadget causes other ToggleButton and ToggleBut-
            tonGadget children of the RowColumn to be unselected.

     For a complete definition of ToggleButtonGadget and its associated
     resources, see XXmmTToogggglleeBBuuttttoonnGGaaddggeett((33XX)).

   RELATED INFORMATION
     XXmmTToogggglleeBBuuttttoonnGGaaddggeett((33XX)).





















   1-835






   XmToggleButtonGetState(3X)



   NAME
     XXmmTToogggglleeBBuuttttoonnGGeettSSttaattee-A ToggleButton function that obtains the state of
     a ToggleButton

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TToogggglleeBB..hh>>
     BBoooolleeaann XXmmTToogggglleeBBuuttttoonnGGeettSSttaattee ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmTToogggglleeBBuuttttoonnGGeettSSttaattee obtains the state of a ToggleButton.

     _w_i_d_g_e_t Specifies the ToggleButton widget ID

     For a complete definition of ToggleButton and its associated resources,
     see XXmmTToogggglleeBBuuttttoonn((33XX)).

   RETURN VALUE
     Returns True if the button is selected and False if the button is
     unselected.

   RELATED INFORMATION
     XXmmTToogggglleeBBuuttttoonn((33XX)).
































   1-836






                                                   XmToggleButtonSetState(3X)



   NAME
     XXmmTToogggglleeBBuuttttoonnSSeettSSttaattee-A ToggleButton function that sets or changes the
     current state

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TToogggglleeBB..hh>>
     vvooiidd XXmmTToogggglleeBBuuttttoonnSSeettSSttaattee ((_w_i_d_g_e_t, _s_t_a_t_e, _n_o_t_i_f_y))
          WWiiddggeett    _w_i_d_g_e_t;;
          BBoooolleeaann   _s_t_a_t_e;;
          BBoooolleeaann   _n_o_t_i_f_y;;

   DESCRIPTION
     XXmmTToogggglleeBBuuttttoonnSSeettSSttaattee sets or changes the ToggleButton's current state.

     _w_i_d_g_e_t Specifies the ToggleButton widget ID.

     _s_t_a_t_e  Specifies a Boolean value that indicates whether the ToggleButton
            state is selected or unselected.  If True, the button state is
            selected; if False, the button state is unselected.

     _n_o_t_i_f_y Indicates whether XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called; it can be
            either True or False.  The XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is only called
            when this function changes the state of the ToggleButton.  When
            this argument is True and the ToggleButton is a child of a
            RowColumn widget whose XXmmNNrraaddiiooBBeehhaavviioorr is True, setting the Tog-
            gleButton causes other ToggleButton and ToggleButtonGadget chil-
            dren of the RowColumn to be unselected.

     For a complete definition of ToggleButton and its associated resources,
     see XXmmTToogggglleeBBuuttttoonn((33XX)).

   RELATED INFORMATION
     XXmmTToogggglleeBBuuttttoonn((33XX)).






















   1-837






   XmTrackingEvent(3X)



   NAME
     XXmmTTrraacckkiinnggEEvveenntt-A Toolkit function that provides a modal interaction

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     WWiiddggeett XXmmTTrraacckkiinnggEEvveenntt ((_w_i_d_g_e_t, _c_u_r_s_o_r, _c_o_n_f_i_n_e__t_o, _e_v_e_n_t__r_e_t_u_r_n))
          WWiiddggeett    _w_i_d_g_e_t;;
          CCuurrssoorr    _c_u_r_s_o_r;;
          BBoooolleeaann   _c_o_n_f_i_n_e__t_o;;
          XXEEvveenntt    **_e_v_e_n_t__r_e_t_u_r_n;;

   DESCRIPTION
     XXmmTTrraacckkiinnggEEvveenntt provides a modal interface for selection of a component.
     It is intended to support context help.  The function grabs the pointer
     and discards succeeding events until BBSSeelleecctt is released or a key is
     pressed and then released. The function then returns the widget or
     gadget that contains the pointer when BBSSeelleecctt is released or a key is
     released.

     _w_i_d_g_e_t Specifies the widget ID of a widget to use as the basis of the
            modal interaction.  That is, the widget within which the interac-
            tion must occur, usually a top level shell.

     _c_u_r_s_o_r Specifies the cursor to be used for the pointer during the
            interaction.  This is a standard X cursor name.

     _c_o_n_f_i_n_e__t_o
            Specifies whether or not the cursor should be confined to _w_i_d_g_e_t.

     _e_v_e_n_t__r_e_t_u_r_n
            Returns the ButtonRelease or KeyRelease event that causes the
            function to return.

   RETURN VALUE
     Returns the widget or gadget that contains the pointer when BBSSeelleecctt is
     released or a key is released.  If no widget or gadget contains the
     pointer, the function returns NULL.

   RELATED INFORMATION
     XXmmTTrraacckkiinnggLLooccaattee((33XX)).















   1-838






                                                         XmTrackingLocate(3X)



   NAME
     XXmmTTrraacckkiinnggLLooccaattee-A Toolkit function that provides a modal interaction

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     WWiiddggeett XXmmTTrraacckkiinnggLLooccaattee ((_w_i_d_g_e_t, _c_u_r_s_o_r, _c_o_n_f_i_n_e__t_o))
          WWiiddggeett    _w_i_d_g_e_t;;
          CCuurrssoorr    _c_u_r_s_o_r;;
          BBoooolleeaann   _c_o_n_f_i_n_e__t_o;;

   DESCRIPTION
     XXmmTTrraacckkiinnggLLooccaattee provides a modal interface for selection of a com-
     ponent.  It is intended to support context help.  The function grabs the
     pointer and discards succeeding events until BBSSeelleecctt is released or a
     key is pressed and then released.  The function then returns the widget
     or gadget that contains the pointer when BBSSeelleecctt is released or a key is
     released.

     This function is obsolete and exists for compatibility with previous
     releases.  It has been replaced by XXmmTTrraacckkiinnggEEvveenntt.

     _w_i_d_g_e_t Specifies the widget ID of a widget to use as the basis of the
            modal interaction.  That is, the widget within which the interac-
            tion must occur, usually a top level shell.

     _c_u_r_s_o_r Specifies the cursor to be used for the pointer during the
            interaction.  This is a standard X cursor name.

     _c_o_n_f_i_n_e__t_o
            Specifies whether or not the cursor should be confined to _w_i_d_g_e_t

   RETURN VALUE

     Returns the widget or gadget that contains the pointer when BBSSeelleecctt is
     released or a key is released.  If no widget or gadget contains the
     pointer, the function returns NULL.

   RELATED INFORMATION
     XXmmTTrraacckkiinnggEEvveenntt((33XX)).
















   1-839






   XmTranslateKey(3X)



   NAME
     XXmmTTrraannssllaatteeKKeeyy-The default keycode-to-keysym translator

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     vvooiidd XXmmTTrraannssllaatteeKKeeyy ((_d_i_s_p_l_a_y, _k_e_y_c_o_d_e, _m_o_d_i_f_i_e_r_s, _m_o_d_i_f_i_e_r_s__r_e_t_u_r_n, _k_e_y_s_y_m__r_e_t_u_r_n))
          DDiissppllaayy   **_d_i_s_p_l_a_y;;
          KKeeyyCCooddee   _k_e_y_c_o_d_e;;
          MMooddiiffiieerrss _m_o_d_i_f_i_e_r_s;;
          MMooddiiffiieerrss **_m_o_d_i_f_i_e_r_s__r_e_t_u_r_n;;
          KKeeyySSyymm    **_k_e_y_s_y_m__r_e_t_u_r_n;;

   DESCRIPTION
     XXmmTTrraannssllaatteeKKeeyy is the default XXttKKeeyyPPrroocc translation procedure for Motif
     applications.  The function takes a keycode and modifiers and returns
     the corresponding keysym.

     XXmmTTrraannssllaatteeKKeeyy serves two main purposes: new translators with expanded
     functionality can call it to get the default Motif keycode-to-keysym
     translation in addition to whatever they add, and so that the default
     translator can be reinstalled.  This function enables keysyms defined by
     the Motif virtual bindings to be used when an application requires its
     own XtKeyProc to be installed.

     _d_i_s_p_l_a_y     Specifies the display that the keycode is from

     _k_e_y_c_o_d_e     Specifies the keycode to translate

     _m_o_d_i_f_i_e_r_s   Specifies the modifier keys to be applied to the keycode

     _m_o_d_i_f_i_e_r_s__r_e_t_u_r_n
                 Specifies a mask of the modifier keys actually used to gen-
                 erate the keysym (an AND of _m_o_d_i_f_i_e_r_s and any default modif-
                 iers applied by the currently registered translator)

     _k_e_y_s_y_m__r_e_t_u_r_n
                 Specifies a pointer to the resulting keysym

   RELATED INFORMATION
     VViirrttuuaallBBiinnddiinnggss((33XX)).















   1-840






                                                         XmUninstallImage(3X)



   NAME
     XXmmUUnniinnssttaallllIImmaaggee-A pixmap caching function that removes an image from
     the image cache

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     BBoooolleeaann XXmmUUnniinnssttaallllIImmaaggee ((_i_m_a_g_e))
          XXIImmaaggee    * _i_m_a_g_e;;

   DESCRIPTION
     XXmmUUnniinnssttaallllIImmaaggee removes an image from the image cache.

     _i_m_a_g_e  Points to the image structure given to the XXmmIInnssttaallllIImmaaggee(()) rou-
            tine

   RETURN VALUE
     Returns True when successful; returns False if the _i_m_a_g_e is NULL, or if
     it cannot be found to be uninstalled.

   RELATED INFORMATION
     XXmmIInnssttaallllIImmaaggee((33XX)), XXmmGGeettPPiixxmmaapp((33XX)), and XXmmDDeessttrrooyyPPiixxmmaapp((33XX)).


































   1-841






   XmUpdateDisplay(3X)



   NAME
     XXmmUUppddaatteeDDiissppllaayy-A function that processes all pending exposure events
     immediately

   SYNOPSIS
     vvooiidd XXmmUUppddaatteeDDiissppllaayy ((_w_i_d_g_e_t))
          WWiiddggeett    _w_i_d_g_e_t;;

   DESCRIPTION
     XXmmUUppddaatteeDDiissppllaayy provides the application with a mechanism for forcing
     all pending exposure events to be removed from the input queue and pro-
     cessed immediately.  When a user selects a button within a MenuPane, the
     MenuPanes are unposted and then any activation callbacks registered by
     the application are invoked.  If one of the callbacks performs a time-
     consuming action, the portion of the application window that was covered
     by the MenuPanes will not have been redrawn; normal exposure processing
     does not occur until all of the callbacks have been invoked.  If the
     application writer  suspects that a callback will take a long time, then
     the callback may choose to invoke XXmmUUppddaatteeDDiissppllaayy before starting its
     time-consuming operation.  This function is also useful any time a tran-
     sient window, such as a dialog box, is unposted; callbacks are invoked
     before normal exposure processing can occur.

     _w_i_d_g_e_t      Specifies any widget or gadget.































   1-842






                                                 XmVaCreateSimpleCheckBox(3X)



   NAME
     XXmmVVaaCCrreeaatteeSSiimmpplleeCChheecckkBBooxx-A RowColumn widget convenience creation func-
     tion

   SYNOPSIS
     ##iinncclluuddee <<XXmm//RRoowwCCoolluummnn..hh>>
     WWiiddggeett XXmmVVaaCCrreeaatteeSSiimmpplleeCChheecckkBBooxx ((_p_a_r_e_n_t, _n_a_m_e, _c_a_l_l_b_a_c_k, _a_r_g...))
          WWiiddggeett    _p_a_r_e_n_t;;
          SSttrriinngg    _n_a_m_e;;
          XXttCCaallllbbaacckkPPrroocc_c_a_l_l_b_a_c_k;;

   DESCRIPTION
     XXmmVVaaCCrreeaatteeSSiimmpplleeCChheecckkBBooxx creates an instance of a RowColumn widget of
     type XXmmWWOORRKK__AARREEAA and returns the associated widget ID.  This routine
     uses the ANSI C variable-length argument list (varargs) calling conven-
     tion.

     This routine creates a CheckBox and its ToggleButtonGadget children.  A
     CheckBox is similar to a RadioBox, except that more than one button can
     be selected at a time.  The name of each button is button__n, where _n is
     an integer from 0 to one minus the number of buttons in the menu.  But-
     tons are named and created in the order in which they are specified in
     the variable portion of the argument list.

     _p_a_r_e_n_t Specifies the parent widget ID.

     _n_a_m_e   Specifies the name of the created widget.

     _c_a_l_l_b_a_c_k
            Specifies a callback procedure to be called when a button's value
            changes.  This callback function is added to each button after
            creation as the button's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk.  The callback
            function is called when a button's value changes, and the button
            number is returned in the _c_l_i_e_n_t__d_a_t_a field.

     The variable portion of the argument list consists of groups of argu-
     ments.  The first argument in each group is a constant or a string and
     determines which arguments follow in that group.  The last argument in
     the list must be NULL.  Following are the possible first arguments in
     each group of varargs:

     XXmmVVaaCCHHEECCKKBBUUTTTTOONN
            This is followed by four additional arguments.  The set specifies
            one button in the CheckBox and some of its resource values.  Fol-
            lowing are the additional four arguments, in this order:

            _l_a_b_e_l   The label string, of type XmString.

            _m_n_e_m_o_n_i_c
                    The mnemonic, of type KeySym.  This is ignored in this
                    release.

            _a_c_c_e_l_e_r_a_t_o_r


   1-843






   XmVaCreateSimpleCheckBox(3X)


                    The accelerator, of type String.  This is ignored in this
                    release.

            _a_c_c_e_l_e_r_a_t_o_r__t_e_x_t
                    The accelerator text, of type XmString.  This is ignored
                    in this release.

     _r_e_s_o_u_r_c_e__n_a_m_e
            This is followed by one additional argument, the value of the
            resource, of type XtArgVal.  The pair specifies a resource and
            its value for the RowColumn widget.

     XXttVVaaTTyyppeeddAArrgg
            This is followed by four additional arguments.  The set specifies
            a resource and its value for the RowColumn widget.  A resource
            type conversion is performed if necessary.  Following are the
            additional four arguments, in this order:

            _n_a_m_e    The resource name, of type String.

            _t_y_p_e    The type of the resource value supplied, of type String.

            _v_a_l_u_e   The resource value (or a pointer to the resource value,
                    depending on the type and size of the value), of type
                    XtArgVal.

            _s_i_z_e    The size of the resource value in bytes, of type int.

     XXttVVaaNNeesstteeddLLiisstt
            This is followed by one additional argument of type
            XtVarArgsList.  This argument is a nested list of varargs
            returned by XXttVVaaCCrreeaatteeAArrggssLLiisstt.

     For more information on variable-length argument lists, see the X
     Toolkit Intrinsics documentation.

     A number of resources exist specifically for use with this and other
     simple menu creation routines.  For a complete definition of RowColumn
     and its associated resources, see XXmmRRoowwCCoolluummnn((33XX)).

   RETURN VALUE
     Returns the RowColumn widget ID.

   RELATED INFORMATION
     XXmmCCrreeaatteeRRaaddiiooBBooxx((33XX)), XXmmCCrreeaatteeRRoowwCCoolluummnn((33XX)), XXmmCCrreeaatteeSSiimmpplleeCChheecckkBBooxx((33XX)),
     XXmmCCrreeaatteeSSiimmpplleeRRaaddiiooBBooxx((33XX)), XXmmRRoowwCCoolluummnn((33XX)), and
     XXmmVVaaCCrreeaatteeSSiimmpplleeRRaaddiiooBBooxx((33XX)).









   1-844






                                                  XmVaCreateSimpleMenuBar(3X)



   NAME
     XXmmVVaaCCrreeaatteeSSiimmpplleeMMeennuuBBaarr-A RowColumn widget convenience creation function

   SYNOPSIS
     ##iinncclluuddee <<XXmm//RRoowwCCoolluummnn..hh>>
     WWiiddggeett XXmmVVaaCCrreeaatteeSSiimmpplleeMMeennuuBBaarr ((_p_a_r_e_n_t, _n_a_m_e, _a_r_g...))
          WWiiddggeett    _p_a_r_e_n_t;;
          SSttrriinngg    _n_a_m_e;;

   DESCRIPTION
     XXmmVVaaCCrreeaatteeSSiimmpplleeMMeennuuBBaarr creates an instance of a RowColumn widget of
     type XXmmMMEENNUU__BBAARR and returns the associated widget ID.  This routine uses
     the ANSI C variable-length argument list (varargs) calling convention.

     This routine creates a MenuBar and its CascadeButtonGadget children.
     The name of each button is button__n, where _n is an integer from 0 to one
     minus the number of buttons in the menu.  Buttons are named and created
     in the order in which they are specified in the variable portion of the
     argument list.

     _p_a_r_e_n_t Specifies the parent widget ID

     _n_a_m_e   Specifies the name of the created widget

     The variable portion of the argument list consists of groups of argu-
     ments.  The first argument in each group is a constant or a string and
     determines which arguments follow in that group.  The last argument in
     the list must be NULL.  Following are the possible first arguments in
     each group of varargs:

     XXmmVVaaCCAASSCCAADDEEBBUUTTTTOONN
            This is followed by two additional arguments.  The set specifies
            one button in the MenuBar and some of its resource values.  Fol-
            lowing are the additional two arguments, in this order:

            _l_a_b_e_l   The label string, of type XmString.

            _m_n_e_m_o_n_i_c
                    The mnemonic, of type KeySym.

     _r_e_s_o_u_r_c_e__n_a_m_e
            This is followed by one additional argument, the value of the
            resource, of type XtArgVal.  The pair specifies a resource and
            its value for the RowColumn widget.

     XXttVVaaTTyyppeeddAArrgg
            This is followed by four additional arguments.  The set specifies
            a resource and its value for the RowColumn widget.  A resource
            type conversion is performed if necessary.  Following are the
            additional four arguments, in this order:

            _n_a_m_e    The resource name, of type String.



   1-845






   XmVaCreateSimpleMenuBar(3X)


            _t_y_p_e    The type of the resource value supplied, of type String.

            _v_a_l_u_e   The resource value (or a pointer to the resource value,
                    depending on the type and size of the value), of type
                    XtArgVal.

            _s_i_z_e    The size of the resource value in bytes, of type int.

     XXttVVaaNNeesstteeddLLiisstt
            This is followed by one additional argument of type
            XtVarArgsList.  This argument is a nested list of varargs
            returned by XXttVVaaCCrreeaatteeAArrggssLLiisstt.

     For more information on variable-length argument lists, see the X
     Toolkit Intrinsics documentation.

     A number of resources exist specifically for use with this and other
     simple menu creation routines.  For a complete definition of RowColumn
     and its associated resources, see XXmmRRoowwCCoolluummnn((33XX)).

   RETURN VALUE
     Returns the RowColumn widget ID.

   RELATED INFORMATION
     XXmmCCrreeaatteeMMeennuuBBaarr((33XX)), XXmmCCrreeaatteeRRoowwCCoolluummnn((33XX)), XXmmCCrreeaatteeSSiimmpplleeMMeennuuBBaarr((33XX)),
     and XXmmRRoowwCCoolluummnn((33XX)).






























   1-846






                                               XmVaCreateSimpleOptionMenu(3X)



   NAME
     XXmmVVaaCCrreeaatteeSSiimmpplleeOOppttiioonnMMeennuu-A RowColumn widget convenience creation func-
     tion

   SYNOPSIS
     ##iinncclluuddee <<XXmm//RRoowwCCoolluummnn..hh>>
     WWiiddggeett XXmmVVaaCCrreeaatteeSSiimmpplleeOOppttiioonnMMeennuu ((_p_a_r_e_n_t, _n_a_m_e, _o_p_t_i_o_n__l_a_b_e_l,
               _o_p_t_i_o_n__m_n_e_m_o_n_i_c, _b_u_t_t_o_n__s_e_t, _c_a_l_l_b_a_c_k, _a_r_g...))
          WWiiddggeett    _p_a_r_e_n_t;;
          SSttrriinngg    _n_a_m_e;;
          XXmmSSttrriinngg  _o_p_t_i_o_n__l_a_b_e_l;;
          KKeeyySSyymm    _o_p_t_i_o_n__m_n_e_m_o_n_i_c;;
          iinntt       _b_u_t_t_o_n__s_e_t;;
          XXttCCaallllbbaacckkPPrroocc_c_a_l_l_b_a_c_k;;

   DESCRIPTION
     XXmmVVaaCCrreeaatteeSSiimmpplleeOOppttiioonnMMeennuu creates an instance of a RowColumn widget of
     type XXmmMMEENNUU__OOPPTTIIOONN and returns the associated widget ID.  This routine
     uses the ANSI C variable-length argument list (varargs) calling conven-
     tion.

     This routine creates an OptionMenu and its Pulldown submenu containing
     PushButtonGadget or CascadeButtonGadget children.  The name of each but-
     ton is button__n, where _n is an integer from 0 to one minus the number of
     buttons in the menu.  The name of each separator is separator__n, where _n
     is an integer from 0 to one minus the number of separators in the menu.
     Buttons and separators are named and created in the order in which they
     are specified in the variable portion of the argument list.

     _p_a_r_e_n_t Specifies the parent widget ID

     _n_a_m_e   Specifies the name of the created widget

     _o_p_t_i_o_n__l_a_b_e_l
            Specifies the label string to be used on the left side of the
            OptionMenu.

     _o_p_t_i_o_n__m_n_e_m_o_n_i_c
            Specifies a keysym for a key that, when pressed by the user,
            posts the associated Pulldown MenuPane.

     _b_u_t_t_o_n__s_e_t
            Specifies which PushButtonGadget is initially set.  The value is
            the integer _n that corresponds to the _nth PushButtonGadget speci-
            fied in the variable portion of the argument list.  Only a Push-
            ButtonGadget can be set, and only PushButtonGadgets are counted
            in determining the integer _n.  The first PushButtonGadget is
            number 0.

     _c_a_l_l_b_a_c_k
            Specifies a callback procedure to be called when a button is
            activated.  This callback function is added to each button after
            creation as the button's XXmmNNaaccttiivvaatteeCCaallllbbaacckk.  The callback


   1-847






   XmVaCreateSimpleOptionMenu(3X)


            function is called when a button is activated, and the button
            number is returned in the _c_l_i_e_n_t__d_a_t_a field.

     The variable portion of the argument list consists of groups of argu-
     ments.  The first argument in each group is a constant or a string and
     determines which arguments follow in that group.  The last argument in
     the list must be NULL.  Following are the possible first arguments in
     each group of varargs:

     XXmmVVaaPPUUSSHHBBUUTTTTOONN
            This is followed by four additional arguments.  The set specifies
            one button in the OptionMenu's Pulldown submenu and some of its
            resource values.  The button created is a PushButtonGadget.  Fol-
            lowing are the additional four arguments, in this order:

            _l_a_b_e_l   The label string, of type XmString.

            _m_n_e_m_o_n_i_c
                    The mnemonic, of type KeySym.

            _a_c_c_e_l_e_r_a_t_o_r
                    The accelerator, of type String.

            _a_c_c_e_l_e_r_a_t_o_r__t_e_x_t
                    The accelerator text, of type XmString.

     XXmmVVaaSSEEPPAARRAATTOORR
            This is followed by no additional arguments.  It specifies one
            separator in the OptionMenu's Pulldown submenu.

     XXmmVVaaDDOOUUBBLLEE__SSEEPPAARRAATTOORR
            This is followed by no additional arguments.  It specifies one
            separator in the OptionMenu's Pulldown submenu.  The separator
            type is XXmmDDOOUUBBLLEE__LLIINNEE.

     _r_e_s_o_u_r_c_e__n_a_m_e
            This is followed by one additional argument, the value of the
            resource, of type XtArgVal.  The pair specifies a resource and
            its value for the Pulldown submenu.

     XXttVVaaTTyyppeeddAArrgg
            This is followed by four additional arguments.  The set specifies
            a resource and its value for the Pulldown submenu.  A resource
            type conversion is performed if necessary.  Following are the
            additional four arguments, in this order:

            _n_a_m_e    The resource name, of type String.

            _t_y_p_e    The type of the resource value supplied, of type String.

            _v_a_l_u_e   The resource value (or a pointer to the resource value,
                    depending on the type and size of the value), of type
                    XtArgVal.



   1-848






                                               XmVaCreateSimpleOptionMenu(3X)


            _s_i_z_e    The size of the resource value in bytes, of type int.

     XXttVVaaNNeesstteeddLLiisstt
            This is followed by one additional argument of type
            XtVarArgsList.  This argument is a nested list of varargs
            returned by XXttVVaaCCrreeaatteeAArrggssLLiisstt.

     The user can specify resources in a resource file for the automatically
     created widgets and gadgets of an OptionMenu.  The following list iden-
     tifies the names of these widgets (or gadgets) and the associated
     OptionMenu areas.

       ++oo

       ++oo  Option Menu Label Gadget-"OptionLabel"

       ++oo  Option Menu Cascade Button-"OptionButton"

     For more information on variable-length argument lists, see the X
     Toolkit Intrinsics documentation.

     A number of resources exist specifically for use with this and other
     simple menu creation routines.  For a complete definition of RowColumn
     and its associated resources, see XXmmRRoowwCCoolluummnn((33XX)).

   RETURN VALUE
     Returns the RowColumn widget ID.

   RELATED INFORMATION
     XXmmCCrreeaatteeOOppttiioonnMMeennuu((33XX)), XXmmCCrreeaatteeRRoowwCCoolluummnn((33XX)),
     XXmmCCrreeaatteeSSiimmpplleeOOppttiioonnMMeennuu((33XX)), and XXmmRRoowwCCoolluummnn((33XX)).

























   1-849






   XmVaCreateSimplePopupMenu(3X)



   NAME
     XXmmVVaaCCrreeaatteeSSiimmpplleePPooppuuppMMeennuu-A RowColumn widget convenience creation func-
     tion

   SYNOPSIS
     ##iinncclluuddee <<XXmm//RRoowwCCoolluummnn..hh>>
     WWiiddggeett XXmmVVaaCCrreeaatteeSSiimmpplleePPooppuuppMMeennuu ((_p_a_r_e_n_t, _n_a_m_e, _c_a_l_l_b_a_c_k, _a_r_g...))
          WWiiddggeett    _p_a_r_e_n_t;;
          SSttrriinngg    _n_a_m_e;;
          XXttCCaallllbbaacckkPPrroocc_c_a_l_l_b_a_c_k;;

   DESCRIPTION
     XXmmVVaaCCrreeaatteeSSiimmpplleePPooppuuppMMeennuu creates an instance of a RowColumn widget of
     type XXmmMMEENNUU__PPOOPPUUPP and returns the associated widget ID.  This routine
     uses the ANSI C variable-length argument list (varargs) calling conven-
     tion.

     This routine creates a Popup MenuPane and its button children.  The name
     of each button is button__n, where _n is an integer from 0 to one minus
     the number of buttons in the menu.  The name of each separator is
     separator__n, where _n is an integer from 0 to one minus the number of
     separators in the menu.  The name of each title is label__n, where _n is
     an integer from 0 to one minus the number of titles in the menu.  But-
     tons, separators, and titles are named and created in the order in which
     they are specified in the variable portion of the argument list.

     _p_a_r_e_n_t Specifies the widget ID of the parent of the MenuShell

     _n_a_m_e   Specifies the name of the created widget

     _c_a_l_l_b_a_c_k
            Specifies a callback procedure to be called when a button is
            activated or when its value changes.  This callback function is
            added to each button after creation.  For a CascadeButtonGadget
            or a PushButtonGadget, the callback is added as the button's
            XXmmNNaaccttiivvaatteeCCaallllbbaacckk, and it is called when the button is
            activated.  For a ToggleButtonGadget, the callback is added as
            the button's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk, and it is called when the
            button's value changes.  The button number is returned in the
            _c_l_i_e_n_t__d_a_t_a field.

     The variable portion of the argument list consists of groups of argu-
     ments.  The first argument in each group is a constant or a string and
     determines which arguments follow in that group.  The last argument in
     the list must be NULL.  Following are the possible first arguments in
     each group of varargs:

     XXmmVVaaCCAASSCCAADDEEBBUUTTTTOONN
            This is followed by two additional arguments.  The set specifies
            one button in the PopupMenu and some of its resource values.  The
            button created is a CascadeButtonGadget.  Following are the addi-
            tional two arguments, in this order:



   1-850






                                                XmVaCreateSimplePopupMenu(3X)


            _l_a_b_e_l   The label string, of type XmString.

            _m_n_e_m_o_n_i_c
                    The mnemonic, of type KeySym.

     XXmmVVaaPPUUSSHHBBUUTTTTOONN
            This is followed by four additional arguments.  The set specifies
            one button in the PopupMenu and some of its resource values.  The
            button created is a PushButtonGadget.  Following are the addi-
            tional four arguments, in this order:

            _l_a_b_e_l   The label string, of type XmString.

            _m_n_e_m_o_n_i_c
                    The mnemonic, of type KeySym.

            _a_c_c_e_l_e_r_a_t_o_r
                    The accelerator, of type String.

            _a_c_c_e_l_e_r_a_t_o_r__t_e_x_t
                    The accelerator text, of type XmString.

     XXmmVVaaRRAADDIIOOBBUUTTTTOONN
            This is followed by four additional arguments.  The set specifies
            one button in the PopupMenu and some of its resource values.  The
            button created is a ToggleButtonGadget.  Following are the addi-
            tional four arguments, in this order:

            _l_a_b_e_l   The label string, of type XmString.

            _m_n_e_m_o_n_i_c
                    The mnemonic, of type KeySym.

            _a_c_c_e_l_e_r_a_t_o_r
                    The accelerator, of type String.

            _a_c_c_e_l_e_r_a_t_o_r__t_e_x_t
                    The accelerator text, of type XmString.

     XXmmVVaaCCHHEECCKKBBUUTTTTOONN
            This is followed by four additional arguments.  The set specifies
            one button in the PopupMenu and some of its resource values.  The
            button created is a ToggleButtonGadget.  Following are the addi-
            tional four arguments, in this order:

            _l_a_b_e_l   The label string, of type XmString.

            _m_n_e_m_o_n_i_c
                    The mnemonic, of type KeySym.

            _a_c_c_e_l_e_r_a_t_o_r
                    The accelerator, of type String.

            _a_c_c_e_l_e_r_a_t_o_r__t_e_x_t


   1-851






   XmVaCreateSimplePopupMenu(3X)


                    The accelerator text, of type XmString.

     XXmmVVaaTTIITTLLEE
            This is followed by one additional argument.  The pair specifies
            a title LabelGadget in the PopupMenu.  Following is the addi-
            tional argument:

            _t_i_t_l_e   The title string, of type XmString.

     XXmmVVaaSSEEPPAARRAATTOORR
            This is followed by no additional arguments.  It specifies one
            separator in the PopupMenu.

     XXmmVVaaDDOOUUBBLLEE__SSEEPPAARRAATTOORR
            This is followed by no additional arguments.  It specifies one
            separator in the PopupMenu.  The separator type is XXmmDDOOUUBBLLEE__LLIINNEE.

     _r_e_s_o_u_r_c_e__n_a_m_e
            This is followed by one additional argument, the value of the
            resource, of type XtArgVal.  The pair specifies a resource and
            its value for the RowColumn widget.

     XXttVVaaTTyyppeeddAArrgg
            This is followed by four additional arguments.  The set specifies
            a resource and its value for the RowColumn widget.  A resource
            type conversion is performed if necessary.  Following are the
            additional four arguments, in this order:

            _n_a_m_e    The resource name, of type String.

            _t_y_p_e    The type of the resource value supplied, of type String.

            _v_a_l_u_e   The resource value (or a pointer to the resource value,
                    depending on the type and size of the value), of type
                    XtArgVal.

            _s_i_z_e    The size of the resource value in bytes, of type int.

     XXttVVaaNNeesstteeddLLiisstt
            This is followed by one additional argument of type
            XtVarArgsList.  This argument is a nested list of varargs
            returned by XXttVVaaCCrreeaatteeAArrggssLLiisstt.

     For more information on variable-length argument lists, see the X
     Toolkit Intrinsics documentation.

     A number of resources exist specifically for use with this and other
     simple menu creation routines.  For a complete definition of RowColumn
     and its associated resources, see XXmmRRoowwCCoolluummnn((33XX)).

   RETURN VALUE
     Returns the RowColumn widget ID.




   1-852






                                                XmVaCreateSimplePopupMenu(3X)


   RELATED INFORMATION
     XXmmCCrreeaatteePPooppuuppMMeennuu((33XX)), XXmmCCrreeaatteeRRoowwCCoolluummnn((33XX)),
     XXmmCCrreeaatteeSSiimmpplleePPooppuuppMMeennuu((33XX)), and XXmmRRoowwCCoolluummnn((33XX)).





















































   1-853






   XmVaCreateSimplePulldownMenu(3X)



   NAME
     XXmmVVaaCCrreeaatteeSSiimmpplleePPuullllddoowwnnMMeennuu-A RowColumn widget convenience creation
     function

   SYNOPSIS
     ##iinncclluuddee <<XXmm//RRoowwCCoolluummnn..hh>>
     WWiiddggeett XXmmVVaaCCrreeaatteeSSiimmpplleePPuullllddoowwnnMMeennuu ((_p_a_r_e_n_t, _n_a_m_e, _p_o_s_t__f_r_o_m__b_u_t_t_o_n,
               _c_a_l_l_b_a_c_k, _a_r_g...))
          WWiiddggeett    _p_a_r_e_n_t;;
          SSttrriinngg    _n_a_m_e;;
          iinntt       _p_o_s_t__f_r_o_m__b_u_t_t_o_n;;
          XXttCCaallllbbaacckkPPrroocc_c_a_l_l_b_a_c_k;;

   DESCRIPTION
     XXmmVVaaCCrreeaatteeSSiimmpplleePPuullllddoowwnnMMeennuu creates an instance of a RowColumn widget
     of type XXmmMMEENNUU__PPUULLLLDDOOWWNN and returns the associated widget ID.  This rou-
     tine uses the ANSI C variable-length argument list (varargs) calling
     convention.

     This routine creates a Pulldown MenuPane and its button children.  The
     name of each button is button__n, where _n is an integer from 0 to one
     minus the number of buttons in the menu.  The name of each separator is
     separator__n, where _n is an integer from 0 to one minus the number of
     separators in the menu.  The name of each title is label__n, where _n is
     an integer from 0 to one minus the number of titles in the menu.  But-
     tons, separators, and titles are named and created in the order in which
     they are specified in the variable portion of the argument list.

     This routine also attaches the PulldownMenu to a CascadeButton or Cas-
     cadeButtonGadget in the parent.  The PulldownMenu is then posted from
     this button.

     _p_a_r_e_n_t Specifies the widget ID of the parent of the MenuShell.

     _n_a_m_e   Specifies the name of the created widget.

     _p_o_s_t__f_r_o_m__b_u_t_t_o_n
            Specifies the CascadeButton or CascadeButtonGadget in the parent
            to which the Pulldown MenuPane is attached.  The value is the
            integer _n that corresponds to the _nth CascadeButton or Cascade-
            ButtonGadget specified for the parent of the Pulldown MenuPane.
            A Pulldown MenuPane can be attached only to a CascadeButton or
            CascadeButtonGadget, and only CascadeButtons and CascadeBut-
            tonGadgets are counted in determining the integer _n.  The first
            CascadeButton or CascadeButtonGadget is number 0.

     _c_a_l_l_b_a_c_k
            Specifies a callback procedure to be called when a button is
            activated or when its value changes.  This callback function is
            added to each button after creation.  For a CascadeButtonGadget
            or a PushButtonGadget, the callback is added as the button's
            XXmmNNaaccttiivvaatteeCCaallllbbaacckk, and it is called when the button is
            activated.  For a ToggleButtonGadget, the callback is added as


   1-854






                                             XmVaCreateSimplePulldownMenu(3X)


            the button's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk, and it is called when the
            button's value changes.  The button number is returned in the
            _c_l_i_e_n_t__d_a_t_a field.

     The variable portion of the argument list consists of groups of argu-
     ments.  The first argument in each group is a constant or a string and
     determines which arguments follow in that group.  The last argument in
     the list must be NULL.  Following are the possible first arguments in
     each group of varargs:

     XXmmVVaaCCAASSCCAADDEEBBUUTTTTOONN
            This is followed by two additional arguments.  The set specifies
            one button in the PulldownMenu and some of its resource values.
            The button created is a CascadeButtonGadget.  Following are the
            additional two arguments, in this order:

            _l_a_b_e_l   The label string, of type XmString.

            _m_n_e_m_o_n_i_c
                    The mnemonic, of type KeySym.

     XXmmVVaaPPUUSSHHBBUUTTTTOONN
            This is followed by four additional arguments.  The set specifies
            one button in the PulldownMenu and some of its resource values.
            The button created is a PushButtonGadget.  Following are the
            additional four arguments, in this order:

            _l_a_b_e_l   The label string, of type XmString.

            _m_n_e_m_o_n_i_c
                    The mnemonic, of type KeySym.

            _a_c_c_e_l_e_r_a_t_o_r
                    The accelerator, of type String.

            _a_c_c_e_l_e_r_a_t_o_r__t_e_x_t
                    The accelerator text, of type XmString.

     XXmmVVaaRRAADDIIOOBBUUTTTTOONN
            This is followed by four additional arguments.  The set specifies
            one button in the PulldownMenu and some of its resource values.
            The button created is a ToggleButtonGadget.  Following are the
            additional four arguments, in this order:

            _l_a_b_e_l   The label string, of type XmString.

            _m_n_e_m_o_n_i_c
                    The mnemonic, of type KeySym.

            _a_c_c_e_l_e_r_a_t_o_r
                    The accelerator, of type String.

            _a_c_c_e_l_e_r_a_t_o_r__t_e_x_t
                    The accelerator text, of type XmString.


   1-855






   XmVaCreateSimplePulldownMenu(3X)



     XXmmVVaaCCHHEECCKKBBUUTTTTOONN
            This is followed by four additional arguments.  The set specifies
            one button in the PulldownMenu and some of its resource values.
            The button created is a ToggleButtonGadget.  Following are the
            additional four arguments, in this order:

            _l_a_b_e_l   The label string, of type XmString.

            _m_n_e_m_o_n_i_c
                    The mnemonic, of type KeySym.

            _a_c_c_e_l_e_r_a_t_o_r
                    The accelerator, of type String.

            _a_c_c_e_l_e_r_a_t_o_r__t_e_x_t
                    The accelerator text, of type XmString.

     XXmmVVaaTTIITTLLEE
            This is followed by one additional argument.  The pair specifies
            a title LabelGadget in the PulldownMenu.  Following is the addi-
            tional argument:

            _t_i_t_l_e   The title string, of type XmString.

     XXmmVVaaSSEEPPAARRAATTOORR
            This is followed by no additional arguments.  It specifies one
            separator in the PulldownMenu.

     XXmmVVaaDDOOUUBBLLEE__SSEEPPAARRAATTOORR
            This is followed by no additional arguments.  It specifies one
            separator in the PulldownMenu.  The separator type is
            XXmmDDOOUUBBLLEE__LLIINNEE.

     _r_e_s_o_u_r_c_e__n_a_m_e
            This is followed by one additional argument, the value of the
            resource, of type XtArgVal.  The pair specifies a resource and
            its value for the RowColumn widget.


















   1-856






                                             XmVaCreateSimplePulldownMenu(3X)



     XXttVVaaTTyyppeeddAArrgg
            This is followed by four additional arguments.  The set specifies
            a resource and its value for the RowColumn widget.  A resource
            type conversion is performed if necessary.  Following are the
            additional four arguments, in this order:

            _n_a_m_e    The resource name, of type String.

            _t_y_p_e    The type of the resource value supplied, of type String.

            _v_a_l_u_e   The resource value (or a pointer to the resource value,
                    depending on the type and size of the value), of type
                    XtArgVal.

            _s_i_z_e    The size of the resource value in bytes, of type int.

     XXttVVaaNNeesstteeddLLiisstt
            This is followed by one additional argument of type
            XtVarArgsList.  This argument is a nested list of varargs
            returned by XXttVVaaCCrreeaatteeAArrggssLLiisstt.

     For more information on variable-length argument lists, see the X
     Toolkit Intrinsics documentation.

     A number of resources exist specifically for use with this and other
     simple menu creation routines.  For a complete definition of RowColumn
     and its associated resources, see XXmmRRoowwCCoolluummnn((33XX)).




























   1-857






   XmVaCreateSimplePulldownMenu(3X)



   RETURN VALUE
     Returns the RowColumn widget ID.

   RELATED INFORMATION
     XXmmCCrreeaatteePPuullllddoowwnnMMeennuu((33XX)), XXmmCCrreeaatteeRRoowwCCoolluummnn((33XX)), XXmmCCrreeaatteeSSiimmpplleePPuullllddoowwnn--
     MMeennuu, and XXmmRRoowwCCoolluummnn((33XX)).

















































   1-858






                                                 XmVaCreateSimpleRadioBox(3X)



   NAME
     XXmmVVaaCCrreeaatteeSSiimmpplleeRRaaddiiooBBooxx-A RowColumn widget convenience creation func-
     tion

   SYNOPSIS
     ##iinncclluuddee <<XXmm//RRoowwCCoolluummnn..hh>>
     WWiiddggeett XXmmVVaaCCrreeaatteeSSiimmpplleeRRaaddiiooBBooxx ((_p_a_r_e_n_t, _n_a_m_e, _b_u_t_t_o_n__s_e_t, _c_a_l_l_b_a_c_k,
               _a_r_g...))
          WWiiddggeett    _p_a_r_e_n_t;;
          SSttrriinngg    _n_a_m_e;;
          iinntt       _b_u_t_t_o_n__s_e_t;;
          XXttCCaallllbbaacckkPPrroocc_c_a_l_l_b_a_c_k;;

   DESCRIPTION
     XXmmVVaaCCrreeaatteeSSiimmpplleeRRaaddiiooBBooxx creates an instance of a RowColumn widget of
     type XXmmWWOORRKK__AARREEAA and returns the associated widget ID.  This routine
     uses the ANSI C variable-length argument list (varargs) calling conven-
     tion.

     This routine creates a RadioBox and its ToggleButtonGadget children.
     The name of each button is button__n, where _n is an integer from 0 to one
     minus the number of buttons in the menu.

     _p_a_r_e_n_t Specifies the parent widget ID.

     _n_a_m_e   Specifies the name of the created widget.

     _b_u_t_t_o_n__s_e_t
            Specifies which button is initially set.  The value is the
            integer _n in the button name button__n.

     _c_a_l_l_b_a_c_k
            Specifies a callback procedure to be called when a button's value
            changes.  This callback function is added to each button after
            creation as the button's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk.  The callback
            function is called when a button's value changes, and the button
            number is returned in the _c_l_i_e_n_t__d_a_t_a field.

     The variable portion of the argument list consists of groups of argu-
     ments.  The first argument in each group is a constant or a string and
     determines which arguments follow in that group.  The last argument in
     the list must be NULL.  Following are the possible first arguments in
     each group of varargs:

     XXmmVVaaRRAADDIIOOBBUUTTTTOONN
            This is followed by four additional arguments.  The set specifies
            one button in the RadioBox and some of its resource values.  Fol-
            lowing are the additional four arguments, in this order:

            _l_a_b_e_l   The label string, of type XmString.

            _m_n_e_m_o_n_i_c
                    The mnemonic, of type KeySym.  This is ignored in this


   1-859






   XmVaCreateSimpleRadioBox(3X)


                    release.

            _a_c_c_e_l_e_r_a_t_o_r
                    The accelerator, of type String.  This is ignored in this
                    release.

            _a_c_c_e_l_e_r_a_t_o_r__t_e_x_t
                    The accelerator text, of type XmString.  This is ignored
                    in this release.

     _r_e_s_o_u_r_c_e__n_a_m_e
            This is followed by one additional argument, the value of the
            resource, of type XtArgVal.  The pair specifies a resource and
            its value for the RowColumn widget.

     XXttVVaaTTyyppeeddAArrgg
            This is followed by four additional arguments.  The set specifies
            a resource and its value for the RowColumn widget.  A resource
            type conversion is performed if necessary.  Following are the
            additional four arguments, in this order:

            _n_a_m_e    The resource name, of type String.

            _t_y_p_e    The type of the resource value supplied, of type String.

            _v_a_l_u_e   The resource value (or a pointer to the resource value,
                    depending on the type and size of the value), of type
                    XtArgVal.

            _s_i_z_e    The size of the resource value in bytes, of type int.

     XXttVVaaNNeesstteeddLLiisstt
            This is followed by one additional argument of type
            XtVarArgsList.  This argument is a nested list of varargs
            returned by XXttVVaaCCrreeaatteeAArrggssLLiisstt.

     For more information on variable-length argument lists, see the X
     Toolkit Intrinsics documentation.

     A number of resources exist specifically for use with this and other
     simple menu creation routines.  For a complete definition of RowColumn
     and its associated resources, see XXmmRRoowwCCoolluummnn((33XX)).

   RETURN VALUE
     Returns the RowColumn widget ID.

   RELATED INFORMATION
     XXmmCCrreeaatteeRRaaddiiooBBooxx((33XX)), XXmmCCrreeaatteeRRoowwCCoolluummnn((33XX)), XXmmCCrreeaatteeSSiimmpplleeCChheecckkBBooxx((33XX)),
     XXmmCCrreeaatteeSSiimmpplleeRRaaddiiooBBooxx((33XX)), XXmmRRoowwCCoolluummnn((33XX)), and
     XXmmVVaaCCrreeaatteeSSiimmpplleeCChheecckkBBooxx((33XX)),






   1-860






                                                     XmWidgetGetBaselines(3X)



   NAME
     XXmmWWiiddggeettGGeettBBaasseelliinneess-Retrieves baseline information for a widget

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     BBoooolleeaann XXmmWWiiddggeettGGeettBBaasseelliinneess ((_w_i_d_g_e_t, _b_a_s_e_l_i_n_e_s, _l_i_n_e__c_o_u_n_t))
          WWiiddggeett      _w_i_d_g_e_t;;
          DDiimmeennssiioonn   ****_b_a_s_e_l_i_n_e_s;;
          iinntt         **_l_i_n_e__c_o_u_n_t;;

   DESCRIPTION
     XXmmWWiiddggeettGGeettBBaasseelliinneess returns an array that contains one or more baseline
     values associated with the specified widget.  The baseline of any given
     line of text is a vertical offset in pixels from the origin of the
     widget's bounding box to the given baseline.  This routine allocates
     memory for the returned data.  The application must free this memory
     using XXttFFrreeee.

     _w_i_d_g_e_t Specifies the ID of the widget for which baseline values are
            requested

     _b_a_s_e_l_i_n_e_s
            Returns an array that contains the value of each baseline of text
            in the widget

     _l_i_n_e__c_o_u_n_t
            Returns the number of lines in the widget

   RETURN VALUE
     Returns a Boolean value that indicates whether the widget contains a
     baseline.  If True, the function returns a value for each baseline of
     text.  If False, the function was unable to return a baseline value.

   RELATED INFORMATION
     XXmmWWiiddggeettGGeettDDiissppllaayyRReecctt((33XX)).




















   1-861






   XmWidgetGetDisplayRect(3X)



   NAME
     XXmmWWiiddggeettGGeettDDiissppllaayyRReecctt-Retrieves display rectangle information for a
     widget

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     BBoooolleeaann XXmmWWiiddggeettGGeettDDiissppllaayyRReecctt ((_w_i_d_g_e_t, _d_i_s_p_l_a_y_r_e_c_t))
          WWiiddggeett    _w_i_d_g_e_t;;
          XXRReeccttaannggllee**_d_i_s_p_l_a_y_r_e_c_t;;

   DESCRIPTION
     XXmmWWiiddggeettGGeettDDiissppllaayyRReecctt returns the width, height and the x and y coordi-
     nates of the upper left corner of the display rectangle of the specified
     widget.  The display rectangle is the smallest rectangle that encloses
     either a string or a pixmap.

     If the widget contains a string, the return values specify the x and y
     coordinates of the upper left corner of the display rectangle relative
     to the origin of the widget and the width and height in pixels.

     In the case of a pixmap, the return values specify the x and y coordi-
     nates of the upper left corner of the pixmap relative to the origin, and
     the width and height of the pixmap in pixels.

     _w_i_d_g_e_t    Specifies the widget ID

     _d_i_s_p_l_a_y_r_e_c_t
               Specifies a pointer to an XRectangle structure in which the x
               and y coordinates, width and height of the display rectangle
               are returned

   RETURN VALUE
     Returns True if the specified widget has an associated display rectan-
     gle; otherwise, returns False.

   RELATED INFORMATION
     XXmmWWiiddggeettGGeettBBaasseelliinneess((33XX)).


















   1-862



 _
