


     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



     NNAAMMEE
          XXmmTTeexxtt-The Text widget class

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//TTeexxtt..hh>>


     DDEESSCCRRIIPPTTIIOONN
          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.

        MMoouussee SSeelleeccttiioonn
          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 editable 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 insensitive, the focus moves to another
          widget.  If that widget is editable, it becomes the
          destination widget; otherwise, there is no destination



     1-792                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



          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.

        CCllaasssseess
          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.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer 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







     1-793                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



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

          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



     1-794                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



                    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 window and the text, and between the bottom
                    edge of the widget window and the text.

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

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



     1-795                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



                    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od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kS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od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 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 for
                    more than one XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckks to be
                    generated from a single action.

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

          XXmmNNttooppCChhaarraacctteerr
                    Displays the position of text at the top of the
                    window.  Position is determined by the number of
                    characters from the beginning 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



     1-796                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



                    XXmmNNttooppCChhaarraacctteerr returns the position of the first
                    character 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tVVaalluueess
                    copies the string values into the internal buffer.

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

          XXmmNNv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







     1-797                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



     ____________________________________________________________________________________
     XmNpendingDelete         XmCPendingDelete         Boolean     True            CSG
     XmNselectionArray        XmCSelectionArray        XtPointer   default array   CSG
     XmNselectionArrayCount   XmCSelectionArrayCount   int         4               CSG
     XmNselectThreshold       XmCSelectThreshold       int         5               CSG


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

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


                      +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  XXmmSSEELLEECCTT__WWOORRDD-selects a word

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

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










     1-798                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



                                 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 characters 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 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 ancestor is
                    found, the default is implementation dependent.




     1-799                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



                    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 information 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 accommodate all the text contained in the
                    widget when the Boolean value is True.  If the
                    Boolean value is set to True, the text is always
                    displayed starting from the first position in the
                    source, even if instructed otherwise.  This
                    attribute is ignored when the application uses a
                    ScrolledText widget and when XXmmNNssccrroollllVVeerrttiiccaall is
                    True.

          XXmmNNrreessiizzeeWWiiddtthh
                    Indicates that Text attempts to resize its width
                    to accommodate 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





     1-800                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



        NNaammee                  CCllaassss           TTyyppee      DDeeffaauulltt   AAcccceessss
        ________________________________________________________________
        XmNscrollHorizontal   XmCScroll       Boolean   True      CG
        XmNscrollLeftSide     XmCScrollSide   Boolean   dynamic   CG
        XmNscrollTopSide      XmCScrollSide   Boolean   False     CG
        XmNscrollVertical     XmCScroll       Boolean   True      CG


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


        IInnhheerriitteedd RReessoouurrcceess
          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







     1-801                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



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

        CCaallllbbaacckk IInnffoorrmmaattiioonn
          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



     1-802                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



          The Text widget defines a new callback structure for use
          with verification callbacks.  Note that not all 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 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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yCCaallllbbaacckk.

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt          _r_e_a_s_o_n;;
            XXEEvveenntt       * _e_v_e_n_t;;
            BBoooolleeaann      _d_o_i_t;;
            XXmmTTeexxttPPoossiittiioonn _c_u_r_r_I_n_s_e_r_t, _n_e_w_I_n_s_e_r_t;;
            XXmmTTeexxttPPoossiittiioonn _s_t_a_r_t_P_o_s, _e_n_d_P_o_s;;
            XXmmTTeexxttBBlloocckk  _t_e_x_t;;
          }} XXmmTTeexxttVVeerriiffyyCCaallllbbaacckkSSttrruucctt,, **XXmmTTeexxttVVeerriiffyyPPttrr;;


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

          _e_v_e_n_t  Points to the XXEEvveenntt that triggered the callback.  It
                 can be NULL.  For example, changes made to the Text
                 widget programmatically 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 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.




     1-803                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



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

          _t_e_x_t   Points to a structure of type XXmmTTeexxttBBlloocckkRReecc.  This
                 structure holds the textual information to be
                 inserted.

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


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

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

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


          A pointer to the following structure is passed to callbacks
          for 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.

          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 programmatically 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 performed.  Setting _d_o_i_t to False negates
                 the action.

          _c_u_r_r_I_n_s_e_r_t



     1-804                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



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


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

        TTrraannssllaattiioonnss
          XmText includes translations from XmPrimitive.  The XmText
          translations are listed below.  These translations may not



     1-805                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



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



     1-806                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



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



     1-807                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



        AAccttiioonn RRoouuttiinneess
          The XmText action routines are described below:


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

          bbaacckkwwaarrdd--cchhaarraacctteerr(()):
                    Moves the insertion cursor one character to the
                    left.  For other effects, see the description of
                    navigation operations in the "Keyboard Selection"
                    section.  This action may have different 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.








     1-808                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               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.

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

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

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

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

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

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

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

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




     1-809                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



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

          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 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 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 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
                    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 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
                    character of text immediately preceding the
                    insertion cursor.  This may impact the selection.

          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gDDeelleettee is set to True,
                    deletes the selection, otherwise deletes the



     1-810                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



                    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
                    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 following 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 Selection" section.

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

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



     1-811                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



                    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.

          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 different 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
                    paragraph, moves the insertion cursor to the
                    beginning of the next 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.






     1-812                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



          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 following 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 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 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ct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 cursor one character to the right and
                    extends the current selection.  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.



     1-813                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



          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 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 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 insertion 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 insertion cursor to the next space,
                    tab or end 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--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 insertion 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



     1-814                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



                    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 insertion 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 insertion 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 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 to the next beginning of line character and
                    stores the characters in the cut buffer.  This may
                    impact the selection.

          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



     1-815                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



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

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

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



     1-816                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



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

          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 cursor, and the interval
                    between a BBDDrraagg press and release.

                    This action copies the current selection to the
                    insertion cursor 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(()):



     1-817                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



                    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 cursor down one line.  For other
                    effects, see the description of navigation
                    operations in the "Keyboard Selection" section.

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

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




     1-818                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



          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 window; 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 routine.

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

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

          sseeccoonnddaarryy--aaddjjuusstt(()):
                    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(()):



     1-819                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



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

          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.


        AAddddiittiioonnaall BBeehhaavviioorr
          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.


        VViirrttuuaall BBiinnddiinnggss
          The bindings for virtual keys are vendor specific.  The



     1-820                                            (printed 5/7/92)






     XXmmTTeexxtt((33XX))               RReeffeerreennccee PPaaggeess               XXmmTTeexxtt((33XX))



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

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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)), 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-821                                            (printed 5/7/92)






     XXmmTTeexxttCClleeaarrSSeelleeccttiioonn((33XX)) RReeffeerreennccee PPaaggeess XXmmTTeexxttCClleeaarrSSeelleeccttiioonn((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxtt((33XX)).
























     1-822                                            (printed 5/7/92)






     XXmmTTeexxttCCooppyy((33XX))           RReeffeerreennccee PPaaggeess           XXmmTTeexxttCCooppyy((33XX))



     NNAAMMEE
          XXmmTTeexxttCCooppyy-A Text function that copies the primary selection
          to the clipboard

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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)).

     RREETTUURRNN VVAALLUUEE
          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.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxtt((33XX)).


















     1-823                                            (printed 5/7/92)






     XXmmTTeexxttCCuutt((33XX))            RReeffeerreennccee PPaaggeess            XXmmTTeexxttCCuutt((33XX))



     NNAAMMEE
          XXmmTTeexxttCCuutt-A Text function that copies the primary selection
          to the clipboard and deletes the selected text

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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riiffyyCCaallllbbaacckk or
          XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss, or both.  If both verification
          callback lists are registered, the procedures of the
          XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are executed first and the
          resulting data is passed to the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss
          callbacks.

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

     RREETTUURRNN VVAALLUUEE
          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.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxtt((33XX)).












     1-824                                            (printed 5/7/92)






     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))RReeffeerreennccee PPaaggeess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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-825                                            (printed 5/7/92)






     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))RReeffeerreennccee PPaaggeessXXmmTTeexxttEEnnaabblleeRReeddiissppllaayy((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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ab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ab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


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-826                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



     NNAAMMEE
          XXmmTTeexxttFFiieelldd-The TextField class

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//TTeexxttFF..hh>>


     DDEESSCCRRIIPPTTIIOONN
          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 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 actions.  The key
          bindings have been added for insert cursor movement,
          deletion, insertion, and selection 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.

        CCllaasssseess
          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.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer 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



     1-827                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



          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
     _________________________________________________________________________________________________
     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 invisible
                    (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



     1-828                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



                    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 characters 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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 ancestor 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
                    structure.




     1-829                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



                    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 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 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 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 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 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 that is called
                    before TextField 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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 window 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



     1-830                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



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



     1-831                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



          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 perform the defined
                    action for that index.  The possible actions are:


                      +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  XXmmSSEELLEECCTT__WWOORRDD-selects a word.

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

          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tVVaalluueess copies the string values into the
                    internal buffer.

          XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    after text is deleted from or inserted into
                    TextField.  The type of the structure whose
                    address is passed to this callback is
                    XXmmAAnny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
                    TextField widgets share the same source, only the
                    widget that initiates the source change will
                    generate the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk.  This
                    callback represents a change in the source in the
                    TextField, not in the TextField widget.  The
                    XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk should occur only in pairs
                    with a XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk, assuming that the
                    _d_o_i_t flag in the callback structure of the
                    XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk is not set to False.




     1-832                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



          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.


        IInnhheerriitteedd RReessoouurrcceess
          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







     1-833                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



     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

        CCaallllbbaacckk IInnffoorrmmaattiioonn
          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 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
          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yCCaallllbbaacckk.



     1-834                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



          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 programmatically 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-835                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



          _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od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 programmatically 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 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, the value is the
                 same as _s_t_a_r_t_P_o_s.  If the callback is not a modify



     1-836                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



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


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

        TTrraannssllaattiioonnss
          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(())



     1-837                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



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



     1-838                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



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


        AAccttiioonn RRoouuttiinneess
          The XmText action routines are described below:


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

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

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

                    If called with an argument of eexxtteenndd, moves the
                    insertion cursor as in the case of no argument and



     1-839                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



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

          ccooppyy--ttoo(()):
                    If a secondary selection exists, copies the
                    secondary selection 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 cursor.

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



     1-840                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



                    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 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
                    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 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
                    character of text immediately preceding the
                    insertion cursor.  This may impact the selection.

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



     1-841                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



                    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 following the insertion
                    cursor to the next end of line character.  This
                    may impact the selection.

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

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

          eenndd--ooff--lliinnee((_e_x_t_e_n_d)):
                    If this action is called with no argument, moves
                    the insertion cursor to the end 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)).

          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



     1-842                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



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

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

          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 cursor one character to the right and
                    extends the current selection.  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)).




     1-843                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((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 selection exists, cuts
                    the primary selection to the pointer location.

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

          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 cursor, and the interval
                    between a BBDDrraagg press and release.

                    This action copies the current selection to the
                    insertion cursor if text is selected, the location
                    cursor is disjoint from 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



     1-844                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



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

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



     1-845                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          XXmmTTeexxttFFiieelldd((33XX))



                    Traverses to the previous widget in the tab group.


        AAddddiittiioonnaall BBeehhaavviioorr
          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.


        VViirrttuuaall BBiinnddiinnggss
          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)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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)),



     1-846                                            (printed 5/7/92)






     XXmmTTeexxttFFiieelldd((33XX))          RReeffeerreennccee PPaaggeess          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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-847                                            (printed 5/7/92)






     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((RR3e3eXfXf)e)erreennccee PPaaXXgmgmeTeTses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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).


























     1-848                                            (printed 5/7/92)






     XXmmTTeexxttFFiieellddCCooppyy((33XX))      RReeffeerreennccee PPaaggeess      XXmmTTeexxttFFiieellddCCooppyy((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 modified.  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)).

     RREETTUURRNN VVAALLUUEE
          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.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).




















     1-849                                            (printed 5/7/92)






     XXmmTTeexxttFFiieellddCCuutt((33XX))       RReeffeerreennccee PPaaggeess       XXmmTTeexxttFFiieellddCCuutt((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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riiffyyCCaallllbbaacckk or
          XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss, or both.  If both verification
          callback lists are registered, the procedures of the
          XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are executed first and the
          resulting data is passed to the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss
          callbacks.


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

     RREETTUURRNN VVAALLUUEE
          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.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).













     1-850                                            (printed 5/7/92)






     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))RReeffeerreennccee PPaaggeess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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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)).

     RREETTUURRNN VVAALLUUEE
          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.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).






















     1-851                                            (printed 5/7/92)






     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))RReeffeerreennccee PPaaggeess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))



     NNAAMMEE
          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 permission state

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 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)).

     RREETTUURRNN VVAALLUUEE
          Returns a Boolean value that indicates the state of the
          XXmmNNeeddiittaabbllee resource.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).



























     1-852                                            (printed 5/7/92)






     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sRRieietftfieieororneneXX(nm(nm3cT3cTXeeXee) x)xPtPtaFaFgigieeeesls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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPT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 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)).

     RREETTUURRNN VVAALLUUEE
          Returns an XmTextPosition value that indicates the state of
          the XXmmNNccuurrs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.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).

























     1-853                                            (printed 5/7/92)






     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RR(e(e3f3fXeXe)r)reennccee PPXXamamgTgTeeeesxs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))



     NNAAMMEE
          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 position of the last text character

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPT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 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)).

     RREETTUURRNN VVAALLUUEE
          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.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).

























     1-854                                            (printed 5/7/92)






     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RR)e)effeerreennccee PPaaggeeXXsms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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 allowable 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)).

     RREETTUURRNN VVAALLUUEE
          Returns the integer value that indicates the string's
          maximum allowable length that can be entered from the
          keyboard.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).






















     1-855                                            (printed 5/7/92)






     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RR)e)effeerreennccee PPaaggeeXXsms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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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)).

     RREETTUURRNN VVAALLUUEE
          Returns a character pointer to the string that is associated
          with the primary selection.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-856                                            (printed 5/7/92)






     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sRRieietftfieieororneneXX(nm(nm3cT3cTXeeXee) x)xPtPtaFaFgigieeeesls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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOON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 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 character
                 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 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)).

     RREETTUURRNN VVAALLUUEE
          This function returns True if the widget owns the primary
          selection; otherwise, it returns False.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).












     1-857                                            (printed 5/7/92)






     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RR(e(e3f3fXeXe)r)reennccee PPXXamamgTgTeeeesxs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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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)).

     RREETTUURRNN VVAALLUUEE
          Returns the wide character string that is associated with
          the primary selection in the TextField widget.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-858                                            (printed 5/7/92)






     XXmmTTeexxttFFiieellddGGeettSSttrriinngg((33XX)) RReeffeerreennccee PPaaggeess XXmmTTeexxttFFiieellddGGeettSSttrriinngg((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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)).

     RREETTUURRNN VVAALLUUEE
          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.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-859                                            (printed 5/7/92)






     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RR)e)effeerreennccee PPaaggeeXXsms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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 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)).

     RREETTUURRNN VVAALLUUEE
          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.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-860                                            (printed 5/7/92)






     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RR)e)effeerreennccee PPaaggeeXXsms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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 provided 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.




     1-861                                            (printed 5/7/92)






     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RR)e)effeerreennccee PPaaggeeXXsms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))



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

     RREETTUURRNN VVAALLUUEE
          XXmmCCOOPPYY__SSUUCCCCEEEEDDEEDD    The function was successful.

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

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


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-862                                            (printed 5/7/92)






     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RR(e(e3f3fXeXe)r)reennccee PPXXamamgTgTeeeesxs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))



     NNAAMMEE
          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 portion of a wide character internal text
          buffer

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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)).

     RREETTUURRNN VVAALLUUEE
          XXmmCCOOPPYY__SSUUCCCCEEEEDDEEDD    The function was successful.




     1-863                                            (printed 5/7/92)






     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RR(e(e3f3fXeXe)r)reennccee PPXXamamgTgTeeeesxs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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 with a NULL terminator; fewer
                              than _n_u_m__c_h_a_r_s characters were copied.


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-864                                            (printed 5/7/92)






     XXmmTTeexxttFFiieellddIInnsseerrtt((33XX))    RReeffeerreennccee PPaaggeess    XXmmTTeexxttFFiieellddIInnsseerrtt((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 numbered sequentially from the
          beginning of the text.  For example, to insert a string
          after the fourth character, the _p_o_s_i_t_i_o_n parameter must be
          4.

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


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

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-865                                            (printed 5/7/92)






     XXmmTTeexxttFFiieellddIInnsseerrttWWccss((33XX)) RReeffeerreennccee PPaaggeess XXmmTTeexxttFFiieellddIInnsseerrttWWccss((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 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 procedures of the
          XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are executed first and the
          resulting data is passed to the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss
          callbacks.


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

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-866                                            (printed 5/7/92)






     XXmmTTeexxttFFiieellddPPaassttee((33XX))     RReeffeerreennccee PPaaggeess     XXmmTTeexxttFFiieellddPPaassttee((33XX))



     NNAAMMEE
          XXmmTTeexxttFFiieellddPPaassttee-A TextField function that inserts the
          clipboard selection

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 insertion cursor is inside
          the current selection, the clipboard selection replaces the
          selected text.

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


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

     RREETTUURRNN VVAALLUUEE
          This function returns False if the _w_i_d_g_e_t doesn't own the
          primary selection.  Otherwise, it returns True.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).
















     1-867                                            (printed 5/7/92)






     XXmmTTeexxttFFiieellddPPoossTTooXXYY((33XX))   RReeffeerreennccee PPaaggeess   XXmmTTeexxttFFiieellddPPoossTTooXXYY((33XX))



     NNAAMMEE
          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 position of a character position

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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)).

     RREETTUURRNN VVAALLUUEE
          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.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).






     1-868                                            (printed 5/7/92)






     XXmmTTeexxttFFiieellddRReemmoovvee((33XX))    RReeffeerreennccee PPaaggeess    XXmmTTeexxttFFiieellddRReemmoovvee((33XX))



     NNAAMMEE
          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 selection

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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oddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss, or
          both.  If both verification callback lists are registered,
          the procedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are
          executed first and the resulting data is passed to the
          XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.


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

     RREETTUURRNN VVAALLUUEE
          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.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).




















     1-869                                            (printed 5/7/92)






     XXmmTTeexxttFFiieellddRReeppllaaccee((33XX))   RReeffeerreennccee PPaaggeess   XXmmTTeexxttFFiieellddRReeppllaaccee((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 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 procedures of the
          XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are executed first and the
          resulting data is passed to the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss
          callbacks.


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

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-870                                            (printed 5/7/92)






     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))RReeffeerreennccee PPaaggeessXXmmTTeexxttFFiieellddRReeppllaacceeWWccss((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 numbered sequentially from the
          beginning of the text.

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

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


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

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-871                                            (printed 5/7/92)






     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))RReeffeerreennccee PPaaggeessXXmmTTeexxttFFiieellddSSeettAAddddMMooddee((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).
























     1-872                                            (printed 5/7/92)






     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))RReeffeerreennccee PPaaggeess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))



     NNAAMMEE
          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 permission

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).

























     1-873                                            (printed 5/7/92)






     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RR)e)effeerreennccee PPaaggeeXXsms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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 character positions.  The _m_o_d_e parameter
          determines the type of highlighting.  Highlighting text
          merely changes the visual appearance of the text; it does
          not set the selection.


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

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).








     1-874                                            (printed 5/7/92)






     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sRRieietftfieieororneneXX(nm(nm3cT3cTXeeXee) x)xPtPtaFaFgigieeeesls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))



     NNAAMMEE
          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 position of the insertion cursor

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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nV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)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).























     1-875                                            (printed 5/7/92)






     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RR)e)effeerreennccee PPaaggeeXXsms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))



     NNAAMMEE
          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 keyboard

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 allowable length prevents the user from
          entering a text string from the keyboard that is larger than
          this limit.  Strings that are entered using the XXmmNNvvaalluuee (or
          XXmmNNvvaalluueeWWccss) resource, or the XXmmTTeexxt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)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-876                                            (printed 5/7/92)






     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RR)e)effeerreennccee PPaaggeeXXsms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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 callbacks.


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

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).

















     1-877                                            (printed 5/7/92)






     XXmmTTeexxttFFiieellddSSeettSSttrriinngg((33XX)) RReeffeerreennccee PPaaggeess XXmmTTeexxttFFiieellddSSeettSSttrriinngg((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 procedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are
          executed first and the resulting data is passed to the
          XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.  It also sets the
          insertion cursor position to the beginning of the string and
          calls the widget's XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckk callbacks.


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

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-878                                            (printed 5/7/92)






     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RR)e)effeerreennccee PPaaggeeXXsms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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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lbbaacckk and verification callbacks, either
          XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk or XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss, or
          both.  If both verification callback lists are registered,
          the procedures of the XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk list are
          executed first and the resulting data is passed to the
          XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss callbacks.  It also sets the
          insertion cursor position to the beginning of the string and
          calls the widget's XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckk callbacks.


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

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-879                                            (printed 5/7/92)






     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RR)e)effeerreennccee PPaaggeeXXsms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))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).






















     1-880                                            (printed 5/7/92)






     XXmmTTeexxttFFiieellddXXYYTTooPPooss((33XX))   RReeffeerreennccee PPaaggeess   XXmmTTeexxttFFiieellddXXYYTTooPPooss((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 specified x and y position, relative to the upper
          left corner of the TextField 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)).

     RREETTUURRNN VVAALLUUEE
          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.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmTTeexxttFFiieelldd((33XX)).
















     1-881                                            (printed 5/7/92)






     XXmmTTeexxttFFiinnddSSttrriinngg((33XX))     RReeffeerreennccee PPaaggeess     XXmmTTeexxttFFiinnddSSttrriinngg((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 characters from the beginning of
                 the buffer.  The first character position is 0.  If
                 the function returns False, this value is undefined.



     1-882                                            (printed 5/7/92)






     XXmmTTeexxttFFiinnddSSttrriinngg((33XX))     RReeffeerreennccee PPaaggeess     XXmmTTeexxttFFiinnddSSttrriinngg((33XX))



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

     RREETTUURRNN VVAALLUUEE
          Returns True if a string match is found; otherwise, returns
          False.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-883                                            (printed 5/7/92)






     XXmmTTeexxttFFiinnddSSttrriinnggWWccss((33XX))  RReeffeerreennccee PPaaggeess  XXmmTTeexxttFFiinnddSSttrriinnggWWccss((33XX))



     NNAAMMEE
          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

     SSYYNNOOPPSSIISS
          ##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;;


     DDEESSCCRRIIPPTTIIOONN
          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 position.  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 characters from the beginning of
                 the buffer. The first character position is 0.  If



     1-884                                            (printed 5/7/92)






     XXmmTTeexxttFFiinnddSSttrriinnggWWccss((33XX))  RReeffeerreennccee PPaaggeess  XXmmTTeexxttFFiinnddSSttrriinnggWWccss((33XX))



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

     RREETTUURRNN VVAALLUUEE
          Returns True if a string match is found; otherwise, returns
          False.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          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-885                                            (printed 5/7/92)



 i
