


   XmText(3X)



   NAME
     XXmmTTeexxtt-The Text widget class

   AES SUPPORT LEVEL
     Full-use

   HISTORY/DIRECTION
     In normal mode, deletion actions now delete any non-null primary selec-
     tion (for Trial-use).

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>

   DESCRIPTION
     Text provides a single-line and multiline text editor for customizing
     both user and programmatic interfaces.  It can be used for single-line
     string entry, forms entry with verification procedures, and full-window
     editing.  It provides an application with a consistent editing system
     for textual data.  The screen's textual data adjusts to the application
     writer's needs.

     Text provides separate callback lists to verify movement of the insert
     cursor, modification of the text, and changes in input focus.  Each of
     these callbacks provides the verification function with the widget
     instance, the event that caused the callback, and a data structure
     specific to the verification type.  From this information the function
     can verify if the application considers this to be a legitimate state
     change and can signal the widget whether to continue with the action.

     The user interface tailors a new set of translations.  The default
     translations provide key bindings for insert cursor movement, deletion,
     insertion, and selection of text.

     Text allows the user to select regions of text.  Selection is based on
     the model specified in the _I_n_t_e_r-_C_l_i_e_n_t _C_o_m_m_u_n_i_c_a_t_i_o_n _C_o_n_v_e_n_t_i_o_n_s _M_a_n_u_a_l
     (ICCCM).  Text supports primary and secondary selection.

     Mouse Selection

     The Text widget allows text to be edited, inserted, and selected.  The
     user can cut, copy, and paste text using the clipboard, primary
     transfer, or secondary transfer.

     The insertion cursor, displayed as an I-beam, shows where input is
     inserted.  Input is inserted just before the insertion cursor.

     Classes

     Text inherits behavior and resources from CCoorree and PPrriimmiittiivvee classes.

     The class pointer is xxmmTTeexxttWWiiddggeettCCllaassss.




   2-524






                                                                   XmText(3X)


     The class name is XXmmTTeexxt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),
     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Teexxt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
   ____________________________________________________________________________________________________
   XmNactivateCallback         XmCCallback                 XtCallbackList   NULL                 C
   XmNautoShowCursorPosition   XmCAutoShowCursorPosition   Boolean          True                 CSG
   XmNcursorPosition           XmCCursorPosition           XmTextPosition   0                    CSG
   XmNeditable                 XmCEditable                 Boolean          True                 CSG
   XmNeditMode                 XmCEditMode                 int              XmSINGLE_LINE_EDIT   CSG
   XmNfocusCallback            XmCCallback                 XtCallbackList   NULL                 C
   XmNgainPrimaryCallback      XmCCallback                 XtCallbackList   NULL                 C
   XmNlosePrimaryCallback      XmCCallback                 XtCallbackList   NULL                 C
   XmNlosingFocusCallback      XmCCallback                 XtCallbackList   NULL                 C
   XmNmarginHeight             XmCMarginHeight             Dimension        5                    CSG
   XmNmarginWidth              XmCMarginWidth              Dimension        5                    CSG
   XmNmaxLength                XmCMaxLength                int              largest integer      CSG
   XmNmodifyVerifyCallback     XmCCallback                 XtCallbackList   NULL                 C
   XmNmotionVerifyCallback     XmCCallback                 XtCallbackList   NULL                 C
   XmNsource                   XmCSource                   XmTextSource     Default source       CSG
   XmNtopCharacter             XmCTextPosition             XmTextPosition   0                    CSG
   XmNvalue                    XmCValue                    String           ""                   CSG
   XmNvalueChangedCallback     XmCCallback                 XtCallbackList   NULL                 C
   XmNverifyBell               XmCVerifyBell               Boolean          dynamic              CSG

     XXmmNNaaccttiivvaatteeCCaallllbbaacckk
               Specifies the list of callbacks that is called when the user
               invokes an event that calls the AAccttiivvaattee(()) function.  The type
               of the structure whose address is passed to this callback is
               XXmmAAnnyyCCaallllbbaacckkSSttrruucctt.  The reason sent by the callback is
               XXmmCCRR__AACCTTIIVVAATTEE.

     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
               Ensures that the visible text contains the insert cursor when
               set to True.  If the insert cursor changes, the contents of
               Text may scroll in order to bring the insertion point into the
               window.

     XXmmNNccuurrssoorrPPoossiittiioonn
               Indicates the position in the text where the current insert


   2-525






   XmText(3X)


               cursor is to be located.  Position is determined by the number
               of characters from the beginning of the text.  The first char-
               acter position is 0.

     XXmmNNeeddiittaabbllee
               Indicates that the user can edit the text string when set to
               True.  Prohibits the user from editing the text when set to
               False.

     XXmmNNeeddiittMMooddee
               Specifies the set of keyboard bindings used in Text.  The
               default keyboard bindings (XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT) provides the
               set of key bindings to be used in editing single-line text.
               The multiline bindings (XXmmMMUULLTTII__LLIINNEE__EEDDIITT) provides the set of
               key bindings to be used in editing multiline text.
               The results of placing a Text widget inside a ScrolledWindow
               when the Text's XXmmNNeeddiittMMooddee is XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT are unde-
               fined.

     XXmmNNffooccuussCCaallllbbaacckk
               Specifies the list of callbacks called when Text accepts input
               focus.  The type of the structure whose address is passed to
               this callback is XXmmAAnnyyCCaallllbbaacckkSSttrruucctt.  The reason sent by the
               callback is XXmmCCRR__FFOOCCUUSS.

     XXmmNNggaaiinnPPrriimmaarryyCCaallllbbaacckk
               Specifies the list of callbacks called when an event causes
               the Text widget to gain ownership of the primary selection.
               The reason sent by the callback is XXmmCCRR__GGAAIINN__PPRRIIMMAARRYY.

     XXmmNNlloosseePPrriimmaarryyCCaallllbbaacckk
               Specifies the list of callbacks called when an event causes
               the Text widget to lose ownership of the primary selection.
               The reason sent by the callback is XXmmCCRR__LLOOSSEE__PPRRIIMMAARRYY.

     XXmmNNlloossiinnggFFooccuussCCaallllbbaacckk
               Specifies the list of callbacks called before Text loses input
               focus.  The type of the structure whose address is passed to
               this callback is XXmmTTeexxttVVeerriiffyyCCaallllbbaacckkSSttrruucctt.  The reason sent
               by the callback is XXmmCCRR__LLOOSSIINNGG__FFOOCCUUSS.

     XXmmNNmmaarrggiinnHHeeiigghhtt
               Specifies the distance between the top edge of the widget win-
               dow and the text, and between the bottom edge of the widget
               window and the text.

     XXmmNNmmaarrggiinnWWiiddtthh
               Specifies the distance between the left edge of the widget
               window and the text, and between the right edge of the widget
               window and the text.

     XXmmNNmmaaxxLLeennggtthh
               Specifies the maximum length of the text string that can be
               entered into text from the keyboard.  This value must be non-


   2-526






                                                                   XmText(3X)


               negative.  Strings that are entered using the XXmmNNvvaalluuee
               resource or the XXmmTTeexxttSSeettSSttrriinngg function ignore this resource.

     XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk
               Specifies the list of callbacks called before text is deleted
               from or inserted into Text.  The type of the structure whose
               address is passed to this callback is XXmmTTeexxttVVeerriiffyyCCaallllbbaacckk--
               SSttrruucctt.  The reason sent by the callback is
               XXmmCCRR__MMOODDIIFFYYIINNGG__TTEEXXTT__VVAALLUUEE.  When multiple Text widgets share
               the same source, only the widget that initiates the source
               change will generate 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.

     XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckk
               Specifies the list of callbacks called before the insert cur-
               sor is moved to a new position.  The type of the structure
               whose address is passed to this callback is XXmmTTeexxttVVeerr--
               iiffyyCCaallllbbaacckkSSttrruucctt.  The reason sent  by the callback is
               XXmmCCRR__MMOOVVIINNGG__IINNSSEERRTT__CCUURRSSOORR.  It is possible for more than one
               XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckks to be generated from a single action.

     XXmmNNssoouurrccee Specifies the source with which the widget displays text.  If
               no source is specified, the widget creates a default string
               source.  This resource can be used to share text sources
               between Text widgets.

     XXmmNNttooppCChhaarraacctteerr
               Displays the position of text at the top of the window.  Posi-
               tion is determined by the number of characters from the begin-
               ning of the text.  The first character position is 0.
               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 the top character is displayed at the top of the
               widget without shifting the text left or right.  XXttGGeettVVaalluueess
               for XXmmNNttooppCChhaarraacctteerr returns the position of the first charac-
               ter in the line that is displayed at the top of the widget.

     XXmmNNvvaalluuee  Displays the string value.  XXttGGeettVVaalluueess returns the value of
               the internal buffer and XXttSSeettVVaalluueess copies the string values
               into the internal buffer.

     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 after text is deleted
               from or inserted into Text.  The type of the structure whose
               address is passed to this callback is XXmmAAnnyyCCaallllbbaacckkSSttrruucctt.
               The reason sent by the callback is XXmmCCRR__VVAALLUUEE__CCHHAANNGGEEDD.  When
               multiple Text widgets share the same source, only the widget
               that initiates the source change will generate 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.  This callback represents a change in
               the source in the Text, not in the Text widget.  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 should occur only in pairs with a
               XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk, assuming that the _d_o_i_t flag in the
               callback structure 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 is not set
               to False.

     XXmmNNvveerriiffyyBBeellll


   2-527






   XmText(3X)


               Specifies whether the bell should sound when the verification
               returns without continuing the action.

                                XXmmTTeexxtt IInnppuut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
   ____________________________________________________________________________________
   XmNpendingDelete         XmCPendingDelete         Boolean     True            CSG
   XmNselectionArray        XmCSelectionArray        XtPointer   default array   CSG
   XmNselectionArrayCount   XmCSelectionArrayCount   int         4               CSG
   XmNselectThreshold       XmCSelectThreshold       int         5               CSG

     XXmmNNppeennddiinnggDDeelleettee
               Indicates that pending delete mode is on when the Boolean
               value is True.  Pending deletion is defined as deletion of the
               selected text when an insertion is made.

     XXmmNNsseelleeccttiioonnAArrrraayy
               Defines the actions for multiple mouse clicks.  The value of
               the resource is an array of XXmmTTeexxttSSccaannTTyyppee elements.
               XXmmTTeexxttSSccaannTTyyppee is an enumeration indicating possible actions.
               Each mouse click performed within half a second of the previ-
               ous mouse click increments the index into this array and per-
               forms the defined action for that index.  The possible actions
               in the order they occur in the default array are:

                 ++oo  XXmmSSEELLEECCTT__PPOOSSIITTIIOONN-resets the insert cursor position

                 ++oo  XXmmSSEELLEECCTT__WWOORRDD-selects a word

                 ++oo  XXmmSSEELLEECCTT__LLIINNEE-selects a line of text

                 ++oo  XXmmSSEELLEECCTT__AALLLL-selects all of the text

     XXmmNNsseelleeccttiioonnAArrrraayyCCoouunntt
               Indicates the number of elements in the XXmmNNsseelleeccttiioonnAArrrraayy
               resource.  The value must not be negative.

     XXmmNNsseelleeccttTThhrreesshhoolldd
               Specifies the number of pixels of motion that is required to
               select the next character when selection is performed using
               the click-drag mode of selection.  The value must not be nega-
               tive.














   2-528






                                                                   XmText(3X)


                               XXmmTTeexxtt OOuuttppuut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
   ___________________________________________________________________________________
   XmNblinkRate               XmCBlinkRate               int          500       CSG
   XmNcolumns                 XmCColumns                 short        dynamic   CSG
   XmNcursorPositionVisible   XmCCursorPositionVisible   Boolean      True      CSG
   XmNfontList                XmCFontList                XmFontList   dynamic   CSG
   XmNresizeHeight            XmCResizeHeight            Boolean      False     CSG
   XmNresizeWidth             XmCResizeWidth             Boolean      False     CSG
   XmNrows                    XmCRows                    short        dynamic   CSG
   XmNwordWrap                XmCWordWrap                Boolean      False     CSG

     XXmmNNbblliinnkkRRaattee
               Specifies the blink rate of the text cursor in milliseconds.
               The time indicated in the blink rate relates to the time the
               cursor is visible and the time the cursor is invisible (that
               is, the time it takes to blink the insertion cursor on and off
               is twice the blink rate).  The cursor does not blink when the
               blink rate is set to zero.  The value must not be negative.

     XXmmNNccoolluummnnss
               Specifies the initial width of the text window measured in
               character spaces.  The value must be greater than 0.  The
               default value depends on the value of the XXmmNNwwiiddtthh resource.
               If no width is specified the default is 20.

     XXmmNNccuurrssoorrPPoossiittiioonnVViissiibbllee
               Indicates that the insert cursor position is marked by a
               blinking text cursor when the Boolean value is True.

     XXmmNNffoonnttLLiisstt
               Specifies the font list to be used for Text.  If this value is
               NULL at initialization, the font list is initialized by look-
               ing up the parent hierarchy of the widget for an ancestor that
               is a subclass of the XmBulletinBoard or VendorShell widget
               class.  If such an ancestor is found, the font list is ini-
               tialized to the XXmmNNtteexxttFFoonnttLLiisstt of the ancestor widget.  If no
               such ancestor is found, the default is implementation depen-
               dent.
               Text searches the font list for the first occurrence of a font
               set that has a XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG.  If a default element
               is not found, the first font set in the font list is used.  If
               the list contains no font sets, the first font in the font
               list will be used.  Refer to XXmmFFoonnttLLiisstt((33XX)) for more informa-
               tion on a font list structure.

     XXmmNNrreessiizzeeHHeeiigghhtt
               Indicates that Text attempts to resize its height to accommo-
               date all the text contained in the widget when the Boolean
               value is True.  If the Boolean value is set to True, the text
               is always displayed starting from the first position in the
               source, even if instructed otherwise.  This attribute is
               ignored when the application uses a ScrolledText widget and
               when XXmmNNssccrroollllVVeerrttiiccaall is True.


   2-529






   XmText(3X)



     XXmmNNrreessiizzeeWWiiddtthh
               Indicates that Text attempts to resize its width to accommo-
               date all the text contained in the widget when the Boolean
               value is True.  This attribute is ignored if XXmmNNwwoorrddWWrraapp is
               True.

     XXmmNNrroowwss   Specifies the initial height of the text window measured in
               character heights. This attribute is ignored if the text
               widget resource XXmmNNeeddiittMMooddee is XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT.  The value
               must be greater than 0.  The default value depends on the
               value of the XXmmNNhheeiigghhtt resource.  If no height is specified
               the default is 1.

     XXmmNNwwoorrddWWrraapp
               Indicates that lines are to be broken at word breaks (that is,
               the text does not go off the right edge of the window) when
               the Boolean value is True.  Words are defined as a sequence of
               characters separated by white space.  White space is defined
               as a space, tab, or newline.  This attribute is ignored if the
               text widget resource XXmmNNeeddiittMMooddee is XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT.
               The following resources are used only when text is created in
               a ScrolledWindow.  See the man page for XXmmCCrreeaatteeSSccrroolllleeddTTeexxtt.

                         XXmmTTeexxtt SSccrroolllleeddTTeexxt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
         ________________________________________________________________
         XmNscrollHorizontal   XmCScroll       Boolean   True      CG
         XmNscrollLeftSide     XmCScrollSide   Boolean   dynamic   CG
         XmNscrollTopSide      XmCScrollSide   Boolean   False     CG
         XmNscrollVertical     XmCScroll       Boolean   True      CG

     XXmmNNssccrroollllHHoorriizzoonnttaall
               Adds a ScrollBar that allows the user to scroll horizontally
               through text when the Boolean value is True.  This resource is
               forced to False when the Text widget is placed in a Scrol-
               ledWindow with XXmmNNssccrroolllliinnggPPoolliiccyy set to XXmmAAUUTTOOMMAATTIICC.

     XXmmNNssccrroollllLLeeffttSSiiddee
               Indicates that the vertical ScrollBar should be placed on the
               left side of the scrolled text window when the Boolean value
               is True.  This attribute is ignored if XXmmNNssccrroollllVVeerrttiiccaall is
               False or the Text resource XXmmNNeeddiittMMooddee is XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT.
               The default value may depend on the value of the XXmmNNssttrriinngg--
               DDiirreeccttiioonn resource.

     XXmmNNssccrroollllTTooppSSiiddee
               Indicates that the horizontal ScrollBar should be placed on
               the top side of the scrolled text window when the Boolean
               value is True.

     XXmmNNssccrroollllVVeerrttiiccaall
               Adds a ScrollBar that allows the user to scroll vertically
               through text when the Boolean value is True.  This attribute


   2-530






                                                                   XmText(3X)


               is ignored if the Text resource XXmmNNeeddiittMMooddee is
               XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT.  This resource is forced to False when the
               Text widget is placed in a ScrolledWindow with XXmmNNssccrroolllliinngg--
               PPoolliiccyy set to XXmmAAUUTTOOMMAATTIICC.

     Inherited Resources

     Text 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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   XmTAB_GROUP            CSG
   XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
   XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
   XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
   XmNtraversalOn          XmCTraversalOn          Boolean            True                   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





   2-531






   XmText(3X)


     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;;
     }} XXmmAAnnyyC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

     The Text widget defines a new callback structure for use with verifica-
     tion callbacks.  Note that not all fields are relevant for every call-
     back reason.  The application must first look at the _r_e_a_s_o_n field and
     use only the structure members that are valid for the particular reason.
     The values _s_t_a_r_t_P_o_s, _e_n_d_P_o_s, and _t_e_x_t in the callback structure
     XXmmTTeexxttVVeerriiffyyCCaallllbbaacckkSSttrruucctt may be modified upon receiving the callback,
     and these changes will be reflected as the change made to the source of
     the Text widget.  (For example, all keystrokes can be converted to
     spaces or NULL characters when a password is entered into a Text
     widget.)  The application programmer should not overwrite the _t_e_x_t
     field, but should attach data to that pointer.

     A pointer to the following structure is passed to callbacks for XXmmNNlloo--
     ssiinnggFFooccuussCCaallllbbaacckk, XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk, and XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckk.
     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;;
       BBoooolleeaann      _d_o_i_t;;
       XXmmTTeexxttPPoossiittiioonn _c_u_r_r_I_n_s_e_r_t, _n_e_w_I_n_s_e_r_t;;
       XXmmTTeexxttPPoossiittiioonn _s_t_a_r_t_P_o_s, _e_n_d_P_o_s;;
       XXmmTTeexxttBBlloocckk  _t_e_x_t;;
     }} XXmmTTeexxttVVeerriiffyyCCaallllbbaacckkSSttrruucctt,, **XXmmTTeexxttVVeerriiffyyPPttrr;;

     _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.

     _d_o_i_t   Indicates whether the action that invoked the callback is per-
            formed.  Setting _d_o_i_t to False negates the action.

     _c_u_r_r_I_n_s_e_r_t
            Indicates the current position of the insert cursor.

     _n_e_w_I_n_s_e_r_t
            Indicates the position at which the user attempts to position the
            insert cursor.

     _s_t_a_r_t_P_o_s
            Indicates the starting position of the text to modify.  If the
            callback is not a modify verification callback, this value is the


   2-532






                                                                   XmText(3X)


            same as _c_u_r_r_I_n_s_e_r_t.

     _e_n_d_P_o_s Indicates the ending position of the text to modify.  If no text
            is replaced or deleted, the value is the same as _s_t_a_r_t_P_o_s.  If
            the callback is not a modify verification callback, this value is
            the same as _c_u_r_r_I_n_s_e_r_t.

     _t_e_x_t   Points to a structure of type XXmmTTeexxttBBlloocckkRReecc.  This structure
            holds the textual information to be inserted.
     ttyyppeeddeeff ssttrruucctt
     {{
       cchhaarr         **_p_t_r;;
       iinntt          _l_e_n_g_t_h;;
       XXmmTTeexxttFFoorrmmaatt _f_o_r_m_a_t;;
     }} XXmmTTeexxttBBlloocckkRReecc,, **XXmmTTeexxttBBlloocckk;;

     _p_t_r    Points to the text to be inserted.

     _l_e_n_g_t_h Specifies the length of the text to be inserted.

     _f_o_r_m_a_t Specifies the format of the text, either XXmmFFMMTT__88__BBIITT or
            XXmmFFMMTT__1166__BBIITT.

     The following table describes the reasons why the individual verifica-
     tion callback structure fields are valid:
     RReeaassoonn                      VVaalliidd FFiieellddss
     _____________________________________________________
          X X mm CC RR __ LL OO SS II NN GG __ FF OO CC UU SS           _r_e_a_s_o_n, _e_v_e_n_t, _d_o_i_t, _c_u_r-
                                 _r_I_n_s_e_r_t, _n_e_w_I_n_s_e_r_t,
                                 _s_t_a_r_t_P_o_s, _e_n_d_P_o_s

          X X mm CC RR __ MM OO DD II FF YY II NN GG __ TT EE XX TT __ VV AA LL UU EE   _r_e_a_s_o_n, _e_v_e_n_t, _d_o_i_t, _c_u_r-
                                 _r_I_n_s_e_r_t, _n_e_w_I_n_s_e_r_t,
                                 _s_t_a_r_t_P_o_s, _e_n_d_P_o_s, _t_e_x_t

          X X mm CC RR __ MM OO VV II NN GG __ II NN SS EE RR TT __ CC UU RR SS OO RR   _r_e_a_s_o_n, _e_v_e_n_t, _d_o_i_t, _c_u_r-
                                 _r_I_n_s_e_r_t, _n_e_w_I_n_s_e_r_t

     Action Routines

     The XmText action routines are described below:

     aaccttiivvaattee(()):
               Calls the callbacks for XXmmNNaaccttiivvaatteeCCaallllbbaacckk.  If the parent is
               a manager, passes the event to the parent.

     bbaacckkwwaarrdd--cchhaarraacctteerr(()):
               Moves the insertion cursor one character to the left.  For
               other effects, see the description of navigation operations in
               the "Keyboard Selection" section.  This action may have dif-
               ferent behavior in a right-to-left language environment.

     bbaacckkwwaarrdd--ppaarraaggrraapphh((_e_x_t_e_n_d)):
               If 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 and this action is called


   2-533






   XmText(3X)


               with no argument, moves the insertion cursor to the first
               non-whitespace character following the first previous blank
               line or beginning of the text.  If the insertion cursor is
               already at the beginning of a paragraph, moves the insertion
               cursor to the beginning of the previous paragraph.  For other
               effects, see the description of navigation operations in the
               "Keyboard Selection" section.
               If 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 and this action is called
               with an argument of eexxtteenndd, moves the insertion cursor as in
               the case of no argument and extends the current selection.
               For other effects, see the description of shifted navigation
               operations in the "Keyboard Selection" section.

     bbaacckkwwaarrdd--wwoorrdd((_e_x_t_e_n_d)):
               If this action is called with no argument, moves the insertion
               cursor to the first non-whitespace character after the first
               whitespace character to the left or after the beginning of the
               line.  If the insertion cursor is already at the beginning of
               a word, moves the insertion cursor to the beginning of the
               previous word.  For other effects, see the description of
               navigation operations in the "Keyboard Selection" section.
               This action may have different behavior in a locale other than
               the C locale.
               If called with an argument of eexxtteenndd, moves the insertion cur-
               sor as in the case of no argument and extends the current
               selection.  For other effects, see the description of shifted
               navigation operations in the "Keyboard Selection" section.

     bbeeeepp(()):   Causes the terminal to beep.

     bbeeggiinnnniinngg--ooff--ffiillee((_e_x_t_e_n_d)):
               If this action is called with no argument, moves the insertion
               cursor to the beginning of the text.  For other effects, see
               the description of navigation operations in the "Keyboard
               Selection" section.  If called with an argument of eexxtteenndd,
               moves the insertion cursor as in the case of no argument and
               extends the current selection.  For other effects, see the
               description of shifted navigation operations in the "Keyboard
               Selection" section.

     bbeeggiinnnniinngg--ooff--lliinnee((_e_x_t_e_n_d)):
               If this action is called with no argument, moves the insertion
               cursor to the beginning of the line.  For other effects, see
               the description of navigation operations in the "Keyboard
               Selection" section.  If called with an argument of eexxtteenndd,
               moves the insertion cursor as in the case of no argument and
               extends the current selection.  For other effects, see the
               description of shifted navigation operations in the "Keyboard
               Selection" section.

     cclleeaarr--sseelleeccttiioonn(()):
               Clears the current selection by replacing each character
               except <<RReettuurrnn>> with a <<ssppaaccee>> character.



   2-534






                                                                   XmText(3X)


     ccooppyy--cclliippbbooaarrdd(()):
               Copies the current selection to the clipboard.

     ccooppyy--pprriimmaarryy(()):
               Copies the primary selection to just before the insertion cur-
               sor.

     ccooppyy--ttoo(()):
               If a secondary selection exists, copies the secondary selec-
               tion to just before the insertion cursor.  If no secondary
               selection exists, copies the primary selection to the pointer
               location.

     ccuutt--cclliippbbooaarrdd(()):
               Cuts the current selection to the clipboard.

     ccuutt--pprriimmaarryy(()):
               Cuts the primary selection to just before the insertion cur-
               sor.

     ddeelleettee--nneexxtt--cchhaarraacctteerr(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise deletes the character following the
               insertion cursor.  In add mode if there is a non-null selec-
               tion, the cursor is not disjoint from the selection and
               XXmmNNppeennddiinnggDDeelleettee is set to True, deletes the selection, other-
               wise deletes the character following the insertion cursor.
               This may impact the selection.

     ddeelleettee--nneexxtt--wwoorrdd(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise deletes the characters following the
               insertion cursor to the next space, tab or end of line charac-
               ter.  In add mode if there is a non-null selection, the cursor
               is not disjoint from the selection and XXmmNNppeennddiinnggDDeelleettee is set
               to True, deletes the selection, otherwise deletes the charac-
               ters following the insertion cursor to the next space, tab or
               end of line character.  This may impact the selection.  This
               action may have different behavior in a locale other than the
               C locale.

     ddeelleettee--pprreevviioouuss--cchhaarraacctteerr(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise deletes the character of text immediately
               preceding the insertion cursor.  In add mode if there is a
               non-null selection, the cursor is not disjoint from the selec-
               tion and XXmmNNppeennddiinnggDDeelleettee is set to True, deletes the selec-
               tion, otherwise deletes the character of text immediately
               preceding the insertion cursor.  This may impact the selec-
               tion.

     ddeelleettee--pprreevviioouuss--wwoorrdd(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise deletes the characters preceding the


   2-535






   XmText(3X)


               insertion cursor to the next space, tab or beginning of the
               line character.  In add mode if there is a non-null selection,
               the cursor is not disjoint from the selection and XXmmNNppeennddiinngg--
               DDeelleettee is set to True, deletes the selection, otherwise
               deletes the characters preceding the insertion cursor to the
               next space, tab or beginning of line character..  This may
               impact the selection.  This action may have different behavior
               in a locale other than the C locale.

     ddeelleettee--sseelleeccttiioonn(()):
               Deletes the current selection.

     ddeelleettee--ttoo--eenndd--ooff--lliinnee(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise deletes the characters following the
               insertion cursor to the next end of line character.  In add
               mode if there is a non-null selection, the cursor is not dis-
               joint from the selection and XXmmNNppeennddiinnggDDeelleettee is set to True,
               deletes the selection, otherwise deletes the characters fol-
               lowing the insertion cursor to the next end of line character.
               This may impact the selection.

     ddeelleettee--ttoo--ssttaarrtt--ooff--lliinnee(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise deletes the characters preceding the
               insertion cursor to the previous beginning of line character.
               In add mode if there is a non-null selection, the cursor is
               not disjoint from the selection and XXmmNNppeennddiinnggDDeelleettee is set to
               True, deletes the selection, otherwise deletes the characters
               preceding the insertion cursor to the previous beginning of
               line character.  This may impact the selection.

     ddeesseelleecctt--aallll(()):
               Deselects the current selection.

     ddoo--qquuiicckk--aaccttiioonn(()):
               Marks the end of a secondary selection.  Performs the quick
               action initiated by the qquuiicckk--ccooppyy--sseett or qquuiicckk--ccuutt--sseett
               action.

     eenndd--ooff--ffiillee((_e_x_t_e_n_d)):
               If this action is called with no argument, moves the insertion
               cursor to the end of the text.  For other effects, see the
               description of navigation operations in the "Keyboard Selec-
               tion" section.  If called with an argument of eexxtteenndd, moves
               the insertion cursor as in the case of no argument and extends
               the current selection.  For other effects, see the description
               of shifted navigation operations in the "Keyboard Selection"
               section.

     eenndd--ooff--lliinnee((_e_x_t_e_n_d)):
               If this action is called with no argument, moves the insertion
               cursor to the end of the line.  For other effects, see the
               description of navigation operations in the "Keyboard


   2-536






                                                                   XmText(3X)


               Selection" section.  If called with an argument of eexxtteenndd,
               moves the insertion cursor as in the case of no argument and
               extends the current selection.  For other effects, see the
               description of shifted navigation operations in the "Keyboard
               Selection" section.

     eexxtteenndd--aaddjjuusstt(()):
               Selects text from the anchor to the pointer position and
               deselects text outside that range.  Moving the pointer over
               several lines selects text from the anchor to the end of each
               line the pointer moves over and up to the pointer position on
               the current line.

     eexxtteenndd--eenndd(()):
               Moves the insertion cursor to the position of the pointer.

     eexxtteenndd--ssttaarrtt(()):
               Adjusts the anchor using the balance-beam method.  Selects
               text from the anchor to the pointer position and deselects
               text outside that range.

     ffoorrwwaarrdd--cchhaarraacctteerr(()):
               Moves the insertion cursor one character to the right.  For
               other effects, see the description of navigation operations in
               the "Keyboard Selection" section.  This action may have dif-
               ferent behavior in a right-to-left language environment.

     ffoorrwwaarrdd--ppaarraaggrraapphh((_e_x_t_e_n_d)):
               If 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, and this action is called
               with no argument, moves the insertion cursor to the first
               non-whitespace character following the next blank line.  If
               the insertion cursor is already at the beginning of a para-
               graph, moves the insertion cursor to the beginning of the next
               paragraph.  For other effects, see the description of naviga-
               tion operations in the "Keyboard Selection" section.  If
               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 and this action is called
               with an argument of eexxtteenndd, moves the insertion cursor as in
               the case of no argument and extends the current selection.
               For other effects, see the description of shifted navigation
               operations in the "Keyboard Selection" section.

     ffoorrwwaarrdd--wwoorrdd((_e_x_t_e_n_d)):
               If this action is called with no argument, moves the insertion
               cursor to the first whitespace character or end of line fol-
               lowing the next non-whitespace character.  If the insertion
               cursor is already at the end of a word, moves the insertion
               cursor to the end of the next word.  For other effects, see
               the description of navigation operations in the "Keyboard
               Selection" section.  This action may have different behavior







   2-537






   XmText(3X)


               in a locale other than the C locale.  If called with an argu-
               ment of eexxtteenndd, moves the insertion cursor as in the case of
               no argument and extends the current selection.  For other
               effects, see the description of shifted navigation operations
               in the "Keyboard Selection" section.

     ggrraabb--ffooccuuss(()):
               This key binding performs the action defined in the XXmmNNsseelleecc--
               ttiioonnAArrrraayy, depending on the number of multiple mouse clicks.
               The default selection array ordering is one click to move the
               insertion cursor to the pointer position, two clicks to select
               a word, three clicks to select a line of text, and four clicks
               to select all text.  A single click also deselects any
               selected text and sets the anchor at the pointer position.
               This action may have different behavior in a locale other than
               the C locale.

     HHeellpp(()):   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 callbacks for this widget, this action calls
               the help callbacks for the nearest ancestor that has them.

     iinnsseerrtt--ssttrriinngg((_s_t_r_i_n_g)):
               If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is not disjoint
               from the current selection, deletes the entire selection.
               Inserts _s_t_r_i_n_g before the insertion cursor.

     kkeeyy--sseelleecctt((_d_i_r_e_c_t_i_o_n)):
               If called with an argument of rriigghhtt, moves the insertion cur-
               sor one character to the right and extends the current selec-
               tion.  If called with an argument of lleefftt, moves the insertion
               cursor one character to the left and extends the current
               selection.  If called with no argument, extends the current
               selection.  For other effects, see the description of shifted
               navigation operations and KKEExxtteenndd" in the "Keyboard Selection"
               section.

     kkiillll--nneexxtt--cchhaarraacctteerr(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise kills the character following the inser-
               tion cursor and stores the character in the cut buffer.  In
               add mode if there is a non-null selection, the cursor is not
               disjoint from the selection and XXmmNNppeennddiinnggDDeelleettee is set to
               True, deletes the selection, otherwise kills the character
               following the insertion cursor and stores the character in the
               cut buffer.  This may impact the selection.

     kkiillll--nneexxtt--wwoorrdd(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise kills the characters following the inser-
               tion cursor to the next space, tab or end of line character,
               and stores the characters in the cut buffer.  In add mode if
               there is a non-null selection, the cursor is not disjoint from
               the selection and XXmmNNppeennddiinnggDDeelleettee is set to True, deletes the
               selection, otherwise kills the characters following the


   2-538






                                                                   XmText(3X)


               insertion cursor to the next space, tab or end of line charac-
               ter, and stores the characters in the cut buffer.  This may
               impact the selection.  This action may have different behavior
               in a locale other than the C locale.

     kkiillll--pprreevviioouuss--cchhaarraacctteerr(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise kills the character immediately preceding
               the insertion cursor and stores the character in the cut
               buffer.  In add mode if there is a non-null selection, the
               cursor is not disjoint from the selection and XXmmNNppeennddiinnggDDeelleettee
               is set to True, deletes the selection, otherwise kills the
               character immediately preceding the insertion cursor and
               stores the character in the cut buffer.  This may impact the
               selection.

     kkiillll--pprreevviioouuss--wwoorrdd(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise kills the characters preceding the inser-
               tion cursor up to the next space, tab or beginning of line
               character, and stores the characters in the cut buffer.  In
               add mode if there is a non-null selection, the cursor is not
               disjoint from the selection and XXmmNNppeennddiinnggDDeelleettee is set to
               True, deletes the selection, otherwise kills the characters
               preceding the insertion cursor up to the next space, tab or
               beginning of line character, and stores the characters in the
               cut buffer.  This may impact the selection.  This action may
               have different behavior in a locale other than the C locale.

     kkiillll--sseelleeccttiioonn(()):
               Kills the currently selected text and stores the text in the
               cut buffer.

     kkiillll--ttoo--eenndd--ooff--lliinnee(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise kills the characters following the inser-
               tion cursor to the next end of line character and stores the
               characters in the cut buffer.  In add mode if there is a non-
               null selection, the cursor is not disjoint from the selection
               and XXmmNNppeennddiinnggDDeelleettee is set to True, deletes the selection,
               otherwise kills the characters following the insertion cursor
               to the next end of line character and stores the characters in
               the cut buffer.  This may impact the selection.

     kkiillll--ttoo--ssttaarrtt--ooff--lliinnee(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise kills the characters preceding the inser-
               tion cursor to the next beginning of line character and stores
               the characters in the cut buffer.  In add mode if there is a
               non-null selection, the cursor is not disjoint from the selec-
               tion and XXmmNNppeennddiinnggDDeelleettee is set to True, deletes the selec-
               tion, otherwise kills the characters preceding the insertion
               cursor to the next beginning of line character and stores the
               characters in the cut buffer.  This may impact the selection.


   2-539






   XmText(3X)



     mmoovvee--ddeessttiinnaattiioonn(()):
               Moves the insertion cursor to the pointer position without
               changing any existing current selection.  If there is no
               current selection, sets the widget as the destination widget.

     mmoovvee--ttoo(()):
               If a secondary selection exists, cuts the secondary selection
               to the insertion cursor.  If no secondary selection exists,
               cuts the primary selection to the pointer location.

     nneewwlliinnee(()):
               If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is not disjoint
               from the current selection, deletes the entire selection.
               Inserts a newline before the insertion cursor.

     nneewwlliinnee--aanndd--bbaacckkuupp(()):
               If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is not disjoint
               from the current selection, deletes the entire selection.
               Inserts a newline just before the insertion cursor and reposi-
               tions the insertion cursor to the end of the line before the
               newline.

     nneewwlliinnee--aanndd--iinnddeenntt(()):
               If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is not disjoint
               from the current selection, deletes the entire selection.
               Inserts a newline and then the same number of whitespace char-
               acters as at the beginning of the previous line.

     nneexxtt--lliinnee(()):
               Moves the insertion cursor to the next line.  For other
               effects, see the description of navigation operations in the
               "Keyboard Selection" section.

     nneexxtt--ppaaggee((_e_x_t_e_n_d)):
               If this action is called with no argument, moves the insertion
               cursor forward one page.  For other effects, see the descrip-
               tion of navigation operations in the "Keyboard Selection" sec-
               tion.  If called with an argument of eexxtteenndd, moves the inser-
               tion cursor as in the case of no argument and extends the
               current selection.  For other effects, see the description of
               shifted navigation operations in the "Keyboard Selection" sec-
               tion.

     nneexxtt--ttaabb--ggrroouupp(()):
               Traverses to the next tab group.

     ppaaggee--lleefftt(()):
               Scrolls the viewing window left one page of text.

     ppaaggee--rriigghhtt(()):
               Scrolls the viewing window right one page of text.

     ppaassttee--cclliippbbooaarrdd(()):


   2-540






                                                                   XmText(3X)


               Pastes the contents of the clipboard before the insertion cur-
               sor.

     pprreevv--ttaabb--ggrroouupp(()):
               Traverses to the previous tab group.

     pprreevviioouuss--lliinnee(()):
               Moves the insertion cursor to the previous line.  For other
               effects, see the description of navigation operations in the
               "Keyboard Selection" section.

     pprreevviioouuss--ppaaggee((_e_x_t_e_n_d)):
               If this action is called with no argument, moves the insertion
               cursor back one page.  For other effects, see the description
               of navigation operations in the "Keyboard Selection" section.
               If called with an argument of eexxtteenndd, moves the insertion cur-
               sor as in the case of no argument and extends the current
               selection.  For other effects, see the description of shifted
               navigation operations in the "Keyboard Selection" section.

     pprroocceessss--ccaanncceell(()):
               Cancels the current eexxtteenndd--aaddjjuusstt(()) or sseeccoonnddaarryy--aaddjjuusstt(())
               operation and leaves the selection state as it was before the
               operation, otherwise, and if the parent is a manager, passes
               the event to the parent.

     pprroocceessss--ddoowwnn(()):
               If XXmmNNeeddiittMMooddee is XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT and XXmmNNnnaavviiggaattiioonnTTyyppee is
               XXmmNNOONNEE, traverses to the widget below the current one in the
               tab group.
               If 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, moves the insertion cur-
               sor down one line.  For other effects, see the description of
               navigation operations in the "Keyboard Selection" section.

     pprroocceessss--hhoommee(()):
               Moves the insertion cursor to the beginning of the line.  For
               other effects, see the description of navigation operations in
               the "Keyboard Selection" section.

     pprroocceessss--rreettuurrnn(()):
               If XXmmNNeeddiittMMooddee is XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT, calls the callbacks for
               XXmmNNaaccttiivvaatteeCCaallllbbaacckk, and if the parent is a manager, passes
               the event to the parent.  If 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,













   2-541






   XmText(3X)


               inserts a newline.

     pprroocceessss--sshhiifftt--ddoowwnn(()):
               If 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, moves the insertion cur-
               sor down one line.  For other effects, see the description of
               navigation operations in the "Keyboard Selection" section.

     pprroocceessss--sshhiifftt--uupp(()):
               If 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, moves the insertion cur-
               sor up one line.  For other effects, see the description of
               navigation operations in the "Keyboard Selection" section.

     pprroocceessss--ttaabb(()):
               If XXmmNNeeddiittMMooddee is XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT, traverses to the next
               tab group.  If 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, inserts a
               tab.

     pprroocceessss--uupp(()):
               If XXmmNNeeddiittMMooddee is XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT and XXmmNNnnaavviiggaattiioonnTTyyppee is
               XXmmNNOONNEE, traverses to the widget above the current one in the
               tab group.
               If 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, moves the insertion cur-
               sor up one line.  For other effects, see the description of
               navigation operations in the "Keyboard Selection" section.

     qquuiicckk--ccooppyy--sseett(()):
               Marks the beginning of a secondary selection for use in quick
               copy.

     qquuiicckk--ccuutt--sseett(()):
               Marks the beginning of a secondary selection for use in quick
               cut.

     rreeddrraaww--ddiissppllaayy(()):
               Redraws the contents of the text window.

     ssccrroollll--oonnee--lliinnee--ddoowwnn(()):
               Scrolls the text area down one line.

     ssccrroollll--oonnee--lliinnee--uupp(()):
               Scrolls the text area up one line.

     sseeccoonnddaarryy--aaddjjuusstt(()):













   2-542






                                                                   XmText(3X)


               Extends the secondary selection to the pointer position.

     sseeccoonnddaarryy--nnoottiiffyy(()):
               Copies the secondary selection to the insertion cursor of the
               destination widget.

     sseeccoonnddaarryy--ssttaarrtt(()):
               Marks the beginning of a secondary selection.

     sseelleecctt--aaddjjuusstt(()):
               Extends the current selection.  The amount of text selected
               depends on the number of mouse clicks, as specified by the
               XXmmNNsseelleeccttiioonnAArrrraayy resource.

     sseelleecctt--aallll(()):
               Selects all text.

     sseelleecctt--eenndd(()):
               Extends the current selection.  The amount of text selected
               depends on the number of mouse clicks, as specified by the
               XXmmNNsseelleeccttiioonnAArrrraayy resource.

     sseelleecctt--ssttaarrtt(()):
               Marks the beginning of a new selection region.

     sseellff--iinnsseerrtt(()):
               If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is not disjoint
               from the current selection, deletes the entire selection.
               Inserts the character associated with the key pressed at the
               insertion cursor.

     sseett--aanncchhoorr(()):
               Resets the anchor point for extended selections.  Resets the
               destination of secondary selection actions.

     sseett--iinnsseerrttiioonn--ppooiinntt(()):
               Sets the insertion position.

     sseett--sseelleeccttiioonn--hhiinntt(()):
               Sets the text source and location of the current selection.

     ttooggggllee--aadddd--mmooddee(()):
               Toggles the state of Add Mode.

     ttrraavveerrssee--hhoommee(()):
               Traverses to the first widget in the tab group.

     ttrraavveerrssee--nneexxtt(()):








   2-543






   XmText(3X)


               Traverses to the next widget in the tab group.

     ttrraavveerrssee--pprreevv(()):
               Traverses to the previous widget in the tab group.

     uunnkkiillll(()): Restores last killed text to the position of the insertion
               cursor.

   RELATED INFORMATION
     CCoorree((33XX)), XXmmCCrreeaatteeSSccrroolllleeddTTeexxtt((33XX)), XXmmCCrreeaatteeTTeexxtt((33XX)), XXmmFFoonnttLLiisstt((33XX)),
     XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy((33XX)), XXmmPPrriimmiittiivvee((33XX)), XXmmTTeexxttCClleeaarrSSeelleeccttiioonn((33XX)),
     XXmmTTeexxttCCooppyy((33XX)), XXmmTTeexxttCCuutt((33XX)), XXmmTTeexxttFFiieelldd((33XX)), XXmmTTeexxttGGeettBBaasseelliinnee((33XX)),
     XXmmTTeexxttGGeettEEddiittaabbllee((33XX)), 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((33XX)),
     XXmmTTeexxttGGeettLLaassttPPoossiittiioonn((33XX)), XXmmTTeexxttGGeettMMaaxxLLeennggtthh((33XX)),
     XXmmTTeexxttGGeettSSeelleeccttiioonn((33XX)), 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((33XX)),
     XXmmTTeexxttGGeettSSoouurrccee((33XX)), XXmmTTeexxttGGeettSSttrriinngg((33XX)), XXmmTTeexxttGGeettTTooppCChhaarraacctteerr((33XX)),
     XXmmTTeexxttIInnsseerrtt((33XX)), XXmmTTeexxttPPaassttee((33XX)), XXmmTTeexxttPPoossTTooXXYY((33XX)),
     XXmmTTeexxttPPoossiittiioonn((33XX)), XXmmTTeexxttRReemmoovvee((33XX)), XXmmTTeexxttRReeppllaaccee((33XX)),
     XXmmTTeexxttSSccrroollll((33XX)), XXmmTTeexxttSSeettAAddddMMooddee((33XX)), XXmmTTeexxttSSeettEEddiittaabbllee((33XX)),
     XXmmTTeexxttSSeettHHiigghhlliigghhtt((33XX)), 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((33XX)),
     XXmmTTeexxttSSeettMMaaxxLLeennggtthh((33XX)), XXmmTTeexxttSSeettSSeelleeccttiioonn((33XX)), XXmmTTeexxttSSeettSSoouurrccee((33XX)),
     XXmmTTeexxttSSeettSSttrriinngg((33XX)), XXmmTTeexxttSSeettTTooppCChhaarraacctteerr((33XX)), XXmmTTeexxttSShhoowwPPoossiittiioonn((33XX)),
     and XXmmTTeexxttXXYYTTooPPooss((33XX)).

































   2-544






                                                     XmTextClearSelection(3X)



   NAME
     XXmmTTeexxttCClleeaarrSSeelleeccttiioonn-A Text function that clears the primary selection

   AES SUPPORT LEVEL
     Full-use

   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tCClleeaarrSSeelleeccttiioonn ((_w_i_d_g_e_t, _t_i_m_e))
          WWiiddggeett    _w_i_d_g_e_t;;
          TTiimmee      _t_i_m_e;;

   DESCRIPTION
     XXmmTTeexxttCClleeaarrSSeelleeccttiioonn clears the primary selection in the Text widget.

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

     _t_i_m_e   Specifies the server time at which the selection value is
            desired.  This should be the time of the event which 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)).





























   2-545






   XmTextCopy(3X)



   NAME
     XXmmTTeexxttCCooppyy-A Text function that copies the primary selection to the
     clipboard

   AES SUPPORT LEVEL
     Full-use

   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tCCooppyy ((_w_i_d_g_e_t, _t_i_m_e))
          WWiiddggeett    _w_i_d_g_e_t;;
          TTiimmee      _t_i_m_e;;

   DESCRIPTION
     XXmmTTeexxttCCooppyy copies the primary selected text to the clipboard.

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

     _t_i_m_e   Specifies the server time at which the selection value is to be
            modified.  This should be the time of the event which triggered
            this request.

     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, if the
     _w_i_d_g_e_t doesn't own the primary selection, or if the function is unable
     to gain ownership of the clipboard selection.  Otherwise, it returns
     True.

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






















   2-546






                                                                XmTextCut(3X)



   NAME
     XXmmTTeexxttCCuutt-A Text function that copies the primary selection to the clip-
     board and deletes the selected text

   AES SUPPORT LEVEL
     Full-use

   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tCCuutt ((_w_i_d_g_e_t, _t_i_m_e))
          WWiiddggeett    _w_i_d_g_e_t;;
          TTiimmee      _t_i_m_e;;

   DESCRIPTION
     XXmmTTeexxttCCuutt copies the primary selected text to the clipboard and then
     deletes the primary selected text.  This routine also calls the widget's
     XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk and 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.

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

     _t_i_m_e   Specifies the server time at which the selection value is to be
            modified.  This should be the time of the event which triggered
            this request.

     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, if the
     _w_i_d_g_e_t doesn't own the primary selection, or if the function is unable
     to gain ownership of the clipboard selection.  Otherwise, it returns
     True.

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




















   2-547






   XmTextField(3X)



   NAME
     XXmmTTeexxttFFiieelldd-The TextField class

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>

   DESCRIPTION
     TextField widget provides a single line text editor for customizing both
     user and programmatic interfaces.  It is used for single-line string
     entry, and forms entry with verification procedures.  It provides an
     application with a consistent editing system for textual data.

     TextField widget provides separate callback lists to verify movement of
     the insert cursor, modification of the text, and changes in input focus.
     Each of these callbacks provides the verification function with the
     widget instance, the event that caused the callback, and a data struc-
     ture specific to the verification type.  From this information the func-
     tion can verify if the application considers this to be a legitimate
     state change and can signal the widget whether to continue with the
     action.

     The user interface tailors a new set of actions.  The key bindings have
     been added for insert cursor movement, deletion, insertion, and selec-
     tion of text.

     TextField allows the user to select regions of text.  Selection is based
     on the model specified in the _I_n_t_e_r-_C_l_i_e_n_t _C_o_m_m_u_n_i_c_a_t_i_o_n _C_o_n_v_e_n_t_i_o_n_s
     _M_a_n_u_a_l (ICCCM).  TextField supports primary and secondary selection.

     Classes

     TextField widget inherits behavior and resources from CCoorree and PPrriimmiittiivvee
     classes.

     The class pointer is xxmmTTeexxttFFiieellddWWiiddggeettCCllaassss.

     The class name is XXmmTTeexxttFFiieelldd.

     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 lower case or upper
     case, 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),


   2-548






                                                              XmTextField(3X)


     or is not applicable (N/A).
                                       XXmmTTeexxttFFiieellddR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
   _______________________________________________________________________________________________
   XmNactivateCallback        XmCCallback                XtCallbackList   NULL              C
   XmNblinkRate               XmCBlinkRate               int              500               CSG
   XmNcolumns                 XmCColumns                 short            dynamic           CSG
   XmNcursorPosition          XmCCursorPosition          XmTextPosition   0                 CSG
   XmNcursorPositionVisible   XmCCursorPositionVisible   Boolean          True              CSG
   XmNeditable                XmCEditable                Boolean          True              CSG
   XmNfocusCallback           XmCCallback                XtCallbackList   NULL              C
   XmNfontList                XmCFontList                XmFontList       dynamic           CSG
   XmNgainPrimaryCallback     XmCCallback                XtCallbackList   NULL              C
   XmNlosePrimaryCallback     XmCCallback                XtCallbackList   NULL              C
   XmNlosingFocusCallback     XmCCallback                XtCallbackList   NULL              C
   XmNmarginHeight            XmCMarginHeight            Dimension        5                 CSG
   XmNmarginWidth             XmCMarginWidth             Dimension        5                 CSG
   XmNmaxLength               XmCMaxLength               int              largest integer   CSG
   XmNmodifyVerifyCallback    XmCCallback                XtCallbackList   NULL              C
   XmNmotionVerifyCallback    XmCCallback                XtCallbackList   NULL              C
   XmNpendingDelete           XmCPendingDelete           Boolean          True              CSG
   XmNresizeWidth             XmCResizeWidth             Boolean          False             CSG
   XmNselectionArray          XmCSelectionArray          XtPointer        default array     CSG
   XmNselectionArrayCount     XmCSelectionArrayCount     int              3                 CSG
   XmNselectThreshold         XmCSelectThreshold         int              5                 CSG
   XmNvalue                   XmCValue                   String           ""                CSG
   XmNvalueChangedCallback    XmCCallback                XtCallbackList   NULL              C
   XmNverifyBell              XmCVerifyBell              Boolean          dynamic           CSG

     XXmmNNaaccttiivvaatteeCCaallllbbaacckk
               Specifies the list of callbacks that is called when the user
               invokes an event that calls the AAccttiivvaattee(()) function.  The type
               of the structure whose address is passed to this callback is
               XXmmAAnnyyCCaallllbbaacckkSSttrruucctt.  The reason sent by the callback is
               XXmmCCRR__AACCTTIIVVAATTEE.

     XXmmNNbblliinnkkRRaattee
               Specifies the blink rate of the text cursor in milliseconds.
               The time indicated in the blink rate relates to the length of
               time the cursor is visible and the time the cursor is invisi-
               ble (i.e., the time it will take to blink the insertion cursor
               on and off will be 2 times the blink rate).  The cursor will
               not blink when the blink rate is set to zero.  The value must
               not be negative.

     XXmmNNccoolluummnnss
               Specifies the initial width of the text window as an integer
               number of characters.  The width equals the number of charac-
               ters specified by this resource multiplied by the maximum
               character width of the associated font.  For proportionate
               fonts, the actual number of characters that fit on a given
               line may be greater than the value specified.  The value must
               be greater than 0.  The default value depends on the value of
               the XXmmNNwwiiddtthh resource.  If no width is specified the default


   2-549






   XmTextField(3X)


               is 20.

     XXmmNNccuurrssoorrPPoossiittiioonn
               Indicates the position in the text where the current insert
               cursor is to be located.  Position is determined by the number
               of characters from the beginning of the text.

     XXmmNNccuurrssoorrPPoossiittiioonnVViissiibbllee
               Indicates that the insert cursor position is marked by a
               blinking text cursor when the Boolean is True.

     XXmmNNeeddiittaabbllee
               Indicates that the user can edit the text string when set to
               True.  A false value will prohibit the user from editing the
               text.

     XXmmNNffooccuussCCaallllbbaacckk
               Specifies the list of callbacks called when TextField accepts
               input focus.  The type of the structure whose address is
               passed to this callback is XXmmAAnnyyCCaallllbbaacckkSSttrruucctt.  The reason
               sent by the callback is XXmmCCRR__FFOOCCUUSS.

     XXmmNNffoonnttLLiisstt
               Specifies the font list to be used for TextField.  If this
               value is NULL at initialization, it is initialized by looking
               up the parent hierarchy of the widget for an ancestor that is
               a subclass of the XmBulletinBoard or VendorShell widget class.
               If such an ancestor is found, the font list is initialized to
               the XXmmNNtteexxttFFoonnttLLiisstt of the ancestor widget. If no such ances-
               tor is found, the default is implementation dependent.  Refer
               to XXmmFFoonnttLLiisstt((33XX)) for more information on a font list struc-
               ture.
               TextField searches the font list for the first occurrence of a
               font set that has a XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG.  If a default ele-
               ment is not found, the first font set in the font list is
               used.  If the list contains no font sets, the first font in
               the font list is used.

     XXmmNNggaaiinnPPrriimmaarryyCCaallllbbaacckk
               Specifies the list of callbacks that are called when the user
               invokes an event that cause the text widget to gain ownership
               of the primary selection. The callback reason for this call-
               back is XXmmCCRR__GGAAIINN__PPRRIIMMAARRYY.

     XXmmNNlloosseePPrriimmaarryyCCaallllbbaacckk
               Specifies the list of callbacks that are called when the user
               invokes an event that cause the text widget to lose ownership
               of the primary selection. The callback reason for this call-
               back is XXmmCCRR__LLOOSSEE__PPRRIIMMAARRYY.







   2-550






                                                              XmTextField(3X)



     XXmmNNlloossiinnggFFooccuussCCaallllbbaacckk
               Specifies the list of callbacks that is called before Text-
               Field widget loses input focus.  The type of the structure
               whose address is passed to this callback is XXmmTTeexxttVVeerr--
               iiffyyCCaallllbbaacckkSSttrruucctt.  The reason sent by the callback is
               XXmmCCRR__LLOOSSIINNGG__FFOOCCUUSS.

     XXmmNNmmaarrggiinnHHeeiigghhtt
               Specifies the distance between the top edge of the widget win-
               dow and the text, and the bottom edge of the widget window and
               the text.

     XXmmNNmmaarrggiinnWWiiddtthh
               Specifies the distance between the left edge of the widget
               window and the text, and the right edge of the widget window
               and the text.

     XXmmNNmmaaxxLLeennggtthh
               Specifies the maximum length of the text string that can be
               entered into text from the keyboard.  This value must be non-
               negative.  Strings that are entered using the XXmmNNvvaalluuee
               resource or the XXmmTTeexxttFFiieellddSSeettSSttrriinngg function ignore this
               resource.

     XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk
               Specifies the list of callbacks that is called before text is
               deleted from or inserted into TextField.  The type of the
               structure whose address is passed to this callback is
               XXmmTTeexxttVVeerriiffyyCCaallllbbaacckkSSttrruucctt.  The reason sent by the callback
               is XXmmCCRR__MMOODDIIFFYYIINNGG__TTEEXXTT__VVAALLUUEE.  When multiple TextField widgets
               share the same source, only the widget that initiates the
               source change will generate 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.

     XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckk
               Specifies the list of callbacks that is called before the
               insert cursor is moved to a new position.  The type of the
               structure whose address is passed to this callback is
               XXmmTTeexxttVVeerriiffyyCCaallllbbaacckkSSttrruucctt.  The reason sent  by the callback
               is XXmmCCRR__MMOOVVIINNGG__IINNSSEERRTT__CCUURRSSOORR.  It is possible more than one
               XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckks to be generated from a single action.

     XXmmNNppeennddiinnggDDeelleettee
               Indicates that pending delete mode is on when the Boolean is
               True.  Pending deletion is defined as deletion of the selected
               text when an insertion is made.

     XXmmNNrreessiizzeeWWiiddtthh
               Indicates that TextField widget will attempt to resize its
               width to accommodate all the text contained in the widget when
               Boolean is True.





   2-551






   XmTextField(3X)



     XXmmNNsseelleeccttiioonnAArrrraayy
               Defines the actions for multiple-mouse clicks.  Each mouse
               click performed within a half of a second of the previous
               mouse click will increment the index into this array and per-
               form the defined action for that index.  The possible actions
               are:

                 ++oo  XXmmSSEELLEECCTT__PPOOSSIITTIIOONN-resets the insert cursor position.

                 ++oo  XXmmSSEELLEECCTT__WWOORRDD-selects a word.

                 ++oo  XXmmSSEELLEECCTT__LLIINNEE-selects a line of text.

     XXmmNNsseelleeccttiioonnAArrrraayyCCoouunntt
               Specifies the number of actions that are defined in the
               XXmmNNsseelleeccttiioonnAArrrraayy resource.  The value must not be negative.

     XXmmNNsseelleeccttTThhrreesshhoolldd
               Specifies the number of pixels of motion that is required to
               select the next character when selection is performed using
               the click-drag mode of selection.  The value must not be nega-
               tive.

     XXmmNNvvaalluuee  Displays the string value.  XXttGGeettVVaalluueess returns the value of
               the internal buffer and XXttSSeettVVaalluueess copies the string values
               into the internal buffer.

     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 that is called after text is
               deleted from or inserted into TextField.  The type of the
               structure whose address is passed to this callback is XXmmAAnnyy--
               CCaallllbbaacckkSSttrruucctt.  The reason sent by the callback is
               XXmmCCRR__VVAALLUUEE__CCHHAANNGGEEDD.  When multiple TextField widgets share the
               same source, only the widget that initiates the source change
               will generate 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.  This callback
               represents a change in the source in the TextField, not in the
               TextField widget.  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 should occur
               only in pairs with a XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk, assuming that
               the _d_o_i_t flag in the callback structure of the XXmmNNmmooddiiffyyVVeerrii--
               ffyyCCaallllbbaacckk is not set to False.

     XXmmNNvveerriiffyyBBeellll
               Specifies whether a bell will sound when an action is reversed
               during a verification callback.

     Inherited Resources

     TextField widget inherits behavior and resources from the following
     superclasses.  For a complete description of these resources, refer to
     the man page for that superclass.
                                       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
   ________________________________________________________________________________________________


   2-552






                                                              XmTextField(3X)


   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   XmTAB_GROUP            CSG
   XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
   XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
   XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
   XmNtraversalOn          XmCTraversalOn          Boolean            True                   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;;
     }} XXmmAAnnyyC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.

     The TextField widget defines a new callback structure for use with
     verification callbacks.  Note that not all of the fields are relevant
     for every callback reason.  The application must first look at the _r_e_a_-
     _s_o_n field and use only the structure members that are valid for the


   2-553






   XmTextField(3X)


     particular reason.  The values _s_t_a_r_t_P_o_s, _e_n_d_P_o_s, and _t_e_x_t in the call-
     back structure XXmmTTeexxttVVeerriiffyyCCaallllbbaacckkSSttrruucctt may be modified upon receiving
     the callback, and these changes will be reflected as the change made to
     the source of the TextField widget.  (For example, all keystrokes can be
     converted to spaces or NULL characters when a password is entered into a
     TextField widget.)  The application programmer should not overwrite the
     _t_e_x_t field, but should attach data to that pointer.

     A pointer to the following structure is passed to the callbacks for
     XXmmNNlloossiinnggFFooccuussCCaallllbbaacckk, XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk, and XXmmNNmmoottiioonnVVeerriiffyy--
     CCaallllbbaacckk.
     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;;
       BBoooolleeaann      _d_o_i_t;;
       XXmmTTeexxttPPoossiittiioonn_c_u_r_r_I_n_s_e_r_t, _n_e_w_I_n_s_e_r_t;;
       XXmmTTeexxttPPoossiittiioonn_s_t_a_r_t_P_o_s, _e_n_d_P_o_s;;
       XXmmTTeexxttBBlloocckk  _t_e_x_t;;
     }} XXmmTTeexxttVVeerriiffyyCCaallllbbaacckkSSttrruucctt,, **XXmmTTeexxttVVeerriiffyyPPttrr;;

     _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.  It can be
            NULL.  For example, changes made to the Text widget programmati-
            cally do not have an event that can be passed to the associated
            callback.

     _d_o_i_t   Indicates whether that action that invoked the callback will be
            performed.  Setting _d_o_i_t to False negates the action.

     _c_u_r_r_I_n_s_e_r_t
            Indicates the current position of the insert cursor.

     _n_e_w_I_n_s_e_r_t
            Indicates the position at which the user attempts to position the
            insert cursor.

     _s_t_a_r_t_P_o_s
            Indicates the starting position of the text to modify.  If the
            callback is not a modify verification callback, this value is the
            same as _c_u_r_r_I_n_s_e_r_t.

     _e_n_d_P_o_s Indicates the ending position of the text to modify.  If no text
            is replaced or deleted, then the value is the same as _s_t_a_r_t_P_o_s.
            If the callback is not a modify verification callback, this value
            is the same as _c_u_r_r_I_n_s_e_r_t.

     _t_e_x_t   Points to a structure of type XXmmTTeexxttBBlloocckkRReecc.  This structure
            holds the textual information to be inserted.
     ttyyppeeddeeff ssttrruucctt
     {{
       cchhaarr         **_p_t_r;;
       iinntt          _l_e_n_g_t_h;;


   2-554






                                                              XmTextField(3X)


       XXmmTTeexxttFFoorrmmaatt _f_o_r_m_a_t
     }} XXmmTTeexxttBBlloocckkRReecc,, **XXmmTTeexxttBBlloocckk;;

     _p_t_r    Is the text to be inserted.  _p_t_r points to a temporary storage
            space that is reused after the callback is finished. Therefore,
            if an application needs to save the text to be inserted, it
            should copy the text into its own data space.

     _l_e_n_g_t_h Specifies the length of the text to be inserted.

     _f_o_r_m_a_t Specifies the format of the text, either XXmmFFMMTT__88__BBIITT or
            XXmmFFMMTT__1166__BBIITT.

     The following table describes the reasons for which the individual
     verification callback structure fields are valid:
                       RReeaassoonn                   VVaalliidd FFiieellddss
              _____________________________________________________
                            X X mm CC RR __ LL OO SS II NN GG __ FF OO CC UU SS           _r_e_a_s_o_n, _e_v_e_n_t, _d_o_i_t

                            X X mm CC RR __ MM OO DD II FF YY II NN GG __ TT EE XX TT __ VV AA LL UU EE   _r_e_a_s_o_n, _e_v_e_n_t, _d_o_i_t, _c_u_r-
                                          _r_I_n_s_e_r_t, _n_e_w_I_n_s_e_r_t,
                                          _s_t_a_r_t_P_o_s, _e_n_d_P_o_s, _t_e_x_t

                            X X mm CC RR __ MM OO VV II NN GG __ II NN SS EE RR TT __ CC UU RR SS OO RR   _r_e_a_s_o_n, _e_v_e_n_t, _d_o_i_t, _c_u_r-
                                          _r_I_n_s_e_r_t, _n_e_w_I_n_s_e_r_t

     Action Routines

     The XmText action routines are described below:

     aaccttiivvaattee(()):
               Calls the callbacks for XXmmNNaaccttiivvaatteeCCaallllbbaacckk.  If the parent is
               a manager, passes the event to the parent.

     bbaacckkwwaarrdd--cchhaarraacctteerr(()):
               Moves the insertion cursor one character to the left.  For
               other effects, see the description of navigation operations in
               the "Keyboard Selection" section in XXmmTTeexxtt((33XX)).  This action
               may have different behavior in a right-to-left language
               environment.

     bbaacckkwwaarrdd--wwoorrdd((_e_x_t_e_n_d)):
               If this action is called with no argument, moves the insertion
               cursor to the first non-whitespace character after the first
               whitespace character to the left or after the beginning of the
               line.  If the insertion cursor is already at the beginning of
               a word, moves the insertion cursor to the beginning of the
               previous word.  For other effects, see the description of
               navigation operations in the "Keyboard Selection" section in
               XXmmTTeexxtt((33XX)).  This action may have different behavior in a
               locale other than the C locale.
               If called with an argument of eexxtteenndd, moves the insertion cur-
               sor as in the case of no argument and extends the current
               selection.  For other effects, see the description of shifted


   2-555






   XmTextField(3X)


               navigation operations in the "Keyboard Selection" section in
               XXmmTTeexxtt((33XX)).

     bbeeggiinnnniinngg--ooff--lliinnee((_e_x_t_e_n_d)):
               If this action is called with no argument, moves the insertion
               cursor to the beginning of the line.  For other effects, see
               the description of navigation operations in the "Keyboard
               Selection" section in XXmmTTeexxtt((33XX)).  If called with an argument
               of eexxtteenndd, moves the insertion cursor as in the case of no
               argument and extends the current selection.  For other
               effects, see the description of shifted navigation operations
               in the "Keyboard Selection" section in XXmmTTeexxtt((33XX)).

     cclleeaarr--sseelleeccttiioonn(()):
               Clears the current selection by replacing each character
               except <<RReettuurrnn>> with a <<ssppaaccee>> character.

     ccooppyy--cclliippbbooaarrdd(()):
               Copies the current selection to the clipboard.

     ccooppyy--pprriimmaarryy(()):
               Copies the primary selection to just before the insertion cur-
               sor.

     ccooppyy--ttoo(()):
               If a secondary selection exists, copies the secondary selec-
               tion to just before the insertion cursor.  If no secondary
               selection exists, copies the primary selection to the pointer
               location.

     ccuutt--cclliippbbooaarrdd(()):
               Cuts the current selection to the clipboard.

     ccuutt--pprriimmaarryy(()):
               Cuts the primary selection to just before the insertion cur-
               sor.

     ddeelleettee--nneexxtt--cchhaarraacctteerr(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise deletes the character following the
               insertion cursor.  In add mode if there is a non-null selec-
               tion, the cursor is not disjoint from the selection and
               XXmmNNppeennddiinnggDDeelleettee is set to True, deletes the selection, other-
               wise deletes the character following the insertion cursor.
               This may impact the selection.

     ddeelleettee--nneexxtt--wwoorrdd(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise deletes the characters following the
               insertion cursor to the next space, tab or end of line charac-
               ter.  In add mode if there is a non-null selection, the cursor
               is not disjoint from the selection and XXmmNNppeennddiinnggDDeelleettee is set
               to True, deletes the selection, otherwise deletes the charac-
               ters following the insertion cursor to the next space, tab or


   2-556






                                                              XmTextField(3X)


               end of line character.  This may impact the selection.  This
               action may have different behavior in a locale other than the
               C locale.

     ddeelleettee--pprreevviioouuss--cchhaarraacctteerr(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise deletes the character of text immediately
               preceding the insertion cursor.  In add mode if there is a
               non-null selection, the cursor is not disjoint from the selec-
               tion and XXmmNNppeennddiinnggDDeelleettee is set to True, deletes the selec-
               tion, otherwise deletes the character of text immediately
               preceding the insertion cursor.  This may impact the selec-
               tion.

     ddeelleettee--pprreevviioouuss--wwoorrdd(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise deletes the characters preceding the
               insertion cursor to the next space, tab or beginning of the
               line character.  In add mode if there is a non-null selection,
               the cursor is not disjoint from the selection and XXmmNNppeennddiinngg--
               DDeelleettee is set to True, deletes the selection, otherwise
               deletes the characters preceding the insertion cursor to the
               next space, tab or beginning of line character..  This may
               impact the selection.  This action may have different behavior
               in a locale other than the C locale.

     ddeelleettee--sseelleeccttiioonn(()):
               Deletes the current selection.

     ddeelleettee--ttoo--eenndd--ooff--lliinnee(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise deletes the characters following the
               insertion cursor to the next end of line character.  In add
               mode if there is a non-null selection, the cursor is not dis-
               joint from the selection and XXmmNNppeennddiinnggDDeelleettee is set to True,
               deletes the selection, otherwise deletes the characters fol-
               lowing the insertion cursor to the next end of line character.
               This may impact the selection.

     ddeelleettee--ttoo--ssttaarrtt--ooff--lliinnee(()):
               In normal mode if there is a non-null selection, deletes the
               selection, otherwise deletes the characters preceding the
               insertion cursor to the previous beginning of line character.
               In add mode if there is a non-null selection, the cursor is
               not disjoint from the selection and XXmmNNppeennddiinnggDDeelleettee is set to
               True, deletes the selection, otherwise deletes the characters
               preceding the insertion cursor to the previous beginning of
               line character.  This may impact the selection.

     ddeesseelleecctt--aallll(()):
               Deselects the current selection.

     eenndd--ooff--lliinnee((_e_x_t_e_n_d)):
               If this action is called with no argument, moves the insertion


   2-557






   XmTextField(3X)


               cursor to the end of the line.  For other effects, see the
               description of navigation operations in the "Keyboard Selec-
               tion" section in XXmmTTeexxtt((33XX)).  If called with an argument of
               eexxtteenndd, moves the insertion cursor as in the case of no argu-
               ment and extends the current selection.  For other effects,
               see the description of shifted navigation operations in the
               "Keyboard Selection" section in XXmmTTeexxtt((33XX)).

     eexxtteenndd--aaddjjuusstt(()):
               Selects text from the anchor to the pointer position and
               deselects text outside that range.

     eexxtteenndd--eenndd(()):
               Moves the insertion cursor to the position of the pointer.

     eexxtteenndd--ssttaarrtt(()):
               Adjusts the anchor using the balance-beam method.  Selects
               text from the anchor to the pointer position and deselects
               text outside that range.

     ffoorrwwaarrdd--cchhaarraacctteerr(()):
               Moves the insertion cursor one character to the right.  For
               other effects, see the description of navigation operations in
               the "Keyboard Selection" section in XXmmTTeexxtt((33XX)).  This action
               may have different behavior in a right-to-left language
               environment.

     ffoorrwwaarrdd--wwoorrdd((_e_x_t_e_n_d)):
               If this action is called with no argument, moves the insertion
               cursor to the first whitespace character or end of line fol-
               lowing the next non-whitespace character.  If the insertion
               cursor is already at the end of a word, moves the insertion
               cursor to the end of the next word.  For other effects, see
               the description of navigation operations in the "Keyboard
               Selection" section in XXmmTTeexxtt((33XX)).  This action may have dif-
               ferent behavior in a locale other than the C locale.  If
               called with an argument of eexxtteenndd, moves the insertion cursor
               as in the case of no argument and extends the current selec-
               tion.  For other effects, see the description of shifted navi-
               gation operations in the "Keyboard Selection" section in
               XXmmTTeexxtt((33XX)).

     ggrraabb--ffooccuuss(()):
               This key binding performs the action defined in the XXmmNNsseelleecc--
               ttiioonnAArrrraayy, depending on the number of multiple mouse clicks.
               The default selection array ordering is one click to move the
               insertion cursor to the pointer position, two clicks to select
               a word, three clicks to select a line of text, and four clicks
               to select all text.  A single click also deselects any
               selected text and sets the anchor at the pointer position.
               This action may have different behavior in a locale other than
               the C locale.

     HHeellpp(()):   Calls the callbacks for XXmmNNhheellppCCaallllbbaacckk if any exist.  If


   2-558






                                                              XmTextField(3X)


               there are no help callbacks for this widget, this action calls
               the help callbacks for the nearest ancestor that has them.

     kkeeyy--sseelleecctt((_d_i_r_e_c_t_i_o_n)):
               If called with an argument of rriigghhtt, moves the insertion cur-
               sor one character to the right and extends the current selec-
               tion.  If called with an argument of lleefftt, moves the insertion
               cursor one character to the left and extends the current
               selection.  If called with no argument, extends the current
               selection.  For other effects, see the description of shifted
               navigation operations and KKEExxtteenndd" in the "Keyboard Selection"
               section in XXmmTTeexxtt((33XX)).

     mmoovvee--ddeessttiinnaattiioonn(()):
               Moves the insertion cursor to the pointer position without
               changing any existing current selection.  If there is no
               current selection, sets the widget as the destination widget.

     mmoovvee--ttoo(()):
               If a secondary selection exists, cuts the secondary selection
               to just before the insertion cursor.  If no secondary selec-
               tion exists, cuts the primary selection to the pointer loca-
               tion.

     nneexxtt--ttaabb--ggrroouupp(()):
               Traverses to the next tab group.

     ppaaggee--lleefftt(()):
               Scrolls the viewing window left one page of text.

     ppaaggee--rriigghhtt(()):
               Scrolls the viewing window right one page of text.

     ppaassttee--cclliippbbooaarrdd(()):
               Pastes the contents of the clipboard before the insertion cur-
               sor.

     pprreevv--ttaabb--ggrroouupp(()):
               Traverses to the previous tab group.

     pprroocceessss--ccaanncceell(()):
               Cancels the current eexxtteenndd--aaddjjuusstt(()) or sseeccoonnddaarryy--aaddjjuusstt(())
               operation and leaves the selection state as it was before the
               operation, otherwise, and the parent is a manager, it passes
               the event to the parent.

     sseeccoonnddaarryy--aaddjjuusstt(()):
               Extends the secondary selection to the pointer position.

     sseeccoonnddaarryy--ssttaarrtt(()):
               Marks the beginning of a secondary selection.

     sseelleecctt--aallll(()):
               Selects all text.


   2-559






   XmTextField(3X)



     sseellff--iinnsseerrtt(()):
               If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is not disjoint
               from the current selection, deletes the entire selection.
               Inserts the character associated with the key pressed before
               the insertion cursor.

     sseett--aanncchhoorr(()):
               Resets the anchor point for extended selections.  Resets the
               destination  of secondary selection actions.

     ttooggggllee--aadddd--mmooddee(()):
               Toggles the state of Add Mode.

     ttrraavveerrssee--hhoommee(()):
               Traverses to the first widget in the tab group.

     ttrraavveerrssee--nneexxtt(()):
               Traverses to the next widget in the tab group.

     ttrraavveerrssee--pprreevv(()):
               Traverses to the previous widget in the tab group.

   RELATED INFORMATION
     CCoorree((33XX)), XXmmCCrreeaatteeTTeexxttFFiieelldd((33XX)), XXmmFFoonnttLLiisstt((33XX)),
     XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy((33XX)), XXmmPPrriimmiittiivvee((33XX)),
     XXmmTTeexxttFFiieellddCClleeaarrSSeelleeccttiioonn((33XX)), XXmmTTeexxttFFiieellddCCooppyy((33XX)), XXmmTTeexxttFFiieellddCCuutt((33XX)),
     XXmmTTeexxttFFiieellddGGeettBBaasseelliinnee((33XX)), XXmmTTeexxttFFiieellddGGeettEEddiittaabbllee((33XX)),
     XXmmTTeexxttFFiieellddGGeettIInnsseerrttiioonnPPoossiittiioonn((33XX)), XXmmTTeexxttFFiieellddGGeettLLaassttPPoossiittiioonn((33XX)),
     XXmmTTeexxttFFiieellddGGeettMMaaxxLLeennggtthh((33XX)), XXmmTTeexxttFFiieellddGGeettSSeelleeccttiioonn((33XX)),
     XXmmTTeexxttFFiieellddGGeettSSeelleeccttiioonnPPoossiittiioonn((33XX)), XXmmTTeexxttFFiieellddGGeettSSttrriinngg((33XX)),
     XXmmTTeexxttFFiieellddGGeettSSuubbssttrriinngg((33XX)), XXmmTTeexxttFFiieellddIInnsseerrtt((33XX)),
     XXmmTTeexxttFFiieellddPPaassttee((33XX)), XXmmTTeexxttFFiieellddPPoossTTooXXYY((33XX)), XXmmTTeexxttFFiieellddRReemmoovvee((33XX)),
     XXmmTTeexxttFFiieellddRReeppllaaccee((33XX)), XXmmTTeexxttFFiieellddSSeettAAddddMMooddee((33XX)),
     XXmmTTeexxttFFiieellddSSeettEEddiittaabbllee((33XX)), XXmmTTeexxttFFiieellddSSeettHHiigghhlliigghhtt((33XX)),
     XXmmTTeexxttFFiieellddSSeettIInnsseerrttiioonnPPoossiittiioonn((33XX)), XXmmTTeexxttFFiieellddSSeettMMaaxxLLeennggtthh((33XX)),
     XXmmTTeexxttFFiieellddSSeettSSeelleeccttiioonn((33XX)), XXmmTTeexxttFFiieellddSSeettSSttrriinngg((33XX)),
     XXmmTTeexxttFFiieellddSShhoowwPPoossiittiioonn((33XX)), and XXmmTTeexxttFFiieellddXXYYTTooPPooss((33XX)).


















   2-560






                                                XmTextFieldClearSelection(3X)



   NAME
     XXmmTTeexxttFFiieellddCClleeaarrSSeelleeccttiioonn-A TextField function that clears the primary
     selection

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     vvooiidd XXmmTTeexxttFFiieellddCClleeaarrSSeelleeccttiioonn ((_w_i_d_g_e_t, _t_i_m_e))
          WWiiddggeett    _w_i_d_g_e_t;;
          TTiimmee      _t_i_m_e;;

   DESCRIPTION
     XXmmTTeexxttFFiieellddCClleeaarrSSeelleeccttiioonn clears the primary selection in the TextField
     widget.

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

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

     For a complete definition of TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).




























   2-561






   XmTextFieldCopy(3X)



   NAME
     XXmmTTeexxttFFiieellddCCooppyy-A TextField function that copies the primary selection
     to the clipboard

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     BBoooolleeaann XXmmTTeexxttFFiieellddCCooppyy ((_w_i_d_g_e_t, _t_i_m_e))
          WWiiddggeett    _w_i_d_g_e_t;;
          TTiimmee      _t_i_m_e;;

   DESCRIPTION
     XXmmTTeexxttFFiieellddCCooppyy copies the primary selected text to the clipboard.

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

     _t_i_m_e   Specifies the time at which the selection value is to be modi-
            fied.  This should be the time of the event which triggered this
            request.

     For a complete definition of TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

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

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).






















   2-562






                                                           XmTextFieldCut(3X)



   NAME
     XXmmTTeexxttFFiieellddCCuutt-A TextField function that copies the primary selection to
     the clipboard and deletes the selected text

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     BBoooolleeaann XXmmTTeexxttFFiieellddCCuutt ((_w_i_d_g_e_t, _t_i_m_e))
          WWiiddggeett    _w_i_d_g_e_t;;
          TTiimmee      _t_i_m_e;;

   DESCRIPTION
     XXmmTTeexxttFFiieellddCCuutt copies the primary selected text to the clipboard and
     then deletes the primary selected text.  This routine also calls the
     widget's XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk and 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.

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

     _t_i_m_e   Specifies the time at which the selection value is to be modi-
            fied.  This should be the time of the event which triggered this
            request.

     For a complete definition of TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

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

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).




















   2-563






   XmTextFieldGetBaseline(3X)



   NAME
     XXmmTTeexxttFFiieellddGGeettBBaasseelliinnee-A TextField function that accesses the_x position
     of the first baseline

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     iinntt XXmmTTeexxttFFiieellddG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tFFiieellddGGeettBBaasseelliinnee accesses the _x position of the first baseline in
     the TextField widget, relative to the _x position of the top of the
     widget.

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

     For a complete definition of TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RETURN VALUE
     Returns an integer value that indicates the _x position of the first
     baseline in the TextField 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tFFiieelldd((33XX)).
























   2-564






                                                   XmTextFieldGetEditable(3X)



   NAME
     XXmmTTeexxttFFiieellddGGeettEEddiittaabbllee-A TextField function that accesses the edit per-
     mission state

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     BBoooolleeaann XXmmTTeexxttFFiieellddG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tFFiieellddGGeettEEddiittaabbllee accesses the edit permission state of the Text-
     Field widget.

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

     For a complete definition of TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((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tFFiieelldd((33XX)).




























   2-565






   XmTextFieldGetInsertionPosition(3X)



   NAME
     XXmmTTeexxttFFiieellddGGeettIInnsseerrttiioonnPPoossiittiioonn-A TextField function that accesses the
     position of the insertion cursor

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     XXmmTTeexxttPPoossiittiioonn XXmmTTeexxttFFiieellddG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tFFiieellddG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 TextField widget.

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

     For a complete definition of TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((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tFFiieelldd((33XX)).



























   2-566






                                               XmTextFieldGetLastPosition(3X)



   NAME
     XXmmTTeexxttFFiieellddGGeettLLaassttPPoossiittiioonn-A TextField function that accesses the posi-
     tion of the last text character

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     XXmmTTeexxttPPoossiittiioonn XXmmTTeexxttFFiieellddG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tFFiieellddGGeettLLaassttPPoossiittiioonn accesses the position of the last character
     in the text buffer of the TextField widget.

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

     For a complete definition of TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RETURN VALUE
     Returns an XmTextPosition value that indicates the position of the last
     character in the text buffer.  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tFFiieelldd((33XX)).



























   2-567






   XmTextFieldGetMaxLength(3X)



   NAME
     XXmmTTeexxttFFiieellddGGeettMMaaxxLLeennggtthh-A TextField function that accesses the value of
     the current maximum allowable length of a text string entered from the
     keyboard

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     iinntt XXmmTTeexxttFFiieellddG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tFFiieellddGGeettMMaaxxLLeennggtthh accesses the value of the current maximum allow-
     able length of the text string in the TextField 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 TextField widget ID

     For a complete definition of TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((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tFFiieelldd((33XX)).

























   2-568






                                                  XmTextFieldGetSelection(3X)



   NAME
     XXmmTTeexxttFFiieellddGGeettSSeelleeccttiioonn-A TextField function that retrieves the value of
     the primary selection

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     cchhaarr ** XXmmTTeexxttFFiieellddG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tFFiieellddG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
     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 TextField widget ID

     For a complete definition of TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((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tFFiieelldd((33XX)).


























   2-569






   XmTextFieldGetSelectionPosition(3X)



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

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     BBoooolleeaann XXmmTTeexxttFFiieellddG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tFFiieellddG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 TextField widget.

     _w_i_d_g_e_t Specifies the TextField 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((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tFFiieelldd((33XX)).
















   2-570






                                                     XmTextFieldGetString(3X)



   NAME
     XXmmTTeexxttFFiieellddGGeettSSttrriinngg-A TextField function that accesses the string value

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     cchhaarr ** XXmmTTeexxttFFiieellddG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tFFiieellddGGeettSSttrriinngg accesses the string value of the TextField 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 TextField widget ID

     For a complete definition of TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

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

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).



























   2-571






   XmTextFieldInsert(3X)



   NAME
     XXmmTTeexxttFFiieellddIInnsseerrtt-A TextField function that inserts a character string
     into a text string

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     vvooiidd XXmmTTeexxttFFiieellddI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tFFiieellddIInnsseerrtt inserts a character string into the text string in the
     TextField widget.  The character positions begin at zero and are num-
     bered 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 also calls the widget's XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk and
     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.

     _w_i_d_g_e_t Specifies the TextField 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).

















   2-572






                                                         XmTextFieldPaste(3X)



   NAME
     XXmmTTeexxttFFiieellddPPaassttee-A TextField function that inserts the clipboard selec-
     tion

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     BBoooolleeaann XXmmTTeexxttFFiieellddP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tFFiieellddP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 inser-
     tion 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 XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk.

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

     For a complete definition of TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((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tFFiieelldd((33XX)).

























   2-573






   XmTextFieldPosToXY(3X)



   NAME
     XXmmTTeexxttFFiieellddPPoossTTooXXYY-A TextField function that accesses the x and y posi-
     tion of a character position

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     BBoooolleeaann XXmmTTeexxttFFiieellddP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tFFiieellddPPoossTTooXXYY accesses the x and y position, relative to the upper
     left corner of the TextField widget, of a given character position in
     the text buffer.

     _w_i_d_g_e_t Specifies the TextField 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

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

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).









   2-574






                                                        XmTextFieldRemove(3X)



   NAME
     XXmmTTeexxttFFiieellddRReemmoovvee-A TextField function that deletes the primary selec-
     tion

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     BBoooolleeaann XXmmTTeexxttFFiieellddR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tFFiieellddRReemmoovvee deletes the primary selected text.  This routine also
     calls the widget's XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk and 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 there is a selection.

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

     For a complete definition of TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((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tFFiieelldd((33XX)).



























   2-575






   XmTextFieldReplace(3X)



   NAME
     XXmmTTeexxttFFiieellddRReeppllaaccee-A TextField function that replaces part of a text
     string

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     vvooiidd XXmmTTeexxttFFiieellddR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tFFiieellddRReeppllaaccee replaces part of the text string in the TextField
     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 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 also calls the widget's XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk and
     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.

     _w_i_d_g_e_t Specifies the TextField 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).












   2-576






                                                    XmTextFieldSetAddMode(3X)



   NAME
     XXmmTTeexxttFFiieellddSSeettAAddddMMooddee-A TextField function that sets the state of Add
     Mode

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     vvooiidd XXmmTTeexxttFFiieellddS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tFFiieellddSSeettAAddddMMooddee controls whether or not the TextField 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 TextField 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).



























   2-577






   XmTextFieldSetEditable(3X)



   NAME
     XXmmTTeexxttFFiieellddSSeettEEddiittaabbllee-A TextField function that sets the edit permis-
     sion

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     vvooiidd XXmmTTeexxttFFiieellddS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tFFiieellddSSeettEEddiittaabbllee sets the edit permission state of the TextField
     widget.  When set to True, the text string can be edited.

     _w_i_d_g_e_t Specifies the TextField 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).




























   2-578






                                                  XmTextFieldSetHighlight(3X)



   NAME
     XXmmTTeexxttFFiieellddSSeettHHiigghhlliigghhtt-A TextField function that highlights text

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     vvooiidd XXmmTTeexxttFFiieellddS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tFFiieellddSSeettHHiigghhlliigghhtt highlights text between the two specified char-
     acter positions.  The _m_o_d_e parameter determines the type of highlight-
     ing.  Highlighting text merely changes the visual appearance of the
     text; it does not set the selection.

     _w_i_d_g_e_t Specifies the TextField 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 test 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).














   2-579






   XmTextFieldSetInsertionPosition(3X)



   NAME
     XXmmTTeexxttFFiieellddSSeettIInnsseerrttiioonnPPoossiittiioonn-A TextField function that sets the posi-
     tion of the insertion cursor

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     vvooiidd XXmmTTeexxttFFiieellddS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tFFiieellddS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 TextField widget.  This routine also calls the widget's XXmmNNmmoottiioonn--
     VVeerriiffyyCCaallllbbaacckk callbacks if the insertion cursor position changes.

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

     _p_o_s_i_t_i_o_n
            Specifies the position of the insert 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).

























   2-580






                                                  XmTextFieldSetMaxLength(3X)



   NAME
     XXmmTTeexxttFFiieellddSSeettMMaaxxLLeennggtthh-A TextField function that sets the value of the
     current maximum allowable length of a text string entered from the key-
     board

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     vvooiidd XXmmTTeexxttFFiieellddS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tFFiieellddS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 TextField widget.  The maximum allow-
     able length prevents the user from entering a text string from the key-
     board that is larger than this limit.  Strings that are entered using
     the XXmmNNvvaalluuee resource or the XXmmTTeexxttSSeettSSttrriinngg function ignore this
     resource.

     _w_i_d_g_e_t Specifies the TextField 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RELATED INFORMATION
     XXmmTTeexxtt((33XX)), and XXmmTTeexxttFFiieellddSSeettSSttrriinngg((33XX)).























   2-581






   XmTextFieldSetSelection(3X)



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

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     vvooiidd XXmmTTeexxttFFiieellddS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tFFiieellddS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 call-
     backs.

     _w_i_d_g_e_t Specifies the TextField 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).



















   2-582






                                                     XmTextFieldSetString(3X)



   NAME
     XXmmTTeexxttFFiieellddSSeettSSttrriinngg-A TextField function that sets the string value

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     vvooiidd XXmmTTeexxttFFiieellddS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tFFiieellddSSeettSSttrriinngg sets the string value of the TextField widget.
     This routine calls the widget's XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk and
     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.  It also sets the insertion cursor
     position to the beginning of the string and calls the widget's XXmmNNmmoo--
     t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 TextField 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).


























   2-583






   XmTextFieldShowPosition(3X)



   NAME
     XXmmTTeexxttFFiieellddSShhoowwPPoossiittiioonn-A TextField function that forces text at a given
     position to be displayed

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     vvooiidd XXmmTTeexxttFFiieellddS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tFFiieellddS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 TextField 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((33XX)).

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)).

























   2-584






                                                       XmTextFieldXYToPos(3X)



   NAME
     XXmmTTeexxttFFiieellddXXYYTTooPPooss-A TextField function that accesses the character
     position nearest an x and y position

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>
     XXmmTTeexxttPPoossiittiioonn XXmmTTeexxttFFiieellddX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tFFiieellddXXYYTTooPPooss accesses the character position nearest to the speci-
     fied x and y position, relative to the upper left corner of the Text-
     Field widget.

     _w_i_d_g_e_t Specifies the TextField 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 TextField and its associated resources, see
     XXmmTTeexxttFFiieelldd((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tFFiieelldd((33XX)).


















   2-585






   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

   AES SUPPORT LEVEL
     Full-use

   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)).

























   2-586






                                                        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

   AES SUPPORT LEVEL
     Full-use

   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)).





























   2-587






   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

   AES SUPPORT LEVEL
     Full-use

   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)).



























   2-588






                                                    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

   AES SUPPORT LEVEL
     Full-use

   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)).
























   2-589






   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

   AES SUPPORT LEVEL
     Full-use

   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)).

























   2-590






                                                       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

   AES SUPPORT LEVEL
     Full-use

   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)).


























   2-591






   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

   AES SUPPORT LEVEL
     Full-use

   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)).
















   2-592






                                                          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

   AES SUPPORT LEVEL
     Trial-use

   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)).





















   2-593






   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

   AES SUPPORT LEVEL
     Full-use

   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)).




























   2-594






                                                    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

   AES SUPPORT LEVEL
     Full-use

   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)).



























   2-595






   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

   AES SUPPORT LEVEL
     Full-use

   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 also calls the widget's XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk and
     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.

     _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)).


















   2-596






                                                              XmTextPaste(3X)



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

   AES SUPPORT LEVEL
     Full-use

   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l--
     bbaacckk and XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk.

     _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)).


























   2-597






   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

   AES SUPPORT LEVEL
     Full-use

   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)).









   2-598






                                                           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

   AES SUPPORT LEVEL
     Full-use

   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)).






































   2-599






   XmTextRemove(3X)



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

   AES SUPPORT LEVEL
     Full-use

   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.  This routine also calls
     the widget's XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk and XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk call-
     backs if there is a selection.

     _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)).




























   2-600






                                                            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

   AES SUPPORT LEVEL
     Full-use

   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 also calls the widget's XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk and
     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.

     _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)).













   2-601






   XmTextScroll(3X)



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

   AES SUPPORT LEVEL
     Full-use

   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)).





























   2-602






                                                         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

   AES SUPPORT LEVEL
     Trial-use

   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)).




























   2-603






   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

   AES SUPPORT LEVEL
     Full-use

   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)).





























   2-604






                                                       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

   AES SUPPORT LEVEL
     Full-use

   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)).














   2-605






   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

   AES SUPPORT LEVEL
     Full-use

   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)).

























   2-606






                                                       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

   AES SUPPORT LEVEL
     Full-use

   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 resource or the XXmmTTeexxttSSeettSSttrriinngg 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)) and XXmmTTeexxttSSeettSSttrriinngg((33XX)).

























   2-607






   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

   AES SUPPORT LEVEL
     Full-use

   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)).




















   2-608






                                                          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

   AES SUPPORT LEVEL
     Trial-use

   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)).








   2-609






   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

   AES SUPPORT LEVEL
     Full-use

   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NmmooddiiffyyVVeerriiffyyCCaallllbbaacckk and 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.  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)).



























   2-610






                                                    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

   AES SUPPORT LEVEL
     Full-use

   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)).
























   2-611






   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

   AES SUPPORT LEVEL
     Full-use

   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)).

























   2-612






                                                            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

   AES SUPPORT LEVEL
     Full-use

   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)).



















   2-613






   XmToggleButton(3X)



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

   AES SUPPORT LEVEL
     Full-use

   HISTORY/DIRECTION
     The way background color is calculated based on XXmmNNiinnddiiccaattoorrOOnn and
     XXmmNNffiillllOOnnSSeelleecctt has been changed (for Trial-use).

   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


   2-614






                                                           XmToggleButton(3X)


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


   2-615






   XmToggleButton(3X)


               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
               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.


   2-616






                                                           XmToggleButton(3X)



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


   2-617






   XmToggleButton(3X)


   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
   XmNshadowThickness      XmCShadowThickness      Dimension          dynamic                CSG
   XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
   XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
   XmNtraversalOn          XmCTraversalOn          Boolean            True                   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)





   2-618






                                                           XmToggleButton(3X)


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


   2-619






   XmToggleButton(3X)


               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 tab group 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 callbacks for this widget, this action calls the help
               callbacks 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 tab group 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.

     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.

   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)).
























   2-620






                                                     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

   AES SUPPORT LEVEL
     Full-use

   HISTORY/DIRECTION
     Changed the way background color is selected based on XXmmNNiinnddiiccaattoorrOOnn and
     XXmmNNffiillllOOnnSSeelleecctt (for Trial-use).

   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


   2-621






   XmToggleButtonGadget(3X)


     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
     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.


   2-622






                                                     XmToggleButtonGadget(3X)


               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
               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 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.  The meaning of this resource is undefined when XXmmNNiinn--
               ddiiccaattoorrOOnn is False.

     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


   2-623






   XmToggleButtonGadget(3X)


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


   2-624






                                                     XmToggleButtonGadget(3X)


   ___________________________________________________________________________________
   XmNhelpCallback         XmCCallback             XtCallbackList     NULL      C
   XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False     CSG
   XmNhighlightThickness   XmCHighlightThickness   Dimension          2         CSG
   XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE    CSG
   XmNshadowThickness      XmCShadowThickness      Dimension          dynamic   CSG
   XmNtraversalOn          XmCTraversalOn          Boolean            True      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)

   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)).











   2-625






   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

   AES SUPPORT LEVEL
     Full-use

   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)).





























   2-626






                                             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

   AES SUPPORT LEVEL
     Full-use

   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)).


















   2-627






   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

   AES SUPPORT LEVEL
     Full-use

   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)).





























   2-628






                                                   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

   AES SUPPORT LEVEL
     Full-use

   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)).



















   2-629






   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

   AES SUPPORT LEVEL
     Trial-use

   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 returns the widget in which a button press occurs.

     _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 in which a button press occurs.  If the window in
     which a button press occurs is not a widget, the function returns NULL.
























   2-630






                                                         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

   AES SUPPORT LEVEL
     Full-use

   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)).































   2-631






   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

   AES SUPPORT LEVEL
     Full-use

   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
     is not 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 transient window, such as a dia-
     log box, is unposted; callbacks are invoked before normal exposure pro-
     cessing can occur.

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

























   2-632



 h
