DXmCreateCSText(3X) DXmCreateCSText(3X)
NAME
DXmCreateCSText - Creates a compound string text widget.
SYNOPSIS
Widget DXmCreateCSText(
Widget parent,
char *name,
Args *args,
int num_args );
PARAMETERS
The identifier (widget ID) of the parent widget. The name of the created widget. The application override argument list. You can set the
following widget-specific resources in the args:
Boolean DXmNbidirectionalCursor; int DXmNeditingPath; XtCallbackList DXmNnofontCallback; int
DXmNtextPath; XtCallbackList XmNactivateCallback; Boolean XmNautoShowCursorPosition; int XmN-
blinkRate; int XmNcolumns; DXmCSTextPosition XmNcursorPosition; Boolean XmNcursorPositionVisible;
Boolean XmNeditable; int XmNeditMode; XtCallbackList XmNfocusCallback; XmFontlist XmN-
fontList; XtCallbackList XmNlosingFocusCallback; Dimension XmNmarginHeight; Dimension XmNmarginWidth;
int XmNmaxLength; XtCallbackList XmNmodifyVerifyCallback; XtCallbackList XmNmotionVerifyCallback; Bool-
ean 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; An integer that represents the number of arguments in the application override argument list.
DESCRIPTION
The DXmCreateCSText routine creates a compound string text widget that provides your application with text editing capabilities, including
the ability 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 ini-
tial size set at creation time.
Resources
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. 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 DXmNtextPath. This resource is used only if XmNvalue is Null.
-----------------------------------------------------------
Value Description
-----------------------------------------------------------
DXmDIRECTION_RIGHT_DOWN(0) The direction of the text
path is right and then down.
DXmDIRECTION_LEFT_DOWN(1) The direction of the text
path is left and then down.
-----------------------------------------------------------
The default is DXmDIRECTION_RIGHT_DOWN, or 0. Access is CG. 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 DXmCR_NOFONT. Other
callback fields are as follows:
----------------------------------------------------------------
Field Description
----------------------------------------------------------------
event A pointer to the XEvent structure that generated
the callback.
charset A character set identifier for which the widget
has no matching font in its font list. The call-
back modifies the widget font list to include an
entry for the required character set.
charset_len The length of the charset @string.
----------------------------------------------------------------
The default is Null. Access is C. A read-only value that holds the main text path (direction) of the text in the compound text wid-
get. This resource is used only if XmNvalue is Null. It is set from the initial compound string value of the widget. The values
for this resource are as follows:
-----------------------------------------------------------
Value Description
-----------------------------------------------------------
DXmDIRECTION_RIGHT_DOWN(0) The direction of the text
path is right and then down.
DXmDIRECTION_LEFT_DOWN(1) The direction of the text
path is left and then down.
-----------------------------------------------------------
The default is DXmDIRECTION_RIGHT_DOWN, or 0. Access is CG. Callback (or callbacks) made when the user activates the CSText widget.
The reason for this callback is XmCR_ACTIVATE and the associated callback structure is DXmCSTextCallbackStruct. The default is
Null. Access is C. A Boolean resource that, when True, ensures that the visible text contains the cursor. The default is True.
Access is CSG. An integer indicating the blink rate of the text cursor in milliseconds. The default is 500 milliseconds. Access is
CSG. The width, in characters, of the window. The default is 20 characters (if no width is specified with the XmNwidth resource).
Access is CSG. An integer indicating the current location of the cursor. The default is 0. Access is CSG. 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. A
Boolean resource that, when True, indicates that the user can edit the text in the compound string text widget. When False, the
user cannot edit the text. Access is CSG. The default is True. Specifies the set of keyboard bindings used for CSText. The
default set of keyboard bindings is XmSINGLE_LINE_EDIT. For multiline text, use XmMULTI_LINE_EDIT. Access is CSG. Callback (or
callbacks) made when the compound string text widget has accepted the input focus. The reason for this callback is XmCR_FOCUS and
the associated callback structure is DXmCSTextCallbackStruct. The default is Null. Access is C. The font list to be used for the
compound string text widget. The default is the current server font list (DXmDefaultFont). Access is CSG. Callback (or callbacks)
made when the compound string text widget loses input focus. The callback reason is XmCR_LOSING_FOCUS and the associated callback
structure is XmTextVerifyCallbackStruct. Other callback fields are as follows:
---------------------------------------------------------------
Field Description
---------------------------------------------------------------
event A pointer to the XEvent that generated this call-
back.
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. The number of pixels between the top or bottom edge of the window and the text. The default is 6
pixels. Access is CSG. The number of pixels between the left or right edge of the window and the text. The default is 6 pixels.
Access is CSG. The maximum length of the text, in characters, in the compound string text widget. The default is the largest inte-
ger (MAXINT). Access is CSG. Callback (or callbacks) made before text is deleted from or inserted into the CSText widget. The
callback reason is XmCR_MODIFYING_TEXT_VALUE and the associated callback structure is XmTextVerifyCallbackStruct. Other callback
fields are as follows:
---------------------------------------------------------------
Field Description
---------------------------------------------------------------
event A pointer to the XEvent that generated this call-
back.
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 completed.
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 startPos.
text A pointer to an XmString holding the text to be
inserted.
---------------------------------------------------------------
The default is Null. Access is C. Callback (or callbacks) made before the cursor is moved to another position. The callback reason
is XmCR_MOVING_INSERT_CURSOR and the associated callback structure is XmTextVerifyCallbackStruct. Other callback fields are as fol-
lows:
---------------------------------------------------------------
Field Description
---------------------------------------------------------------
event A pointer to the XEvent that generated this call-
back.
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 completed.
---------------------------------------------------------------
The default is Null. Access is C. A Boolean resource that, when True, specifies that selected text containing the insertion point
is to be deleted when new text is entered. The default is True. Access is CSG. A Boolean resource that specifies whether the com-
pound 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 other-
wise. This resource is ignored if XmNscrollVertical is True. The default is False. Access is CSG. A Boolean resource that speci-
fies 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 XmNwordWrap is True. The default is False. Access is
CSG. The height, in characters, of the window. This resource is ignored if the XmNeditMode resource is OXmSINGLE_LINE_EDIT. The
default is 1 character (if no height has been specified with the XmNheight resource). Access is CSG. 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 DXmCreateScrolledCSText routine. 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 XmNscrollVertical resource is False.
Access is CG.
This resource is valid only for the DXmCreateScrolledCSText routine. 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 DXmCreateScrolledCSText routine. 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 DXmCreateScrolledCSText routine. Specifies actions that result from multiple mouse clicks. The
value of this resource is an array of XmTextScanType elements. The following values (listed in the order they occur in the default
array) indicate the possible actions:
----------------------------------------------------------
Value Description
----------------------------------------------------------
XmSELECT_POSITION Resets the insertion cursor position.
XmSELECT_WORD Selects a word.
XmSELECT_LINE Selects a line of text.
XmSELECT_ALL Selects all of the text.
----------------------------------------------------------
The number of elements in the XmNselectionArray resource. The default is 4. Access is CSG. 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. Displays the posi-
tion of text at the top of the window. The default is 0. Access is CSG. The text contents of the compound string text widget. The
default is Null. When Null, the text path and editing paths are set to DXmDIRECTION_RIGHT_DOWN. Otherwise, the text and editing
paths are set from the direction of the first segment of the value. The access is CSG. Callback (or callbacks) made when the value
of the compound string text widget changes. The reason for this callback is XmCR_VALUE_CHANGED and the associated callback struc-
ture is DXmCSTextCallbackStruct. The default is Null. Access is C. 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
XmNeditMode resource is set to XmSINGLE_LINE_EDIT. The default is False. Access is CSG.
Resource Exceptions
The DXmCSText widget supports the Core resources XmNwidth and XmNheight 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:
DXmCSTextCallback Structure
typedef struct
{ int reason;
XEvent *event;
char *charset;
unsigned int charset_len;
} DXmCSTextCallbackStruct;
The parameters are as follows: An integer set to the callback reason. A pointer to the XEvent structure that generated the callback. 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. The length of the charset string.
The following table lists the reasons and valid callback fields:
------------------------------------------------------------------------
Reason Description Valid Fields
------------------------------------------------------------------------
DXmCR_NOFONT There was no entry in reason, event, charset,
the widget font list for charset_len
the required character
set.
XmCR_ACTIVATE The user activated the reason, event
CSText widget.
XmCR_FOCUS The compound string text reason, event
widget has received the
input focus.
XmCR_HELP The user selected help. reason, event
XmCR_VALUE_CHANGED The user changed the reason
value of the text in the
compound string text
widget.
------------------------------------------------------------------------
XmTextVerifyCallback Structure
typedef struct
{ int reason;
XEvent *event;
Boolean doit;
DXmCSTextPosition currInsert, newInsert;
DXmCSTextPosition startPos, endPos;
XmString text;
} XmTextVerifyCallbackStruct, *XmTextVerifyPtr;
An integer set to the callback reason. A pointer to the XEvent structure that generated the callback. Controls whether the action that
invoked the callback is performed. Setting this field to False negates the action. The current position of the insertion cursor. The
position of the cursor after the action has been completed. (Used only by the XmNmodifyVerifyCallback and XmNmotionVerifyCallback callback
routines.) The starting position of the text that is to be modified. (Used only by the XmNmodifyVerifyCallback callback routine.) The
ending position of the text that is to be modified. If no text is replaced or deleted, the value is the same as startPos. (Used only by the
XmNmodifyVerifyCallback callback routine.) A pointer to a compound string containing the text that is to be inserted. (Used only by the
XmNmodifyVerifyCallback callback routine.)
The following table lists the reasons and valid callback fields:
-----------------------------------------------------------------------
Reason Description Valid Fields
-----------------------------------------------------------------------
XmCR_LOSING_FOCUS The compound string reason, event,
text widget has lost doit, currInsert
the input focus.
XmCR_MODIFYING_TEXT_VALUE The user is deleting reason, event,
or inserting text. doit, currInsert,
newInsert, start-
Pos, endPos, text
XmCR_MOVING_INSERT_CURSOR The user is moving reason, event,
the insertion cursor doit, currInsert,
to another position. 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
Calls the callbacks for XmNactivateCallback. Moves the insertion cursor one character to the left. If XmNeditMode is XmMULTI_LINE_EDIT
and this action is called with no argument, moves the insertion cursor to the first non-whitespace character following the first previous
blank line or beginning of the text. If the insertion cursor is already at the beginning of a paragraph, moves the insertion cursor to the
beginning of the previous paragraph.
If XmNeditMode is XmMULTI_LINE_EDIT and this action is called with an argument of "extend", moves the insertion cursor as in the
case of no argument and extends the selection. If this action is called with no argument, moves the insertion cursor to the first
non-whitespace character after the first whitespace character to the left or 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. Causes
the terminal to beep. 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. 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. Clears
the current selection by replacing each character except <Return> with a <space> character. Copies the current selection to the
clipboard. Copies the primary selection to the insertion cursor. 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. Cuts the current
selection to the clipboard. Cuts the primary selection to the insertion cursor. If XmNpendingDelete is True and the cursor is
inside the selection, deletes the entire selection; otherwise, deletes the character following the insert cursor. If XmNpend-
ingDelete is True and the cursor is inside the selection, deletes the entire selection; otherwise, deletes the characters following
the insertion cursor to the next space, tab or end of line character. If XmNpendingDelete is True and the cursor is inside the
selection, deletes the entire selection; otherwise, deletes the character of text immediately preceding the insertion cursor. If
XmNpendingDelete is True and the cursor is inside the selection, deletes the entire selection; otherwise, deletes the characters
preceding the insertion cursor to the next space, tab or beginning of line character. Deletes the current selection. Deletes the
characters following the insertion cursor to the next end of line character. Deletes the characters preceding the insertion cursor
to the previous beginning of line character. Deselects the current selection. Marks the end of a secondary selection. Performs
the quick action initiated by the quick-copy-set or quick-cut-set action. 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. 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. 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. Moves the
insertion cursor to the position of the pointer. Adjusts the anchor using the balance-beam method. Selects text from the anchor to
the pointer position and deselects text outside that range. 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 DXmNtextPath resource or interactively (see toggle-text-path). 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 DXmNtextPath resource or interactively (see toggle-text-path). Moves the insertion
cursor one character to the right. If XmNeditMode is XmMULTI_LINE_EDIT, 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 begin-
ning of a paragraph, moves the insertion cursor to the beginning of the next paragraph.
If XmNeditMode is XmMULTI_LINE_EDIT and this action is called with an argument of "extend", moves the insertion cursor as in the
case of no argument and extends the selection. 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. This
key binding performs the action in the XmNselectArray, depending on the number of multiple mouse clicks. The default selection
array ordering is one click to move the insertion cursor to the pointer position, two clicks to select a word, three clicks to
select a line of text, and four clicks to select all text. Calls the callbacks for XmNhelpCallback if any exist. If there are no
help callbacks for this widget, this action calls the help callbacks for the nearest ancestor that has them. If XmNpendingDelete is
True and the cursor is inside the selection, deletes the entire selection. Inserts "string" at the insertion cursor. 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. If XmNpendingDelete is True and the cursor is inside the selection, deletes the entire selection. Other-
wise, kills the character following the insertion cursor and stores the character in the cut buffer. If XmNpendingDelete is True
and the cursor is inside the selection, deletes the entire selection. Otherwise, kills the characters following the insertion cur-
sor to the next space, tab or end of line character, and stores the characters in the cut buffer. If XmNpendingDelete 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. If XmNpendingDelete is True and the cursor is inside the selection,
deletes the entire selection. Otherwise, kills the characters preceding the insertion cursor to the next space, tab or beginning of
line character, and stores the characters in the cut buffer. Kills the currently selected text and stores the text in the cut buf-
fer. Kills the characters following the insertion cursor to the next end of line character and stores the characters in the cut
buffer. Kills the characters preceding the insertion cursor to the next beginning of line character and stores the characters in
the cut buffer. Moves the insertion cursor one character to the left. 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 DXmNtextPath resource or interactively (see toggle-text-path). 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 white-
space 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.
The text path can be set initially using the DXmNtextPath resource or interactively (see toggle-text-path). 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. 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. If XmNpendingDelete is True and the cursor is inside the
selection, deletes the entire selection. Inserts a newline at the insertion cursor. If XmNpendingDelete 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. If XmNpendingDelete 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. Moves the insertion cursor to
the next line. 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. Tra-
verses to the next tab group. 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 DXmNtextPath resource or interactively (see toggle-text-path). 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 DXmNtextPath resource or interactively (see toggle-text-path). Scrolls the viewing
window left one page of text. Scrolls the viewing window right one page of text. Pastes the contents of the clipboard before the
insertion cursor. Traverses to the previous tab group. Moves the insertion cursor to the previous line. 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. The
result of this action is determined by several factors: position of the location cursor, movement of the location cursor, and the
interval between a BDrag press and release.
This action copies the current selection to the insertion cursor if text is selected, the location cursor is disjoint from the cur-
rent selection, and no motion is detected within a given time interval.
It performs a secondary selection and copies the selection to the position where the text was last edited if the cursor is disjoint
from a current selection (if one exists), the time interval is exceeded, and movement of the location cursor is detected.
The action drags the current selection if the location cursor is positioned on the selection, the time interval is exceeded, and
movement of the location cursor is detected. This action creates a DragContext object whose XmNexportTargets resource value
includes target types of COMPOUND_TEXT, STRING, and TEXT. Cancels the current extend-adjust() or secondary-adjust() operation and
leaves the selection state as it was before the operation. If XmNeditMode is XmSINGLE_LINE_EDIT and XmNnavigationType is XmNONE,
traverses to the widget below the current one in the tab group.
If XmNeditMode is XmMULTI_LINE_EDIT, moves the insertion cursor down one line. Moves the insertion cursor the beginning of the
line. If XmNeditMode is XmSINGLE_LINE_EDIT, calls the callbacks for XmNactivateCallback. If XmNeditMode is XmMULTI_LINE_EDIT,
inserts a newline. If XmNeditMode is XmMULTI_LINE_EDIT, moves the insertion cursor down one line. If XmNeditMode is
XmMULTI_LINE_EDIT, moves the insertion cursor up one line. If XmNeditMode is XmSINGLE_LINE_EDIT, traverses to the next tab group.
If XmNeditMode is XmMULTI_LINE_EDIT, inserts a tab. If XmNeditMode is XmSINGLE_LINE_EDIT and XmNnavigationType is XmNONE, traverses
to the widget above the current one in tab group.
If XmNeditMode is XmMULTI_LINE_EDIT, moves the insertion cursor up one line. Marks the beginning of a secondary selection for use
in quick copy. Marks the beginning of a secondary selection for use in quick cut. Redraws the contents of the text windows. Moves
the insertion cursor one character to the right. 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 DXmNtextPath resource or interactively (see toggle-text-path). 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 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 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 DXmNtextPath resource or interactively (see toggle-text-path). Scrolls the text area
down one line. Scrolls the text area up one line. Extends the secondary selection to the pointer position. Copies the secondary
selection to the destination cursor. Marks the beginning of a secondary selection. Extends the selection. The amount of text
selected depends on the number of mouse clicks, as specified by the XmNselectionArray resource. Selects all text. Extends the
selection. The amount of text selected depends on the number of mouse clicks, as specified by the XmNselectionArray resource.
Marks the beginning of a new selection region. If XmNpendingDelete 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. Resets the anchor point for
extended selections. Resets the destination of secondary selection actions. Sets the insertion point. Sets the text source and
location of the selection. Toggles the state of Add Mode. 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. Toggles the editing path direction. The insertion cursor stays at the current position. Toggles the text path
direction of the entire text. Inverses each segment's direction, creating a mirror image of the original text. Traverses to the
first widget in the tab group. Traverses to the next widget in the tab group. Traverses to the previous widget in the tab group.
Restores last killed text to the position of the insertion cursor.
Additional Behavior
Draws the insertion cursor and starts blinking the cursor. 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.
SEE ALSO
DXmCSTextClearSelection(3X), DXmCSTextCopy(3X), DXmCSTextCut(3X), DXmCSTextGetEditable(3X), DXmCSTextGetInsertionPosition(3X), DXmCS-
TextGetLastPosition(3X), DXmCSTextGetMaxLength(3X), DXmCSTextGetSelection(3X), DXmCSTextGetSelectionInfo(3X), DXmCSTextGetString(3X), DXmC-
STextGetTopPosition(3X), DXmCSTextHasSelection(3X), DXmCSTextHorizontalScroll(3X), DXmCSTextInsert(3X), DXmCSTextNumLines(3X), DXmCS-
TextPaste(3X), DXmCSTextPosToXY(3X), DXmCSTextRemove(3X), DXm CSTextReplace(3X), DXmCSTextSetAddMode(3X), DXmCSTextSetEditable(3X), DXmCS-
TextSetHighlight(3X), DXmCSTextSetInsertionPosition(3X), DXmCSTextSetMaxLength(3X), DXmCSTextSetSelection(3X), DXmCSTextSetString(3X), DXm-
CSTextSetTopPosition(3X), DXmCSTextShowPosition(3X), DXmCSTextVerticalScroll(3X), DXmCSTextXYToPos(3X)
DXmCreateCSText(3X)