


DXmCreateCSText(3X)					  DXmCreateCSText(3X)



NAME
  DDXXmmCCrreeaatteeCCSSTTeexxtt - Creates a compound string text widget.

SYNOPSIS

  WWiiddggeett DDXXmmCCrreeaatteeCCSSTTeexxtt ((_p_a_r_e_n_t,, _n_a_m_e,,	_a_r_g_s,, _n_u_m__a_r_g_s))
	  WWiiddggeett   _p_a_r_e_n_t;;
	  cchhaarr	   **_n_a_m_e;;
	  AArrggss	   **_a_r_g_s;;
	  iinntt	   _n_u_m__a_r_g_s;;

PARAMETERS

  _p_a_r_e_n_t
      The identifier (widget ID) of the	parent widget.

  _n_a_m_e
      The name of the created widget.

  _a_r_g_s
      The application override argument	list.  You can set the following
      widget-specific resources	in the _a_r_g_s:


	   Boolean		DXmNbidirectionalCursor;
	   int			DXmNeditingPath;
	   XtCallbackList	DXmNnofontCallback;
	   int			DXmNtextPath;
	   XtCallbackList	XmNactivateCallback;
	   Boolean		XmNautoShowCursorPosition;
	   int			XmNblinkRate;
	   int			XmNcolumns;
	   DXmCSTextPosition	XmNcursorPosition;
	   Boolean		XmNcursorPositionVisible;
	   Boolean		XmNeditable;
	   int			XmNeditMode;
	   XtCallbackList	XmNfocusCallback;
	   XmFontlist		XmNfontList;
	   XtCallbackList	XmNlosingFocusCallback;
	   Dimension		XmNmarginHeight;
	   Dimension		XmNmarginWidth;
	   int			XmNmaxLength;
	   XtCallbackList	XmNmodifyVerifyCallback;
	   XtCallbackList	XmNmotionVerifyCallback;
	   Boolean		XmNpendingDelete
	   Boolean		XmNresizeHeight:
	   Boolean		XmNresizeWidth;
	   int			XmNrows;
	   Boolean		XmNscrollHorizontal;
	   Boolean		XmNscrollLeftSide;
	   Boolean		XmNscrollTopSide;
	   Boolean		XmNscrollVertical;
	   XmRPointer		XmNselectionArray
	   int			XmNselectionArrayCount
	   int			XmNselectThreshold
	   DXmCSTextPosition	XmNtopPosition;
	   XmString		XmNvalue;
	   XtCallbackList	XmNvalueChangedCallback;
	   Boolean		XmNwordWrap;

  _n_u_m__a_r_g_s
      An integer that represents the number of arguments in the	application
      override argument	list.

