Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XmText(3)		    Library Functions Manual		       XmText(3)

NAME
     XmText -- The Text widget class

SYNOPSIS
     #include <Xm/Text.h>

DESCRIPTION
     Text  provides a single-line and multiline text editor for customizing both
     user and programmatic interfaces. It can be used for single-line string en-
     try, 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 cur-
     sor,  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 veri-
     fication type. From this information, the function can verify if the appli-
     cation 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 transla-
     tions 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 (IC-
     CCM). Text supports primary and secondary selection.

     In some Asian languages, texts are drawn vertically. Also, some  characters
     are  displayed  with 90-degree clockwise rotation, and other characters are
     mapped to vertical glyphs that differ from the normal  horizaontal  glyphs.
     Information  about which characters require rotation or mapping to vertical
     glyphs is specified in the X Locale Database (NLS databases) and handled by
     X library, depending on XNOrientation XOC	values.   XmText  widget  should
     also  handle  the vertically aligned lines as for editing, entering, or se-
     lecting texts.

     The vertical writing feature of the XmText widget is enabled when	the  Xm-
     TOP_TO_BOTTOM value is specified for the XmNlayoutDirection resource of the
     XmText  widget. In that case, the horizontal scroll bar is displayed on the
     bottom of the XmText widget and the vertical scroll bar is displayed on the
     left side.

   Mouse Selection
     The Text widget allows text to be edited, inserted, and selected.	The user
     can cut, copy, and paste text by using the clipboard, primary transfer,  or
     secondary	transfer.   Text also provides a Drag and Drop facility that en-
     ables 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 fo-
     cus is the destination widget. In POINTER mode, any keyboard or mouse oper-
     ation  (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 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  in-
     serted. Input is inserted just before the insertion cursor.

     Text  uses  the  XmQTnavigator, XmQTspecifyRenderTable, and XmQTscrollFrame
     traits, and holds the XmQTaccessTextual and XmQTtransfer traits.  The  wid-
     get checks its parent for the XmQTscrollFrame trait. If this trait does not
     exist,  then  the widget has no scrolling. If the trait does exist, and the
     ScrollFrame widget has not been initialized, the widget creates two naviga-
     tors and sets up the scrollbars.

     If an application or widget calls the setValue trait method of  XmQTaccess-
     Textual, then XmText will call XmTextSetString to set the string value.

   Classes
     Text inherits behavior, resources, and traits from Core and XmPrimitive.

     The class pointer is xmTextWidgetClass.

     The class name is XmText.

   Data Transfer Behavior
     Text  supports transfer of the primary, secondary, and clipboard selections
     and dragging of selected text from the widget.  Text can also be the desti-
     nation for the primary, secondary, and clipboard selections,  and	it  sup-
     ports dropping of data being dragged onto the widget.

     When the XmNconvertCallback procedures are called, the location_data member
     of the XmConvertCallbackStruct member is NULL if the selected text is being
     transferred.   If	the  entire text, not the selected text, is being trans-
     ferred, the value of this member is the widget ID of the Text widget.

     As a source of data, Text supports the  following	targets  and  associated
     conversions of data to these targets:

     locale    If  the	locale	target	matches  the widget's locale, the widget
	       transfers the selected text in the encoding of the locale.

     COMPOUND_TEXT
	       The widget transfers the selected text as type COMPOUND_TEXT.

     STRING    The widget transfers the selected text as type STRING.

     TEXT      If the selected text is fully convertible to the encoding of  the
	       locale, the widget transfers the selected text in the encoding of
	       the locale.  Otherwise, the widget transfers the selected text as
	       type COMPOUND_TEXT.

     UTF8_STRING
	       The widget transfers the selected text as type UTF8_STRING.

     DELETE    The widget deletes the selected text.

     _MOTIF_CLIPBOARD_TARGETS
	       The  widget  transfers,	as  type  ATOM, a list of the targets to
	       which the widget can convert data to be placed on  the  clipboard
	       immediately.   If  the  selected  text  is  fully  convertible to
	       STRING,	these  include	STRING;  otherwise,  they  include  COM-
	       POUND_TEXT.

     _MOTIF_DEFERRED_CLIPBOARD_TARGETS
	       The widget transfers, as type ATOM, a list of the targets it sup-
	       ports  for  delayed  transfer  for the CLIPBOARD selection.  This
	       widget currently supplies no  targets  for  _MOTIF_DEFERRED_CLIP-
	       BOARD_TARGETS.

     _MOTIF_EXPORT_TARGETS
	       The  widget  transfers, as type ATOM, a list of the targets to be
	       used as the value of  the  DragContext's  XmNexportTargets  in  a
	       drag-and-drop	transfer.     These    include	  COMPOUND_TEXT,
	       UTF8_STRING, the encoding of  the  locale,  STRING,  TEXT,  BACK-
	       GROUND, and FOREGROUND.

     _MOTIF_LOSE_SELECTION
	       The widget takes the following actions:

		  *  When  losing the PRIMARY selection, it unhighlights the se-
		     lected text and  calls  the  XmNlosePrimaryCallback  proce-
		     dures.

		  *  When  losing  the	SECONDARY selection, it removes the sec-
		     ondary selection highlight.

		  *  When losing the _MOTIF_DESTINATION selection, if the widget
		     does not have focus, it changes the cursor to indicate that
		     the widget is no longer the destination.

     As a source of data, Text also supports the following standard  Motif  tar-
     gets:

     BACKGROUNDThe widget transfers XmNbackground as type PIXEL.

     CLASS     The widget finds the first shell in the widget hierarchy that has
	       a  WM_CLASS  property  and  transfers the contents as text in the
	       current locale.

     CLIENT_WINDOW
	       The widget finds the first shell  in  the  widget  hierarchy  and
	       transfers its window as type WINDOW.

     COLORMAP  The widget transfers XmNcolormap as type COLORMAP.

     FOREGROUNDThe widget transfers XmNforeground as type PIXEL.

     NAME      The widget finds the first shell in the widget hierarchy that has
	       a WM_NAME property and transfers the contents as text in the cur-
	       rent locale.

     TARGETS   The widget transfers, as type ATOM, a list of the targets it sup-
	       ports.	These  include the standard targets in this list.  These
	       also include COMPOUND_TEXT, UTF8_STRING, the encoding of the  lo-
	       cale, STRING, and TEXT.

     TIMESTAMP The  widget transfers the timestamp used to acquire the selection
	       as type INTEGER.

     _MOTIF_RENDER_TABLE
	       The widget transfers XmNrenderTable if it exists, or else the de-
	       fault text render table, as type STRING.

     _MOTIF_ENCODING_REGISTRY
	       The widget transfers its encoding registry as type  STRING.   The
	       value is a list of NULL separated items in the form of tag encod-
	       ing  pairs.   This  target symbolizes the transfer target for the
	       Motif Segment Encoding Registry.  Widgets  and  applications  can
	       use this Registry to register text encoding formats for specified
	       render  table tags.  Applications access this Registry by calling
	       XmRegisterSegmentEncoding and XmMapSegmentEncoding.

     As a destination for data, Text chooses a target and requests conversion of
     the selection to that target.  If the encoding of the locale is present  in
     the  list	of  available  targets, Text chooses a requested target from the
     available targets in the following order of preference:

	1. The encoding of the locale

	2. TEXT

	4. UTF8_STRING

	3. COMPOUND_TEXT

	4. STRING

     If the encoding of the locale is not present in the list of available  tar-
     gets,  Text  chooses  a  requested target from the available targets in the
     following order of preference:

	4. UTF8_STRING

	1. COMPOUND_TEXT

	2. STRING

   New Resources
     The following table defines a set of widget resources used by the	program-
     mer  to  specify  data. The programmer can also set the resource values for
     the inherited classes to set attributes for this widget. To reference a re-
     source by name or by class in a .Xdefaults file, remove the XmN or XmC pre-
     fix 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  be-
     tween  words).   The  codes  in the access column indicate if the given re-
     source can be set at creation time (C), set by using XtSetValues  (S),  re-
     trieved 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    |
     +----------------------------+---------------------------+----------------+--------------------+--------+
     | XmNcursorPositionVisible   | XmCCursorPositionVisible  | Boolean        | dynamic	    | CSG    |
     +----------------------------+---------------------------+----------------+--------------------+--------+
     | XmNdestinationCallback	  | XmCCallback 	      | XtCallbackList | NULL		    | C      |
     +----------------------------+---------------------------+----------------+--------------------+--------+
     | 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      |
     +----------------------------+---------------------------+----------------+--------------------+--------+
     | XmtotalLines		  | XmCTotalLines	      | int	       | dynamic	    | C      |
     +----------------------------+---------------------------+----------------+--------------------+--------+
     | XmNsource		  | XmCSource		      | XmTextSource   | Default source     | CSG    |
     +----------------------------+---------------------------+----------------+--------------------+--------+
     | XmNtopCharacter		  | XmCTopCharacter	      | XmTextPosition | 0		    | CSG    |
     +----------------------------+---------------------------+----------------+--------------------+--------+
     | XmNvalue 		  | XmCValue		      | String	       | ""		    | CSG    |
     +----------------------------+---------------------------+----------------+--------------------+--------+
     | XmNvalueChangedCallback	  | XmCCallback 	      | XtCallbackList | NULL		    | C      |
     +----------------------------+---------------------------+----------------+--------------------+--------+
     | XmNvalueWcs		  | XmCvalueWcs 	      | wchar_t *      | (wchar_t *)""	    | CSG1   |
     +----------------------------+---------------------------+----------------+--------------------+--------+
     | XmNverifyBell		  | XmCVerifyBell	      | Boolean        | dynamic	    | CSG    |
     +----------------------------+---------------------------+----------------+--------------------+--------+

     1 This resource cannot be set in a resource file.

     XmNactivateCallback
	       Specifies  the list of callbacks that is called when the user in-
	       vokes an event that calls the activate() action.  The type of the
	       structure whose address is passed to this callback is  XmAnyCall-
	       backStruct.  The reason sent by the callback is XmCR_ACTIVATE.

     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.
	       Setting	this  resource	to  False, however, does not ensure that
	       Text will not scroll.

     XmNcursorPosition
	       Indicates the position in the text where the current insert  cur-
	       sor  is	to  be located.  Position is determined by the number of
	       characters from the beginning of the text.  The	first  character
	       position is 0 (zero).

     XmNcursorPositionVisible
	       If  the	widget has an XmPrintShell as one of its ancestors, then
	       the default value is False; otherwise, it is True.

     XmNdestinationCallback
	       Specifies a list of callbacks called when the widget is the  des-
	       tination  of  a	transfer  operation.   The type of the structure
	       whose address is passed to these callbacks is  XmDestinationCall-
	       backStruct.  The reason is XmCR_OK.

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

	       When  XmNeditable is used on a widget it sets the dropsite to Xm-
	       DROP_SITE_ACTIVE.

     XmNeditMode
	       Specifies the set of keyboard bindings used  in	Text.	The  de-
	       fault, XmSINGLE_LINE_EDIT, provides the set of key bindings to be
	       used in editing single-line text.  XmMULTI_LINE_EDIT 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 XmSINGLE_LINE_EDIT are undefined.

     XmNfocusCallback
	       Specifies  the  list  of callbacks called when Text accepts input
	       focus. The type of the structure whose address is passed to  this
	       callback is XmAnyCallbackStruct.  The reason sent by the callback
	       is XmCR_FOCUS.

     XmNgainPrimaryCallback
	       Specifies  the  list of callbacks called when an event causes the
	       Text widget to gain ownership of the primary selection.	The rea-
	       son sent by the callback is XmCR_GAIN_PRIMARY.

     XmNlosePrimaryCallback
	       Specifies the list of callbacks called when an event  causes  the
	       Text widget to lose ownership of the primary selection.	The rea-
	       son sent by the callback is XmCR_LOSE_PRIMARY.

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

     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 en-
	       tered into text from the keyboard. This value  must  be	nonnega-
	       tive.  Strings that are entered by 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  ad-
	       dress  is  passed to this callback is XmTextVerifyCallbackStruct.
	       The reason sent by  the	callback  is  XmCR_MODIFYING_TEXT_VALUE.
	       When multiple Text widgets share the same source, only the widget
	       that  initiates	the source change will generate XmNmodifyVerify-
	       Callback.

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

     XmNmodifyVerifyCallbackWcs
	       Specifies  the  list  of  callbacks called before text is deleted
	       from or inserted into Text. The type of the structure  whose  ad-
	       dress   is  passed  to  this  callback  is  XmTextVerifyCallback-
	       StructWcs. The  reason  sent  by  the  callback	is  XmCR_MODIFY-
	       ING_TEXT_VALUE.	 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	XmNmodi-
	       fyVerifyCallback list is always executed first; and the resulting
	       data,  which  may  have	been modified, is passed to the XmNmodi-
	       fyVerifyCallbackWcs 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 ad-
	       dress is passed to this callback  is  XmTextVerifyCallbackStruct.
	       The reason sent by the callback is XmCR_MOVING_INSERT_CURSOR.  It
	       is  possible for more than one XmNmotionVerifyCallback to be gen-
	       erated 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 wid-
	       gets.

     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 (zero).

	       If  the	XmNeditMode  is XmMULTI_LINE_EDIT, the line of text that
	       contains the top character is displayed at the top of the  widget
	       without	shifting  the  text left or right.  XtGetValues for XmN-
	       topCharacter returns the position of the first character  in  the
	       line that is displayed at the top of the widget.

     XmNtotalLines
	       Indicates the number of lines in the text widget buffer (not nec-
	       essarily  visible).  The initial value 1 means the text buffer is
	       empty. The number of lines reported takes into account the  word-
	       Wrap policy (that is, it's not simply the number of newline char-
	       acters.

     XmNvalue  Specifies  the  string  value  of the Text widget as a char* data
	       value.  Moves the cursor to position 0 unless a value of  XmNcur-
	       sorPosition was explicitly supplied in the argument list.  If Xm-
	       Nvalue 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 XmCR_VALUE_CHANGED.  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 an 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 wchar_t*  data
	       value.	Moves the cursor to position 0 unless a value of XmNcur-
	       sorPosition was explicitly supplied in the argument list.

	       This resource cannot be specified in a resource file.

	       If XmNvalue and XmNvalueWcs are both defined, the value	of  XmN-
	       valueWcs 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 re-
	       turns 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 |
	       | 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 some time of the previous mouse click increments
	       the  index  into  this  array and performs the defined action for
	       that index. (This "multiclick" time is specified by the operating
	       environment, and varies among different systems. In  general,  it
	       is  usually  set  to some fraction of a second.) The possible ac-
	       tions in the order they occur in the default array  are	as  fol-
	       lows:

		  3. XmSELECT_POSITION, which resets the insert cursor position.

		  4. XmSELECT_WORD, which selects a word.

		  5. XmSELECT_LINE,  which  selects  a line of text. This action
		     sees a line as delimited by  hard	newline  characters.  In
		     other words, if the word wrap feature is on (XmNwordWrap is
		     True), this will ignore the newlines automatically inserted
		     by the widget. This is the default.

		  6. XmSELECT_OUT_LINE,  which	selects a line of text. This ac-
		     tion sees a line as delimited by hard or soft newline char-
		     acters. In other words, if the word wrap feature is on (Xm-
		     NwordWrap is True), the newlines automatically inserted  by
		     the widget will be treated as delimiting lines.

		  7. XmSELECT_ALL, which selects all of the text.

     XmNselectionArrayCount
	       Indicates  the  number  of  elements in the XmNselectionArray re-
	       source.	The value must not be negative.

     XmNselectThreshold
	       Specifies the number of pixels of motion that is required to  se-
	       lect  the  next	character  when selection is performed using the
	       click-drag mode of selection.  The value must  not  be  negative.
	       This resource also specifies whether a drag should be started and
	       the  number  of pixels to start a drag when Btn2Down and Btn1Down
	       are integrated.
	       +----------------------------------------------------------------------------------------+
	       |			       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	|
	       | XmNrenderTable 	    XmCRenderTable	       XmRenderTable   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 0 (zero).  The value must not be negative.

     XmNcolumnsSpecifies the initial width of the text window as an integer num-
	       ber  of	characters.  The  width  equals the number of characters
	       specified by this resource multiplied by  the  width  as  derived
	       from  the  specified font. If the em-space value is available, it
	       is used. If not, the width of the numeral "0" is used. If this is
	       not available, the maximum  width  is  used.   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 (zero). The default value depends on the value of
	       the XmNwidth resource.  If no width is specified the  default  is
	       20.

	       When  the  XmNlayoutDirection resource is XmTOP_TO_BOTTOM, and if
	       the XmText widget  resource  XmNeditMode  is  XmSINGLE_LINE_EDIT,
	       this  attribute is ignored. If no width is specified, the default
	       is 1.

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

     XmNfontList
	       Specifies  the font list to be used for Text. The font list is an
	       obsolete structure and is retained only	for  compatibility  with
	       earlier	releases of Motif. Use the render table (XmNrenderTable)
	       instead of font lists wherever possible. If both  are  specified,
	       the  render  table will take precedence. If this value is NULL at
	       initialization, the parent hierarchy of the  widget  is	searched
	       for  an	ancestor that holds the XmQTspecifyRenderTable trait. If
	       such an ancestor is found, the font list is  initialized  to  the
	       XmTEXT_RENDER_TABLE  value of the ancestor widget. If no such an-
	       cestor is found, the default is implementation dependent.

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

     XmNrenderTable
	       Specifies  the  render table to be used in deriving a font set or
	       font for rendering text. If both a render table and a  font  list
	       are  specified,	the  render  table  will take precedence. If the
	       value of XmNrenderTable is NULL at initialization, the parent hi-
	       erarchy of the widget is searched for an ancestor that holds  the
	       XmQTspecifyRenderTable  trait.  If such an ancestor is found, the
	       font list is initialized to the XmTEXT_RENDER_TABLE value of  the
	       ancestor widget. If no such ancestor is found, the default is im-
	       plementation dependent.

	       Text searches the render table for the first occurrence of a ren-
	       dition  that has the tag _MOTIF_DEFAULT_LOCALE. If a default ele-
	       ment is not found, the first rendition in the table is used.  Re-
	       fer  to XmRenderTable(3) for more information on the render table
	       structure.

     XmNresizeHeight
	       Indicates that Text will attempt to resize its height to accommo-
	       date all the text contained in the widget when the Boolean  value
	       is  True. If the Boolean value is set to True, the text is always
	       displayed, starting from the first position in the  source,  even
	       if  instructed  otherwise. This attribute is ignored when the ap-
	       plication uses a Text widget whose parent is a ScrolledWindow and
	       when XmNscrollVertical is True.

	       When the XmNlayoutDirection resource is XmTOP_TO_BOTTOM, this re-
	       source indicates that the text attempts to resize its  height  to
	       accommodate all the text contained in the widget when the Boolean
	       value is True. This attribute is ignored if XmNwordWrap 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.

	       When the XmNlayoutDirection resource is XmTOP_TO_BOTTOM, this at-
	       tribute	is  still  effective even if XmNwordWrap is True.  Also,
	       this attribute is ignored when the application uses a text widget
	       whose parent is	a  ScrolledWindow  and	XmNscrollHorizaontal  is
	       True.

     XmNrows   Specifies the initial height of the text window measured in char-
	       acter  heights.	This attribute is ignored if the text widget re-
	       source XmNeditMode is  XmSINGLE_LINE_EDIT.   The  value	must  be
	       greater than 0 (zero).  The default value depends on the value of
	       the  XmNheight  resource.  If no height is specified, the default
	       is 1.

	       When the XmNlayoutDirection resource is XmTOP_TO_BOTTOM, this at-
	       tribute is still effective, even if the	XmText	widget	resource
	       XmNeditMode is XmSINGLE_LINE_EDIT. If no height is specified, the
	       default is 20.

     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 char-
	       acters separated by whitespace. Whitespace is defined as a space,
	       tab, or newline. This attribute is ignored if the text widget re-
	       source XmNeditMode is XmSINGLE_LINE_EDIT.   Note  that  this  re-
	       source  is only valid when the widget is not a scroll one, or, if
	       the widget is a scroll widget, that the	XmNscrollHorizontal  re-
	       source is False.

	       Indicates  that	lines  are to be broken at word breaks (that is,
	       when the XmNlayoutDirection resource is XmTOP_TO_BOTTOM, the text
	       does not go off the bottom edge of the window) when  the  Boolean
	       value is True.

     The  following  resources are used only when text is created in a Scrolled-
     Window. See the reference page for XmCreateScrolledText.
     +------------------------------------------------------------------+
     |			XmText Scrolling Resource Set			|
     | Name		     Class	     Type      Default	 Access |
     | XmNscrollHorizontal   XmCScroll	     Boolean   True	 CG	|
     | XmNscrollLeftSide     XmCScrollSide   Boolean   False	 CG	|
     | XmNscrollTopSide      XmCScrollSide   Boolean   False	 CG	|
     | XmNscrollVertical     XmCScroll	     Boolean   True	 CG	|
     +------------------------------------------------------------------+

     Note in connection with this table that if the XmNlayoutDirection	resource
     is XmTOP_TO_BOTTOM, the default is True.

     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 ScrolledWin-
	       dow with XmNscrollingPolicy set to XmAUTOMATIC.

	       When the XmNlayoutDirection resource is XmTOP_TO_BOTTOM, this at-
	       tribute is ignored if the XmText widget resource  XmNeditMode  is
	       XmSINGLE_LINE_EDIT.

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

	       When the XmNlayoutDirection resource is XmTOP_TO_BOTTOM, this re-
	       source is still effective, even if  the	XmText	widget	resource
	       XmNeditMode is XmSINGLE_LINE_EDIT.

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

	       When the XmNlayoutDirection resource is XmTOP_TO_BOTTOM, this at-
	       tribute	is ignored if XmNscrollHorizontal is False or the Xmtext
	       resource XmNeditMode is XmSINGLE_LINE_EDIT.

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

	       When the XmNlayoutDirection resource is XmTOP_TO_BOTTOM, this re-
	       source is still effective, even if  the	XmText	widget	resource
	       XmNeditMode is XmSINGLE_LINE_EDIT.

   Inherited Resources
     Text inherits behavior and resources from the superclasses described in the
     following	tables.   For  a complete description of each resource, refer to
     the reference page for that superclass.
     +----------------------------------------------------------------------------------------------------+
     |					    XmPrimitive Resource Set					  |
     | Name			 Class			 Type		    Default		   Access |
     | XmNbottomShadowColor	 XmCBottomShadowColor	 Pixel		    dynamic		   CSG	  |
     | XmNbottomShadowPixmap	 XmCBottomShadowPixmap	 Pixmap 	    XmUNSPECIFIED_PIXMAP   CSG	  |
     | XmNconvertCallback	 XmCCallback		 XtCallbackList     NULL		   C	  |
     | 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	  |
     | XmNlayoutDirection	 XmCLayoutDirection	 XmDirection	    dynamic		   CG	  |
     | XmNnavigationType	 XmCNavigationType	 XmNavigationType   XmTAB_GROUP 	   CSG	  |
     | XmNpopupHandlerCallback	 XmCCallback		 XtCallbackList     NULL		   C	  |
     | 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

     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 struc-
     ture  members  that are valid for the particular reason.  The values start-
     Pos, endPos, and text in the callback structure  XmTextVerifyCallbackStruct
     may  be  modified	when the callback is received, and these changes will be
     reflected as changes made to the source of the Text widget.  (For	example,
     all  keystrokes  can be converted to spaces or NULL characters when a pass-
     word 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 XmNlosing-
     FocusCallback, 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 programmati-
	       cally do not have an event that can be passed to  the  associated
	       callback.

     doit      Indicates  whether  the	action that invoked the callback is per-
	       formed.	Setting doit to False negates the action.  Note that not
	       all actions may be negated. For example, XmCR_LOSING_FOCUS  call-
	       backs  may  be  beyond the control of the widget if they are pro-
	       duced by mouse clicks.

     currInsertIndicates 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	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 XmFMT_8_BIT or
		      XmFMT_16_BIT.

     A pointer to the following structure is passed to	callbacks  for	XmNmodi-
     fyVerifyCallbackWcs.

     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  programmati-
	       cally  do  not have an event that can be passed to the associated
	       callback.

     doit      Indicates whether the action that invoked the  callback	is  per-
	       formed.	Setting doit to False negates the action.  Note that not
	       all  actions may be negated. For example, XmCR_LOSING_FOCUS call-
	       backs may be beyond the control of the widget if  they  are  pro-
	       duced by mouse clicks.

     currInsertIndicates 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 the following structure of type XmTextBlockRecWcs. This
	       structure holds the textual information to be inserted.

     typedef struct
     {
	     wchar_t *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 for which the individual verifi-
     cation callback structure fields are valid. Note that the event field  will
     never be valid for XmCR_MOVING_INSERT_CURSOR.
     +-----------------------------------------------------------------+
     | Reason			   Valid Fields 		       |
     | XmCR_LOSING_FOCUS	   reason,  event,  doit,  currInsert, |
     |				   newInsert, startPos, endPos	       |
     | XmCR_MODIFYING_TEXT_VALUE   reason,  event,  doit,  currInsert, |
     |				   newInsert, startPos, endPos, text   |
     | XmCR_MOVING_INSERT_CURSOR   reason, doit, currInsert, newInsert |
     +-----------------------------------------------------------------+

     A	pointer to the following callback structure is passed to the XmNdestina-
     tionCallback procedures:

     typedef struct
     {
	     int reason;
	     XEvent  *event;
	     Atom selection;
	     XtEnum operation;
	     int flags;
	     XtPointer transfer_id;
	     XtPointer destination_data;
	     XtPointer location_data;
	     Time time;
     } XmDestinationCallbackStruct;

     reason    Indicates why the callback was invoked.

     event     Points to the XEvent that triggered  the  callback.   It  can  be
	       NULL.

     selection Indicates  the  selection  for  which  data transfer is being re-
	       quested.  Possible values are CLIPBOARD, PRIMARY, SECONDARY,  and
	       _MOTIF_DROP.

     operation Indicates the type of transfer operation requested.

		  *  When the selection is PRIMARY or SECONDARY, possible values
		     are XmMOVE, XmCOPY, and XmLINK.

		  *  When the selection is CLIPBOARD, possible values are XmCOPY
		     and XmLINK.

		  *  When  the selection is _MOTIF_DROP, possible values are Xm-
		     MOVE, XmCOPY, XmLINK, and	XmOTHER.   A  value  of  XmOTHER
		     means that the callback procedure must get further informa-
		     tion  from  the  XmDropProcCallbackStruct	structure in the
		     destination_data member.

     flags     Indicates whether or not  the  destination  widget  is  also  the
	       source of the data to be transferred.  Following are the possible
	       values:

	       XmCONVERTING_NONE
			 The destination widget is not the source of the data to
			 be transferred.

	       XmCONVERTING_SAME
			 The  destination widget is the source of the data to be
			 transferred.

     transfer_id
	       Serves as a unique ID to identify the transfer transaction.

     destination_data
	       Contains information about the destination.  When  the  selection
	       is  _MOTIF_DROP,  the  callback procedures are called by the drop
	       site's XmNdropProc, and destination_data is a pointer to the  Xm-
	       DropProcCallbackStruct structure passed to the XmNdropProc proce-
	       dure.   When  the  selection is SECONDARY, destination_data is an
	       Atom representing a target recommmended by  the	selection  owner
	       for use in converting the selection.  Otherwise, destination_data
	       is NULL.

     location_data
	       Contains  information  about  the  location  where  data is to be
	       transferred.  The value is always  NULL	when  the  selection  is
	       CLIPBOARD.   If	the value is NULL, the data is to be inserted at
	       the widget's cursor position.  Otherwise, the value is a  pointer
	       to  an  XPoint  structure containing the x- and y- coordinates at
	       the location where the data is to be transferred.  Once	XmTrans-
	       ferDone	procedures  start  to  be  called, location_data will no
	       longer be stable.

     time      Indicates the time when the transfer operation began.

   Translations
     The XmText translations are described in the following list.   The  actions
     represent	the  effective	behavior  of the associated events, and they may
     differ in a right-to-left language environment.

     The following key names are listed in the X standard key event  translation
     table  syntax.   This format is the one used by Motif to specify the widget
     actions corresponding to a given key.  A brief overview of  the  format  is
     provided  under VirtualBindings(3).  For a complete description of the for-
     mat, please refer to the X Toolkit Instrinsics Documentation.

     ~c s ~m ~a <Btn1Down>:
	       extend-start()

     c ~s ~m ~a <Btn1Down>:
	       move-destination()

     ~c ~s ~m ~a <Btn1Down>:
	       grab-focus()

     ~c ~m ~a <Btn1Motion>:
	       extend-adjust()

     ~c ~m ~a <Btn1Up>:
	       extend-end()

     <Btn2Down>:
	       process-bdrag()

     m ~a <Btn2Motion>:
	       secondary-adjust()

     ~m a <Btn2Motion>:
	       secondary-adjust()

     s c <Btn2Up>:
	       link-to()

     ~s <Btn2Up>:
	       copy-to()

     ~c <Btn2Up>:
	       move-to()

     :m <Key><osfPrimaryPaste>:
	       cut-primary()

     :a <Key><osfPrimaryPaste>:
	       cut-primary()

     :<Key><osfPrimaryPaste>:
	       copy-primary()

     :m <Key><osfCut>:
	       cut-primary()

     :a <Key><osfCut>:
	       cut-primary()

     :<Key><osfCut>:
	       cut-clipboard()

     :<Key><osfPaste>:
	       paste-clipboard()

     :m <Key><osfCopy>:
	       copy-primary()

     :a <Key><osfCopy>:
	       copy-primary()

     :<Key><osfCopy>:
	       copy-clipboard()

     :s c <Key><osfBeginLine>:
	       beginning-of-file(extend)

     :c <Key><osfBeginLine>:
	       beginning-of-file()

     :s <Key><osfBeginLine>:
	       beginning-of-line(extend)

     :<Key><osfBeginLine>:
	       beginning-of-line()

     :s c <Key><osfEndLine>:
	       end-of-file(extend)

     :c <Key><osfEndLine>:
	       end-of-file()

     :s <Key><osfEndLine>:
	       end-of-line(extend)

     :<Key><osfEndLine>:
	       end-of-line()

     :s <Key><osfPageLeft>:
	       page-left(extend) (ignored in vertical writing)

     :<Key><osfPageLeft>:
	       page-left() (next-page() in vertical writing)

     :s c <Key><osfPageUp>:
	       page-left(extend)

     :c <Key><osfPageUp>:
	       page-left()

     :s <Key><osfPageUp>:
	       previous-page(extend) (ignored in vertical writing)

     :<Key><osfPageUp>:
	       previous-page() (page-up() in vertical writing)

     :s <Key><osfPageRight>:
	       page-right(extend) (ignored in vertical writing)

     :<Key><osfPageRight>:
	       page-right() (previous-page() in vertical writing)

     s c <Key><osfPageDown>:
	       page-right(extend) (ignored in vertical writing)

     :c <Key><osfPageDown>:
	       page-right()

     :s <Key><osfPageDown>:
	       next-page(extend) (ignored in vertical writing)

     :<Key><osfPageDown>:
	       next-page() (page-down() in vertical writing)

     :<Key><osfClear>:
	       clear-selection()

     :<Key><osfBackSpace>:
	       delete-previous-character()

     :s m <Key><osfDelete>:
	       cut-primary()

     :s a <Key><osfDelete>:
	       cut-primary()

     :s <Key><osfDelete>:
	       cut-clipboard()

     :c <Key><osfDelete>:
	       delete-to-end-of-line()

     :<Key><osfDelete>:
	       delete-next-character()

     :c m <Key><osfInsert>:
	       copy-primary()

     :c a <Key><osfInsert>:
	       copy-primary()

     :s <Key><osfInsert>:
	       paste-clipboard()

     :c <Key><osfInsert>:
	       copy-clipboard()

     :s <Key><osfSelect>:
	       key-select()

     :<Key><osfSelect>:
	       set-anchor()

     :<Key><osfSelectAll>:
	       select-all()

     :<Key><osfDeselectAll>:
	       deselect-all()

     :<Key><osfActivate>:
	       activate()

     :<Key><osfAddMode>:
	       toggle-add-mode()

     :<Key><osfHelp>:
	       Help()

     :<Key><osfCancel>:
	       process-cancel()

     :s c <Key><osfLeft>:
	       backward-word(extend)  (  forward-paragraph(extend)  in	vertical
	       writing)

     :c <Key><osfLeft>:
	       backward-word() (forward-paragraph() in vertical writing)

     :s <Key><osfLeft>:
	       key-select(left) (process-shift-left() in vertical writing)

     :<Key><osfLeft>:
	       backward-character() (process-left() in vertical writing)

     :s c <Key><osfRight>:
	       forward-word(extend)   (backward-paragraph(extend)   in	vertical
	       writing)

     :c <Key><osfRight>:
	       forward-word() (backward-paragraph() in vertical writing)

     :s <Key><osfRight>:
	       key-select(right) (process-shift-right in vertical writing)

     :<Key><osfRight>:
	       forward-character() (process-right() in vertical writing)

     :s c <Key><osfUp>:
	       backward-paragraph(extend)  (backward-word(extend)  in	vertical
	       writing)

     :c <Key><osfUp>:
	       backward-paragraph() (backward-word() in vertical writing)

     :s <Key><osfUp>:
	       process-shift-up() (key-select(up) in vertical writing)

     :<Key><osfUp>:
	       process-up() (backward-character() in vertical writing)

     :s c <Key><osfDown>:
	       forward-paragraph(extend) (forward-word(extend) in vertical writ-
	       ing)

     :c <Key><osfDown>:
	       forward-paragraph() (forward-word() in vertical writing)

     :s <Key><osfDown>:
	       process-shift-down() (key-select(down) in vertical writing)

     :<Key><osfDown>:
	       process-down() (forward-character() in vertical writing)

     c ~m ~a <Key>slash:
	       select-all()

     c ~m ~a <Key>backslash:
	       deselect-all()

     s c ~m ~a <Key>Tab:
	       prev-tab-group()

     ~s c ~m ~a <Key>Tab:
	       next-tab-group()

     s ~c ~m ~a <Key>Tab:
	       process-tab(Prev)

     ~s ~c ~m ~a <Key>Tab:
	       process-tab(Next)

     ~s c ~m ~a <Key>Return:
	       activate()

     ~s ~c ~m ~a <Key>Return:
	       process-return()

     ~s c ~m ~a <Key>space:
	       set-anchor()

     s c ~m ~a <Key>space:
	       key-select()

     s ~c ~m ~a <Key>space:
	       self-insert()

     <Key>:    self-insert()

     The  Text	button	event  translations  are  modified when Display's XmNen-
     ableBtn1Transfer resource does not have a value of XmOFF (in  other  words,
     it  is  either  XmBUTTON2_TRANSFER or XmBUTTON2_ADJUST). This option allows
     the actions for selection and transfer to be integrated on <Btn1>, and  the
     actions for extending the selection can be bound to <Btn2>. The actions for
     <Btn1> that are defined above still apply when the <Btn1> event occurs over
     text  that  is  not  selected.  The following actions apply when the <Btn1>
     event occurs over text that is selected:

     <Btn1Down>:
	       process-bdrag().

     <Shift><Btn1Down>:
	       process-bdrag().

     <Ctrl><Btn1Down>:
	       process-bdrag().

     <Btn1Down><Shift><Btn1Up>:
	       grab-focus(), extend-end.

     <Shift><Btn1Down><Shift><Btn1Up>:
	       extend-start(), extend-end().

     <Ctrl><Btn1Down><Shift><Btn1Up>:
	       move-destination().

     When Display's XmNenableBtn1Transfer resource has a value of  XmBUTTON2_AD-
     JUST, the following actions apply:

     <Btn2Down>:
	       extend-start().

     <Btn2Motion>:
	       extend-adjust().

     <Btn2Up>: extend-end().

   Action Routines
     The XmText action routines are

     activate():
	       Calls the callbacks for XmNactivateCallback.  Passes the event to
	       the parent.

     backward-character(extend):
	       Moves  the  insertion cursor one character to the left.	This ac-
	       tion may have different behavior in a right-to-left language  en-
	       vironment.

	       If  called with an argument of extend, moves the insertion cursor
	       as in the case of no argument and extends the current selection.

	       The backward-character() action produces calls to the  XmNmotion-
	       VerifyCallback	procedures  with  reason  value  XmCR_MOVING_IN-
	       SERT_CURSOR.  If called with the extend argument,  the  backward-
	       character()  action  may produce calls to the XmNgainPrimaryCall-
	       back procedures.  See callback description for more information.

	       In vertical writing, if	XmNeditMode  is  XmSINGLE_LINE_EDIT  and
	       XmNnavigationType  is XmNONE, traverses to the widget to the left
	       in the tab group. If XmNeditMode is XmMULTI_LINE_EDIT, moves  the
	       insertion cursor to the next line in the same column.

     backward-paragraph(extend):
	       If  XmNeditMode	is  XmMULTI_LINE_EDIT  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  be-
	       ginning of the previous paragraph.

	       If  XmNeditMode	is  XmMULTI_LINE_EDIT  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.

	       The  backward-paragraph() action produces calls to the XmNmotion-
	       VerifyCallback  procedures  with  reason  value	 XmCR_MOVING_IN-
	       SERT_CURSOR.   If  called with the extend argument, the backward-
	       paragraph() action may produce calls to	the  XmNgainPrimaryCall-
	       back procedures.  See callback description for more information.

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

	       The backward-word() action produces calls to the XmNmotionVerify-
	       Callback  procedures with reason value XmCR_MOVING_INSERT_CURSOR.
	       If called with the extend argument,  the  backward-word()  action
	       may  produce calls to the XmNgainPrimaryCallback procedures.  See
	       callback description for more information.

     beep():   Causes the terminal to beep.  The beep() action produces no call-
	       backs.

     beginning-of-file(extend):
	       If this action is called with no argument,  moves  the  insertion
	       cursor to the beginning of the text.

	       If  called with an argument of extend, moves the insertion cursor
	       as in the case of no argument and extends the current selection.

	       The beginning-of-file() action produces calls to  the  XmNmotion-
	       VerifyCallback	procedures  with  reason  value  XmCR_MOVING_IN-
	       SERT_CURSOR.  If called with the extend argument, the  beginning-
	       of-file()  action may produce calls to the XmNgainPrimaryCallback
	       procedures.  See callback description for more information.

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

	       If  called with an argument of extend, moves the insertion cursor
	       as in the case of no argument and extends the current selection.

	       The beginning-of-line() action produces calls to  the  XmNmotion-
	       VerifyCallback	procedures  with  reason  value  XmCR_MOVING_IN-
	       SERT_CURSOR.  If called with the extend argument, the  beginning-
	       of-line()  action may produce calls to the XmNgainPrimaryCallback
	       procedures.  See callback description for more information.

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

	       The clear-selection() action produces calls to the XmNmodifyVeri-
	       fyCallback procedures with reason value XmCR_MODIFYING_TEXT_VALUE
	       and  the  XmNvalueChangedCallback  procedures  with  reason value
	       XmCR_VALUE_CHANGED.

     copy-clipboard():
	       If this widget owns the primary selection, this action copies the
	       selection to the clipboard.  This action  calls	the  XmNconvert-
	       Callback  procedures,  possibly multiple times, for the CLIPBOARD
	       selection.

     copy-primary():
	       Copies the primary selection to just before the insertion cursor.
	       This action calls the XmNdestinationCallback procedures	for  the
	       PRIMARY	selection and the XmCOPY operation.  It calls the selec-
	       tion owner's  XmNconvertCallback  procedures,  possibly	multiple
	       times, for the PRIMARY selection.

	       In addition, the copy-primary() action produces calls to the XmN-
	       modifyVerifyCallback  procedures  with  reason value XmCR_MODIFY-
	       ING_TEXT_VALUE, to the  XmNvalueChangedCallback	procedures  with
	       reason  value XmCR_VALUE_CHANGED, and to the XmNmotionVerifyCall-
	       back procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     copy-to():If a secondary selection exists, this action copies the secondary
	       selection to the insertion position of the destination component.
	       If the primary selection is in the destination widget, it will be
	       deselected. Otherwise, there is no effect on the  primary  selec-
	       tion.

	       This action calls the destination's XmNdestinationCallback proce-
	       dures  for the SECONDARY selection and the XmCOPY operation.  The
	       destination's XmNdestinationCallback procedures or  the	destina-
	       tion  component	itself invokes the selection owner's XmNconvert-
	       Callback procedures, possibly multiple times, for  the  SECONDARY
	       selection.

	       If  no secondary selection exists, this action copies the primary
	       selection to the pointer position.  This action calls the XmNdes-
	       tinationCallback procedures for the PRIMARY selection and the Xm-
	       COPY operation.	It calls the selection	owner's  XmNconvertCall-
	       back  procedures, possibly multiple times, for the PRIMARY selec-
	       tion.

	       In addition, the copy-to() action produces calls to the	XmNmodi-
	       fyVerifyCallback   procedures   with  reason  value  XmCR_MODIFY-
	       ING_TEXT_VALUE, to the  XmNvalueChangedCallback	procedures  with
	       reason  value XmCR_VALUE_CHANGED, and to the XmNmotionVerifyCall-
	       back procedures with reason value XmCR_MOVING_INSERT_CURSOR.   If
	       there is no secondary selection, the copy-to() action may produce
	       calls to the XmNgainPrimaryCallback procedures.	See callback de-
	       scription for more information.

     cut-clipboard():
	       If  this  widget owns the primary selection, this action cuts the
	       selection to the clipboard.  This action  calls	the  XmNconvert-
	       Callback  procedures,  possibly multiple times, for the CLIPBOARD
	       selection.  If the transfer is successful, this action then calls
	       the XmNconvertCallback procedures for the CLIPBOARD selection and
	       the DELETE target.

	       In addition, the cut-clipboard() action produces calls to the Xm-
	       NmodifyVerifyCallback procedures with reason  value  XmCR_MODIFY-
	       ING_TEXT_VALUE,	and  the XmNvalueChangedCallback procedures with
	       reason value XmCR_VALUE_CHANGED.

     cut-primary():
	       Cuts the primary selection and pastes it just before  the  inser-
	       tion cursor.  This action calls the XmNdestinationCallback proce-
	       dures  for  the	PRIMARY  selection and the XmMOVE operation.  It
	       calls the selection owner's XmNconvertCallback procedures, possi-
	       bly multiple times, for the PRIMARY selection.  If  the	transfer
	       is  successful, this action then calls the selection owner's XmN-
	       convertCallback procedures for  the  PRIMARY  selection	and  the
	       DELETE target.  The cut-primary() action may produce calls to the
	       XmNgainPrimaryCallback  procedures.  See callback description for
	       more information.

	       In addition, the cut-primary() action produces calls to the  XmN-
	       motionVerifyCallback procedures with reason value XmCR_MOVING_IN-
	       SERT_CURSOR,  the  XmNmodifyVerifyCallback procedures with reason
	       value XmCR_MODIFYING_TEXT_VALUE, and the  XmNvalueChangedCallback
	       procedures with reason value XmCR_VALUE_CHANGED.

     delete-next-character():
	       In  normal mode, if there is a nonnull selection, deletes the se-
	       lection; otherwise, deletes the character following the insertion
	       cursor.	In add mode, if there is a nonnull 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.

	       The delete-next-character() action produces calls to the XmNmodi-
	       fyVerifyCallback  procedures  with  reason   value   XmCR_MODIFY-
	       ING_TEXT_VALUE,	and  the XmNvalueChangedCallback procedures with
	       reason value XmCR_VALUE_CHANGED.

     delete-next-word():
	       In normal mode, if there is a nonnull selection, deletes the  se-
	       lection;  otherwise,  deletes the characters following the inser-
	       tion cursor to the next space, tab or end-of-line character.   In
	       add mode, if there is a nonnull selection, the cursor is not dis-
	       joint  from  the  selection, and XmNpendingDelete is set to True,
	       deletes the selection; otherwise, deletes the characters  follow-
	       ing  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.

	       The delete-next-word() action produces calls to the XmNmodifyVer-
	       ifyCallback    procedures    with   reason   value   XmCR_MODIFY-
	       ING_TEXT_VALUE, and the XmNvalueChangedCallback	procedures  with
	       reason value XmCR_VALUE_CHANGED.

     delete-previous-character():
	       In  normal mode, if there is a nonnull selection, deletes the se-
	       lection; 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; oth-
	       erwise, deletes the character of text immediately  preceding  the
	       insertion cursor.  This may impact the selection.

	       The delete-previous-character() action produces calls to the XmN-
	       modifyVerifyCallback  procedures  with  reason value XmCR_MODIFY-
	       ING_TEXT_VALUE, the XmNvalueChangedCallback procedures with  rea-
	       son  value  XmCR_VALUE_CHANGED,	and  the XmNmotionVerifyCallback
	       procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     delete-previous-word():
	       In normal mode, if there is a nonnull selection, deletes the  se-
	       lection;  otherwise,  deletes the characters preceding the inser-
	       tion cursor to the next space, tab or  beginning-of-line  charac-
	       ter.  In add mode, if there is a nonnull 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 next space, tab  or  begin-
	       ning-of-line  character.  This may impact the selection. This ac-
	       tion may have different behavior in a locale other than the C lo-
	       cale.

	       The delete-previous-word() action produces calls to the	XmNmodi-
	       fyVerifyCallback   procedures   with  reason  value  XmCR_MODIFY-
	       ING_TEXT_VALUE, the XmNvalueChangedCallback procedures with  rea-
	       son  value  XmCR_VALUE_CHANGED,	and  the XmNmotionVerifyCallback
	       procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     delete-selection():
	       Deletes the current selection.

	       The delete-selection() action produces calls to the XmNmodifyVer-
	       ifyCallback   procedures   with	 reason    value    XmCR_MODIFY-
	       ING_TEXT_VALUE,	the XmNvalueChangedCallback procedures with rea-
	       son value  XmCR_VALUE_CHANGED,  and  the  XmNmotionVerifyCallback
	       procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     delete-to-end-of-line():
	       In  normal mode, if there is a nonnull selection, deletes the se-
	       lection; otherwise, deletes the characters following  the  inser-
	       tion  cursor  to the next end of line character.  In add mode, if
	       there is a nonnull selection, the cursor is not disjoint from the
	       selection, and XmNpendingDelete is set to True, deletes	the  se-
	       lection;  otherwise,  deletes the characters following the inser-
	       tion cursor to the next end of line character.  This  may  impact
	       the selection.

	       The delete-to-end-of-line() action produces calls to the XmNmodi-
	       fyVerifyCallback   procedures   with  reason  value  XmCR_MODIFY-
	       ING_TEXT_VALUE, and the XmNvalueChangedCallback	procedures  with
	       reason value XmCR_VALUE_CHANGED.

     delete-to-start-of-line():
	       In  normal mode, if there is a nonnull selection, deletes the se-
	       lection; otherwise, deletes the characters preceding  the  inser-
	       tion  cursor to the previous beginning-of-line character.  In add
	       mode, if there is a nonnull 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.

	       The  delete-to-start-of-line()  action produces calls to the XmN-
	       modifyVerifyCallback procedures with  reason  value  XmCR_MODIFY-
	       ING_TEXT_VALUE,	the XmNvalueChangedCallback procedures with rea-
	       son value  XmCR_VALUE_CHANGED,  and  the  XmNmotionVerifyCallback
	       procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     deselect-all():
	       Deselects  the current selection.  The deselect-all() action pro-
	       duces no callbacks.

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

	       If  called with an argument of extend, moves the insertion cursor
	       as in the case of no argument and extends the current selection.

	       The end-of-file() action produces calls to  the	XmNmotionVerify-
	       Callback  procedures with reason value XmCR_MOVING_INSERT_CURSOR.
	       If called with the extend argument, the end-of-file() action  may
	       produce	calls  to  the	XmNgainPrimaryCallback	procedures.  See
	       callback description for more information.

     end-of-line(extend):
	       If this action is called with no argument,  moves  the  insertion
	       cursor to the end of the line.  If called with an argument of ex-
	       tend,  moves  the  insertion cursor as in the case of no argument
	       and extends the current selection.

	       The end-of-line() action produces calls to  the	XmNmotionVerify-
	       Callback  procedures with reason value XmCR_MOVING_INSERT_CURSOR.
	       If called with the extend argument, the end-of-line() action  may
	       produce	calls  to  the	XmNgainPrimaryCallback	procedures.  See
	       callback description for more information.

     extend-adjust():
	       Selects text from the anchor to the pointer  position  and  dese-
	       lects  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.

	       The extend-adjust() action produces calls to the XmNmotionVerify-
	       Callback procedures with reason value  XmCR_MOVING_INSERT_CURSOR.
	       The extend-adjust() action may produce calls to the XmNgainPrima-
	       ryCallback  procedures.	See callback description for more infor-
	       mation.

     extend-end():
	       Moves the insertion cursor to the position of the  pointer.   The
	       extend-end()  action  is used to commit the selection. After this
	       action has been done, process-cancel() will no longer cancel  the
	       selection.

	       The  extend-end()  action  produces calls to the XmNmotionVerify-
	       Callback procedures with reason value  XmCR_MOVING_INSERT_CURSOR.
	       The  extend-end()  action  may produce calls to the XmNgainPrima-
	       ryCallback procedures.  See callback description for more  infor-
	       mation.

     extend-start():
	       Adjusts	the  anchor using the balance-beam method.  Selects text
	       from the anchor to the pointer position and deselects  text  out-
	       side  that range.  The extend-start() action may produce no call-
	       backs, however, the extend-start() action may  produce  calls  to
	       the  XmNgainPrimaryCallback procedures.	See callback description
	       for more information.

     forward-character(extend):
	       Moves the insertion cursor one character to the right.  This  ac-
	       tion  may have different behavior in a right-to-left language en-
	       vironment.

	       If called with an argument of extend, moves the insertion  cursor
	       as in the case of no argument and extends the current selection.

	       The  forward-character()  action produces calls to the XmNmotion-
	       VerifyCallback  procedures  with  reason  value	 XmCR_MOVING_IN-
	       SERT_CURSOR.   If  called  with the extend argument, the forward-
	       character() action may produce calls to	the  XmNgainPrimaryCall-
	       back procedures.  See callback description for more information.

	       In  vertical  writing,  if  XmNeditMode is XmSINGLE_LINE_EDIT and
	       XmNnavigationType is XmNONE, traverses to the widget to the right
	       in the tab group. If XmNeditMode is XmMULTI_LINE_EDIT, moves  the
	       insertion cursor to the previous line in the same column.

     forward-paragraph(extend):
	       If  XmNeditMode	is  XmMULTI_LINE_EDIT, 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 in-
	       sertion cursor is already at the beginning of a paragraph,  moves
	       the insertion cursor to the beginning of the next paragraph.

	       If  XmNeditMode	is  XmMULTI_LINE_EDIT  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.

	       The  forward-paragraph()  action produces calls to the XmNmotion-
	       VerifyCallback  procedures  with  reason  value	 XmCR_MOVING_IN-
	       SERT_CURSOR.   If  called  with the extend argument, the forward-
	       paragraph() action may produce calls to	the  XmNgainPrimaryCall-
	       back procedures.  See callback description for more information.

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

	       The  forward-word() action produces calls to the XmNmotionVerify-
	       Callback procedures with reason value  XmCR_MOVING_INSERT_CURSOR.
	       If called with the extend argument, the forward-word() action may
	       produce	calls  to  the	XmNgainPrimaryCallback	procedures.  See
	       callback description for more information.

     grab-focus():
	       This key binding performs the action  defined  in  the  XmNselec-
	       tionArray, depending on the number of multiple mouse clicks.  The
	       default	selection array ordering is one click to move the inser-
	       tion 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.

	       The  grab-focus()  action  produces calls to the XmNmotionVerify-
	       Callback procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     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.

	       The insert-string() action produces calls to the XmNmodifyVerify-
	       Callback  procedures with reason value XmCR_MODIFYING_TEXT_VALUE,
	       the  XmNvalueChangedCallback   procedures   with   reason   value
	       XmCR_VALUE_CHANGED,  and  the  XmNmotionVerifyCallback procedures
	       with reason value XmCR_MOVING_INSERT_CURSOR.  Note that,  in  the
	       case  of  an  empty string, no callbacks will be called, since no
	       modification will have been done. However, if the insertion posi-
	       tion is inside the current selection, insert-string with an empty
	       string will cause the selection to be deselected, and the  XmNmo-
	       tionVerifyCallback  procedures  to  be  called  with reason value
	       XmCR_MOVING_INSERT_CURSOR,     XmCR_MODIFYING_TEXT_VALUE,     and
	       XmCR_VALUE_CHANGED.

     key-select(right|left):
	       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.

	       Note that after a key-select action, the selection will still be-
	       gin at the original anchor, and will extend to the position indi-
	       cated in the action call. If this new position is on the opposite
	       side of the selection anchor from the previous  selection  bound-
	       ary, the original selection will be deselected.

	       The  key-select()  action  produces calls to the XmNmotionVerify-
	       Callback procedures with reason value  XmCR_MOVING_INSERT_CURSOR.
	       The  key-select()  action  may produce calls to the XmNgainPrima-
	       ryCallback procedures.  See callback description for more  infor-
	       mation.

	       In  vertical  writing,  if  called with the argument left, and if
	       XmNeditMode is XmMULTI_LINE_EDIT, moves the insertion  cursor  to
	       the next line in the same column.  In vertical writing, if called
	       with the argument right, and if XmNeditMode is XmMULTI_LINE_EDIT,
	       moves  the insertion cursor to the previous line in the same col-
	       umn.)

     kill-next-character():
	       In normal mode, if there is a nonnull selection, kills the selec-
	       tion; otherwise, kills the character following the insertion cur-
	       sor and stores the character in the cut buffer.	In add mode,  if
	       there is a nonnull selection, the cursor is not disjoint from the
	       selection,  and	XmNpendingDelete is set to True, deletes the se-
	       lection; otherwise, kills the character following  the  insertion
	       cursor  and stores the character in the cut buffer.  This may im-
	       pact the selection.

	       The killed text is stored in CUT_BUFFER0.

	       The kill-next-character() action produces calls to  the	XmNmodi-
	       fyVerifyCallback   procedures   with  reason  value  XmCR_MODIFY-
	       ING_TEXT_VALUE, the XmNvalueChangedCallback procedures with  rea-
	       son  value  XmCR_VALUE_CHANGED,	and  the XmNmotionVerifyCallback
	       procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     kill-next-word():
	       In normal mode, if there is a nonnull selection, deletes the  se-
	       lection;  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  nonnull  selection, the cursor is not disjoint from the selec-
	       tion, 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.

	       The killed text is stored in CUT_BUFFER0.

	       The kill-next-word() action produces calls to the  XmNmodifyVeri-
	       fyCallback    procedures    with    reason   value   XmCR_MODIFY-
	       ING_TEXT_VALUE, the XmNvalueChangedCallback procedures with  rea-
	       son  value  XmCR_VALUE_CHANGED,	and  the XmNmotionVerifyCallback
	       procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     kill-previous-character():
	       In normal mode, if there is a nonnull selection, deletes the  se-
	       lection; otherwise, kills the character immediately preceding the
	       insertion  cursor and stores the character in the cut buffer.  In
	       add mode, if there is a nonnull selection, the cursor is not dis-
	       joint 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.

	       The killed text is stored in CUT_BUFFER0.

	       The kill-previous-character() action produces calls to  the  XmN-
	       modifyVerifyCallback  procedures  with  reason value XmCR_MODIFY-
	       ING_TEXT_VALUE, the XmNvalueChangedCallback procedures with  rea-
	       son  value  XmCR_VALUE_CHANGED,	and  the XmNmotionVerifyCallback
	       procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     kill-previous-word():
	       In normal mode, if there is a nonnull selection, deletes the  se-
	       lection;  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 nonnull selection, the cursor is not disjoint from the
	       selection, and XmNpendingDelete is set to True, deletes	the  se-
	       lection;  otherwise, kills the characters preceding the insertion
	       cursor up to the next space, tab or beginning-of-line  character,
	       and  stores the characters in the cut buffer. This may impact the
	       selection. This action may have different behavior  in  a  locale
	       other than the C locale.

	       The killed text is stored in CUT_BUFFER0.

	       The  kill-previous-word()  action  produces calls to the XmNmodi-
	       fyVerifyCallback  procedures  with  reason   value   XmCR_MODIFY-
	       ING_TEXT_VALUE,	the XmNvalueChangedCallback procedures with rea-
	       son value  XmCR_VALUE_CHANGED,  and  the  XmNmotionVerifyCallback
	       procedures with reason value XmCR_MOVING_INSERT_CURSOR.

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

	       The killed text is stored in CUT_BUFFER0.

	       The kill-selection() action produces calls to the  XmNmodifyVeri-
	       fyCallback    procedures    with    reason   value   XmCR_MODIFY-
	       ING_TEXT_VALUE, the XmNvalueChangedCallback procedures with  rea-
	       son  value  XmCR_VALUE_CHANGED,	and  the XmNmotionVerifyCallback
	       procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     kill-to-end-of-line():
	       In normal mode, if there is a nonnull selection, deletes the  se-
	       lection;  otherwise, kills the characters following the insertion
	       cursor to the next end-of-line character and stores  the  charac-
	       ters  in  the cut buffer.  In add mode, if there is a nonnull se-
	       lection, the cursor is not disjoint from the selection, and  XmN-
	       pendingDelete  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.

	       The killed text is stored in CUT_BUFFER0.

	       The kill-to-end-of-line() action produces calls to  the	XmNmodi-
	       fyVerifyCallback   procedures   with  reason  value  XmCR_MODIFY-
	       ING_TEXT_VALUE, and the XmNvalueChangedCallback	procedures  with
	       reason  value  XmCR_VALUE_CHANGED.   In the case where there is a
	       non-null selection to be deleted, this action  may  also  produce
	       calls to the XmNmotionVerifyCallback procedures with reason value
	       XmCR_MOVING_INSERT_CURSOR.

     kill-to-start-of-line():
	       In  normal mode, if there is a nonnull selection, deletes the se-
	       lection; 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 nonnull
	       selection, the cursor is not disjoint from the selection, and Xm-
	       NpendingDelete 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.

	       The killed text is stored in CUT_BUFFER0.

	       The kill-to-start-of-line() action produces calls to the XmNmodi-
	       fyVerifyCallback   procedures   with  reason  value  XmCR_MODIFY-
	       ING_TEXT_VALUE, the XmNvalueChangedCallback procedures with  rea-
	       son  value  XmCR_VALUE_CHANGED,	and  the XmNmotionVerifyCallback
	       procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     link-primary():
	       Places a link to the primary selection just before the  insertion
	       cursor.	 This action calls the XmNdestinationCallback procedures
	       for the PRIMARY selection and the  XmLINK  operation.   The  Text
	       widget  itself  performs no transfers; the XmNdestinationCallback
	       procedures are responsible for inserting the link to the  primary
	       selection and for taking any related actions.

     link-to():If a secondary selection exists, this action places a link to the
	       secondary  selection at the insertion position of the destination
	       component.  This action calls the  destination's  XmNdestination-
	       Callback  procedures  for  the SECONDARY selection and the XmLINK
	       operation.

	       If no secondary selection exists, this action places  a	link  to
	       the primary selection at the pointer position.  This action calls
	       the  XmNdestinationCallback  procedures for the PRIMARY selection
	       and the XmLINK operation.

	       The Text widget itself performs no transfers; the XmNdestination-
	       Callback procedures are responsible for inserting the link to the
	       primary or secondary selection and for  taking  any  related  ac-
	       tions.

     move-destination():
	       Moves the insertion cursor to the pointer position without chang-
	       ing any existing current selection.  If there is a current selec-
	       tion, sets the widget as the destination widget.  This also moves
	       the widget focus to match the insertion cursor.

	       The move-destination() action produces calls to the XmNmotionVer-
	       ifyCallback  procedures with reason value XmCR_MOVING_INSERT_CUR-
	       SOR.

     move-to():If a secondary selection exists, this action moves the  secondary
	       selection to the insertion position of the destination component.
	       If  the secondary selection is in the destination widget, and the
	       secondary selection and the primary selection overlap, the result
	       is undefined.  This action calls  the  destination's  XmNdestina-
	       tionCallback  procedures  for the SECONDARY selection and the Xm-
	       MOVE operation.	The destination's XmNdestinationCallback  proce-
	       dures  or  the destination component itself invokes the selection
	       owner's XmNconvertCallback procedures, possibly	multiple  times,
	       for the SECONDARY selection.  If the transfer is successful, this
	       action then calls the selection owner's XmNconvertCallback proce-
	       dures for the SECONDARY selection and the DELETE target.

	       If  no  secondary selection exists, this action moves the primary
	       selection to the pointer position.  This action calls the XmNdes-
	       tinationCallback procedures for the PRIMARY selection and the Xm-
	       MOVE operation.	It calls the selection	owner's  XmNconvertCall-
	       back  procedures, possibly multiple times, for the PRIMARY selec-
	       tion.  If the transfer is successful, this action then calls  the
	       selection  owner's  XmNconvertCallback procedures for the PRIMARY
	       selection and the DELETE target.

	       The move-to() action produces calls to  the  XmNmodifyVerifyCall-
	       back  procedures with reason value XmCR_MODIFYING_TEXT_VALUE, the
	       XmNvalueChangedCallback	  procedures	with	reason	   value
	       XmCR_VALUE_CHANGED,  and  the  XmNmotionVerifyCallback procedures
	       with reason value XmCR_MOVING_INSERT_CURSOR.  If there is no sec-
	       ondary selection, the move-to() action may produce calls  to  the
	       XmNgainPrimaryCallback  procedures.  See callback description for
	       more information.

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

	       The newline() action produces calls to  the  XmNmodifyVerifyCall-
	       back  procedures with reason value XmCR_MODIFYING_TEXT_VALUE, the
	       XmNvalueChangedCallback	  procedures	with	reason	   value
	       XmCR_VALUE_CHANGED,  and  the  XmNmotionVerifyCallback procedures
	       with reason value XmCR_MOVING_INSERT_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  in-
	       sertion cursor to the end of the line before the newline.

	       The  newline-and-backup()  action  produces calls to the XmNmodi-
	       fyVerifyCallback  procedures  with  reason   value   XmCR_MODIFY-
	       ING_TEXT_VALUE,	and  the XmNvalueChangedCallback procedures with
	       reason value XmCR_VALUE_CHANGED.

     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.

	       The  newline-and-indent()  action  produces calls to the XmNmodi-
	       fyVerifyCallback  procedures  with  reason   value   XmCR_MODIFY-
	       ING_TEXT_VALUE,	the XmNvalueChangedCallback procedures with rea-
	       son value  XmCR_VALUE_CHANGED,  and  the  XmNmotionVerifyCallback
	       procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     next-line():
	       Moves the insertion cursor to the next line.

	       The next-line() action produces calls to the XmNmotionVerifyCall-
	       back procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     next-page(extend):
	       If  XmNeditMode	is  XmMULTI_LINE_EDIT  and this action is called
	       with no argument, moves the insertion cursor forward one page.

	       If XmNeditMode is XmMULTI_LINE_EDIT and	this  action  is  called
	       with  an  argument of extend, it moves the insertion cursor as in
	       the case of no argument and extends the current selection.

	       The next-page() action produces calls to the XmNmotionVerifyCall-
	       back procedures with reason value XmCR_MOVING_INSERT_CURSOR.   If
	       called  with the extend argument, the next-page() action may pro-
	       duce calls to the XmNgainPrimaryCallback procedures.   See  call-
	       back description for more information.

	       In  vertical writing, scrolls the viewing window down one page of
	       text.

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

	       The next-tab-group() action produces no callbacks, unless it  re-
	       sults in the widget losing focus, in which case, the XmNlosingFo-
	       cusCallback  procedures	are  called  with reason value XmCR_LOS-
	       ING_FOCUS.

     page-left(extend):
	       If XmNeditMode is XmMULTI_LINE_EDIT and	this  action  is  called
	       with no argument, moves the insertion cursor back one page.

	       If  XmNeditMode	is  XmMULTI_LINE_EDIT  and this action is called
	       with an argument of extend, it moves the insertion cursor  as  in
	       the case of no argument and extends the current selection.

	       The page-left() action produces calls to the XmNmotionVerifyCall-
	       back  procedures with reason value XmCR_MOVING_INSERT_CURSOR.  If
	       called with the extend argument, the page-left() action may  pro-
	       duce  calls  to the XmNgainPrimaryCallback procedures.  See call-
	       back description for more information.

     page-right(extend):
	       If XmNeditMode is XmMULTI_LINE_EDIT and	this  action  is  called
	       with no argument, moves the insertion cursor forward one page.

	       If  XmNeditMode	is  XmMULTI_LINE_EDIT  and this action is called
	       with an argument of extend, it moves the insertion cursor  as  in
	       the case of no argument and extends the current selection.

	       The  page-right()  action  produces calls to the XmNmotionVerify-
	       Callback procedures with reason value  XmCR_MOVING_INSERT_CURSOR.
	       If  called  with the extend argument, the page-right() action may
	       produce calls  to  the  XmNgainPrimaryCallback  procedures.   See
	       callback description for more information.

     paste-clipboard():
	       Pastes the contents of the clipboard before the insertion cursor.
	       This  action  calls the XmNdestinationCallback procedures for the
	       CLIPBOARD selection and the XmCOPY operation.

	       The paste-clipboard() action produces calls to the XmNmodifyVeri-
	       fyCallback   procedures	 with	 reason    value    XmCR_MODIFY-
	       ING_TEXT_VALUE,	the XmNvalueChangedCallback procedures with rea-
	       son value  XmCR_VALUE_CHANGED,  and  the  XmNmotionVerifyCallback
	       procedures with reason value XmCR_MOVING_INSERT_CURSOR.

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

	       The  prev-tab-group() action produces no callbacks, unless it re-
	       sults in the widget losing focus, in which case, the XmNlosingFo-
	       cusCallback procedures are called  with	reason	value  XmCR_LOS-
	       ING_FOCUS.

     previous-line():
	       Moves the insertion cursor to the previous line.

	       The previous-line() action produces calls to the XmNmotionVerify-
	       Callback procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     previous-page(extend):
	       If  XmNeditMode	is  XmMULTI_LINE_EDIT  and this action is called
	       with no argument, moves the insertion cursor back one page.

	       If XmNeditMode is XmMULTI_LINE_EDIT and	this  action  is  called
	       with  an  argument of extend, it moves the insertion cursor as in
	       the case of no argument and extends the current selection.

	       The previous-page() action produces calls to the XmNmotionVerify-
	       Callback procedures with reason value  XmCR_MOVING_INSERT_CURSOR.
	       If  called  with  the extend argument, the previous-page() action
	       may produce calls to the XmNgainPrimaryCallback procedures.   See
	       callback description for more information.

	       In  vertical  writing, if called without an argument, scrolls the
	       viewing window up one page of text.

     process-bdrag()
	       If the pointer is within the selection, this action starts a drag
	       operation for the selection.  This action sets the XmNconvertProc
	       of the DragContext to a function that calls  the  XmNconvertCall-
	       back procedures, possibly multiple times, for the _MOTIF_DROP se-
	       lection.

	       If  no  selection exists or the pointer is outside the selection,
	       this action prepares  to  start	a  secondary  selection  at  the
	       pointer position.

	    Note:

		      Note that when dragging a secondary selection to a differ-
		      ent  widget,  focus  will  shift momentarily to the second
		      widget, and then back to the original  widget.  This  will
		      generate	callbacks  to  the XmNlosingFocusCallback proce-
		      dures as focus is lost (by each widget) as well  as  call-
		      backs  to  the XmNfocusCallback procedures as focus is re-
		      gained.

     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  man-
	       ager, passes the event to the parent.

     process-down(extend):
	       If  XmNeditMode	is  XmSINGLE_LINE_EDIT, and XmNnavigationType is
	       XmNONE, traverses to the widget below the current one in the  tab
	       group.

	       If  XmNeditMode	is  XmMULTI_LINE_EDIT  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.

	       In  this case, the action will produce the XmNlosingFocusCallback
	       callbacks with reason value XmCR_LOSING_FOCUS.

	       If XmNeditMode is XmMULTI_LINE_EDIT, moves the  insertion  cursor
	       down one line.

	       The  process-down() action produces calls to the XmNmotionVerify-
	       Callback procedures with reason value XmCR_MOVING_INSERT_CURSOR.

	       In vertical writing, moves the  insertion  cursor  one  character
	       down.

     process-home():
	       Moves the insertion cursor to the beginning of the line.

	       The  process-home() action produces calls to the XmNmotionVerify-
	       Callback procedures with reason value XmCR_MOVING_INSERT_CURSOR.

     process-return():
	       If XmNeditMode is XmSINGLE_LINE_EDIT, calls the callbacks for Xm-
	       NactivateCallback, and if the parent is	a  manager,  passes  the
	       event  to  the  parent.	If XmNeditMode is XmMULTI_LINE_EDIT, in-
	       serts a newline.

	       The process-return()  action  during  single-line  edit	produces
	       calls  to  the  XmNactivateCallback  procedures with reason value
	       XmCR_ACTIVATE. During multi-line  editing,  the	process-return()
	       action  produces  calls to the XmNmodifyVerifyCallback procedures
	       with reason value XmCR_MODIFYING_TEXT_VALUE, the XmNvalueChanged-
	       Callback procedures with reason value XmCR_VALUE_CHANGED, and the
	       XmNmotionVerifyCallback procedures with	reason	value  XmCR_MOV-
	       ING_INSERT_CURSOR.

     process-shift-down():
	       If  XmNeditMode	is XmMULTI_LINE_EDIT, moves the insertion cursor
	       down one line and selects. If XmNeditMode is  XmSINGLE_LINE_EDIT,
	       this action behaves like process-up() in XmSINGLE_LINE_EDIT.  Re-
	       fer to the process-up() action.

	       The  process-shift-down() action produces calls to the XmNmotion-
	       VerifyCallback  procedures  with  reason  value	 XmCR_MOVING_IN-
	       SERT_CURSOR.

	       In  vertical  writing,  if called with the argument up, moves the
	       insertion cursor one character up and extends the current  selec-
	       tion.  If called with the argument down, moves the insertion cur-
	       sor one character down and extends the current selection.

     process-shift-up():
	       If XmNeditMode is XmMULTI_LINE_EDIT, moves the  insertion  cursor
	       up  one	line  and selects. If XmNeditMode is XmSINGLE_LINE_EDIT,
	       this action behaves like process-up() in XmSINGLE_LINE_EDIT.  Re-
	       fer to the process-up() action.

	       The process-shift-up() action produces calls to the XmNmotionVer-
	       ifyCallback procedures with reason value  XmCR_MOVING_INSERT_CUR-
	       SOR.

	       In  vertical  writing,  if called with the argument up, moves the
	       insertion cursor one character up and extends the current  selec-
	       tion.  If called with the argument down, moves the insertion cur-
	       sor one character down and extends the current selection.

     process-tab(Prev|Next):
	       If XmNeditMode is XmSINGLE_LINE_EDIT, traverses to the  next  tab
	       group  if  the direction argument is Next, or to the previous tab
	       group  if  the  direction  is  Prev.  If   XmNeditMode	is   Xm-
	       MULTI_LINE_EDIT,  and the direction is Next, the action inserts a
	       tab. The Prev direction has no effect with XmMULTI_LINE_EDIT.  In
	       the Text widget, there is a  preset  tab  stop  at  every  eighth
	       columns.

	       The  process-tab() action under multi-line editing produces calls
	       to  the	XmNmotionVerifyCallback  procedures  with  reason  value
	       XmCR_MOVING_INSERT_CURSOR.  Under single-line editing, the action
	       produces no callbacks, unless it results in the widget losing fo-
	       cus, in which case,  the  XmNlosingFocusCallback  procedures  are
	       called with reason value XmCR_LOSING_FOCUS.

     process-up(extend):
	       If XmNeditMode is XmSINGLE_LINE_EDIT and XmNnavigationType is Xm-
	       NONE,  traverses  to  the widget above the current one in the tab
	       group.

	       If XmNeditMode is XmMULTI_LINE_EDIT, moves the  insertion  cursor
	       up one line.

	       If  XmNeditMode	is  XmMULTI_LINE_EDIT  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.

	       The  process-up()  action under multi-line editing produces calls
	       to  the	XmNmotionVerifyCallback  procedures  with  reason  value
	       XmCR_MOVING_INSERT_CURSOR.  Under single-line editing, the action
	       produces no callbacks unless it results in the widget losing  fo-
	       cus,  in  which	case,  the XmNlosingFocusCallback procedures are
	       called with reason value XmCR_LOSING_FOCUS.

	       In vertical writing, moves the insertion cursor one character up.

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

	       The redraw-display() action produces no callbacks.

     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.

	       The scroll-cursor-vertically action produces no callbacks.

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

	       The scroll-one-line-down() action produces no callbacks.

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

	       The scroll-one-line-up() action produces no callbacks.

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

	       The secondary-adjust() action produces no callbacks.

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

	       The secondary-notify() action produces calls to the XmNmodifyVer-
	       ifyCallback   procedures   with	 reason    value    XmCR_MODIFY-
	       ING_TEXT_VALUE,	and  the XmNvalueChangedCallback procedures with
	       reason value XmCR_VALUE_CHANGED.

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

	       The secondary-start() action produces no callbacks.

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

	       The  select-adjust() action may produce no callbacks, however, it
	       may produce calls to the XmNgainPrimaryCallback procedures.   See
	       callback description for more information.

     select-all():
	       Selects all text.

	       The  select-all()  action  may produce calls to the XmNgainPrima-
	       ryCallback procedures.

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

	       The select-end() action produces no callbacks.

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

	       The  select-start() action may produce calls to the XmNgainPrima-
	       ryCallback procedures.

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

	       The self-insert() action produces calls to  the	XmNmodifyVerify-
	       Callback  procedures with reason value XmCR_MODIFYING_TEXT_VALUE,
	       the  XmNvalueChangedCallback   procedures   with   reason   value
	       XmCR_VALUE_CHANGED,  and  the  XmNmotionVerifyCallback procedures
	       with reason value XmCR_MOVING_INSERT_CURSOR.

     set-anchor():
	       Resets the anchor point for extended selections.  Resets the des-
	       tination of secondary selection actions.

	       The set-anchor() action produces no callbacks.

     set-insertion-point():
	       Sets the insertion position to the position of the mouse pointer.

	       The set-insertion-point() action produces calls to the XmNmotion-
	       VerifyCallback  procedures  with  reason  value	 XmCR_MOVING_IN-
	       SERT_CURSOR.  Note  that if the mouse pointer is already over the
	       position of the insertion cursor, the cursor will not  be  moved,
	       and no callbacks will be produced.

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

	       The set-selection-hint() action produces no callbacks.

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

	       The toggle-add-mode() action produces no callbacks.

     toggle-overstrike():
	       Toggles the state of the text insertion mode. By default, charac-
	       ters  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.

	       The following traversal actions generate no callbacks unless they
	       result in the loss of focus by the widget in  question,	as  when
	       XmNnavigationType  is XmNONE. In this case, they produce calls to
	       the XmNlosingFocusCallback procedures, with reason value XmCR_FO-
	       CUS_MOVED.

     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
	       (or whatever is currently in the CUT_BUFFER0).  The inserted text
	       appears before the insertion cursor.

	       The unkill() action produces calls to the XmNmodifyVerifyCallback
	       procedures with reason value XmCR_MODIFYING_TEXT_VALUE, the  XmN-
	       valueChangedCallback	procedures     with	reason	   value
	       XmCR_VALUE_CHANGED, and	the  XmNmotionVerifyCallback  procedures
	       with reason value XmCR_MOVING_INSERT_CURSOR.

   Additional Behavior
     This widget has the following additional behavior:

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

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

   Virtual Bindings
     The  bindings  for virtual keys are vendor specific.  For information about
     bindings for virtual buttons and keys, see VirtualBindings(3).

RELATED
     Core(3),  XmCreateScrolledText(3),  XmCreateText(3),   XmFontList(3),   Xm-
     FontListAppendEntry(3),	XmPrimitive(3),   XmTextClearSelection(3),   Xm-
     TextCopy(3), XmTextCopyLink(3), XmTextCut(3), XmTextEnableRedisplay(3), Xm-
     TextDisableRedisplay(3), XmTextField(3),  XmTextFindString(3),  XmTextFind-
     StringWcs(3),  XmTextGetBaseline(3),  XmTextGetEditable(3), XmTextGetInser-
     tionPosition(3),	XmTextGetLastPosition(3),   XmTextGetMaxLength(3),   Xm-
     TextGetSelection(3),    XmTextGetSelectionWcs(3),	 XmTextGetSelectionPosi-
     tion(3), XmTextGetSource(3), XmTextGetString(3), XmTextGetStringWcs(3), Xm-
     TextGetSubstring(3),  XmTextGetSubstringWcs(3),   XmTextGetTopCharacter(3),
     XmTextInsert(3),  XmTextInsertWcs(3),  XmTextPaste(3),  XmTextPasteLink(3),
     XmTextPosToXY(3), XmTextPosition(3), XmTextRemove(3), XmTextReplace(3), Xm-
     TextReplaceWcs(3),   XmTextScroll(3),   XmTextSetAddMode(3),   XmTextSetEd-
     itable(3), XmTextSetHighlight(3), XmTextSetInsertionPosition(3), XmTextSet-
     MaxLength(3),    XmTextSetSelection(3),	XmTextSetSource(3),   XmTextSet-
     String(3), XmTextSetStringWcs(3), XmTextSetTopCharacter(3), XmTextShowPosi-
     tion(3), XmTextXYToPos(3), XmVaCreateText(3), and XmVaCreateManagedText(3).

								       XmText(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=XmText&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help