


XmTextField(3X)						      XmTextField(3X)
OSF/Motif							    OSF/Motif



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

SYNOPSIS


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

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

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

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

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

  Classes

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

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

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

  New Resources

  The following	table defines a	set of widget resources	used by	the 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
  resource by name or by class in a .Xdefaults file, remove the	XXmmNN or XXmmCC
  prefix and use the remaining letters.	 To specify one	of the defined values
  for a	resource in a .Xdefaults file, remove the XXmm prefix and	use the
  remaining letters (in	either lower case or upper case, but include any
  underscores between words).  The codes in the	access column indicate if the
  given	resource can be	set at creation	time (C), set by using XXttSSeettVVaalluueess
  (S), retrieved by using XXttGGeettVVaalluueess (G), or is not applicable	(N/A).

			    XXmmTTeexxttFFiieellddRReessoouurrccee	SSeett
	_______________________________________________________________
	NNaammee				 DDeeffaauulltt		 AAcccceessss
	      CCllaassss			       TTyyppee
	_______________________________________________________________
	_______________________________________________________________
	XmNactivateCallback		 NULL			 C
	      XmCCallback			XtCallbackList
	_______________________________________________________________
	XmNblinkRate			 500			 CSG
	      XmCBlinkRate			int
	_______________________________________________________________
	XmNcolumns			 dynamic		 CSG
	      XmCColumns			short
	_______________________________________________________________
	XmNcursorPosition		 0			 CSG
	      XmCCursorPosition			XmTextPosition
	_______________________________________________________________
	XmNcursorPositionVisible	 True			 CSG
	      XmCCursorPositionVisible		Boolean
	_______________________________________________________________
	XmNeditable			 True			 CSG
	      XmCEditable			Boolean
	_______________________________________________________________
	XmNfocusCallback		 NULL			 C
	      XmCCallback			XtCallbackList
	_______________________________________________________________
	XmNfontList			 dynamic		 CSG
	      XmCFontList			XmFontList
	_______________________________________________________________
	XmNgainPrimaryCallback		 NULL			 C
	      XmCCallback			XtCallbackList
	_______________________________________________________________
	XmNlosePrimaryCallback		 NULL			 C
	      XmCCallback			XtCallbackList
	_______________________________________________________________
	XmNlosingFocusCallback		 NULL			 C
	      XmCCallback			XtCallbackList
	_______________________________________________________________
	XmNmarginHeight			 5			 CSG
	      XmCMarginHeight			Dimension
	_______________________________________________________________
	XmNmarginWidth			 5			 CSG
	      XmCMarginWidth			Dimension
	_______________________________________________________________
	XmNmaxLength			 largest integer	 CSG
	      XmCMaxLength			int
	_______________________________________________________________
	XmNmodifyVerifyCallback		 NULL			 C
	      XmCCallback			XtCallbackList
	_______________________________________________________________
	XmNmodifyVerifyCallbackWcs	 NULL			 C
	      XmCCallback			XtCallbackList
	_______________________________________________________________
	XmNmotionVerifyCallback		 NULL			 C
	      XmCCallback			XtCallbackList
	_______________________________________________________________
	XmNpendingDelete		 True			 CSG
	      XmCPendingDelete			Boolean
	_______________________________________________________________
	XmNresizeWidth			 False			 CSG
	      XmCResizeWidth			Boolean
	_______________________________________________________________
	XmNselectionArray		 default array		 CSG
	      XmCSelectionArray			XtPointer
	_______________________________________________________________
	XmNselectionArrayCount		 3			 CSG
	      XmCSelectionArrayCount		int
	_______________________________________________________________
	XmNselectThreshold		 5			 CSG
	      XmCSelectThreshold		int
	_______________________________________________________________
	XmNvalue			 ""			 CSG
	      XmCValue				String
	_______________________________________________________________
	XmNvalueChangedCallback		 NULL			 C
	      XmCCallback			XtCallbackList
	_______________________________________________________________
	XmNvalueWcs			 (wchar_t *)""		 CSG*
	      XmCValueWcs			wchar_t	*
	_______________________________________________________________
	XmNverifyBell			 dynamic		 CSG
	      XmCVerifyBell			Boolean
	_______________________________________________________________
  *  This resource cannot be specified in a resource file.

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

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

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

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

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

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

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

  XXmmNNffoonnttLLiisstt
	    Specifies the font list to be used for TextField.  If this value
	    is NULL at initialization, it is initialized by looking up the
	    parent hierarchy of	the widget for an ancestor that	is a subclass
	    of the XmBulletinBoard or VendorShell widget class.	 If such an
	    ancestor is	found, the font	list is	initialized to the
	    XXmmNNtteexxttFFoonnttLLiisstt of the ancestor widget. If no such ancestor	is
	    found, the default is implementation dependent.  Refer to
	    XXmmFFoonnttLLiisstt((33XX)) for more information	on a font list structure.

	    TextField searches the font	list for the first occurrence of a
	    font set that has a	XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG.	 If a default element
	    is not found, the first font set in	the font list is used.	If
	    the	list contains no font sets, the	first font in the font list
	    is used.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  XXmmNNvvaalluueeWWccss
	    Specifies the string value of the TextField	widget as a wwcchhaarr__tt**
	    data value.	 This resource cannot be specified in a	resource
	    file.

	    If XXmmNNvvaalluuee	and XXmmNNvvaalluueeWWccss	are both defined, the value of
	    XXmmNNvvaalluueeWWccss	supersedes that	of XXmmNNvvaalluuee.  XXttGGeettVVaalluueess returns a
	    copy of the	value of the internal buffer encoded as	a wide char-
	    acter string.  XXttSSeettVVaalluueess copies the value	of the wide character
	    string into	the internal buffer.

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

  Inherited Resources

  TextField widget inherits behavior and resources from	the following superc-
  lasses.  For a complete description of these resources, refer	to the man
  page for that	superclass.

			   XXmmPPrriimmiittiivvee RReessoouurrccee	SSeett
	______________________________________________________________
	NNaammee			      DDeeffaauulltt			AAcccceessss
	      CCllaassss			    TTyyppee
	______________________________________________________________
	______________________________________________________________
	XmNbottomShadowColor	      dynamic			CSG
	      XmCBottomShadowColor	     Pixel
	______________________________________________________________
	XmNbottomShadowPixmap	      XmUNSPECIFIED_PIXMAP	CSG
	      XmCBottomShadowPixmap	     Pixmap
	______________________________________________________________
	XmNforeground		      dynamic			CSG
	      XmCForeground		     Pixel
	______________________________________________________________
	XmNhelpCallback		      NULL			C
	      XmCCallback		     XtCallbackList
	______________________________________________________________
	XmNhighlightColor	      dynamic			CSG
	      XmCHighlightColor		     Pixel
	______________________________________________________________
	XmNhighlightOnEnter	      False			CSG
	      XmCHighlightOnEnter	     Boolean
	______________________________________________________________
	XmNhighlightPixmap	      dynamic			CSG
	      XmCHighlightPixmap	     Pixmap
	______________________________________________________________
	XmNhighlightThickness	      2				CSG
	      XmCHighlightThickness	     Dimension
	______________________________________________________________
	XmNnavigationType	      XmTAB_GROUP		CSG
	      XmCNavigationType		     XmNavigationType
	______________________________________________________________
	XmNshadowThickness	      2				CSG
	      XmCShadowThickness	     Dimension
	______________________________________________________________
	XmNtopShadowColor	      dynamic			CSG
	      XmCTopShadowColor		     Pixel
	______________________________________________________________
	XmNtopShadowPixmap	      dynamic			CSG
	      XmCTopShadowPixmap	     Pixmap
	______________________________________________________________
	XmNtraversalOn		      True			CSG
	      XmCTraversalOn		     Boolean
	______________________________________________________________
	XmNunitType		      dynamic			CSG
	      XmCUnitType		     unsigned char
	______________________________________________________________
	XmNuserData		      NULL			CSG
	      XmCUserData		     XtPointer
	______________________________________________________________

			      CCoorree RReessoouurrccee SSeett
     ____________________________________________________________________
     NNaammee				   DDeeffaauulltt		   AAcccceessss
	   CCllaassss				 TTyyppee
     ____________________________________________________________________
     ____________________________________________________________________
     XmNaccelerators			   dynamic		   CSG
	   XmCAccelerators			  XtAccelerators
     ____________________________________________________________________
     XmNancestorSensitive		   dynamic		   G
	   XmCSensitive				  Boolean
     ____________________________________________________________________
     XmNbackground			   dynamic		   CSG
	   XmCBackground			  Pixel
     ____________________________________________________________________
     XmNbackgroundPixmap		   XmUNSPECIFIED_PIXMAP	   CSG
	   XmCPixmap				  Pixmap
     ____________________________________________________________________
     XmNborderColor			   XtDefaultForeground	   CSG
	   XmCBorderColor			  Pixel
     ____________________________________________________________________
     XmNborderPixmap			   XmUNSPECIFIED_PIXMAP	   CSG
	   XmCPixmap				  Pixmap
     ____________________________________________________________________
     XmNborderWidth			   0			   CSG
	   XmCBorderWidth			  Dimension
     ____________________________________________________________________
     XmNcolormap			   dynamic		   CG
	   XmCColormap				  Colormap
     ____________________________________________________________________
     XmNdepth				   dynamic		   CG
	   XmCDepth				  int
     ____________________________________________________________________
     XmNdestroyCallback			   NULL			   C
	   XmCCallback				  XtCallbackList
     ____________________________________________________________________
     XmNheight				   dynamic		   CSG
	   XmCHeight				  Dimension
     ____________________________________________________________________
     XmNinitialResourcesPersistent	   True			   C
	   XmCInitialResourcesPersistent	  Boolean
     ____________________________________________________________________
     XmNmappedWhenManaged		   True			   CSG
	   XmCMappedWhenManaged			  Boolean
     ____________________________________________________________________
     XmNscreen				   dynamic		   CG
	   XmCScreen				  Screen *
     ____________________________________________________________________
     XmNsensitive			   True			   CSG
	   XmCSensitive				  Boolean
     ____________________________________________________________________
     XmNtranslations			   dynamic		   CSG
	   XmCTranslations			  XtTranslations
     ____________________________________________________________________
     XmNwidth				   dynamic		   CSG
	   XmCWidth				  Dimension
     ____________________________________________________________________
     XmNx				   0			   CSG
	   XmCPosition				  Position
     ____________________________________________________________________
     XmNy				   0			   CSG
	   XmCPosition				  Position
     ____________________________________________________________________

  Callback Information

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


  ttyyppeeddeeff ssttrruucctt
  {{
    iinntt		 _r_e_a_s_o_n;;
    XXEEvveenntt	 * _e_v_e_n_t;;
  }} XXmmAAnnyyCCaallllbbaacckkSSttrruucctt;;

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

  _e_v_e_n_t	 Points	to the XXEEvveenntt that triggered the callback.

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

  A pointer to the following structure is passed to the	callbacks for XXmmNNlloo--
  ssiinnggFFooccuussCCaallllbbaacckk, XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk, and XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckk.


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

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

  _e_v_e_n_t	 Points	to the XXEEvveenntt that triggered the callback.  It can be NULL.
	 For example, changes made to the Text widget programmatically do not
	 have an event that can	be passed to the associated callback.

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

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

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

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

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

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


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

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

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

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

  A pointer to the following structure is passed to callbacks for XXmmNNmmoo--
  ddiiffyyVVeerriiffyyCCaallllbbaacckkWWccss.


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

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

  _e_v_e_n_t	 Points	to the XXEEvveenntt that triggered the callback.  It can be NULL.
	 For example, changes made to the Text widget programmatically do not
	 have an event that can	be passed to the associated callback.

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

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

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

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

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

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


  ttyyppeeddeeff ssttrruucctt
  {{
	  wwcchhaarr__tt **_w_c_s_p_t_r;;
	  iinntt	 _l_e_n_g_t_h;;
  }} XXmmTTeexxttBBlloocckkRReeccWWccss,, **XXmmTTeexxttBBlloocckkWWccss;;

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

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

  The following	table describes	the reasons for	which the individual verifi-
  cation callback structure fields are valid:

		     RReeaassoonn		       VVaalliidd FFiieellddss
	    ______________________________________________________
	    XXmmCCRR__LLOOSSIINNGG__FFOOCCUUSS

					_r_e_a_s_o_n,	_e_v_e_n_t, _d_o_i_t

	    XXmmCCRR__MMOODDIIFFYYIINNGG__TTEEXXTT__VVAALLUUEE

					_r_e_a_s_o_n,	_e_v_e_n_t, _d_o_i_t, _c_u_r-
					_r_I_n_s_e_r_t, _n_e_w_I_n_s_e_r_t, _s_t_a_r_t-
					_P_o_s, _e_n_d_P_o_s, _t_e_x_t

	    XXmmCCRR__MMOOVVIINNGG__IINNSSEERRTT__CCUURRSSOORR

					_r_e_a_s_o_n,	_e_v_e_n_t, _d_o_i_t, _c_u_r-
					_r_I_n_s_e_r_t, _n_e_w_I_n_s_e_r_t

  Translations

  XmTextField includes translations from XmPrimitive.  The XmTextField trans-
  lations are listed below.  These translations	may not	directly correspond
  to a translation table.  The actions represent the effective behavior	of
  the associated events, and they may differ in	a right-to-left	language
  environment.


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

  Action Routines

  The XmText action routines are described below:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  ggrraabb--ffooccuuss(()):
	    This key binding performs the action defined in the	XXmmNNsseelleecc--
	    ttiioonnAArrrraayy, depending on the	number of multiple mouse clicks.  The
	    default selection array ordering is	one click to move the 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.

  HHeellpp(()):   Calls the callbacks	for XXmmNNhheellppCCaallllbbaacckk if any exist.  If there
	    are	no help	callbacks for this widget, this	action calls the help
	    callbacks for the nearest ancestor that has	them.

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

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

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

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

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

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

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

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

  pprroocceessss--bbddrraagg(())
	    The	result of this action is determined by several factors:	posi-
	    tion of the	location cursor, movement of the location cursor, and
	    the	interval between a BBDDrraagg press and release.

	    This action	copies the current selection to	the insertion cursor
	    if text is selected, the location cursor is	disjoint from the
	    selection, and no motion is	detected within	a given	time inter-
	    val.

	    It performs	a secondary selection and copies the selection to the
	    position where the text was	last edited if the cursor is disjoint
	    from a current selection (if one exists), the time interval	is
	    exceeded, and movement of the location cursor is detected.

	    The	action drags the current selection if the location cursor is
	    positioned on the selection, the time interval is exceeded,	and
	    movement of	the location cursor is detected.  This action creates
	    a DragContext object whose XXmmNNeexxppoorrttTTaarrggeettss	resource value
	    includes target types of COMPOUND_TEXT, STRING, and	TEXT.

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

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

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

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

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

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

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

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

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

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

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



  Additional Behavior

  This widget has the additional behavior described below:

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

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

  Virtual Bindings

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

			     VViirrttuuaall KKeeyy BBiinnddiinnggss
		      __________________________________
		      VViirrttuuaall KKeeyy   AAccttuuaall KKeeyy EEvveennttss
		      ____________________________________________________________________
		      KKEExxtteenndd	    CCttrrll SShhiifftt<<KKeeyy>>ssppaaccee
				    SShhiifftt<<KKeeyy>>oossffSSeelleecctt
		      __________________________________
		      KKSSeelleecctt	    CCttrrll<<KKeeyy>>ssppaaccee
				    <<KKeeyy>>oossffSSeelleecctt

  For information about	bindings for virtual buttons and keys, see
  VViirrttuuaallBBiinnddiinnggss((33XX)).

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
