DESCRIPTION

  The DDXXmmCCrreeaatteeCCSSTTeexxtt routine creates a	compound string	text widget that pro-
  vides	your application with text editing capabilities, including the abil-
  ity for users	to enter and edit text in the same character set and writing
  direction used throughout the	user interface.	 By default the	text window
  expands or shrinks as	the user enters	or deletes text	characters.  Note
  that the text	window does not	shrink below the initial size set at creation
  time.

  Resources


  DDXXmmNNbbiiddiirreeccttiioonnaallCCuurrssoorr
      A	Boolean	resource that, when True, specifies that the shape of the
      cursor at	the insertion point will be dependent on the current editing
      direction.  Access is CSG.  The default is False.

  DDXXmmNNeeddiittiinnggPPaatthh
      A	read-only value	that holds the current editing text path (direction)
      in the compound string text widget.  Initially, it is set	to be equal
      to DDXXmmNNtteexxttPPaatthh.	This resource is used only if XXmmNNvvaalluuee is Null.


      ______________________________________________

      Value			Description

      ______________________________________________



      DDXXmmDDIIRREECCTTIIOONN__RRIIGGHHTT__DDOOWWNN
      (0)


				The direction of the
				text path is right
				and then down.



      DDXXmmDDIIRREECCTTIIOONN__LLEEFFTT__DDOOWWNN
      (1)


				The direction of the
				text path is left
				and then down.

      ______________________________________________

      The default is DDXXmmDDIIRREECCTTIIOONN__RRIIGGHHTT__DDOOWWNN, or 0.  Access is CG.

  DDXXmmNNnnooffoonnttCCaallllbbaacckk
      Callback made when the compound string text widget cannot	find the font
      required to display text assigned	(tagged) with a	specific character
      set.  The	reason for this	callback is DDXXmmCCRR__NNOOFFOONNTT.  Other callback
      fields are as follows:


      ____________________________________________

      Field	    Description

      ____________________________________________

      event

		    A pointer to the XEvent struc-
		    ture that generated	the call-
		    back.



      charset

		    A character	set identifier for
		    which the widget has no match-
		    ing	font in	its font list.
		    The	callback modifies the
		    widget font	list to	include	an
		    entry for the required charac-
		    ter	set.

      charset_len

		    The	length of the _c_h_a_r_s_e_t
		    @string.

      ____________________________________________

      The default is Null. Access is C.

  DDXXmmNNtteexxttPPaatthh
      A	read-only value	that holds the main text path (direction) of the text
      in the compound text widget. This	resource is used only if XXmmNNvvaalluuee is
      Null.  It	is set from the	initial	compound string	value of the widget.
      The values for this resource are as follows:


      ______________________________________________

      Value			Description

      ______________________________________________



      DDXXmmDDIIRREECCTTIIOONN__RRIIGGHHTT__DDOOWWNN
      (0)


				The direction of the
				text path is right
				and then down.



      DDXXmmDDIIRREECCTTIIOONN__LLEEFFTT__DDOOWWNN
      (1)


				The direction of the
				text path is left
				and then down.

      ______________________________________________

      The default is DDXXmmDDIIRREECCTTIIOONN__RRIIGGHHTT__DDOOWWNN, or 0. Access is CG.

  XXmmNNaaccttiivvaatteeCCaallllbbaacckk
      Callback (or callbacks) made when	the user activates the CSText widget.
      The reason for this callback is XXmmCCRR__AACCTTIIVVAATTEE and	the associated call-
      back structure is	DDXXmmCCSSTTeexxttCCaallllbbaacckkSSttrruucctt.  The default is Null. Access
      is C.

  XXmmNNaauuttooSShhoowwCCuurrssoorrPPoossiittiioonn
      A	Boolean	resource that, when True, ensures that the visible text	con-
      tains the	cursor.	 The default is	True. Access is	CSG.

  XXmmNNbblliinnkkRRaattee
       An integer indicating the blink rate of the text	cursor in mil-
      liseconds.  The default is 500 milliseconds. Access is CSG.

  XXmmNNccoolluummnnss
      The width, in characters,	of the window.	The default is 20 characters
      (if no width is specified	with the XXmmNNwwiiddtthh resource).  Access is	CSG.

  XXmmNNccuurrssoorrPPoossiittiioonn
      An integer indicating the	current	location of the	cursor.	 The default
      is 0. Access is CSG.

  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
      A	Boolean	resource that, when True, specifies that the cursor position
      is marked	by a blinking text cursor.  The	default	is True.  Access is
      CSG.

  XXmmNNeeddiittaabbllee
      A	Boolean	resource that, when True, indicates that the user can edit
      the text in the compound string text widget.  When False,	the user can-
      not edit the text.  Access is CSG.  The default is True.

  XXmmNNeeddiittMMooddee
      Specifies	the set	of keyboard bindings used for CSText.  The default
      set of keyboard bindings is XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT.  For multiline text,
      use XXmmMMUULLTTII__LLIINNEE__EEDDIITT.  Access is	CSG.

  XXmmNNffooccuussCCaallllbbaacckk
      Callback (or callbacks) made when	the compound string text widget	has
      accepted the input focus.	 The reason for	this callback is XXmmCCRR__FFOOCCUUSS
      and the associated callback structure is DDXXmmCCSSTTeexxttCCaallllbbaacckkSSttrruucctt.	The
      default is Null. Access is C.

  XXmmNNffoonnttLLiisstt
      The font list to be used for the compound	string text widget.  The
      default is the current server font list (DXmDefaultFont).	Access is
      CSG.

  XXmmNNlloossiinnggFFooccuussCCaallllbbaacckk
      Callback (or callbacks) made when	the compound string text widget	loses
      input focus.  The	callback reason	is XXmmCCRR__LLOOSSIINNGG__FFOOCCUUSS and the associ-
      ated callback structure 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.  Other callback
      fields are as follows:


      ___________________________________________

      Field	   Description

      ___________________________________________

      event

		   A pointer to	the XEvent that
		   generated this callback.

      doit

		   Controls whether the	action
		   that	invoked	the callback is
		   performed.  Setting this field
		   to False negates the	action.

      currInsert

		   The current position	of the
		   insertion cursor.

      ___________________________________________

      The default is Null. Access is C.

  XXmmNNmmaarrggiinnHHeeiigghhtt
      The number of pixels between the top or bottom edge of the window	and
      the text.	 The default is	6 pixels.  Access is CSG.

  XXmmNNmmaarrggiinnWWiiddtthh
      The number of pixels between the left or right edge of the window	and
      the text.	 The default is	6 pixels.  Access is CSG.

  XXmmNNmmaaxxLLeennggtthh
      The maximum length of the	text, in characters, in	the compound string
      text widget.  The	default	is the largest integer (MAXINT).  Access is
      CSG.

  XXmmNNmmooddiiffyyVVeerriiffyyCCaallllbbaacckk
      Callback (or callbacks) made before text is deleted from or inserted
      into the CSText widget. The callback reason 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	and the	associated callback structure 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. Other	callback fields	are as follows:


      ___________________________________________

      Field	   Description

      ___________________________________________

      event

		   A pointer to	the XEvent that
		   generated this callback.

      doit

		   Controls whether the	action
		   that	invoked	the callback is
		   performed.  Setting this field
		   to False negates the	action.

      currInsert

		   The current position	of the
		   insertion cursor.

      newInsert

		   The position	of the cursor
		   after the action has	been com-
		   pleted.

      startPos

		   The starting	position of the
		   text	that is	to be modified.

      endPos

		   The ending position of the
		   text	that is	to be modified.
		   If no text is replaced or
		   deleted, the	value is the same
		   as _s_t_a_r_t_P_o_s.

      text

		   A pointer to	an XXmmSSttrriinngg hold-
		   ing the text	to be inserted.

      ___________________________________________

      The default is Null.  Access is C.

  XXmmNNmmoottiioonnVVeerriiffyyCCaallllbbaacckk
      Callback (or callbacks) made before the cursor is	moved to another
      position.	 The callback reason 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 and the
      associated callback structure 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.  Other
      callback fields are as follows:


      ___________________________________________

      Field	   Description

      ___________________________________________

      event

		   A pointer to	the XEvent that
		   generated this callback.




      doit

		   Controls whether the	action
		   that	invoked	the callback is
		   performed.  Setting this field
		   to False negates the	action.


      currInsert

		   The current position	of the
		   insertion cursor.

      newInsert

		   The position	of the cursor
		   after the action has	been com-
		   pleted.

      ___________________________________________
      The default is Null.  Access is C.

  XXmmNNppeennddiinnggDDeelleettee
      A	Boolean	resource that, when True, specifies that selected text con-
      taining the insertion point is to	be deleted when	new text is entered.
      The default is True.  Access is CSG.

  XXmmNNrreessiizzeeHHeeiigghhtt
      A	Boolean	resource that specifies	whether	the compound string text
      widget resizes its height	to accommodate all the text contained in the
      widget.  When True, the compound string text widget resizes its height
      and the text is always displayed starting	from the first position	in
      the source, even if instructed otherwise.	 This resource is ignored if
      XXmmNNssccrroollllVVeerrttiiccaall	is True.  The default is False.	 Access	is CSG.

  XXmmNNrreessiizzeeWWiiddtthh
      A	Boolean	resource that specifies	whether	the compound string text
      widget resizes its width to accommodate all the text contained in	the
      widget.  When True, the compound string text widget resizes its width.
      This resource is ignored if XXmmNNwwoorrddWWrraapp is True.	The default is False.
      Access is	CSG.

  XXmmNNrroowwss
      The height, in characters, of the	window.	 This resource is ignored if
      the XXmmNNeeddiittMMooddee resource is OXmSINGLE_LINE_EDIT.	The default is 1
      character	(if no height has been specified with the XXmmNNhheeiigghhtt
      resource).  Access is CSG.

  XXmmNNssccrroollllHHoorriizzoonnttaall
      A	Boolean	resource that, when True, adds a scroll	bar that allows	the
      user to scroll through the text horizontally.  The default is False.
      Access is	CG.

      This resource is valid only for the DDXXmmCCrreeaatteeSSccrroolllleeddCCSSTTeexxtt routine.

  XXmmNNssccrroollllLLeeffttSSiiddee
      A	Boolean	resource that, when True, places the vertical scroll bar on
      the left side of the compound string text	window.	 This resource is
      ignored if the XXmmNNssccrroollllVVeerrttiiccaall resource	is False.  Access is CG.

      This resource is valid only for the DDXXmmCCrreeaatteeSSccrroolllleeddCCSSTTeexxtt routine.

  XXmmNNssccrroollllTTooppSSiiddee
      A	Boolean	resource that, when True, places the horizontal	scroll bar at
      the top side of the compound string text window.	The default is False.
      Access is	CG.

      This resource is valid only for the DDXXmmCCrreeaatteeSSccrroolllleeddCCSSTTeexxtt routine.

  XXmmNNssccrroollllVVeerrttiiccaall
      A	Boolean	resource that, when True, adds a scroll	bar that allows	the
      user to scroll through the text vertically. The default is False.
      Access is	CG.

      This resource is valid only for the DDXXmmCCrreeaatteeSSccrroolllleeddCCSSTTeexxtt routine.

  XXmmNNsseelleeccttiioonnAArrrraayy
      Specifies	actions	that result from multiple mouse	clicks.	 The value of
      this resource is an array	of XXmmTTeexxttSSccaannTTyyppee elements.  The following
      values (listed in	the order they occur in	the default array) indicate
      the possible actions:


      _____________________________________________

      Value		  Description

      _____________________________________________



      XXmmSSEELLEECCTT__PPOOSSIITTIIOONN

			  Resets the insertion cur-
			  sor position.

			  Selects a word.

      XXmmSSEELLEECCTT__WWOORRDD

			  Selects a line of text.

      XXmmSSEELLEECCTT__LLIINNEE

			  Selects all of the text.

      XXmmSSEELLEECCTT__AALLLL

      _____________________________________________

  XXmmNNsseelleeccttiioonnAArrrraayyCCoouunntt
      The number of elements in	the XXmmNNsseelleeccttiioonnAArrrraayy resource.	 The default
      is 4.  Access is CSG.

  XXmmNNsseelleeccttTThhrreesshhoolldd
      The number of pixels of motion required to select	the next character
      during a mouse click and drag operation.	The default is 5 pixels.
      Access is	CSG.

  XXmmNNttooppPPoossiittiioonn
      Displays the position of text at the top of the window.  The default is
      0.  Access is CSG.

  XXmmNNvvaalluuee
      The text contents	of the compound	string text widget.  The default is
      Null.  When Null,	the text path and editing paths	are set	to
      DDXXmmDDIIRREECCTTIIOONN__RRIIGGHHTT__DDOOWWNN.	Otherwise, the text and	editing	paths are set
      from the direction of the	first segment of the value.  The access	is
      CSG.

  XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
      Callback (or callbacks) made when	the value of the compound string text
      widget changes.  The reason for this callback is XXmmCCRR__VVAALLUUEE__CCHHAANNGGEEDD and
      the associated callback structure	is DDXXmmCCSSTTeexxttCCaallllbbaacckkSSttrruucctt.  The
      default is Null.	Access is C.

  XXmmNNwwoorrddWWrraapp
      A	Boolean	resource that specifies	whether	word wrap is set.  When	True,
      lines are	broken at word breaks and text does not	run off	the right
      edge of the window.  This	resource is ignored if the XXmmNNeeddiittMMooddee
      resource is set to XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT.  The default is False.  Access
      is CSG.

  Resource Exceptions

  The DDXXmmCCSSTTeexxtt	widget supports	the Core resources XXmmNNwwiiddtthh and	XXmmNNhheeiigghhtt
  differently in that the defaults for both resources are set as large as
  necessary to display the rows	and columns with the given margin width	and
  margin height.

  Callback Information

  Following are	descriptions of	the two	callback structures used by the
  CSText widget:

  DDXXmmCCSSTTeexxttCCaallllbbaacckk Structure

       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;;
	     cchhaarr	   **_c_h_a_r_s_e_t;;
	     uunnssiiggnneedd iinntt  _c_h_a_r_s_e_t__l_e_n;;
	}} DDXXmmCCSSTTeexxttCCaallllbbaacckkSSttrruucctt;;

  The parameters are as	follows:

  _r_e_a_s_o_n
      An integer set to	the callback reason.

  _e_v_e_n_t
      A	pointer	to the XEvent structure	that generated the callback.

  _c_h_a_r_s_e_t
      A	character set identifier for which the widget has no matching font in
      its font list.  The callback modifies the	widget font list to include
      an entry for the required	character set.

  _c_h_a_r_s_e_t__l_e_n
      The length of the	_c_h_a_r_s_e_t	string.

  The following	table lists the	reasons	and valid callback fields:

  _________________________________________________________

  Reason	       Description	     Valid Fields

  _________________________________________________________



  DDXXmmCCRR__NNOOFFOONNTT

		       There was no entry
		       in the widget font
		       list for	the
		       required	character
		       set.





					     reason, event,
					     charset,
					     charset_len





  XXmmCCRR__AACCTTIIVVAATTEE

		       The user	activated
		       the CSText widget.


					     reason, event




  XXmmCCRR__FFOOCCUUSS

		       The compound string
		       text widget has
		       received	the input
		       focus.




					     reason, event






  XXmmCCRR__HHEELLPP

		       The user	selected
		       help.


					     reason, event




  XXmmCCRR__VVAALLUUEE__CCHHAANNGGEEDD

		       The user	changed
		       the value of the
		       text in the com-
		       pound string text
		       widget.





					     reason





  _________________________________________________________

  XXmmTTeexxttVVeerriiffyyCCaallllbbaacckk Structure

       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;;
	     DDXXmmCCSST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;;
	     DDXXmmCCSST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mSSttrriinngg		_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
      An integer set to	the callback reason.

  _e_v_e_n_t
      A	pointer	to the XEvent structure	that generated the callback.

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

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

  _n_e_w_I_n_s_e_r_t
      The position of the cursor after the action has been completed.  (Used
      only by 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 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 call-
      back routines.)

  _s_t_a_r_t_P_o_s
      The starting position of the text	that is	to be modified.	 (Used only
      by 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 callback routine.)

  _e_n_d_P_o_s
      The ending position of the text that is to be modified.  If no text is
      replaced or deleted, the value is	the same as _s_t_a_r_t_P_o_s.  (Used only by
      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 callback routine.)

  _t_e_x_t
      A	pointer	to a compound string containing	the text that is to be
      inserted.	 (Used only by 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 callback routine.)

  The following	table lists the	reasons	and valid callback fields:
  _______________________________________________________

  Reason		      Description    Valid Fields

  _______________________________________________________



  XXmmCCRR__LLOOSSIINNGG__FFOOCCUUSS

			      The compound
			      string text
			      widget has
			      lost the
			      input focus.





					     reason,
					     event, doit,
					     currInsert





  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

			      The user is
			      deleting or
			      inserting
			      text.




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






  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

			      The user is
			      moving the
			      insertion
			      cursor to
			      another
			      position.




























































					     reason,
					     event, doit,
					     currInsert,
					     newInsert

  _______________________________________________________

  Compound String Text Translation Table

  _________________________________________________________

  Event			      Action Routine

  _________________________________________________________

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

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

  BToggle Press:	      move-destination()

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

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

  MAlt BDrag Press:	      secondary-start()
  MAlt BDrag Motion:	      secondary-adjust()
  MAlt BDrag Release:	      move-to()

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

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

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

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

  KPageUp:		      previous-page()
  MShift KPageUp:	      previous-page(extend)

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

  MCtrl	KPageUp:	      page-horizontal-backward()
  MCtrl	KPageDown:	      page-horizontal-forward()

  MAlt KLeft:		      left-side-of-line()
  MShift Malt KLeft:	      left-side-of-line(extend)

  MAlt KRight:		      right-side-of-line()
  MShift MAlt KRight:	      right-side-of-line(extend)

  MCtrl	MAlt KLeft:	      extreme-left-of-file()
  MShift MCtrl MAlt KLeft:    extreme-left-of-file(extend)

  MCtrl	MAlt KRight:	      extreme-right-of-file()
  MShift MCtrl MAlt KRight:   extreme-right-of-file(extend)

  Malt <Key>F17:	      toggle-text-path
  <Key>F17:		      toggle-editing-path-move()
  MShift <Key>F17:	      toggle-editing-path-stay

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

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

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

  KAddMode:		      toggle-add-mode()

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

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

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

  KQuickCut:		      quick-cut-set()
  KQuickCopy:		      quick-copy-set()
  KQuickPaste:		      quick-copy-set()
  KQuickExtend:		      do-quick-action()

  KHelp:		      Help()

  KAny:			      self-insert()

  _________________________________________________________

  Action Routines


  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.

  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.

  bbaacckkwwaarrdd--ppaarraaggrraapphh((eexxtteenndd))::
      If XXmmNNeeddiittMMooddee is	XXmmMMUULLTTII__LLIINNEE__EEDDIITT and this action is called with no
      argument,	moves the insertion cursor to the first	non-whitespace char-
      acter following the first	previous blank line or beginning of the	text.
      If the insertion cursor is already at the	beginning of a paragraph,
      moves the	insertion cursor to the	beginning of the previous paragraph.

      If XXmmNNeeddiittMMooddee is	XXmmMMUULLTTII__LLIINNEE__EEDDIITT and this action is called with an
      argument of "extend", moves the insertion	cursor as in the case of no
      argument and extends the selection.

  bbaacckkwwaarrdd--wwoorrdd((eexxtteenndd))::
      If this action is	called with no argument, moves the insertion cursor
      to the first non-whitespace character after the first whitespace char-
      acter to the left	or the beginning of the	line.  If the insertion	cur-
      sor is already at	the beginning of a word, moves the insertion cursor
      to the beginning of the previous word.

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

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

  bbeeggiinnnniinngg--ooff--ffiillee((eexxtteenndd))::
      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 selection.

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

  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
      <Return> with a <space> 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 the insertion cursor.

  ccooppyy--ttoo(())::
      If a secondary selection exists, copies the secondary selection to 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 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(())::
      If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is inside the selection,
      deletes the entire selection; otherwise, deletes the character follow-
      ing the insert cursor.

  ddeelleettee--nneexxtt--wwoorrdd(())::
      If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is inside the selection,
      deletes the entire selection; otherwise, deletes the characters follow-
      ing the insertion	cursor to the next space, tab or end of	line
      character.

  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(())::
      If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is inside the selection,
      deletes the entire selection; otherwise, deletes the character of	text
      immediately preceding the	insertion cursor.

  ddeelleettee--pprreevviioouuss--wwoorrdd(())::
      If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is inside the selection,
      deletes the entire selection; otherwise, deletes the characters preced-
      ing the insertion	cursor to the next space, tab or beginning of line
      character.

  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(())::
      Deletes the characters following the insertion cursor to the next	end
      of line character.

  ddeelleettee--ttoo--ssttaarrtt--ooff--lliinnee(())::
      Deletes the characters preceding the insertion cursor to the previous
      beginning	of line	character.

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

  ddoo--qquuiicckk--aaccttiioonn(())::
      Marks the	end of a secondary selection.  Performs	the quick action ini-
      tiated by	the quick-copy-set or quick-cut-set action.

  eenndd--ooff--ffiillee((eexxtteenndd))::
      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 selection.

  eenndd--ooff--lliinnee((eexxtteenndd))::
      If this action is	called with no argument, moves the insertion cursor
      to the end of the	line.

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

  eexxtteenndd--aaddjjuusstt(())::
      Selects text from	the anchor to the pointer position and deselects text
      outside that range.  Moving the pointer over several lines selects text
      from the anchor to the end of each line the pointer moves	over and up
      to the pointer position on the current line.

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

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

  eexxttrreemmee--lleefftt--ooff--ffiillee((eexxtteenndd))::
      If this action is	called with no argument	and the	current	text path is
      left to right, moves the insertion cursor	to the beginning of the	text.

      If called	with no	argument and the current text path is right to left,
      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 selection.

      The text path can	be initially set using the DDXXmmNNtteexxttPPaatthh	resource or
      interactively (see toggle-text-path).

  eexxttrreemmee--rriigghhtt--ooff--ffiillee((eexxtteenndd))::
      If this action is	called with no argument	and the	current	text path is
      left to right, moves the insertion cursor	to the end of the text.

      If called	with no	argument and the current text path is right to left,
      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 selection.

      The text path can	be set initially using the DDXXmmNNtteexxttPPaatthh	resource or
      interactively (see toggle-text-path).

  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.

  ffoorrwwaarrdd--ppaarraaggrraapphh((eexxtteenndd))::
      If XXmmNNeeddiittMMooddee is	XXmmMMUULLTTII__LLIINNEE__EEDDIITT, and this action is called with no
      argument,	moves the insertion cursor the first non-whitespace character
      following	the next blank line.  If the insertion cursor is already at
      the beginning of a paragraph, moves the insertion	cursor to the begin-
      ning of the next paragraph.

      If XXmmNNeeddiittMMooddee is	XXmmMMUULLTTII__LLIINNEE__EEDDIITT and this action is called with an
      argument of "extend", moves the insertion	cursor as in the case of no
      argument and extends the selection.

  ffoorrwwaarrdd--wwoorrdd((eexxtteennd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.

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

  ggrraabb--ffooccuuss(())::
      This key binding performs	the action in the XXmmNNsseelleeccttAArrrraayy, depending
      on the number of multiple	mouse clicks.  The default selection array
      ordering is one click to move the	insertion cursor to the	pointer	posi-
      tion, two	clicks to select a word, three clicks to select	a line of
      text, and	four clicks to select all text.

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

  iinnsseerrtt--ssttrriinngg((ssttrriinngg))::
      If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is inside the selection,
      deletes the entire selection.  Inserts "string" at the insertion cur-
      sor.

  kkeeyy--sseelleecctt((ddiirreeccttiioonn))::
      If called	with an	argument of "right", moves the insertion cursor	one
      character	to the right and extends the selection.	 If called with	an
      argument of "left", moves	the insertion cursor one character to the
      left and extends the selection.  If called with no argument, extends
      the selection.

  kkiillll--nneexxtt--cchhaarraacctteerr(())::
      If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is inside the selection,
      deletes the entire selection.  Otherwise,	kills the character following
      the insertion cursor and stores the character in the cut buffer.

  kkiillll--nneexxtt--wwoorrdd(())::
      If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is inside the selection,
      deletes the entire selection.  Otherwise,	kills the characters follow-
      ing the insertion	cursor to the next space, tab or end of	line charac-
      ter, and stores the characters in	the cut	buffer.

  kkiillll--pprreevviioouuss--cchhaarraacctteerr(())::
      If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is inside the selection,
      deletes the entire selection.  Otherwise,	kills the character of text
      immediately preceding the	insertion cursor and stores the	character in
      the cut buffer.

  kkiillll--pprreevviioouuss--wwoorrdd(())::
      If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is inside the selection,
      deletes the entire selection.  Otherwise,	kills the characters preced-
      ing the insertion	cursor to the next space, tab or beginning of line
      character, and stores the	characters in the cut buffer.

  kkiillll--sseelleeccttiioonn(())::
      Kills the	currently selected text	and stores the text in the cut
      buffer.

  kkiillll--ttoo--eenndd--ooff--lliinnee(())::
      Kills the	characters following the insertion cursor to the next end of
      line character and stores	the characters in the cut buffer.

  kkiillll--ttoo--ssttaarrtt--ooff--lliinnee(())::
      Kills the	characters preceding the insertion cursor to the next begin-
      ning of line character and stores	the characters in the cut buffer.

  lleefftt--cchhaarraacctteerr(())::
      Moves the	insertion cursor one character to the left.

  lleefftt--ssiiddee--ooff--lliinnee((eexxtteenndd))::
      If this action is	called with no argument	and the	current	text path is
      left to right, moves the insertion cursor	to the beginning of the	line.

      If called	with no	argument and the current text path is right to left,
      moves the	insertion cursor to the	end of the line.

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

      The text path can	be set initially using the DDXXmmNNtteexxttPPaatthh	resource or
      interactively (see toggle-text-path).

  lleefftt--wwoorrdd((eexxtteenndd))::
      If this action is	called with no argument	and the	current	text path is
      left to right, moves the insertion cursor	to the first non-whitespace
      character	after the first	whitespace character to	the left or 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.

      If this action is	called with no argument	and the	current	text path is
      right to left, moves the insertion cursor	to the first whitespace	char-
      acter or end of line following the next non-whitespace character.	 If
      the insertion cursor is already at the end of a word, moves the inser-
      tion cursor to the end of	the next word.

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

      The text path can	be set initially using the DDXXmmNNtteexxttPPaatthh	resource or
      interactively (see toggle-text-path).

  mmoovvee--ddeessttiinnaattiioonn(())::
      Moves the	insertion cursor to the	pointer	position without changing any
      existing selection.  If no selection exists, also	moves the destination
      cursor to	the pointer position.

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

  nneeww--lliinnee(())::
      If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is inside the selection,
      deletes the entire selection.  Inserts a newline at the insertion	cur-
      sor.

  nneewwlliinnee--aanndd--bbaacckkuupp(())::
      If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is inside the selection,
      deletes the entire selection.  Inserts a newline and repositions the
      insertion	cursor to the end of the line before the newline.

  nneewwlliinnee--aanndd--iinnddeenntt(())::
      If XXmmNNppeennddiinnggDDeelleettee is True and the cursor is inside the selection,
      deletes the entire selection.  Inserts a newline and then	the same
      number of	whitespace characters as at the	beginning of the previous
      line.

  nneexxtt--lliinnee(())::
      Moves the	insertion cursor to the	next line.

  nneexxtt--ppaaggee((eexxtteenndd))::
      If this action is	called with no argument, moves the insertion cursor
      forward one page.

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

  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--hhoorriizzoonnttaall--bbaacckkwwaarrdd(())::
      If the current text path is left to right, scrolls the viewing window
      left one path of text.

      If the current text path is right	to left, scrolls the viewing window
      right one	path of	text.

      The text path can	be set initially using the DDXXmmNNtteexxttPPaatthh	resource or
      interactively (see toggle-text-path).

  ppaaggee--hhoorriizzoonnttaall--ffoorrwwaarrdd(())::
      If the current text path is left to right, scrolls the viewing window
      right one	path of	text.

      If the current text path is right	to left, scrolls the viewing window
      left one path of text.

      The text path can	be set initially using the DDXXmmNNtteexxttPPaatthh	resource or
      interactively (see toggle-text-path).

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

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

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

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

  pprreevviioouuss--lliinnee(())::
      Moves the	insertion cursor to the	previous line.

  pprreevviioouuss--ppaaggee((eexxtteenndd))::
      If this action is	called with no argument, moves the insertion cursor
      back one page.

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

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

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

      It performs a secondary selection	and copies the selection to the	posi-
      tion 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 posi-
      tioned 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 extend-adjust() or secondary-adjust()	operation and
      leaves the selection state as it was before the operation.

  pprroocceessss--ddoowwnn(())::
      If XXmmNNeeddiittMMooddee is	XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT and XXmmNNnnaavviiggaattiioonnTTyyppee is XXmmNNOONNEE,
      traverses	to the widget below the	current	one in the tab group.

      If XXmmNNeeddiittMMooddee is	XXmmMMUULLTTII__LLIINNEE__EEDDIITT, moves the insertion cursor down
      one line.

  pprroocceessss--hhoommee(())::
      Moves the	insertion cursor the beginning of the line.

  pprroocceessss--rreettuurrnn(())::
      If XXmmNNeeddiittMMooddee is	XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT, calls the callbacks	for XXmmNNaacc--
      ttiivvaatteeCCaallllbbaacckk.  If XXmmNNeeddiittMMooddee is XXmmMMUULLTTII__LLIINNEE__EEDDIITT, inserts a new-
      line.

  pprroocceessss--sshhiifftt--ddoowwnn(())::
      If XXmmNNeeddiittMMooddee is	XXmmMMUULLTTII__LLIINNEE__EEDDIITT, moves the insertion cursor down
      one line.

  pprroocceessss--sshhiifftt--uupp(())::
      If XXmmNNeeddiittMMooddee is	XXmmMMUULLTTII__LLIINNEE__EEDDIITT, moves the insertion cursor up one
      line.

  pprroocceessss--ttaabb(())::
      If XXmmNNeeddiittMMooddee is	XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT, traverses to the next tab group.
      If XXmmNNeeddiittMMooddee is	XXmmMMUULLTTII__LLIINNEE__EEDDIITT, inserts a tab.

  pprroocceessss--uupp(())::
      If XXmmNNeeddiittMMooddee is	XXmmSSIINNGGLLEE__LLIINNEE__EEDDIITT and XXmmNNnnaavviiggaattiioonnTTyyppee is XXmmNNOONNEE,
      traverses	to the widget above the	current	one in tab group.

      If XXmmNNeeddiittMMooddee is	XXmmMMUULLTTII__LLIINNEE__EEDDIITT, moves the insertion cursor up one
      line.

  qquuiicckk--ccooppyy--sseett(())::
      Marks the	beginning of a secondary selection for use in quick copy.

  qquuiicckk--ccuutt--sseett(())::
      Marks the	beginning of a secondary selection for use in quick cut.

  rreeddrraaww--ddiissppllaayy(())::
      Redraws the contents of the text windows.

  rriigghhtt--cchhaarraacctteerr(())::
      Moves the	insertion cursor one character to the right.

  rriigghhtt--ssiiddee--ooff--lliinnee((eexxtteenndd))::
      If this action is	called with no argument	and the	current	text path is
      left to right, moves the insertion cursor	to the end of the line.

      If called	with no	argument and the current text path is right to left,
      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 selection.

      The text path can	be set initially using the DDXXmmNNtteexxttPPaatthh	resource or
      interactively (see toggle-text-path).

  rriigghhtt--wwoorrdd((eexxtteenndd))::
      If this action is	called with no argument	and the	current	text path is
      left to right, moves the insertion cursor	to the first whitespace	char-
      acter or end of line following the next non-whitespace character.	 If
      the insertion cursor is already at the end of a word, moves the inser-
      tion cursor to the end of	the next word.

      If this action is	called with no argument	and the	current	text path is
      right to left, moves the insertion cursor	to the first non-whitespace
      character	after the first	whitespace character to	the left or 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.

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

      The text path can	be set initially using the DDXXmmNNtteexxttPPaatthh	resource or
      interactively (see toggle-text-path).

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

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

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

  sseeccoonnddaarryy--nnoottiiffyy(())::
      Copies the secondary selection to	the destination	cursor.

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

  sseelleecctt--aaddjjuusstt(())::
      Extends the selection.  The amount of text selected depends on the
      number of	mouse clicks, as specified by the XXmmNNsseelleeccttiioonnAArrrraayy resource.

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

  sseelleecctt--eenndd(())::
      Extends the selection.  The amount of text selected depends on the
      number of	mouse clicks, as specified by the XXmmNNsseelleeccttiioonnAArrrraayy resource.

  sseelleecctt--ssttaarrtt(())::
      Marks the	beginning of a new selection region.

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

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

  sseett--iinnsseerrttiioonn--ppooiinntt(())::
      Sets the insertion point.

  sseett--sseelleeccttiioonn--hhiinntt(())::
      Sets the text source and location	of the selection.

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

  ttooggggllee--eeddiittiinngg--ppaatthh--mmoovvee(())::
      Toggles the editing path direction.

      If the direction is toggled for right to left editing, the insertion
      cursor stays at the current position.

      If the direction is toggled for left to right editing, the insertion
      cursor will move to the right-most position of the previous right	to
      left text.

  ttooggggllee--eeddiittiinngg--ppaatthh--ssttaayy(())::
      Toggles the editing path direction.  The insertion cursor	stays at the
      current position.

  ttooggggllee--tteexxtt--ppaatthh(())::
      Toggles the text path direction of the entire text.  Inverses each
      segment's	direction, creating a mirror image of the original text.

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

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

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

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

  Additional Behavior


  <_F_o_c_u_s_I_n>:
      Draws the	insertion cursor and starts blinking the cursor.

  <_F_o_c_u_s_O_u_t>:
      Stops blinking the cursor.

  Geometry Management

  The compound string text widget does not support children.

  Resizing

  The compound string text widget does not support children.

RETURN VALUES

  The identifier (widget ID) of	the created compound string text widget.

RELATED	INFORMATION

  DDXXmmCCSSTTeexxttCClleeaarrSSeelleeccttiioonn(3X), DDXXmmCCSSTTeexxttCCooppyy(3X), DDXXmmCCSSTTeexxttCCuutt(3X),
  DDXXmmCCSSTTeexxttGGeettEEddiittaabbllee(3X), DDXXmmCCSSTTeexxttGGeettIInnsseerrttiioonnPPoossiittiioonn(3X),
  DDXXmmCCSSTTeexxttGGeettLLaassttPPoossiittiioonn(3X),	DDXXmmCCSSTTeexxttGGeettMMaaxxLLeennggtthh(3X),
  DDXXmmCCSSTTeexxttGGeettSSeelleeccttiioonn(3X), DDXXmmCCSSTTeexxttGGeettSSeelleeccttiioonnIInnffoo(3X),
  DDXXmmCCSSTTeexxttGGeettSSttrriinngg(3X), DDXXmmCCSSTTeexxttGGeettTTooppPPoossiittiioonn(3X),
  DDXXmmCCSSTTeexxttHHaassSSeelleeccttiioonn(3X), DDXXmmCCSSTTeexxttHHoorriizzoonnttaallSSccrroollll(3X),
  DDXXmmCCSSTTeexxttIInnsseerrtt(3X), DDXXmmCCSSTTeexxttNNuummLLiinneess(3X), DDXXmmCCSSTTeexxttPPaassttee(3X),
  DDXXmmCCSSTTeexxttPPoossTTooXXYY(3X),	DDXXmmCCSSTTeexxttRReemmoovvee(3X), DDXXmmCCSSTTeexxttRReeppllaaccee(3X),
  DDXXmmCCSSTTeexxttSSeettAAddddMMooddee(3X), DDXXmmCCSSTTeexxttSSeettEEddiittaabbllee(3X),
  DDXXmmCCSSTTeexxttSSeettHHiigghhlliigghhtt(3X), DDXXmmCCSSTTeexxttSSeettIInnsseerrttiioonnPPoossiittiioonn(3X),
  DDXXmmCCSSTTeexxttSSeettMMaaxxLLeennggtthh(3X), DDXXmmCCSSTTeexxttSSeettSSeelleeccttiioonn(3X),
  DDXXmmCCSSTTeexxttSSeettSSttrriinngg(3X), DDXXmmCCSSTTeexxttSSeettTTooppPPoossiittiioonn(3X),
  DDXXmmCCSSTTeexxttSShhoowwPPoossiittiioonn(3X), DDXXmmCCSSTTeexxttVVeerrttiiccaallSSccrroollll(3X),
  DDXXmmCCSSTTeexxttXXYYTTooPPooss(3X)

































