Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmText(3X) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     XmText(3X)                UNIX System V                XmText(3X)



     NAME
          XmText - The Text widget class

     SYNOPSIS
          #include <Xm/Text.h>


     VERSION
          This page documents version 1.2 of the Motif library.

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

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

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

          Text allows the user to select regions of text.  Selection
          is based on the model specified in the Inter-Client
          Communication Conventions Manual (ICCCM).  Text supports
          primary and secondary selection.

        Mouse Selection
          The Text widget allows text to be edited, inserted, and
          selected.  The user can cut, copy, and paste text using the
          clipboard, primary transfer, or secondary transfer.  Text
          also provides a Drag and Drop facility that enables the user
          to copy or move data within Text or to a different widget.
          When keyboard focus policy is set to EXPLICIT, the widget
          that receives focus is the destination widget.  In POINTER
          mode, any keyboard or mouse operation (except secondary
          selection) in an 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



     Page 1                                          (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



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

        Classes
          Text inherits behavior and resources from Core and Primitive
          classes.

          The class pointer is xmTextWidgetClass.

          The class name is XmText.

        New Resources
          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 XmN or XmC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the Xm 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
          XtSetValues (S), retrieved by using XtGetValues (G), or is
          not applicable (N/A).

                                              XmText Resource Set
     Name                         Class                       Type             Default              Access
     _____________________________________________________________________________________________________
     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





     Page 2                                          (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



     XmNmotionVerifyCallback      XmCCallback                 XtCallbackList   NULL                 C
     XmNsource                    XmCSource                   XmTextSource     Default source       CSG
     XmNtopCharacter              XmCTextPosition             XmTextPosition   0                    CSG
     XmNvalue                     XmCValue                    String           ""                   CSG
     XmNvalueChangedCallback      XmCCallback                 XtCallbackList   NULL                 C
     XmNvalueWcs                  XmCvalueWcs                 wchar_t *        (wchar_t *)""        CSG*
     XmNverifyBell                XmCVerifyBell               Boolean          dynamic              CSG

          * This resource cannot be set in a resource file.


          XmNactivateCallback
                    Specifies the list of callbacks that is called
                    when the user invokes an event that calls the
                    Activate() function.  The type of the structure
                    whose address is passed to this callback is
                    XmAnyCallbackStruct.  The reason sent by the
                    callback is XmCRACTIVATE.

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

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

          XmNeditable
                    Indicates that the user can edit the text string
                    when set to True.  Prohibits the user from editing
                    the text when set to False.

          XmNeditMode
                    Specifies the set of keyboard bindings used in
                    Text.  The default keyboard bindings
                    (XmSINGLELINEEDIT) provides the set of key
                    bindings to be used in editing single-line text.
                    The multiline bindings (XmMULTILINEEDIT)
                    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 XmNeditMode is
                    XmSINGLELINEEDIT are undefined.

          XmNfocusCallback
                    Specifies the list of callbacks called when Text



     Page 3                                          (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                    accepts input focus.  The type of the structure
                    whose address is passed to this callback is
                    XmAnyCallbackStruct.  The reason sent by the
                    callback is XmCRFOCUS.

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

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

          XmNlosingFocusCallback
                    Specifies the list of callbacks called before Text
                    loses input focus.  The type of the structure
                    whose address is passed to this callback is
                    XmTextVerifyCallbackStruct.  The reason sent by
                    the callback is XmCRLOSINGFOCUS.

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

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

          XmNmaxLength
                    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 XmNvalue resource or the
                    XmTextSetString function ignore this resource.

          XmNmodifyVerifyCallback
                    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 XmTextVerifyCallbackStruct.  The
                    reason sent by the callback is
                    XmCRMODIFYINGTEXTVALUE.  When multiple Text
                    widgets share the same source, only the widget
                    that initiates the source change will generate the
                    XmNmodifyVerifyCallback.




     Page 4                                          (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                    If both XmNmodifyVerifyCallback and
                    XmNmodifyVerifyCallbackWcs are registered callback
                    lists, the procedure(s) in the
                    XmNmodifyVerifyCallback list are always executed
                    first; and the resulting data, which may have been
                    modified, is passed to the
                    XmNmodifyVerifyCallbackWcs callback routines.

          XmNmodifyVerifyCallbackWcs
                    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 XmTextVerifyCallbackStructWcs.  The
                    reason sent by the callback is
                    XmCRMODIFYINGTEXTVALUE.  When multiple Text
                    widgets share the same source, only the widget
                    that initiates the source change will generate the
                    XmNmodifyVerifyCallbackWcs.

                    If both XmNmodifyVerifyCallback and
                    XmNmodifyVerifyCallbackWcs are registered callback
                    lists, the procedure(s) in the
                    XmNmodifyVerifyCallback list are always executed
                    first; and the resulting data, which may have been
                    modified, is passed to the
                    XmNmodifyVerifyCallbackWcs callback routines.

          XmNmotionVerifyCallback
                    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 XmTextVerifyCallbackStruct.  The
                    reason sent  by the callback is
                    XmCRMOVINGINSERTCURSOR.  It is possible for
                    more than one XmNmotionVerifyCallbacks to be
                    generated from a single action.

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

          XmNtopCharacter
                    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 XmNeditMode is XmMULTILINEEDIT, the line
                    of text that contains the top character is
                    displayed at the top of the widget without



     Page 5                                          (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                    shifting the text left or right.  XtGetValues for
                    XmNtopCharacter returns the position of the first
                    character in the line that is displayed at the top
                    of the widget.

          XmNvalue  Specifies the string value of the Text widget as a
                    char* data value.  XmNvalue and XmNvalueWcs are
                    both defined, the value of XmNvalueWcs supersedes
                    that of XmNvalue.  XtGetValues returns a copy of
                    the value of the internal buffer and XtSetValues
                    copies the string values into the internal buffer.

          XmNvalueChangedCallback
                    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 XmAnyCallbackStruct.  The reason sent
                    by the callback is XmCRVALUECHANGED.  When
                    multiple Text widgets share the same source, only
                    the widget that initiates the source change will
                    generate the XmNvalueChangedCallback.  This
                    callback represents a change in the source in the
                    Text, not in the Text widget.  The
                    XmNvalueChangedCallback should occur only in pairs
                    with a XmNmodifyVerifyCallback, assuming that the
                    doit flag in the callback structure of the
                    XmNmodifyVerifyCallback is not set to False.

          XmNvalueWcs
                    Specifies the string value of the Text widget as a
                    wchart* data value.  This resource cannot be
                    specified in a resource file.

                    If XmNvalue and XmNvalueWcs are both defined, the
                    value of XmNvalueWcs supersedes that of XmNvalue.
                    XtGetValues returns a copy of the value of the
                    internal buffer encoded as a wide character
                    string.  XtSetValues copies the value of the wide
                    character string into the internal buffer.

          XmNverifyBell
                    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 XmNaudibleWarning resource.


                                  XmText Input Resource Set
     Name                     Class                    Type        Default         Access
     ____________________________________________________________________________________





     Page 6                                          (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



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


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

          XmNselectionArray
                    Defines the actions for multiple mouse clicks.
                    The value of the resource is an array of
                    XmTextScanType elements.  XmTextScanType 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:


                      ⊕  XmSELECTPOSITION-resets the insert cursor
                         position

                      ⊕  XmSELECTWORD-selects a word

                      ⊕  XmSELECTLINE-selects a line of text

                      ⊕  XmSELECTALL-selects all of the text


          XmNselectionArrayCount
                    Indicates the number of elements in the
                    XmNselectionArray resource.  The value must not be
                    negative.

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











     Page 7                                          (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                                 XmText Output Resource Set
     Name                       Class                      Type         Default   Access
     ___________________________________________________________________________________
     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


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

          XmNcolumns
                    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 XmNwidth
                    resource.  If no width is specified the default is
                    20.

          XmNcursorPositionVisible
                    Indicates that the insert cursor position is
                    marked by a blinking text cursor when the Boolean
                    value is True.

          XmNfontList
                    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 XmNtextFontList of
                    the ancestor widget.  If no such ancestor is
                    found, the default is implementation dependent.




     Page 8                                          (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                    Text searches the font list for the first
                    occurrence of a font set that has a
                    XmFONTLISTDEFAULTTAG.  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 XmFontList(3X) for more information on a font
                    list structure.

          XmNresizeHeight
                    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 XmNscrollVertical is
                    True.

          XmNresizeWidth
                    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 XmNwordWrap is True.

          XmNrows   Specifies the initial height of the text window
                    measured in character heights. This attribute is
                    ignored if the text widget resource XmNeditMode is
                    XmSINGLELINEEDIT.  The value must be greater
                    than 0.  The default value depends on the value of
                    the XmNheight resource.  If no height is specified
                    the default is 1.

          XmNwordWrap
                    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
                    XmNeditMode is XmSINGLELINEEDIT.

                    The following resources are used only when text is
                    created in a ScrolledWindow.  See the man page for
                    XmCreateScrolledText.


                        XmText ScrolledText Resource Set





     Page 9                                          (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



        Name                  Class           Type      Default   Access
        ________________________________________________________________
        XmNscrollHorizontal   XmCScroll       Boolean   True      CG
        XmNscrollLeftSide     XmCScrollSide   Boolean   dynamic   CG
        XmNscrollTopSide      XmCScrollSide   Boolean   False     CG
        XmNscrollVertical     XmCScroll       Boolean   True      CG


          XmNscrollHorizontal
                    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
                    XmNscrollingPolicy set to XmAUTOMATIC.

          XmNscrollLeftSide
                    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 XmNscrollVertical is False
                    or the Text resource XmNeditMode is
                    XmSINGLELINEEDIT.  The default value may depend
                    on the value of the XmNstringDirection resource.

          XmNscrollTopSide
                    Indicates that the horizontal ScrollBar should be
                    placed on the top side of the scrolled text window
                    when the Boolean value is True.

          XmNscrollVertical
                    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 XmNeditMode is XmSINGLELINEEDIT.  This
                    resource is forced to False when the Text widget
                    is placed in a ScrolledWindow with
                    XmNscrollingPolicy set to XmAUTOMATIC.


        Inherited Resources
          Text inherits behavior and resources from the following
          superclasses.  For a complete description of each resource,
          refer to the man page for that superclass.

                                         XmPrimitive Resource Set
     Name                    Class                   Type               Default                Access
     ________________________________________________________________________________________________
     XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic                CSG
     XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap             XmUNSPECIFIED_PIXMAP   CSG
     XmNforeground           XmCForeground           Pixel              dynamic                CSG





     Page 10                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



     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

                                                   Core Resource Set
     Name                            Class                           Type             Default                Access
     ______________________________________________________________________________________________________________
     XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
     XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
     XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
     XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
     XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
     XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
     XmNdepth                        XmCDepth                        int              dynamic                CG
     XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
     XmNheight                       XmCHeight                       Dimension        dynamic                CSG
     XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
     XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
     XmNscreen                       XmCScreen                       Screen *         dynamic                CG
     XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
     XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
     XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
     XmNx                            XmCPosition                     Position         0                      CSG
     XmNy                            XmCPosition                     Position         0                      CSG

        Callback Information
          A pointer to the following structure is passed to each
          callback:

          typedef struct
          {
            int          reason;
            XEvent       * event;
          } XmAnyCallbackStruct;


          reason Indicates why the callback was invoked

          event  Points to the XEvent that triggered the callback





     Page 11                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



          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 reason field and use only the structure
          members that are valid for the particular reason.  The
          values startPos, endPos, and text in the callback structure
          XmTextVerifyCallbackStruct 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 text field,
          but should attach data to that pointer.

          A pointer to the following structure is passed to callbacks
          for XmNlosingFocusCallback, XmNmodifyVerifyCallback, and
          XmNmotionVerifyCallback.

          typedef struct
          {
            int          reason;
            XEvent       * event;
            Boolean      doit;
            XmTextPosition currInsert, newInsert;
            XmTextPosition startPos, endPos;
            XmTextBlock  text;
          } XmTextVerifyCallbackStruct, *XmTextVerifyPtr;


          reason Indicates why the callback was invoked.

          event  Points to the XEvent 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.

          doit   Indicates whether the action that invoked the
                 callback is performed.  Setting doit to False negates
                 the action.

          currInsert
                 Indicates the current position of the insert cursor.

          newInsert
                 Indicates the position at which the user attempts to
                 position the insert cursor.

          startPos
                 Indicates the starting position of the text to
                 modify.  If the callback is not a modify verification
                 callback, this value is the same as currInsert.




     Page 12                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



          endPos Indicates the ending position of the text to modify.
                 If no text is replaced or deleted, the value is the
                 same as startPos.  If the callback is not a modify
                 verification callback, this value is the same as
                 currInsert.

          text   Points to a structure of type XmTextBlockRec.  This
                 structure holds the textual information to be
                 inserted.

          typedef struct
          {
            char         *ptr;
            int          length;
            XmTextFormat format;
          } XmTextBlockRec, *XmTextBlock;


          ptr    Points to the text to be inserted.

          length Specifies the length of the text to be inserted.

          format Specifies the format of the text, either XmFMT8BIT
                 or XmFMT16BIT.


          A pointer to the following structure is passed to callbacks
          for XmNmodifyVerifyCallbackWcs.

          typedef struct
          {
            int          reason;
            XEvent       *event;
            Boolean      doit;
            XmTextPosition currInsert, newInsert;
            XmTextPosition startPos, endPos;
            XmTextBlockWcs text;
          } XmTextVerifyCallbackStructWcs, *XmTextVerifyPtrWcs;


          reason Indicates why the callback was invoked.

          event  Points to the XEvent 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.

          doit   Indicates whether the action that invoked the
                 callback is performed.  Setting doit to False negates
                 the action.

          currInsert



     Page 13                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                 Indicates the current position of the insert cursor.

          newInsert
                 Indicates the position at which the user attempts to
                 position the insert cursor.

          startPos
                 Indicates the starting position of the text to
                 modify.  If the callback is not a modify verification
                 callback, this value is the same as currInsert.

          endPos Indicates the ending position of the text to modify.
                 If no text is replaced or deleted, the value is the
                 same as startPos.  If the callback is not a modify
                 verification callback, this value is the same as
                 currInsert.

          text   Points to a structure of type XmTextBlockRecWcs.
                 This structure holds the textual information to be
                 inserted.

          typedef struct
          {
            wchart      *wcsptr;
            int          length;
          } XmTextBlockRecWcs, *XmTextBlockWcs;


          wcsptr Points to the wide character text to be inserted.

          length Specifies the number of characters to be inserted.


          The following table describes the reasons why the individual
          verification callback structure fields are valid:

          Reason                      Valid Fields
          __________________________________________________
          XmCRLOSINGFOCUS           reason, event, doit,
                                      currInsert, newInsert,
                                      startPos, endPos

          XmCRMODIFYINGTEXTVALUE   reason, event, doit,
                                      currInsert, newInsert,
                                      startPos, endPos, text

          XmCRMOVINGINSERTCURSOR   reason, event, doit,
                                      currInsert, newInsert

        Translations
          XmText includes translations from XmPrimitive.  The XmText
          translations are listed below.  These translations may not



     Page 14                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



          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.

          BSelect Press: grab-focus()
          BSelect Motion:extend-adjust()
          BSelect Release:extend-end()

          BExtend Press: extend-start()
          BExtend Motion:extend-adjust()
          BExtend Release:extend-end()

          BToggle Press: move-destination()

          BDrag Press:   process-bdrag()
          BDrag Motion:  secondary-adjust()
          BDrag Release: copy-to()

          MCtrl BDrag Press:process-bdrag()
          MCtrl BDrag Motion:secondary-adjust()
          MCtrl BDrag Release:copy-to()

          MAlt BDrag Press:process-bdrag()
          MAlt BDrag Motion:secondary-adjust()
          MAlt BDrag Release:copy-to()
          MShift BDrag Press:process-bdrag()
          MShift BDrag Motion:secondary-adjust()
          MShift BDrag Release:move-to()
          MAlt MCtrl BDrag Release:copy-to()
          MAlt MShift BDrag Release:move-to()

          KUp:           process-up()
          MShift KUp:    process-shift-up()
          MCtrl KUp:     backward-paragraph()
          MShift MCtrl KUp:backward-paragraph(extend)

          KDown:         process-down()
          MShift KDown:  process-shift-down()
          MCtrl KDown:   forward-paragraph()
          MShift MCtrl KDown:forward-paragraph(extend)

          KLeft:         backward-character()
          MShift KLeft:  key-select(left)
          MCtrl KLeft:   backward-word()
          MShift MCtrl KLeft:backward-word(extend)

          KRight:        forward-character()
          MShift KRight: key-select(right)
          MCtrl KRight:  forward-word()
          MShift MCtrl KRight:forward-word(extend)

          KPageUp:       previous-page()



     Page 15                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



          MShift KPageUp:previous-page(extend)

          KPageDown:     next-page()
          MShift KPageDown:next-page(extend)

          KPageLeft:     page-left()
          KPageRight:    page-right()

          KBeginLine:    beginning-of-line()
          MShift KBeginLine:beginning-of-line(extend)

          KEndLine:      end-of-line()
          MShift KEndLine:end-of-line(extend)

          KBeginData:    beginning-of-file()
          MShift KBeginData:beginning-of-file(extend)

          KEndData:      end-of-file()
          MShift KEndData:end-of-file(extend)

          KTab:          process-tab()
          KNextField:    next-tab-group()
          KPrevField:    prev-tab-group()

          KEnter:        process-return()
          KActivate:     activate()

          KDelete:       delete-next-character()
          KBackSpace:    delete-previous-character()

          KAddMode:      toggle-add-mode()

          KSpace:        self-insert()
          MShift KSpace: self-insert()
          KSelect:       set-anchor()
          KExtend:       key-select()
          MAny KCancel:  process-cancel()
          KClear:        clear-selection()
          KSelectAll:    select-all()
          KDeselectAll:  deselect-all()

          KCut:          cut-clipboard()
          KCopy:         copy-clipboard()
          KPaste:        paste-clipboard()

          KPrimaryCut:   cut-primary()
          KPrimaryCopy:  copy-primary()
          KPrimaryPaste: copy-primary()

          KHelp:         Help()

          KAny:          self-insert()



     Page 16                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



        Action Routines
          The XmText action routines are described below:


          activate():
                    Calls the callbacks for XmNactivateCallback.  If
                    the parent is a manager, passes the event to the
                    parent.

          backward-character():
                    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.

          backward-paragraph(extend):
                    If XmNeditMode is XmMULTILINEEDIT 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 XmNeditMode is XmMULTILINEEDIT and this
                    action is called with an argument of extend, 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.

          backward-word(extend):
                    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.








     Page 17                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                    If called with an argument of extend, 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.

          beep():   Causes the terminal to beep.

          beginning-of-file(extend):
                    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 extend, 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.

          beginning-of-line(extend):
                    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 extend, 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.

          clear-selection():
                    Clears the current selection by replacing each
                    character except <Return> with a <space>
                    character.

          copy-clipboard():
                    Copies the current selection to the clipboard.

          copy-primary():
                    Copies the primary selection to just before the
                    insertion cursor.

          copy-to():
                    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.




     Page 18                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



          cut-clipboard():
                    Cuts the current selection to the clipboard.

          cut-primary():
                    Cuts the primary selection to just before the
                    insertion cursor.

          delete-next-character():
                    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
                    XmNpendingDelete is set to True, deletes the
                    selection, otherwise deletes the character
                    following the insertion cursor.  This may impact
                    the selection.

          delete-next-word():
                    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
                    XmNpendingDelete 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.

          delete-previous-character():
                    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 XmNpendingDelete is set to True,
                    deletes the selection, otherwise deletes the
                    character of text immediately preceding the
                    insertion cursor.  This may impact the selection.

          delete-previous-word():
                    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 XmNpendingDelete is set to True,
                    deletes the selection, otherwise deletes the



     Page 19                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                    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.

          delete-selection():
                    Deletes the current selection.

          delete-to-end-of-line():
                    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 XmNpendingDelete
                    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.

          delete-to-start-of-line():
                    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
                    XmNpendingDelete 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.

          deselect-all():
                    Deselects the current selection.

          end-of-file(extend):
                    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 extend, 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.

          end-of-line(extend):
                    If this action is called with no argument, moves
                    the insertion cursor to the end of the line.  For



     Page 20                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                    other effects, see the description of navigation
                    operations in the "Keyboard Selection" section.
                    If called with an argument of extend, 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.

          extend-adjust():
                    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.

          extend-end():
                    Moves the insertion cursor to the position of the
                    pointer.

          extend-start():
                    Adjusts the anchor using the balance-beam method.
                    Selects text from the anchor to the pointer
                    position and deselects text outside that range.

          forward-character():
                    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.

          forward-paragraph(extend):
                    If XmNeditMode is XmMULTILINEEDIT, 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 XmNeditMode is XmMULTILINEEDIT and this
                    action is called with an argument of extend, 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.






     Page 21                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



          forward-word(extend):
                    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 extend, 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.

          grab-focus():
                    This key binding performs the action defined in
                    the XmNselectionArray, 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.

          Help():   Calls the callbacks for XmNhelpCallback 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.

          insert-string(string):
                    If XmNpendingDelete is True and the cursor is not
                    disjoint from the current selection, deletes the
                    entire selection.  Inserts string before the
                    insertion cursor.

          key-select(direction):
                    If called with an argument of right, moves the
                    insertion cursor one character to the right and
                    extends the current selection.  If called with an
                    argument of left, 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
                    KExtend" in the "Keyboard Selection" section.



     Page 22                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



          kill-next-character():
                    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
                    XmNpendingDelete 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.

          kill-next-word():
                    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
                    XmNpendingDelete 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.

          kill-previous-character():
                    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
                    XmNpendingDelete 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.

          kill-previous-word():
                    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 XmNpendingDelete is set to True,
                    deletes the selection, otherwise kills the
                    characters preceding the insertion cursor up to



     Page 23                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                    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.

          kill-selection():
                    Kills the currently selected text and stores the
                    text in the cut buffer.

          kill-to-end-of-line():
                    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 XmNpendingDelete
                    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.

          kill-to-start-of-line():
                    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 XmNpendingDelete
                    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.

          move-destination():
                    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.

          move-to():
                    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.

          newline():
                    If XmNpendingDelete is True and the cursor is not



     Page 24                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                    disjoint from the current selection, deletes the
                    entire selection.  Inserts a newline before the
                    insertion cursor.

          newline-and-backup():
                    If XmNpendingDelete 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.

          newline-and-indent():
                    If XmNpendingDelete 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.

          next-line():
                    Moves the insertion cursor to the next line.  For
                    other effects, see the description of navigation
                    operations in the "Keyboard Selection" section.

          next-page(extend):
                    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 extend, 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.

          next-tab-group():
                    Traverses to the next tab group.

          page-left():
                    Scrolls the viewing window left one page of text.

          page-right():
                    Scrolls the viewing window right one page of text.

          paste-clipboard():
                    Pastes the contents of the clipboard before the
                    insertion cursor.

          prev-tab-group():
                    Traverses to the previous tab group.

          previous-line():



     Page 25                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                    Moves the insertion cursor to the previous line.
                    For other effects, see the description of
                    navigation operations in the "Keyboard Selection"
                    section.

          previous-page(extend):
                    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 extend, 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.

          process-bdrag()
                    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 BDrag 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 XmNexportTargets
                    resource value includes target types of
                    COMPOUND_TEXT, STRING, and TEXT.

          process-cancel():
                    Cancels the current extend-adjust(), secondary-
                    adjust() or process-bdrag() 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.

          process-down():



     Page 26                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                    If XmNeditMode is XmSINGLELINEEDIT and
                    XmNnavigationType is XmNONE, traverses to the
                    widget below the current one in the tab group.

                    If XmNeditMode is XmMULTILINEEDIT, moves the
                    insertion cursor down one line.  For other
                    effects, see the description of navigation
                    operations in the "Keyboard Selection" section.

          process-home():
                    Moves the insertion cursor to the beginning of the
                    line.  For other effects, see the description of
                    navigation operations in the "Keyboard Selection"
                    section.

          process-return():
                    If XmNeditMode is XmSINGLELINEEDIT, calls the
                    callbacks for XmNactivateCallback, and if the
                    parent is a manager, passes the event to the
                    parent.  If XmNeditMode is XmMULTILINEEDIT,
                    inserts a newline.

          process-shift-down():
                    If XmNeditMode is XmMULTILINEEDIT, moves the
                    insertion cursor down one line.  For other
                    effects, see the description of navigation
                    operations in the "Keyboard Selection" section.

          process-shift-up():
                    If XmNeditMode is XmMULTILINEEDIT, moves the
                    insertion cursor up one line.  For other effects,
                    see the description of navigation operations in
                    the "Keyboard Selection" section.

          process-tab():
                    If XmNeditMode is XmSINGLELINEEDIT, traverses to
                    the next tab group.  If XmNeditMode is
                    XmMULTILINEEDIT, inserts a tab.

          process-up():
                    If XmNeditMode is XmSINGLELINEEDIT and
                    XmNnavigationType is XmNONE, traverses to the
                    widget above the current one in the tab group.

                    If XmNeditMode is XmMULTILINEEDIT, moves the
                    insertion cursor up one line.  For other effects,
                    see the description of navigation operations in
                    the "Keyboard Selection" section.

          redraw-display():
                    Redraws the contents of the text window.




     Page 27                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



          scroll-cursor-vertically(percentage):
                    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.

          scroll-one-line-down():
                    Scrolls the text area down one line.

          scroll-one-line-up():
                    Scrolls the text area up one line.

          secondary-adjust():
                    Extends the secondary selection to the pointer
                    position.

          secondary-notify():
                    Copies the secondary selection to the insertion
                    cursor of the destination widget.

          secondary-start():
                    Marks the beginning of a secondary selection.

          select-adjust():
                    Extends the current selection.  The amount of text
                    selected depends on the number of mouse clicks, as
                    specified by the XmNselectionArray resource.

          select-all():
                    Selects all text.

          select-end():
                    Extends the current selection.  The amount of text
                    selected depends on the number of mouse clicks, as
                    specified by the XmNselectionArray resource.

          select-start():
                    Marks the beginning of a new selection region.

          self-insert():
                    If XmNpendingDelete 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.

          set-anchor():



     Page 28                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



                    Resets the anchor point for extended selections.
                    Resets the destination of secondary selection
                    actions.

          set-insertion-point():
                    Sets the insertion position.

          set-selection-hint():
                    Sets the text source and location of the current
                    selection.

          toggle-add-mode():
                    Toggles the state of Add Mode.

          toggle-overstrike():
                    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.

          traverse-home():
                    Traverses to the first widget in the tab group.

          traverse-next():
                    Traverses to the next widget in the tab group.

          traverse-prev():
                    Traverses to the previous widget in the tab group.

          unkill(): Restores last killed text to the position of the
                    insertion cursor.


        Additional Behavior
          This widget has the additional behavior described below:


          <FocusIn>:
                    Draws the insertion cursor as solid and starts
                    blinking the cursor.

          <FocusOut>:
                    Displays the insertion cursor as a stippled I-beam
                    unless it is the destination widget.


        Virtual Bindings
          The bindings for virtual keys are vendor specific.  The



     Page 29                                         (printed 4/30/98)





     XmText(3X)                UNIX System V                XmText(3X)



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

                              Virtual Key Bindings
                       __________________________________
                       Virtual Key   Actual Key Events
                       
                       KActivate     Ctrl<Key>Return
                                     <Key>osfActivate
                       __________________________________
                       KExtend       Ctrl Shift<Key>space
                                     Shift<Key>osfSelect
                       __________________________________
                       KNextField    Ctrl<Key>Tab
                       __________________________________
                       KSelect       Ctrl<Key>space
                                     <Key>osfSelect
                       __________________________________
          For information about bindings for virtual buttons and keys,
          see VirtualBindings(3X).

     RELATED INFORMATION
          Core(3X), XmCreateScrolledText(3X), XmCreateText(3X),
          XmFontList(3X), XmFontListAppendEntry(3X), XmPrimitive(3X),
          XmTextClearSelection(3X), XmTextCopy(3X), XmTextCut(3X),
          XmTextEnableRedisplay(3X), XmTextDisableRedisplay(3X),
          XmTextField(3X), XmTextFindString(3X),
          XmTextFindStringWcs(3X), XmTextGetBaseline(3X),
          XmTextGetEditable(3X), XmTextGetInsertionPosition(3X),
          XmTextGetLastPosition(3X), XmTextGetMaxLength(3X),
          XmTextGetSelection(3X), XmTextGetSelectionWcs(3X),
          XmTextGetSelectionPosition(3X), XmTextGetSource(3X),
          XmTextGetString(3X), XmTextGetStringWcs(3X),
          XmTextGetSubstring(3X), XmTextGetSubstringWcs(3X),
          XmTextGetTopCharacter(3X), XmTextInsert(3X),
          XmTextInsertWcs(3X), XmTextPaste(3X), XmTextPosToXY(3X),
          XmTextPosition(3X), XmTextRemove(3X), XmTextReplace(3X),
          XmTextReplaceWcs(3X), XmTextScroll(3X),
          XmTextSetAddMode(3X), XmTextSetEditable(3X),
          XmTextSetHighlight(3X), XmTextSetInsertionPosition(3X),
          XmTextSetMaxLength(3X), XmTextSetSelection(3X),
          XmTextSetSource(3X), XmTextSetString(3X),
          XmTextSetStringWcs(3X), XmTextSetTopCharacter(3X),
          XmTextShowPosition(3X), and XmTextXYToPos(3X).











     Page 30                                         (printed 4/30/98)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026