DXmCreateCSText(3X)DXmCreateCSText(3X)NAMEDXmCreateCSText - 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 cre‐
ated 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 XmNblinkRate;
int XmNcolumns; DXmCSTextPosition XmNcursor‐
Position; Boolean XmNcursorPositionVisible; Boolean
XmNeditable; int XmNeditMode; XtCallbackList
XmNfocusCallback; XmFontlist XmNfontList; XtCallback‐
List XmNlosingFocusCallback; Dimension XmN‐
marginHeight; Dimension XmNmarginWidth; int
XmNmaxLength; XtCallbackList XmNmodifyVerifyCallback;
XtCallbackList XmNmotionVerifyCallback; Boolean
XmNpendingDelete Boolean XmNresizeHeight: Boolean
XmNresizeWidth; int XmNrows; Boolean
XmNscrollHorizontal; Boolean XmNscrollLeftSide;
Boolean XmNscrollTopSide; Boolean XmN‐
scrollVertical; XmRPointer XmNselectionArray int
XmNselectionArrayCount int XmNselectThreshold
DXmCSTextPosition XmNtopPosition; XmString XmN‐
value; 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 char‐
acters. Note that the text window does not shrink below the initial
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 spe‐
cific 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 gener‐
ated the callback.
charset 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.
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
widget. 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 mil‐
liseconds. Access is CSG. The width, in characters, of the win‐
dow. The default is 20 characters (if no width is specified
with the XmNwidth resource). Access is CSG. An integer indi‐
cating 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 com‐
pound 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 key‐
board 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 asso‐
ciated 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 call‐
backs) made when the compound string text widget loses input
focus. The callback reason is XmCR_LOSING_FOCUS and the associ‐
ated callback structure is XmTextVerifyCallbackStruct. 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. 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 integer (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 XmTextVerifyCallback‐
Struct. 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 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 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 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 compound string text widget resizes its height to accommo‐
date all the text contained in the widget. When True, the com‐
pound 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 XmN‐
scrollVertical is True. The default is False. Access is CSG.
A Boolean resource that specifies whether the compound string
text widget resizes its width to accommodate all the text con‐
tained 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 rou‐
tine. 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 rou‐
tine. 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 rou‐
tine. 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 rou‐
tine. Specifies actions that result from multiple mouse clicks.
The value of this resource is an array of XmTextScanType ele‐
ments. 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. Dis‐
plays the position 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. Oth‐
erwise, 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 structure is DXm‐
CSTextCallbackStruct. 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 char‐
acter 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 charset_len
for the required char‐
acter set.
XmCR_ACTIVATE The user activated the reason, event
CSText widget.
XmCR_FOCUS The compound string reason, event
text 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 struc‐
ture 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 posi‐
tion of the cursor after the action has been completed. (Used only by
the XmNmodifyVerifyCallback and XmNmotionVerifyCallback callback rou‐
tines.) The starting position of the text that is to be modified.
(Used only by the XmNmodifyVerifyCallback callback routine.) The end‐
ing 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 XmN‐
modifyVerifyCallback callback routine.) A pointer to a compound string
containing the text that is to be inserted. (Used only by the XmNmodi‐
fyVerifyCallback 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 cur‐
sor 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 begin‐
ning 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 cur‐
sor 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 cur‐
sor as in the case of no argument and extends the selection. If
this action is called with no argument, moves the insertion cur‐
sor to the beginning of the line.
If called with an argument of “extend”, moves the insertion cur‐
sor 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 XmNpendingDelete 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 selec‐
tion; otherwise, deletes the character of text immediately pre‐
ceding the insertion cursor. If XmNpendingDelete is True and
the cursor is inside the selection, deletes the entire selec‐
tion; 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 cur‐
sor as in the case of no argument and extends the selection. If
this action is called with no argument, moves the insertion cur‐
sor to the end of the line.
If called with an argument of "extend", moves the insertion cur‐
sor as in the case of no argument and extends the selection.
Selects text from the anchor to the pointer position and dese‐
lects text outside that range. Moving the pointer over several
lines selects text from the anchor to the end of each line the
pointer moves over and up to the pointer position on the current
line. 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 dese‐
lects 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 cur‐
sor 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 cur‐
sor 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 beginning of a paragraph, moves the insertion
cursor to the beginning of the next paragraph.
If XmNeditMode is XmMULTI_LINE_EDIT and this action is called
with an argument of “extend”, moves the insertion cursor as in
the case of no argument and extends the 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 cur‐
sor 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 cur‐
sor 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 inser‐
tion cursor one character to the right and extends the selec‐
tion. 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 XmNpend‐
ingDelete 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. If XmNpendingDelete is True and the cursor is
inside the selection, deletes the entire selection. Otherwise,
kills the characters following the insertion cursor to the next
space, tab or end of line character, and stores the characters
in the cut buffer. If XmNpendingDelete is True and the cursor
is inside the selection, deletes the entire selection. Other‐
wise, 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 begin‐
ning of line character, and stores the characters in the cut
buffer. Kills the currently selected text and stores the text
in the cut buffer. Kills the characters following the insertion
cursor to the next end of line character and stores the charac‐
ters 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 cur‐
sor 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
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 cur‐
sor 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 des‐
tination cursor to the pointer position. If a secondary selec‐
tion exists, cuts the secondary selection to the insertion cur‐
sor. If no secondary selection exists, cuts the primary selec‐
tion to the pointer location. If XmNpendingDelete is True and
the cursor is inside the selection, deletes the entire selec‐
tion. Inserts a newline at the insertion cursor. If XmNpend‐
ingDelete 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 selec‐
tion, 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 cur‐
sor as in the case of no argument and extends the selection.
Traverses 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 cur‐
rent 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 win‐
dow right one page of text. Pastes the contents of the clip‐
board 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 cur‐
sor back one page.
If called with an argument of “extend”, moves the insertion cur‐
sor 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 cur‐
sor, and the interval between a BDrag press and release.
This action copies the current selection to the insertion cursor
if text is selected, the location cursor is disjoint from the
current selection, and no motion is detected within a given time
interval.
It performs a secondary selection and copies the selection to
the position where the text was last edited if the cursor is
disjoint from a current selection (if one exists), the time
interval is exceeded, and movement of the location cursor is
detected.
The action drags the current selection if the location cursor is
positioned on the selection, the time interval is exceeded, and
movement of the location cursor is detected. This action cre‐
ates a DragContext object whose XmNexportTargets resource value
includes target types of COMPOUND_TEXT, STRING, and TEXT. Can‐
cels 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 cur‐
sor 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 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 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 cur‐
sor to the beginning of the previous word.
If called with an argument of “extend”, moves the insertion cur‐
sor 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 XmNs‐
electionArray 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 char‐
acter 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 direc‐
tion.
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 direc‐
tion. The insertion cursor stays at the current position. Tog‐
gles 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. Tra‐
verses 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 ALSODXmCSTextClearSelection(3X), DXmCSTextCopy(3X), DXmCSTextCut(3X), DXmC‐
STextGetEditable(3X), DXmCSTextGetInsertionPosition(3X), DXmCSTextGet‐
LastPosition(3X), DXmCSTextGetMaxLength(3X), DXmCSTextGetSelection(3X),
DXmCSTextGetSelectionInfo(3X), DXmCSTextGetString(3X), DXmCSTextGetTop‐
Position(3X), DXmCSTextHasSelection(3X), DXmCSTextHorizontalScroll(3X),
DXmCSTextInsert(3X), DXmCSTextNumLines(3X), DXmCSTextPaste(3X), DXmCS‐
TextPosToXY(3X), DXmCSTextRemove(3X), DXm CSTextReplace(3X), DXmCS‐
TextSetAddMode(3X), DXmCSTextSetEditable(3X), DXmCSTextSetHigh‐
light(3X), DXmCSTextSetInsertionPosition(3X), DXmCSTextSet‐
MaxLength(3X), DXmCSTextSetSelection(3X), DXmCSTextSetString(3X), DXmC‐
STextSetTopPosition(3X), DXmCSTextShowPosition(3X), DXmCSTextVerti‐
calScroll(3X), DXmCSTextXYToPos(3X)DXmCreateCSText(3X)