


                                                                   XmText(3X)



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

   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.  Text also provides a Drag and Drop
     facility that enables the user to copy or move data within Text or to a
     different widget.  When keyboard focus policy is set to EXPLICIT, the
     widget that receives focus is the destination widget.  In POINTER mode,
     any keyboard or mouse operation (except secondary selection) in an edit-
     able widget establishes that widget as the destination.

     If a destination widget becomes insensitive or uneditable, it forfeits
     its destination status.  In EXPLICIT mode, when a widget becomes insen-
     sitive, the focus moves to another widget.  If that widget is editable,
     it becomes the destination widget; otherwise, there is no destination
     widget.  The text of any insensitive Text widget is stippled, indicating
     its state to the user.

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





   1-695






   XmText(3X)


     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.

     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
   XmNmodifyVerifyCallbackWcs   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
   XmNvalueWcs                  XmCvalueWcs                 wchar_t *        (wchar_t *)""        CSG*
   XmNverifyBell                XmCVerifyBell               Boolean          dynamic              CSG

     * This resource cannot be set in a resource file.

     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


   1-696






                                                                   XmText(3X)


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


   1-697






   XmText(3X)


               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-
               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.
               If both 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oddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss
               are registered callback lists, the procedure(s) in the XXmmNNmmoo--
               ddiiffyyVVeerriiffyyCCaallllbbaacckk list are always executed first; and the
               resulting data, which may have been modified, is passed to the
               XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callback routines.

     XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss
               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tWWccss.  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kWWccss.
               If both 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oddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss
               are registered callback lists, the procedure(s) in the XXmmNNmmoo--
               ddiiffyyVVeerriiffyyCCaallllbbaacckk list are always executed first; and the
               resulting data, which may have been modified, is passed to the
               XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callback routines.

     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.



   1-698






                                                                   XmText(3X)


     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  Specifies the string value of the Text widget as a cchhaarr** data
               value.  XXmmNNvvaalluuee and XXmmNNvvaalluueeWWccss are both defined, the value
               of XXmmNNvvaalluueeWWccss supersedes that of XXmmNNvvaalluuee.  XXttGGeettVVaalluueess
               returns a copy of the value of the internal buffer and XXttSSeett--
               V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vaalluueeWWccss
               Specifies the string value of the Text widget as a wwcchhaarr__tt**
               data value.  This resource cannot be specified in a resource
               file.
               If XXmmNNvvaalluuee and XXmmNNvvaalluueeWWccss are both defined, the value of
               XXmmNNvvaalluueeWWccss supersedes that of XXmmNNvvaalluuee.  XXttGGeettVVaalluueess returns
               a copy of the value of the internal buffer encoded as a wide
               character string.  XXttSSeettVVaalluueess copies the value of the wide
               character string into the internal buffer.

     XXmmNNvveerriiffyyBBeellll
               Specifies whether the bell should sound when the verification
               returns without continuing the action.  The default depends on
               the value of the ancestor VendorShell's XXmmNNaauuddiibblleeWWaarrnniinngg
               resource.

                                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



   1-699






   XmText(3X)


     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.

























   1-700






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


   1-701






   XmText(3X)


               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.

     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




















   1-702






                                                                   XmText(3X)



     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
               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
   XmNunitType             XmCUnitType             unsigned char      dynamic                CSG
   XmNuserData             XmCUserData             XtPointer          NULL                   CSG




   1-703






   XmText(3X)


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





   1-704






                                                                   XmText(3X)


     {{
       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 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
            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;;












   1-705






   XmText(3X)


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

     A pointer to the following structure is passed to callbacks for XXmmNNmmoo--
     ddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss.
     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kWWccss _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tWWccss,, **XXmmTTeexxttVVeerriiffyyPPttrrWWccss;;

     _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 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
            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cWWccss.  This structure
            holds the textual information to be inserted.
     ttyyppeeddeeff ssttrruucctt
     {{
       wwcchhaarr__tt      **_w_c_s_p_t_r;;
       iinntt          _l_e_n_g_t_h;;
     }} XXmmTTeexxttBBlloocckkRReeccWWccss,, **XXmmTTeexxttBBlloocckkWWccss;;



   1-706






                                                                   XmText(3X)


     _w_c_s_p_t_r Points to the wide character text to be inserted.

     _l_e_n_g_t_h Specifies the number of characters to be inserted.

     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

     Translations

     XmText includes translations from XmPrimitive.  The XmText translations
     are listed below.  These translations may not directly correspond to a
     translation table.  The actions represent the effective behavior of the
     associated events, and they may differ in a right-to-left language
     environment.
     BBSSeelleecctt PPrreessss:: ggrraabb--ffooccuuss(())
     BBSSeelleecctt MMoottiioonn::eexxtteenndd--aaddjjuusstt(())
     BBSSeelleecctt RReelleeaassee::eexxtteenndd--eenndd(())
     BBEExxtteenndd PPrreessss:: eexxtteenndd--ssttaarrtt(())
     BBEExxtteenndd MMoottiioonn::eexxtteenndd--aaddjjuusstt(())
     BBEExxtteenndd RReelleeaassee::eexxtteenndd--eenndd(())
     BBTTooggggllee PPrreessss:: mmoovvee--ddeessttiinnaattiioonn(())
     BBDDrraagg PPrreessss::   pprroocceessss--bbddrraagg(())
     BBDDrraagg MMoottiioonn::  sseeccoonnddaarryy--aaddjjuusstt(())
     BBDDrraagg RReelleeaassee:: ccooppyy--ttoo(())
     MMCCttrrll BBDDrraagg PPrreessss::pprroocceessss--bbddrraagg(())
     MMCCttrrll BBDDrraagg MMoottiioonn::sseeccoonnddaarryy--aaddjjuusstt(())
     MMCCttrrll BBDDrraagg RReelleeaassee::ccooppyy--ttoo(())
     MMAAlltt BBDDrraagg PPrreessss::pprroocceessss--bbddrraagg(())
     MMAAlltt BBDDrraagg MMoottiioonn::sseeccoonnddaarryy--aaddjjuusstt(())
     MMAAlltt BBDDrraagg RReelleeaassee::ccooppyy--ttoo(())
     MMSShhiifftt BBDDrraagg PPrreessss::pprroocceessss--bbddrraagg(())
     MMSShhiifftt BBDDrraagg MMoottiioonn::sseeccoonnddaarryy--aaddjjuusstt(())
     MMSShhiifftt BBDDrraagg RReelleeaassee::mmoovvee--ttoo(())
     MMAAlltt MMCCttrrll BBDDrraagg RReelleeaassee::ccooppyy--ttoo(())
     MMAAlltt MMSShhiifftt BBDDrraagg RReelleeaassee::mmoovvee--ttoo(())
     KKUUpp::           pprroocceessss--uupp(())
     MMSShhiifftt KKUUpp::    pprroocceessss--sshhiifftt--uupp(())
     MMCCttrrll KKUUpp::     bbaacckkwwaarrdd--ppaarraaggrraapphh(())
     MMSShhiifftt MMCCttrrll KKUUpp::bbaacckkwwaarrdd--ppaarraaggrraapphh((eexxtteenndd))
     KKDDoowwnn::         pprroocceessss--ddoowwnn(())
     MMSShhiifftt KKDDoowwnn::  pprroocceessss--sshhiifftt--ddoowwnn(())
     MMCCttrrll KKDDoowwnn::   ffoorrwwaarrdd--ppaarraaggrraapphh(())


   1-707






   XmText(3X)


     MMSShhiifftt MMCCttrrll KKDDoowwnn::ffoorrwwaarrdd--ppaarraaggrraapphh((eexxtteenndd))
     KKLLeefftt::         bbaacckkwwaarrdd--cchhaarraacctteerr(())
     MMSShhiifftt KKLLeefftt::  kkeeyy--sseelleecctt((lleefftt))
     MMCCttrrll KKLLeefftt::   bbaacckkwwaarrdd--wwoorrdd(())
     MMSShhiifftt MMCCttrrll KKLLeefftt::bbaacckkwwaarrdd--wwoorrdd((eexxtteenndd))
     KKRRiigghhtt::        ffoorrwwaarrdd--cchhaarraacctteerr(())
     MMSShhiifftt KKRRiigghhtt:: kkeeyy--sseelleecctt((rriigghhtt))
     MMCCttrrll KKRRiigghhtt::  ffoorrwwaarrdd--wwoorrdd(())
     MMSShhiifftt MMCCttrrll KKRRiigghhtt::ffoorrwwaarrdd--wwoorrdd((eexxtteenndd))
     KKPPaaggeeUUpp::       pprreevviioouuss--ppaaggee(())
     MMSShhiifftt KKPPaaggeeUUpp::pprreevviioouuss--ppaaggee((eexxtteenndd))
     KKPPaaggeeDDoowwnn::     nneexxtt--ppaaggee(())
     MMSShhiifftt KKPPaaggeeDDoowwnn::nneexxtt--ppaaggee((eexxtteenndd))
     KKPPaaggeeLLeefftt::     ppaaggee--lleefftt(())
     KKPPaaggeeRRiigghhtt::    ppaaggee--rriigghhtt(())
     KKBBeeggiinnLLiinnee::    bbeeggiinnnniinngg--ooff--lliinnee(())
     MMSShhiifftt KKBBeeggiinnLLiinnee::bbeeggiinnnniinngg--ooff--lliinnee((eexxtteenndd))
     KKEEnnddLLiinnee::      eenndd--ooff--lliinnee(())
     MMSShhiifftt KKEEnnddLLiinnee::eenndd--ooff--lliinnee((eexxtteenndd))
     KKBBeeggiinnDDaattaa::    bbeeggiinnnniinngg--ooff--ffiillee(())
     MMSShhiifftt KKBBeeggiinnDDaattaa::bbeeggiinnnniinngg--ooff--ffiillee((eexxtteenndd))
     KKEEnnddDDaattaa::      eenndd--ooff--ffiillee(())
     MMSShhiifftt KKEEnnddDDaattaa::eenndd--ooff--ffiillee((eexxtteenndd))
     KKTTaabb::          pprroocceessss--ttaabb(())
     KKNNeexxttFFiieelldd::    nneexxtt--ttaabb--ggrroouupp(())
     KKPPrreevvFFiieelldd::    pprreevv--ttaabb--ggrroouupp(())
     KKEEnntteerr::        pprroocceessss--rreettuurrnn(())
     KKAAccttiivvaattee::     aaccttiivvaattee(())
     KKDDeelleettee::       ddeelleettee--nneexxtt--cchhaarraacctteerr(())
     KKBBaacckkSSppaaccee::    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(())
     KKAAddddMMooddee::      ttooggggllee--aadddd--mmooddee(())
     KKSSppaaccee::        sseellff--iinnsseerrtt(())
     MMSShhiifftt KKSSppaaccee:: sseellff--iinnsseerrtt(())
     KKSSeelleecctt::       sseett--aanncchhoorr(())
     KKEExxtteenndd::       kkeeyy--sseelleecctt(())
     MMAAnnyy KKCCaanncceell::  pprroocceessss--ccaanncceell(())
     KKCClleeaarr::        cclleeaarr--sseelleeccttiioonn(())
     KKSSeelleeccttAAllll::    sseelleecctt--aallll(())
     KKDDeesseelleeccttAAllll::  ddeesseelleecctt--aallll(())
     KKCCuutt::          ccuutt--cclliippbbooaarrdd(())
     KKCCooppyy::         ccooppyy--cclliippbbooaarrdd(())
     KKPPaassttee::        ppaassttee--cclliippbbooaarrdd(())
     KKPPrriimmaarryyCCuutt::   ccuutt--pprriimmaarryy(())
     KKPPrriimmaarryyCCooppyy::  ccooppyy--pprriimmaarryy(())
     KKPPrriimmaarryyPPaassttee:: ccooppyy--pprriimmaarryy(())
     KKHHeellpp::         HHeellpp(())
     KKAAnnyy::          sseellff--iinnsseerrt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


   1-708






                                                                   XmText(3X)


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


   1-709






   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.

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


   1-710






                                                                   XmText(3X)


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


   1-711






   XmText(3X)



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


   1-712






                                                                   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


   1-713






   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.


   1-714






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


   1-715






   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--bbddrraagg(())
               The result of this action is determined by several factors:
               position of the location cursor, movement of the location cur-
               sor, and the interval between a BBDDrraagg press and release.
               This action copies the current selection to the insertion cur-
               sor if text is selected, the location cursor is disjoint from
               the current selection, and no motion is detected within a
               given time interval.
               It performs a secondary selection and copies the selection to
               the position where the text was last edited if the cursor is
               disjoint from a current selection (if one exists), the time
               interval is exceeded, and movement of the location cursor is
               detected.
               The action drags the current selection if the location cursor
               is positioned on the selection, the time interval is exceeded,
               and movement of the location cursor is detected.  This action
               creates a DragContext object whose XXmmNNeexxppoorrttTTaarrggeettss resource
               value includes target types of COMPOUND_TEXT, STRING, and
               TEXT.

     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(()), sseeccoonnddaarryy--aaddjjuusstt(()) or
               pprroocceessss--bbddrraagg(()) 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.



   1-716






                                                                   XmText(3X)



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

     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--ccuurrssoorr--vveerrttiiccaallllyy((_p_e_r_c_e_n_t_a_g_e)):
               Scrolls the line containing the insertion cursor vertically to
               an intermediate position in the visible window based on an
               input percentage.  A value of 0 indicates the top of the win-
               dow; a value of 100, the bottom of the window.   If this
               action is called with no argument, the line containing the
               insertion cursor is scrolled vertically to a new position
               designated by the _y position of the event passed to the rou-
               tine.

     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.



   1-717






   XmText(3X)


     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--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tooggggllee--oovveerrssttrriikkee(()):
               Toggles the state of the text insertion mode.  By default,
               characters typed into the Text widget are inserted at the
               position of the insertion cursor.  In overstrike mode, charac-
               ters entered into the Text widget replace the characters that
               directly follow the insertion cursor.  In overstrike mode,
               when the end of a line is reached, characters are appended to
               the end of the line.



   1-718






                                                                   XmText(3X)


     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.

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

     Additional Behavior

     This widget has the additional behavior described below:

     <<FFooccuussIInn>>:
               Draws the insertion cursor as solid and starts blinking the
               cursor.

     <<FFooccuussOOuutt>>:
               Displays the insertion cursor as a stippled I-beam unless it
               is the destination widget.

     Virtual Bindings

     The bindings for virtual keys are vendor specific.  The following table
     lists the Text-specific bindings of virtual keys to actual key event
     descriptions in 1/Motif:

                               VViirrttuuaall KKeeyy BBiinnddiinnggss
                        __________________________________
                        VViirrttuuaall KKeeyy   AAccttuuaall KKeeyy EEvveennttss
                        ____________________________________________________________________
                        KKAAccttiivvaattee     CCttrrll<<KKeeyy>>RReettuurrnn
                                      <<KKeeyy>>oossffAAccttiivvaattee
                        __________________________________
                        KKEExxtteenndd       CCttrrll SShhiifftt<<KKeeyy>>ssppaaccee
                                      SShhiifftt<<KKeeyy>>oossffSSeelleecctt
                        __________________________________
                        KKNNeexxttFFiieelldd    CCttrrll<<KKeeyy>>TTaabb
                        __________________________________
                        KKSSeelleecctt       CCttrrll<<KKeeyy>>ssppaaccee
                                      <<KKeeyy>>oossffSSeelleecctt
                        __________________________________
     For information about bindings for virtual buttons and keys, see
     VViirrttuuaallBBiinnddiinnggss((33XX)).

   RELATED INFORMATION
     CCoorree((33XX)), XXmmCCrreeaatte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tEEnnaabblleeRReeddiissppllaayy((33XX)),
     XXmmTTeexxttDDiissaabblleeRReeddiissppllaayy((33XX)), XXmmTTeexxttFFiieelldd((33XX)), XXmmTTeexxttFFiinnddSSttrriinngg((33XX)),
     XXmmTTeexxttFFiinnddSSttrriinnggWWccss((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)),


   1-719






   XmText(3X)


     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nWWccss((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tSSttrriinnggWWccss((33XX)),
     XXmmTTeexxttGGeettSSuubbssttrriinngg((33XX)), XXmmTTeexxttGGeettSSuubbssttrriinnggWWccss((33XX)),
     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tIInnsseerrttWWccss((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tRReeppllaacceeWWccss((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tSSttrriinnggWWccss((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)).











































   1-720






                                                     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

   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.  One source of a valid time stamp is the function
            XXttLLaassttTTiimmeessttaammppPPrroocceesssseedd(()).

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

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































   1-721






   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

   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.  One source of a valid time stamp is the function
            XXttLLaassttTTiimmeessttaammppPPrroocceesssseedd(()).

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
























   1-722






                                                                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

   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 calls the widget's
     XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk and verification callbacks, either XXmmNNmmooddiiffyyVVeerr--
     iiffyyCCaallllbbaacckk or XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss, or both.  If both verifica-
     tion callback lists are registered, the procedures 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 list are executed first and the resulting data is passed to
     the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.

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

     _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.  One source of a valid time stamp is the function
            XXttLLaassttTTiimmeessttaammppPPrroocceesssseedd(()).

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


















   1-723






   XmTextDisableRedisplay(3X)



   NAME
     XXmmTTeexxttDDiissaabblleeRReeddiissppllaayy-A Text function that temporarily prevents visual
     update of the Text widget

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttDDiissaabblleeRRe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mTTeexxttDDiissaabblleeRReeddiissppllaayy prevents redisplay of the specified Text widget
     even though its visual attributes have been modified.  The visual
     appearance of the widget remains unchanged until XXmmTTeexxttEEnnaabblleeRReeddiissppllaayy
     is called.  This allows an application to make multiple changes to the
     widget without causing intermediate visual updates.

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

   RELATED INFORMATION
     XXmmTTeexxttEEnnaabblleeRReeddiissppllaayy((33XX)).



































   1-724






                                                    XmTextEnableRedisplay(3X)



   NAME
     XXmmTTeexxttEEnnaabblleeRReeddiissppllaayy-A Text function that forces the visual update of a
     Text widget

   SYNOPSIS
     ##iinncclluuddee <<XXmm//TTeexxtt..hh>>
     vvooiidd XXmmTTeexxttEEnnaabblleeRRe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mTTeexxttEEnnaabblleeRReeddiissppllaayy is used in conjunction with XXmmTTeexxttDDiissaa--
     bblleeRReeddiissppllaayy, which suppresses visual update of the Text widget.  When
     XXmmTTeexxttEEnnaabblleeRReeddiissppllaayy is called, it determines if any visual attributes
     have been set or modified for the specified widget since XXmmTTeexxttDDiissaa--
     bblleeRReeddiissppllaayy was called.  If so, it forces the widget to update its
     visual display for all of the intervening changes.  Any subsequent
     changes that affect visual appearance cause the widget to update its
     visual display.

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

   RELATED INFORMATION
     XXmmTTeexxttDDiissaabblleeRReeddiissppllaayy((33XX)).
































   1-725






   XmTextField(3X)



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

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


   1-726






                                                              XmTextField(3X)


   _________________________________________________________________________________________________
   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
   XmNmodifyVerifyCallbackWcs   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
   XmNvalueWcs                  XmCValueWcs                wchar_t *        (wchar_t *)""     CSG*
   XmNverifyBell                XmCVerifyBell              Boolean          dynamic           CSG
     *  This resource cannot be specified in a resource file.

     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


   1-727






   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.







   1-728






                                                              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.
               If both 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oddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss
               are registered callback lists, the procedure(s) in the XXmmNNmmoo--
               ddiiffyyVVeerriiffyyCCaallllbbaacckk list are always executed first; and the
               resulting data, which may have been modified, is passed to the
               XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callback routines.

     XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss
               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tWWccss.  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kWWccss.
               If both 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oddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss
               are registered callback lists, the procedure(s) in the XXmmNNmmoo--
               ddiiffyyVVeerriiffyyCCaallllbbaacckk list are always executed first; and the
               resulting data, which may have been modified, is passed to the
               XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callback routines.

     XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckk


   1-729






   XmTextField(3X)


               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.

     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  Specifies the string value of the TextField widget as a cchhaarr**
               data value. If XXmmNNvvaalluuee and XXmmNNvvaalluueeWWccss are both defined, the
               value of XXmmNNvvaalluueeWWccss supersedes that of XXmmNNvvaalluuee.  XXttGGeettVVaalluueess
               returns a copy of the value of the internal buffer and XXttSSeett--
               V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


   1-730






                                                              XmTextField(3X)


               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vaalluueeWWccss
               Specifies the string value of the TextField widget as a
               wwcchhaarr__tt** data value.  This resource cannot be specified in a
               resource file.
               If XXmmNNvvaalluuee and XXmmNNvvaalluueeWWccss are both defined, the value of
               XXmmNNvvaalluueeWWccss supersedes that of XXmmNNvvaalluuee.  XXttGGeettVVaalluueess returns
               a copy of the value of the internal buffer encoded as a wide
               character string.  XXttSSeettVVaalluueess copies the value of the wide
               character string into the internal buffer.

     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.  The default depends on the
               value of the ancestor VendorShell's XXmmNNaauuddiibblleeWWaarrnniinngg
               resource.

     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
   ________________________________________________________________________________________________
   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
   XmNunitType             XmCUnitType             unsigned char      dynamic                CSG
   XmNuserData             XmCUserData             XtPointer          NULL                   CSG
                                                 CCoorree RReessoouurrccee SSeett
   NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss
   ______________________________________________________________________________________________________________
   XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
   XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
   XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
   XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
   XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
   XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG


   1-731






   XmTextField(3X)


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














   1-732






                                                              XmTextField(3X)


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











   1-733






   XmTextField(3X)



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

     A pointer to the following structure is passed to callbacks for XXmmNNmmoo--
     ddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss.
     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mWWccssT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tWWccss,, **XXmmTTeexxttVVeerriiffyyPPttrrWWccss;;

     _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 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
            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cWWccss.  This structure
            holds the textual information to be inserted.
     ttyyppeeddeeff ssttrruucctt
     {{


   1-734






                                                              XmTextField(3X)


             wwcchhaarr__tt **_w_c_s_p_t_r;;
             iinntt    _l_e_n_g_t_h;;
     }} XXmmTTeexxttBBlloocckkRReeccWWccss,, **XXmmTTeexxttBBlloocckkWWccss;;

     _w_c_s_p_t_r Points to the wide character text to be inserted.

     _l_e_n_g_t_h Specifies the number of characters to be inserted.

     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

     Translations

     XmTextField includes translations from XmPrimitive.  The XmTextField
     translations are listed below.  These translations may not directly
     correspond to a translation table.  The actions represent the effective
     behavior of the associated events, and they may differ in a right-to-
     left language environment.
     BBSSeelleecctt PPrreessss:: ggrraabb--ffooccuuss(())
     BBSSeelleecctt MMoottiioonn::eexxtteenndd--aaddjjuusstt(())
     BBSSeelleecctt RReelleeaassee::eexxtteenndd--eenndd(())
     BBEExxtteenndd PPrreessss:: eexxtteenndd--ssttaarrtt(())
     BBEExxtteenndd MMoottiioonn::eexxtteenndd--aaddjjuusstt(())
     BBEExxtteenndd RReelleeaassee::eexxtteenndd--eenndd(())
     BBTTooggggllee PPrreessss:: mmoovvee--ddeessttiinnaattiioonn(())
     BBDDrraagg PPrreessss::   pprroocceessss--bbddrraagg(())
     BBDDrraagg MMoottiioonn::  sseeccoonnddaarryy--aaddjjuusstt(())
     BBDDrraagg RReelleeaassee:: ccooppyy--ttoo(())
     MMCCttrrll BBDDrraagg PPrreessss::pprroocceessss--bbddrraagg(())
     MMCCttrrll BBDDrraagg MMoottiioonn::sseeccoonnddaarryy--aaddjjuusstt(())
     MMCCttrrll BBDDrraagg RReelleeaassee::ccooppyy--ttoo(())
     MMSShhiifftt BBDDrraagg PPrreessss::pprroocceessss--bbddrraagg(())
     MMSShhiifftt BBDDrraagg MMoottiioonn::sseeccoonnddaarryy--aaddjjuusstt(())
     MMSShhiifftt BBDDrraagg RReelleeaassee::mmoovvee--ttoo(())
     MMAAlltt BBDDrraagg PPrreessss::pprroocceessss--bbddrraagg(())
     MMAAlltt BBDDrraagg MMoottiioonn::sseeccoonnddaarryy--aaddjjuusstt(())
     MMAAlltt BBDDrraagg RReelleeaassee::ccooppyy--ttoo(())
     MMAAlltt MMCCttrrll BBDDrraagg RReelleeaassee::ccooppyy--ttoo(())
     MMAAlltt MMSShhiifftt BBDDrraagg RReelleeaassee::mmoovvee--ttoo(())
     KKUUpp::           ttrraavveerrssee--pprreevv(())
     KKDDoowwnn::         ttrraavveerrssee--nneexxtt(())
     KKLLeefftt::         bbaacckkwwaarrdd--cchhaarraacctteerr(())
     MMSShhiifftt KKLLeefftt::  kkeeyy--sseelleecctt((lleefftt))
     MMCCttrrll KKLLeefftt::   bbaacckkwwaarrdd--wwoorrdd(())


   1-735






   XmTextField(3X)


     MMSShhiifftt MMCCttrrll KKLLeefftt::bbaacckkwwaarrdd--wwoorrdd((eexxtteenndd))
     KKRRiigghhtt::        ffoorrwwaarrdd--cchhaarraacctteerr(())
     MMSShhiifftt KKRRiigghhtt:: kkeeyy--sseelleecctt((rriigghhtt))
     MMCCttrrll KKRRiigghhtt::  ffoorrwwaarrdd--wwoorrdd(())
     MMSShhiifftt MMCCttrrll KKRRiigghhtt::ffoorrwwaarrdd--wwoorrdd((eexxtteenndd))
     KKPPaaggeeLLeefftt::     ppaaggee--lleefftt(())
     KKPPaaggeeRRiigghhtt::    ppaaggee--rriigghhtt(())
     KKBBeeggiinnLLiinnee::    bbeeggiinnnniinngg--ooff--lliinnee(())
     MMSShhiifftt KKBBeeggiinnLLiinnee::bbeeggiinnnniinngg--ooff--lliinnee((eexxtteenndd))
     KKEEnnddLLiinnee::      eenndd--ooff--lliinnee(())
     MMSShhiifftt KKEEnnddLLiinnee::eenndd--ooff--lliinnee((eexxtteenndd))
     KKNNeexxttFFiieelldd::    nneexxtt--ttaabb--ggrroouupp(())
     KKPPrreevvFFiieelldd::    pprreevv--ttaabb--ggrroouupp(())
     KKAAccttiivvaattee::     aaccttiivvaattee(())
     KKDDeelleettee::       ddeelleettee--nneexxtt--cchhaarraacctteerr(())
     KKBBaacckkSSppaaccee::    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(())
     KKAAddddMMooddee::      ttooggggllee--aadddd--mmooddee(())
     KKSSppaaccee::        sseellff--iinnsseerrtt(())
     MMSShhiifftt KKSSppaaccee:: sseellff--iinnsseerrtt(())
     KKSSeelleecctt::       sseett--aanncchhoorr(())
     KKEExxtteenndd::       kkeeyy--sseelleecctt(())
     MMAAnnyy KKCCaanncceell::  pprroocceessss--ccaanncceell(())
     KKCClleeaarr::        cclleeaarr--sseelleeccttiioonn(())
     KKSSeelleeccttAAllll::    sseelleecctt--aallll(())
     KKDDeesseelleeccttAAllll::  ddeesseelleecctt--aallll(())
     KKCCuutt::          ccuutt--cclliippbbooaarrdd(())
     KKCCooppyy::         ccooppyy--cclliippbbooaarrdd(())
     KKPPaassttee::        ppaassttee--cclliippbbooaarrdd(())
     KKPPrriimmaarryyCCuutt::   ccuutt--pprriimmaarryy(())
     KKPPrriimmaarryyCCooppyy::  ccooppyy--pprriimmaarryy(())
     KKPPrriimmaarryyPPaassttee:: ccooppyy--pprriimmaarryy(())
     KKHHeellpp::         HHeellpp(())
     KKAAnnyy::          sseellff--iinnsseerrt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


   1-736






                                                              XmTextField(3X)


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



   1-737






   XmTextField(3X)


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


   1-738






                                                              XmTextField(3X)


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


   1-739






   XmTextField(3X)


               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.

     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--bbddrraagg(())
               The result of this action is determined by several factors:
               position of the location cursor, movement of the location cur-
               sor, and the interval between a BBDDrraagg press and release.
               This action copies the current selection to the insertion cur-
               sor if text is selected, the location cursor is disjoint from


   1-740






                                                              XmTextField(3X)


               the selection, and no motion is detected within a given time
               interval.
               It performs a secondary selection and copies the selection to
               the position where the text was last edited if the cursor is
               disjoint from a current selection (if one exists), the time
               interval is exceeded, and movement of the location cursor is
               detected.
               The action drags the current selection if the location cursor
               is positioned on the selection, the time interval is exceeded,
               and movement of the location cursor is detected.  This action
               creates a DragContext object whose XXmmNNeexxppoorrttTTaarrggeettss resource
               value includes target types of COMPOUND_TEXT, STRING, and
               TEXT.

     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(()), sseeccoonnddaarryy--aaddjjuusstt(()) or
               pprroocceessss--bbddrraagg 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.

     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tooggggllee--oovveerrssttrriikkee(()):
               Toggles the state of the text insertion mode.  By default,
               characters typed into the TextField widget are inserted before
               the position of the insertion cursor.  In overstrike mode,
               characters entered into the TextField widget replace the char-
               acters that directly follow the insertion cursor.  In over-
               strike mode, when the end of a line is reached, characters are
               appended to the end of the line.

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



   1-741






   XmTextField(3X)


     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.

     Additional Behavior

     This widget has the additional behavior described below:

     <<FFooccuussIInn>>:
               Draws the insertion cursor as solid and starts blinking the
               cursor.

     <<FFooccuussOOuutt>>:
               Displays the insertion cursor as a stippled I-beam unless it
               is the destination widget.

     Virtual Bindings

     The bindings for virtual keys are vendor specific.  The following table
     lists the TextField-specific bindings of virtual keys to actual key
     event descriptions in 1/Motif:

                               VViirrttuuaall KKeeyy BBiinnddiinnggss
                        __________________________________
                        VViirrttuuaall KKeeyy   AAccttuuaall KKeeyy EEvveennttss
                        ____________________________________________________________________
                        KKEExxtteenndd       CCttrrll SShhiifftt<<KKeeyy>>ssppaaccee
                                      SShhiifftt<<KKeeyy>>oossffSSeelleecctt
                        __________________________________
                        KKSSeelleecctt       CCttrrll<<KKeeyy>>ssppaaccee
                                      <<KKeeyy>>oossffSSeelleecctt
     For information about bindings for virtual buttons and keys, see
     VViirrttuuaallBBiinnddiinnggss((33XX)).

   RELATED INFORMATION
     CCoorree((33XX)), XXmmCCrreeaatte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)), *LXmTextFieldGetSelectionWcs(3X),
     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SttrriinnggWWccss((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dGGeettSSuubbssttrriinnggWWccss((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dIInnsseerrttWWccss((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dRReeppllaacceeWWccss((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SeettSSttrriinnggWWccss((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)).


   1-742






                                                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

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































   1-743






   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

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

























   1-744






                                                           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

   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 calls the widget's
     XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk and verification callbacks, either XXmmNNmmooddiiffyyVVeerr--
     iiffyyCCaallllbbaacckk or XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss, or both.  If both verifica-
     tion callback lists are registered, the procedures 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 list are executed first and the resulting data is passed to
     the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.

     _w_i_d_g_e_t Specifies the 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)).



















   1-745






   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

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



























   1-746






                                                   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

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































   1-747






   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

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






























   1-748






                                               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

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






























   1-749






   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

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




























   1-750






                                                  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

   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)) and XXmmTTeexxttFFiieellddGGeettSSeelleeccttiioonnWWccss((33XX)).





























   1-751






   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

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



















   1-752






                                               XmTextFieldGetSelectionWcs(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nWWccss-A TextField function that retrieves the value
     of a wide character encoded primary selection

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

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

     _w_i_d_g_e_t Specifies the 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 wide character string that is associated with the primary
     selection in the TextField widget.

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)) and 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)).




























   1-753






   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

   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)) and XXmmTTeexxttFFiieellddGGeettSSttrriinnggWWccss((33XX)).






























   1-754






                                                  XmTextFieldGetStringWcs(3X)



   NAME
     XXmmTTeexxttFFiieellddGGeettSSttrriinnggWWccss-A TextField function that retrieves a copy of
     the wide character string value of a TextField widget

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

   DESCRIPTION
     XXmmTTeexxttFFiieellddGGeettSSttrriinnggWWccss retrieves a copy of the wide character string
     value of the TextField widget.  The application is responsible for free-
     ing 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 the wide character string value of the TextField widget.  The
     function 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)) and XXmmTTeexxttFFiieellddGGeettSSttrriinngg((33XX)).





























   1-755






   XmTextFieldGetSubstring(3X)



   NAME
     XXmmTTeexxttFFiieellddGGeettSSuubbssttrriinngg-A TextField function that retrieves a copy of a
     portion of the internal text buffer

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

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

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

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

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

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

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

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

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

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

   RETURN VALUE

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

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


   1-756






                                                  XmTextFieldGetSubstring(3X)


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

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

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)) and XXmmTTeexxttFFiieellddGGeettSSuubbssttrriinnggWWccss((33XX)).












































   1-757






   XmTextFieldGetSubstringWcs(3X)



   NAME
     XXmmTTeexxttFFiieellddGGeettSSuubbssttrriinnggWWccss-A TextField function that retrieves a a por-
     tion of a wide character internal text buffer

   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tSSuubbssttrriinnggWWccss ((_w_i_d_g_e_t, _s_t_a_r_t, _n_u_m__c_h_a_r_s, _b_u_f_f_e_r__s_i_z_e, _b_u_f_f_e_r))
          WWiiddggeett      _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn_s_t_a_r_t;;
          iinntt         _n_u_m__c_h_a_r_s;;
          iinntt         _b_u_f_f_e_r__s_i_z_e;;
          wwcchhaarr__tt     **_b_u_f_f_e_r;;

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

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

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

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

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

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

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

   RETURN VALUE

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

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

     XXmmCCOOPPYY__TTRRUUNNCCAATTEEDD    The requested number of characters extended beyond
                         the internal buffer.  The function copied characters
                         to the end of the buffer and terminated the string


   1-758






                                               XmTextFieldGetSubstringWcs(3X)


                         with a NULL terminator; fewer than _n_u_m__c_h_a_r_s charac-
                         ters were copied.

   RELATED INFORMATION
     XXmmTTeexxttFFiieelldd((33XX)) and 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)).



















































   1-759






   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

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

     _w_i_d_g_e_t Specifies the 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)) and XXmmTTeexxttFFiieellddIInnsseerrttWWccss((33XX)).

















   1-760






                                                     XmTextFieldInsertWcs(3X)



   NAME
     XXmmTTeexxttFFiieellddIInnsseerrttWWccss-A TextField function that inserts a wide character
     string into a TextField widget

   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tWWccss ((_w_i_d_g_e_t, _p_o_s_i_t_i_o_n, _w_c_s_t_r_i_n_g))
          WWiiddggeett         _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn _p_o_s_i_t_i_o_n;;
          wwcchhaarr__tt        **_w_c_s_t_r_i_n_g;;

   DESCRIPTION
     XXmmTTeexxttFFiieellddIInnsseerrttWWccss inserts a wide character string into the TextField
     widget at a specified location.  The character positions begin at zero
     and are numbered sequentially from the beginning of the text.  For exam-
     ple, to insert a string after the fourth character, the _p_o_s_i_t_i_o_n parame-
     ter must be 4.

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

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

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

     _w_c_s_t_r_i_n_g
            Specifies the wide character string value to be added to the
            TextField 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)) and XXmmTTeexxttFFiieellddIInnsseerrtt((33XX)).
















   1-761






   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

   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 verification
     callbacks, either XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk or XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss,
     or both.  If both verification callback lists are registered, the pro-
     cedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are executed first and the
     resulting data is passed to the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.

     _w_i_d_g_e_t Specifies the 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)).























   1-762






                                                       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

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












   1-763






   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

   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.  If there is a
     selection, this routine also calls the widget's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
     and verification callbacks, either XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk or  XXmmNNmmoo--
     ddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss, or both.  If both verification callback lists are
     registered, the procedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are exe-
     cuted first and the resulting data is passed to the XXmmNNmmooddiiffyyVVeerr--
     iiffyyCCaallllbbaacckkWWccss callbacks.

     _w_i_d_g_e_t Specifies the 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)).


























   1-764






                                                       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

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

     _w_i_d_g_e_t Specifies the 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)).  XXmmTTeexxttFFiieellddRReeppllaacceeWWccss((33XX)).












   1-765






   XmTextFieldReplaceWcs(3X)



   NAME
     XXmmTTeexxttFFiieellddRReeppllaacceeWWccss-A TextField function that replaces part of a wide
     character string in a TextField widget

   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eWWccss ((_w_i_d_g_e_t, _f_r_o_m__p_o_s, _t_o__p_o_s, _w_c_s_t_r_i_n_g))
          WWiiddggeett      _w_i_d_g_e_t;;
          XXmmTTeexxttPPoossiittiioonn_f_r_o_m__p_o_s;;
          XXmmTTeexxttPPoossiittiioonn_t_o__p_o_s;;
          wwcchhaarr__tt     **_w_c_s_t_r_i_n_g;;

   DESCRIPTION
     XXmmTTeexxttFFiieellddRReeppllaacceeWWccss replaces part of the wide character string in the
     TextField widget.  The character positions begin at zero and are num-
     bered sequentially from the beginning of the text.

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

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

     _w_i_d_g_e_t    Specifies the 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

     _w_c_s_t_r_i_n_g  Specifies the wide character string value to be added to the
               TextField 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)) and XXmmTTeexxttFFiieellddRReeppllaaccee((33XX)).













   1-766






                                                    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

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






























   1-767






   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

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































   1-768






                                                  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

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

















   1-769






   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

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




























   1-770






                                                  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

   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 (or XXmmNNvvaalluueeWWccss) resource, or the XXmmTTeexxttFFiieellddSSeettSSttrriinngg (or
     XXmmTTeexxttFFiieellddSSeettSSttrriinnggWWccss) 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)), XXmmTTeexxttFFiieellddSSeettSSttrriinngg((33XX)), and XXmmTTeexxttFFiieellddSSeettSSttrriinnggWWccss((33XX)).


























   1-771






   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

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






















   1-772






                                                     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

   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NvvaalluueeCChhaannggeeddCCaallllbbaacckk and verification
     callbacks, either XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk or XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss,
     or both.  If both verification callback lists are registered, the pro-
     cedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are executed first and the
     resulting data is passed to the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.
     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 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)) and XXmmTTeexxttFFiieellddSSeettSSttrriinnggWWccss((33XX)).


























   1-773






   XmTextFieldSetStringWcs(3X)



   NAME
     XXmmTTeexxttFFiieellddSSeettSSttrriinnggWWccss-A TextField function that sets a wide character
     string value

   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gWWccss ((_w_i_d_g_e_t, _w_c_s_t_r_i_n_g))
          WWiiddggeett    _w_i_d_g_e_t;;
          wwcchhaarr__tt   **_w_c_s_t_r_i_n_g;;

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

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

     _w_c_s_t_r_i_n_g
            Specifies the wide character 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)) 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)).























   1-774






                                                  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

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




























   1-775






   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

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





















   1-776






                                                         XmTextFindString(3X)



   NAME
     XXmmTTeexxttFFiinnddSSttrriinngg-A Text function that finds the beginning position of a
     text string

   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mTTeexxttFFiinnddSSttrriinngg ((_w_i_d_g_e_t, _s_t_a_r_t, _s_t_r_i_n_g, _d_i_r_e_c_t_i_o_n, _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_s_t_a_r_t;;
          cchhaarr        **_s_t_r_i_n_g;;
          XXmmTTeexxttDDiirreeccttiioonn_d_i_r_e_c_t_i_o_n;;
          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innddSSttrriinngg locates the beginning position of a specified text
     string.  This routine searches forward or backward for the first
     occurrence of the string starting from the given start position. If it
     finds a match, the function returns the position of the first character
     of the string in _p_o_s_i_t_i_o_n.

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

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

     _s_t_r_i_n_g Specifies the search string.

     _d_i_r_e_c_t_i_o_n
            Indicates the search direction.  It is relative to the primary
            direction of the text.  The possible values are

            XXmmTTEEXXTT__FFOORRWWAARRDD    The search proceeds toward the end of the text
                              buffer.

            XXmmTTEEXXTT__BBAACCKKWWAARRDD   The search proceeds toward the beginning of the
                              text buffer.

     _p_o_s_i_t_i_o_n
            Specifies the pointer in which the first character position of
            the string match is returned.  This is an integer number of char-
            acters from the beginning of the buffer.  The first character
            position is 0.  If the function returns False, this value is
            undefined.

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

   RETURN VALUE
     Returns True if a string match is found; otherwise, returns False.





   1-777






   XmTextFindString(3X)


   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttFFiinnddSSttrriinnggWWccss((33XX)).






















































   1-778






                                                      XmTextFindStringWcs(3X)



   NAME
     XXmmTTeexxttFFiinnddSSttrriinnggWWccss-A Text function that finds the beginning position of
     a wide character text string

   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tFFiinnddSSttrriinnggWWccss ((_w_i_d_g_e_t, _s_t_a_r_t, _w_c_s_t_r_i_n_g, _d_i_r_e_c_t_i_o_n, _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_s_t_a_r_t;;
          wwcchhaarr__tt     **_w_c_s_t_r_i_n_g;;
          XXmmTTeexxttDDiirreeccttiioonn_d_i_r_e_c_t_i_o_n;;
          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innddSSttrriinnggWWccss locates the beginning position of a specified wide
     character text string.  This routine searches forward or backward for
     the first occurrence of the string, starting from the given start posi-
     tion.  If a match is found, the function returns the position of the
     first character of the string in _p_o_s_i_t_i_o_n.

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

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

     _w_c_s_t_r_i_n_g
            Specifies the wide character search string.

     _d_i_r_e_c_t_i_o_n
            Indicates the search direction. It is relative to the primary
            direction of the text.  The possible values are

            XXmmTTEEXXTT__FFOORRWWAARRDD    The search proceeds toward the end of the
                              buffer.

            XXmmTTEEXXTT__BBAACCKKWWAARRDD   The search proceeds toward the beginning of the
                              buffer.

     _p_o_s_i_t_i_o_n
            Specifies the pointer in which the first character position of
            the string match is returned.  This is an integer number of char-
            acters from the beginning of the buffer. The first character
            position is 0.  If the function returns False, this value is
            undefined.

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

   RETURN VALUE
     Returns True if a string match is found; otherwise, returns False.




   1-779






   XmTextFindStringWcs(3X)


   RELATED INFORMATION
     XXmmTTeexxtt((33XX)) and XXmmTTeexxttFFiinnddSSttrriinngg((33XX)).






















































   1-780



 E
