1XmTextField(library call) XmTextField(library call)
2
3
4
6 XmTextField — The TextField class
7
9 #include <Xm/Xm.h>
10
12 The TextField widget provides a single line text editor for customizing
13 both user and programmatic interfaces. It is used for single-line
14 string entry, and forms entry with verification procedures. It pro‐
15 vides an application with a consistent editing system for textual data.
16
17 TextField provides separate callback lists to verify movement of the
18 insert cursor, modification of the text, and changes in input focus.
19 Each of these callbacks provides the verification function with the
20 widget instance, the event that caused the callback, and a data struc‐
21 ture specific to the verification type. From this information, the
22 function can verify if the application considers this to be a legiti‐
23 mate state change and can signal the widget whether to continue with
24 the action.
25
26 The user interface tailors a new set of actions. The key bindings have
27 been added for insert cursor movement, deletion, insertion, and selec‐
28 tion of text.
29
30 TextField allows the user to select regions of text. Selection is
31 based on the model specified in the Inter-Client Communication Conven‐
32 tions Manual (ICCCM). TextField supports primary and secondary selec‐
33 tion.
34
35 TextField uses the XmQTnavigator, XmQTspecifyRenderTable, and
36 XmQTscrollFrame traits, and holds the XmQTaccessTextual XmQTtransfer
37 traits.
38
39 If an application or widget calls the setValue trait method of XmQTac‐
40 cessTextual, then XmTextField will call XmTextFieldSetString to set the
41 string value.
42
43 Data Transfer Behavior
44 TextField supports transfer of the primary, secondary, and clipboard
45 selections and dragging of selected text from the widget. TextField
46 can also be the destination for the primary, secondary, and clipboard
47 selections, and it supports dropping of data being dragged onto the
48 widget.
49
50 When the XmNconvertCallback procedures are called, the location_data
51 member of the XmConvertCallbackStruct member is NULL if the selected
52 text is being transferred. If the entire text, not the selected text,
53 is being transferred, the value of this member is the widget ID of the
54 TextField widget.
55
56 As a source of data, TextField supports the following targets and asso‐
57 ciated conversions of data to these targets:
58
59 UTF8_STRING
60 The widget transfers the selected text as type UTF8_STRING.
61
62 locale If the locale target matches the widget's locale, the widget
63 transfers the selected text in the encoding of the locale.
64
65 COMPOUND_TEXT
66 The widget transfers the selected text as type COMPOUND_TEXT.
67
68 STRING The widget transfers the selected text as type STRING.
69
70 TEXT If the selected text is fully convertible to the encoding of
71 the locale, the widget transfers the selected text in the
72 encoding of the locale. Otherwise, the widget transfers the
73 selected text as type COMPOUND_TEXT.
74
75 DELETE The widget deletes the selected text.
76
77 _MOTIF_CLIPBOARD_TARGETS
78 The widget transfers, as type ATOM, a list of the targets to
79 which the widget can convert data to be placed on the clip‐
80 board immediately. These include the following targets:
81
82 · UTF8_STRING
83
84 · COMPOUND_TEXT
85
86 · The encoding of the locale, if the selected text is
87 fully convertible to the encoding of the locale
88
89 · STRING, if the selected text is fully convertible to
90 STRING
91
92 _MOTIF_EXPORT_TARGETS
93 The widget transfers, as type ATOM, a list of the targets to
94 be used as the value of the DragContext's XmNexportTargets in
95 a drag-and-drop transfer. These include COMPOUND_TEXT, the
96 encoding of the locale, STRING, TEXT, UTF8_STRING, BACK‐
97 GROUND, and FOREGROUND.
98
99 _MOTIF_LOSE_SELECTION
100 The widget takes the following actions:
101
102 · When losing the PRIMARY selection, it unhighlights the
103 selected text and calls the XmNlosePrimaryCallback pro‐
104 cedures.
105
106 · When losing the SECONDARY selection, it removes the
107 secondary selection highlight.
108
109 · When losing the _MOTIF_DESTINATION selection, if the
110 widget does not have focus it changes the cursor to
111 indicate that the widget is no longer the destination.
112
113 As a source of data, TextField also supports the following standard
114 Motif targets:
115
116 BACKGROUND
117 The widget transfers XmNbackground as type PIXEL.
118
119 CLASS The widget finds the first shell in the widget hierarchy that
120 has a WM_CLASS property and transfers the contents as text in
121 the current locale.
122
123 CLIENT_WINDOW
124 The widget finds the first shell in the widget hierarchy and
125 transfers its window as type WINDOW.
126
127 COLORMAP The widget transfers XmNcolormap as type COLORMAP.
128
129 FOREGROUND
130 The widget transfers XmNforeground as type PIXEL.
131
132 NAME The widget finds the first shell in the widget hierarchy that
133 has a WM_NAME property and transfers the contents as text in
134 the current locale.
135
136 TARGETS The widget transfers, as type ATOM, a list of the targets it
137 supports. These include the standard targets in this list.
138 These also include COMPOUND_TEXT, the encoding of the locale,
139 STRING, TEXT and UTF8_STRING.
140
141 TIMESTAMP The widget transfers the timestamp used to acquire the selec‐
142 tion as type INTEGER.
143
144 _MOTIF_RENDER_TABLE
145 The widget transfers XmNrenderTable if it exists, or else the
146 default text render table, as type STRING.
147
148 _MOTIF_ENCODING_REGISTRY
149 The widget transfers its encoding registry as type STRING.
150 The value is a list of NULL separated items in the form of
151 tag encoding pairs. This target symbolizes the transfer tar‐
152 get for the Motif Segment Encoding Registry. Widgets and
153 applications can use this Registry to register text encoding
154 formats for specified render table tags. Applications access
155 this Registry by calling XmRegisterSegmentEncoding and
156 XmMapSegmentEncoding.
157
158 As a destination for data, TextField chooses a target and requests con‐
159 version of the selection to that target. If the encoding of the locale
160 is present in the list of available targets, TextField chooses a
161 requested target from the available targets in the following order of
162 preference:
163
164 1. TEXT
165
166 1. UTF8_STRING
167
168 2. COMPOUND_TEXT
169
170 3. The encoding of the locale
171
172 4. STRING
173
174 If the encoding of the locale is not present in the list of available
175 targets, TextField chooses a requested target from the available tar‐
176 gets in the following order of preference:
177
178 1. UTF8_STRING
179
180 1. COMPOUND_TEXT
181
182 2. STRING
183
184 Classes
185 TextField widget inherits behavior, resources, and traits from Core and
186 Primitive.
187
188 The class pointer is xmTextFieldWidgetClass.
189
190 The class name is XmTextField.
191
192 New Resources
193 The following table defines a set of widget resources used by the pro‐
194 grammer to specify data. The programmer can also set the resource val‐
195 ues for the inherited classes to set attributes for this widget. To
196 reference a resource by name or by class in a .Xdefaults file, remove
197 the XmN or XmC prefix and use the remaining letters. To specify one of
198 the defined values for a resource in a .Xdefaults file, remove the Xm
199 prefix and use the remaining letters (in either lower case or upper
200 case, but include any underscores between words). The codes in the
201 access column indicate if the given resource can be set at creation
202 time (C), set by using XtSetValues (S), retrieved by using XtGetValues
203 (G), or is not applicable (N/A).
204
205 ┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
206 │ │ XmTextFieldResour│ce Set │ │ │
207 │Name │ Class │ Type │ Default │ Access │
208 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
209 │XmNactivateCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
210 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
211 │XmNblinkRate │ XmCBlinkRate │ int │ 500 │ CSG │
212 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
213 │XmNcolumns │ XmCColumns │ short │ dynamic │ CSG │
214 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
215 │XmNcursorPosition │ XmCCursorPosition │ XmTextPosition │ 0 │ CSG │
216 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
217 │XmNcursorPositionVisible │ XmCCursorPositionVisible │ Boolean │ dynamic │ CSG │
218 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
219 │XmNdestinationCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
220 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
221 │XmNeditable │ XmCEditable │ Boolean │ True │ CSG │
222 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
223 │XmNfocusCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
224 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
225 │XmNfontList │ XmCFontList │ XmFontList │ dynamic │ CSG │
226 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
227 │XmNgainPrimaryCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
228 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
229 │XmNlosePrimaryCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
230 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
231 │XmNlosingFocusCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
232 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
233 │XmNmarginHeight │ XmCMarginHeight │ Dimension │ 5 │ CSG │
234 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
235 │XmNmarginWidth │ XmCMarginWidth │ Dimension │ 5 │ CSG │
236 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
237 │XmNmaxLength │ XmCMaxLength │ int │ largest integer │ CSG │
238 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
239 │XmNmodifyVerifyCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
240 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
241 │XmNmodifyVerifyCallbackWcs │ XmCCallback │ XtCallbackList │ NULL │ C │
242 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
243 │XmNmotionVerifyCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
244 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
245 │XmNpendingDelete │ XmCPendingDelete │ Boolean │ True │ CSG │
246 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
247 │XmNrenderTable │ XmCRenderTable │ XmRenderTable │ dynamic │ CSG │
248 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
249 │XmNresizeWidth │ XmCResizeWidth │ Boolean │ False │ CSG │
250 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
251 │XmNselectionArray │ XmCSelectionArray │ XtPointer │ default array │ CSG │
252 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
253 │XmNselectionArrayCount │ XmCSelectionArrayCount │ int │ 3 │ CSG │
254 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
255 │XmNselectThreshold │ XmCSelectThreshold │ int │ 5 │ CSG │
256 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
257 │XmNvalue │ XmCValue │ String │ "" │ CSG │
258 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
259 │XmNvalueChangedCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
260 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
261 │XmNvalueWcs │ XmCValueWcs │ wchar_t * │ (wchar_t *)"" │ CSG1 │
262 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
263 │XmNverifyBell │ XmCVerifyBell │ Boolean │ dynamic │ CSG │
264 ├───────────────────────────┼──────────────────────────┼────────────────┼─────────────────┼────────┤
265 └───────────────────────────┴──────────────────────────┴────────────────┴─────────────────┴────────┘
266 1 This resource cannot be specified in a resource file.
267
268 XmNactivateCallback
269 Specifies the list of callbacks that is called when the user
270 invokes an event that calls the activate() action. The type
271 of the structure whose address is passed to this callback is
272 XmAnyCallbackStruct. The reason sent by the callback is
273 XmCR_ACTIVATE.
274
275 XmNblinkRate
276 Specifies the blink rate of the text cursor in milliseconds.
277 The time indicated in the blink rate relates to the length of
278 time the cursor is visible and the time the cursor is invisi‐
279 ble (that is, the time it will take to blink the insertion
280 cursor on and off will be two times the blink rate). The cur‐
281 sor will not blink when the blink rate is set to 0 (zero).
282 The value must not be negative.
283
284 XmNcolumns
285 Specifies the initial width of the text window as an integer
286 number of characters. The width equals the number of charac‐
287 ters specified by this resource multiplied by the width as
288 derived from the specified font. If the em-space value is
289 available, it is used. If not, the width of the numeral "0"
290 is used. If this is not available, the maximum width is used.
291 For proportionate fonts, the actual number of characters that
292 fit on a given line may be greater than the value specified.
293
294 XmNcursorPosition
295 Indicates the position in the text where the current insert
296 cursor is to be located. Position is determined by the number
297 of characters from the beginning of the text.
298
299 XmNcursorPositionVisible
300 If the text widget has an XmPrintShell as one of its ances‐
301 tors (that is, the widget was created on a print server con‐
302 nection) then the default value is False; otherwise, it is
303 True.
304
305 XmNdestinationCallback
306 Specifies a list of callbacks called when the widget is the
307 destination of a transfer operation. The type of the struc‐
308 ture whose address is passed to these callbacks is XmDestina‐
309 tionCallbackStruct. The reason is XmCR_OK.
310
311 XmNeditable
312 When set to True, indicates that the user can edit the text
313 string. A false value will prohibit the user from editing
314 the text.
315
316 When XmNeditable is used on a widget it sets the dropsite to
317 XmDROP_SITE_ACTIVE.
318
319 XmNfocusCallback
320 Specifies the list of callbacks called when TextField accepts
321 input focus. The type of the structure whose address is
322 passed to this callback is XmAnyCallbackStruct. The reason
323 sent by the callback is XmCR_FOCUS.
324
325 XmNfontList
326 Specifies the font list to be used for TextField. The font
327 list is an obsolete structure, and is retained only for com‐
328 patibility with earlier releases of Motif. Use the render ta‐
329 ble (XmNrenderTable) instead of font lists wherever possible.
330 If both are specified, the render table will take precedence.
331 If this value is NULL at initialization, the parent hierarchy
332 of the widget is searched for an ancestor that holds the
333 XmQTspecifyRenderTable trait. If such an ancestor is found,
334 the font list is initialized to the XmTEXT_RENDER_TABLE value
335 of the ancestor widget. If no such ancestor is found, the
336 default is implementation dependent.
337
338 TextField searches the font list for the first occurrence of
339 a font set that has an XmFONTLIST_DEFAULT_TAG. If a default
340 element is not found, the first font set in the font list is
341 used. If the list contains no font sets, the first font in
342 the font list will be used. Refer to XmFontList(3) for more
343 information on a font list structure.
344
345 XmNgainPrimaryCallback
346 Specifies the list of callbacks that are called when the user
347 invokes an event that causes the text widget to gain owner‐
348 ship of the primary selection. The callback reason for this
349 callback is XmCR_GAIN_PRIMARY.
350
351 XmNlosePrimaryCallback
352 Specifies the list of callbacks that are called when the user
353 invokes an event that cause the text widget to lose ownership
354 of the primary selection. The callback reason for this call‐
355 back is XmCR_LOSE_PRIMARY.
356
357 XmNlosingFocusCallback
358 Specifies the list of callbacks that are called before
359 TextField widget loses input focus. The type of the struc‐
360 ture whose address is passed to this callback is XmTextVeri‐
361 fyCallbackStruct. The reason sent by the callback is
362 XmCR_LOSING_FOCUS.
363
364 XmNmarginHeight
365 Specifies the distance between the top edge of the widget
366 window and the text, and the bottom edge of the widget window
367 and the text.
368
369 XmNmarginWidth
370 Specifies the distance between the left edge of the widget
371 window and the text, and the right edge of the widget window
372 and the text.
373
374 XmNmaxLength
375 Specifies the maximum length of the text string that can be
376 entered into text from the keyboard. This value must be non‐
377 negative. Strings that are entered using the XmNvalue
378 resource or the XmTextFieldSetString function ignore this
379 resource.
380
381 XmNmodifyVerifyCallback
382 Specifies the list of callbacks that is called before text is
383 deleted from or inserted into TextField. The type of the
384 structure whose address is passed to this callback is
385 XmTextVerifyCallbackStruct. The reason sent by the callback
386 is XmCR_MODIFYING_TEXT_VALUE. When multiple TextField wid‐
387 gets share the same source, only the widget that initiates
388 the source change will generate the XmNmodifyVerifyCallback.
389
390 If both XmNmodifyVerifyCallback and XmNmodifyVerifyCallback‐
391 Wcs are registered callback lists, the procedure(s) in the
392 XmNmodifyVerifyCallback list is always executed first; and
393 the resulting data, which may have been modified, is passed
394 to the XmNmodifyVerifyCallbackWcs callback routines.
395
396 XmNmodifyVerifyCallbackWcs
397 Specifies the list of callbacks called before text is deleted
398 from or inserted into Text. The type of the structure whose
399 address is passed to this callback is XmTextVerifyCallback‐
400 StructWcs. The reason sent by the callback is XmCR_MODIFY‐
401 ING_TEXT_VALUE. When multiple TextField widgets share the
402 same source, only the widget that initiates the source change
403 will generate the XmNmodifyVerifyCallbackWcs.
404
405 If both XmNmodifyVerifyCallback and XmNmodifyVerifyCallback‐
406 Wcs are registered callback lists, the procedure(s) in the
407 XmNmodifyVerifyCallback list is always executed first; and
408 the resulting data, which may have been modified, is passed
409 to the XmNmodifyVerifyCallbackWcs callback routines.
410
411 XmNmotionVerifyCallback
412 Specifies the list of callbacks that is called before the
413 insert cursor is moved to a new position. The type of the
414 structure whose address is passed to this callback is
415 XmTextVerifyCallbackStruct. The reason sent by the callback
416 is XmCR_MOVING_INSERT_CURSOR. It is possible for more than
417 one XmNmotionVerifyCallbacks to be generated from a single
418 action.
419
420 XmNpendingDelete
421 Indicates that pending delete mode is on when the Boolean is
422 True. Pending deletion is defined as deletion of the
423 selected text when an insertion is made.
424
425 XmNrenderTable
426 Specifies the render table to be used in deriving a font set
427 or font for displaying text. If both a render table and a
428 font list are specified, the render table will take prece‐
429 dence. If the value of XmNrenderTable is NULL at initializa‐
430 tion, the parent hierarchy of the widget is searched for an
431 ancestor that holds the XmQTspecifyRenderTable trait. If such
432 an ancestor is found, the font list is initialized to the
433 XmTEXT_RENDER_TABLE value of the ancestor widget. If no such
434 ancestor is found, the default is implementation dependent.
435
436 TextField searches the render table for the first occurrence
437 of a rendition that has the tag _MOTIF_DEFAULT_LOCALE. If a
438 default element is not found, the first rendition in the ta‐
439 ble is used. Refer to XmRenderTable(3) for more information
440 on the render table structure.
441
442 XmNresizeWidth
443 Indicates that the TextField widget will attempt to resize
444 its width to accommodate all the text contained in the widget
445 when Boolean is True.
446
447 XmNselectionArray
448 Defines the actions for multiple mouse clicks. Each mouse
449 click performed within some time of the previous mouse click
450 will increment the index into this array and perform the
451 defined action for that index. (This "multi-click" time is
452 specified by the operating environment, and varies among dif‐
453 ferent systems. In general, it is usually set to some frac‐
454 tion of a second.) The possible actions are
455
456 XmSELECT_POSITION
457 Resets the insert cursor position
458
459 XmSELECT_WORD
460 Selects a word
461
462 XmSELECT_LINE
463 Selects a line of text
464
465 XmNselectionArrayCount
466 Specifies the number of actions that are defined in the XmNs‐
467 electionArray resource. The value must not be negative.
468
469 XmNselectThreshold
470 Specifies the number of pixels of motion that is required to
471 select the next character when selection is performed using
472 the click-drag mode of selection. The value must not be neg‐
473 ative. This resource also specifies whether a drag should be
474 started and the number of pixels to start a drag when
475 Btn2Down and Btn1Down are integrated.
476
477 XmNvalue Specifies the string value of the TextField widget as a char*
478 data value. Moves the cursor to position 0 unless a value of
479 XmNcursorPosition was explicitly supplied in the argument
480 list. If XmNvalue and XmNvalueWcs are both defined, the
481 value of XmNvalueWcs supersedes that of XmNvalue. XtGetValues
482 returns a copy of the value of the internal buffer and XtSet‐
483 Values copies the string values into the internal buffer.
484
485 XmNvalueChangedCallback
486 Specifies the list of callbacks that is called after text is
487 deleted from or inserted into TextField. The type of the
488 structure whose address is passed to this callback is XmAny‐
489 CallbackStruct. The reason sent by the callback is
490 XmCR_VALUE_CHANGED. The XmNvalueChangedCallback should occur
491 only in pairs with a XmNmodifyVerifyCallback, assuming that
492 the doit flag in the callback structure of the XmNmodifyVeri‐
493 fyCallback is not set to False.
494
495 XmNvalueWcs
496 Specifies the string value of the TextField widget as a
497 wchar_t* data value. Moves the cursor to position 0 unless a
498 value of XmNcursorPosition was explicitly supplied in the
499 argument list.
500
501 This resource cannot be specified in a resource file.
502
503 If XmNvalue and XmNvalueWcs are both defined, the value of
504 XmNvalueWcs supersedes that of XmNvalue. XtGetValues returns
505 a copy of the value of the internal buffer encoded as a wide
506 character string. XtSetValues copies the value of the wide
507 character string into the internal buffer.
508
509 XmNverifyBell
510 Specifies whether a bell will sound when an action is
511 reversed during a verification callback. The default depends
512 on the value of the ancestor VendorShell's XmNaudibleWarning
513 resource.
514
515 Inherited Resources
516 TextField widget inherits behavior and resources from the superclasses
517 in the following tables. For a complete description of these
518 resources, refer to the reference page for that superclass.
519
520 ┌───────────────────────────────────────────────────────────────────────────────────────────────────┐
521 │ │ XmPrimitive│Resource Set │ │ │
522 │Name │ Class │ Type │ Default │ Access │
523 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
524 │XmNbottomShadowColor │ XmCBottomShadowColor │ Pixel │ dynamic │ CSG │
525 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
526 │XmNbottomShadowPixmap │ XmCBottomShadowPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
527 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
528 │XmNconvertCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
529 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
530 │XmNforeground │ XmCForeground │ Pixel │ dynamic │ CSG │
531 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
532 │XmNhelpCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
533 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
534 │XmNhighlightColor │ XmCHighlightColor │ Pixel │ dynamic │ CSG │
535 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
536 │XmNhighlightOnEnter │ XmCHighlightOnEnter │ Boolean │ False │ CSG │
537 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
538 │XmNhighlightPixmap │ XmCHighlightPixmap │ Pixmap │ dynamic │ CSG │
539 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
540 │XmNhighlightThickness │ XmCHighlightThickness │ Dimension │ 2 │ CSG │
541 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
542 │XmNlayoutDirection │ XmCLayoutDirection │ XmDirection │ dynamic │ CG │
543 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
544 │XmNnavigationType │ XmCNavigationType │ XmNavigationType │ XmTAB_GROUP │ CSG │
545 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
546 │XmNpopupHandlerCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
547 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
548 │XmNshadowThickness │ XmCShadowThickness │ Dimension │ 2 │ CSG │
549 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
550 │XmNtopShadowColor │ XmCTopShadowColor │ Pixel │ dynamic │ CSG │
551 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
552 │XmNtopShadowPixmap │ XmCTopShadowPixmap │ Pixmap │ dynamic │ CSG │
553 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
554 │XmNtraversalOn │ XmCTraversalOn │ Boolean │ True │ CSG │
555 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
556 │XmNunitType │ XmCUnitType │ unsigned char │ dynamic │ CSG │
557 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
558 │XmNuserData │ XmCUserData │ XtPointer │ NULL │ CSG │
559 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
560 └────────────────────────┴───────────────────────┴──────────────────┴──────────────────────┴────────┘
561 ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
562 │ │ Core Resource Se│t │ │ │
563 │Name │ Class │ Type │ Default │ Access │
564 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
565 │XmNaccelerators │ XmCAccelerators │ XtAccelerators │ dynamic │ CSG │
566 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
567 │XmNancestorSensitive │ XmCSensitive │ Boolean │ dynamic │ G │
568 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
569 │XmNbackground │ XmCBackground │ Pixel │ dynamic │ CSG │
570 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
571 │XmNbackgroundPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
572 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
573 │XmNborderColor │ XmCBorderColor │ Pixel │ XtDefaultForeground │ CSG │
574 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
575 │XmNborderPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
576 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
577 │XmNborderWidth │ XmCBorderWidth │ Dimension │ 0 │ CSG │
578 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
579 │XmNcolormap │ XmCColormap │ Colormap │ dynamic │ CG │
580 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
581 │XmNdepth │ XmCDepth │ int │ dynamic │ CG │
582 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
583 │XmNdestroyCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
584 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
585 │XmNheight │ XmCHeight │ Dimension │ dynamic │ CSG │
586 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
587 │XmNinitialResourcesPersistent │ XmCInitialResourcesPersistent │ Boolean │ True │ C │
588 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
589 │XmNmappedWhenManaged │ XmCMappedWhenManaged │ Boolean │ True │ CSG │
590 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
591 │XmNscreen │ XmCScreen │ Screen * │ dynamic │ CG │
592 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
593 │XmNsensitive │ XmCSensitive │ Boolean │ True │ CSG │
594 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
595 │XmNtranslations │ XmCTranslations │ XtTranslations │ dynamic │ CSG │
596 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
597 │XmNwidth │ XmCWidth │ Dimension │ dynamic │ CSG │
598 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
599 │XmNx │ XmCPosition │ Position │ 0 │ CSG │
600 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
601 │XmNy │ XmCPosition │ Position │ 0 │ CSG │
602 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
603 └──────────────────────────────┴───────────────────────────────┴────────────────┴──────────────────────┴────────┘
604 Callback Information
605 A pointer to the following structure is passed to each callback:
606
607 typedef struct
608 {
609 int reason;
610 XEvent * event;
611 } XmAnyCallbackStruct;
612
613 reason Indicates why the callback was invoked
614
615 event Points to the XEvent that triggered the callback
616
617 The TextField widget defines a new callback structure for use with ver‐
618 ification callbacks. Note that not all of the fields are relevant for
619 every callback reason. The application must first look at the reason
620 field and use only the structure members that are valid for the partic‐
621 ular reason. The values startPos, endPos, and text in the callback
622 structure XmTextVerifyCallbackStruct may be modified upon receiving the
623 callback, and these changes will be reflected as the change made to the
624 source of the TextField widget. (For example, all keystrokes can be
625 converted to spaces or NULL characters when a password is entered into
626 a TextField widget.) The application programmer should not overwrite
627 the text field, but should attach data to that pointer.
628
629 A pointer to the following structure is passed to the callbacks for
630 XmNlosingFocusCallback, XmNmodifyVerifyCallback, and XmNmotionVerify‐
631 Callback.
632
633 typedef struct
634 {
635 int reason;
636 XEvent *event;
637 Boolean doit;
638 XmTextPosition currInsert, newInsert;
639 XmTextPosition startPos, endPos;
640 XmTextBlock text;
641 } XmTextVerifyCallbackStruct, *XmTextVerifyPtr;
642
643 reason Indicates why the callback was invoked.
644
645 event Points to the XEvent the triggered the callback. It can be
646 NULL. For example, changes made to the Text widget program‐
647 matically do not have an event that can be passed to the
648 associated callback.
649
650 doit Indicates whether the action that invoked the callback will
651 be performed. Setting doit to False negates the action.
652 Note that not all actions may be negated. For example,
653 XmCR_LOSING_FOCUS callbacks may be beyond the control of the
654 widget if they are produced by mouse clicks.
655
656 currInsert
657 Indicates the current position of the insert cursor.
658
659 newInsert Indicates the position at which the user attempts to position
660 the insert cursor.
661
662 startPos Indicates the starting position of the text to modify. If the
663 callback is not a modify verification callback, this value is
664 the same as currInsert.
665
666 endPos Indicates the ending position of the text to modify. If no
667 text is replaced or deleted, then the value is the same as
668 startPos. If the callback is not a modify verification call‐
669 back, this value is the same as currInsert.
670
671 text Points to the following structure of type XmTextBlockRec.
672 This structure holds the textual information to be inserted.
673
674 typedef struct
675 {
676 char *ptr;
677 int length;
678 XmTextFormat format
679 } XmTextBlockRec, *XmTextBlock;
680
681 ptr The text to be inserted. ptr points to a temporary
682 storage space that is reused after the callback is
683 finished. Therefore, if an application needs to save
684 the text to be inserted, it should copy the text into
685 its own data space.
686
687 length Specifies the length of the text to be inserted.
688
689 format Specifies the format of the text, either XmFMT_8_BIT
690 or XmFMT_16_BIT.
691
692 A pointer to the following structure is passed to callbacks for XmNmod‐
693 ifyVerifyCallbackWcs.
694
695 typedef struct
696 {
697 int reason;
698 XEvent *event;
699 Boolean doit;
700 XmTextPosition currInsert, newInsert;
701 XmTextPosition startPos, endPos;
702 XmWcsTextBlock text;
703 } XmTextVerifyCallbackStructWcs, *XmTextVerifyPtrWcs;
704
705 reason Indicates why the callback was invoked.
706
707 event Points to the XEvent that triggered the callback. It can be
708 NULL. For example, changes made to the Text widget program‐
709 matically do not have an event that can be passed to the
710 associated callback.
711
712 doit Indicates whether the action that invoked the callback is
713 performed. Setting doit to False negates the action. Note
714 that not all actions may be negated. For example, XmCR_LOS‐
715 ING_FOCUS callbacks may be beyond the control of the widget
716 if they are produced by mouse clicks.
717
718 currInsert
719 Indicates the current position of the insert cursor.
720
721 newInsert Indicates the position at which the user attempts to position
722 the insert cursor.
723
724 startPos Indicates the starting position of the text to modify. If the
725 callback is not a modify verification callback, this value is
726 the same as currInsert.
727
728 endPos Indicates the ending position of the text to modify. If no
729 text is replaced or deleted, the value is the same as start‐
730 Pos. If the callback is not a modify verification callback,
731 this value is the same as currInsert.
732
733 text Points to the following structure of type XmTextBlockRecWcs.
734 This structure holds the textual information to be inserted.
735
736 typedef struct
737 {
738 wchar_t *wcsptr;
739 int length;
740 } XmTextBlockRecWcs, *XmTextBlockWcs;
741
742 wcsptr Points to the wide character text to be inserted
743
744 length Specifies the number of characters to be inserted
745
746 The following table describes the reasons for which the individual ver‐
747 ification callback structure fields are valid. Note that the event
748 field will never be valid for XmCR_MOVING_INSERT_CURSOR.
749
750 ┌──────────────────────────┬─────────────────────────────────────┐
751 │Reason │ Valid Fields │
752 ├──────────────────────────┼─────────────────────────────────────┤
753 │XmCR_LOSING_FOCUS │ reason, event, doit │
754 ├──────────────────────────┼─────────────────────────────────────┤
755 │XmCR_MODIFYING_TEXT_VALUE │ reason, event, doit, currInsert, │
756 │ │ newInsert, startPos, endPos, text │
757 ├──────────────────────────┼─────────────────────────────────────┤
758 │XmCR_MOVING_INSERT_CURSOR │ reason, doit, currInsert, newInsert │
759 ├──────────────────────────┼─────────────────────────────────────┤
760 └──────────────────────────┴─────────────────────────────────────┘
761 A pointer to the following callback structure is passed to the XmNdes‐
762 tinationCallback procedures:
763
764 typedef struct
765 {
766 int reason;
767 XEvent *event;
768 Atom selection;
769 XtEnum operation;
770 int flags;
771 XtPointer transfer_id;
772 XtPointer destination_data;
773 XtPointer location_data;
774 Time time;
775 } XmDestinationCallbackStruct;
776
777 reason Indicates why the callback was invoked.
778
779 event Points to the XEvent that triggered the callback. It can be
780 NULL.
781
782 selection Indicates the selection for which data transfer is being
783 requested. Possible values are CLIPBOARD, PRIMARY, SEC‐
784 ONDARY, and _MOTIF_DROP.
785
786 operation Indicates the type of transfer operation requested.
787
788 · When the selection is PRIMARY or SECONDARY, possible
789 values are XmMOVE, XmCOPY, and XmLINK.
790
791 · When the selection is CLIPBOARD, possible values are
792 XmCOPY and XmLINK.
793
794 · When the selection is _MOTIF_DROP, possible values are
795 XmMOVE, XmCOPY, XmLINK, and XmOTHER. A value of
796 XmOTHER means that the callback procedure must get fur‐
797 ther information from the XmDropProcCallbackStruct in
798 the destination_data member.
799
800 flags Indicates whether or not the destination widget is also the
801 source of the data to be transferred. Following are the pos‐
802 sible values:
803
804 XmCONVERTING_NONE
805 The destination widget is not the source of the
806 data to be transferred.
807
808 XmCONVERTING_SAME
809 The destination widget is the source of the data to
810 be transferred.
811
812 transfer_id
813 Serves as a unique ID to identify the transfer transaction.
814
815 destination_data
816 Contains information about the destination. When the selec‐
817 tion is _MOTIF_DROP, the callback procedures are called by
818 the drop site's XmNdropProc, and destination_data is a
819 pointer to the XmDropProcCallbackStruct passed to the XmN‐
820 dropProc procedure. When the selection is SECONDARY, desti‐
821 nation_data is an Atom representing a target recommmended by
822 the selection owner for use in converting the selection.
823 Otherwise, destination_data is NULL.
824
825 location_data
826 Contains information about the location where data is to be
827 transferred. The value is always NULL when the selection is
828 CLIPBOARD. If the value is NULL, the data is to be inserted
829 at the widget's cursor position. Otherwise, the value is a
830 pointer to an XPoint structure containing the x and y coordi‐
831 nates at the location where the data is to be transferred.
832 Once XmTransferDone procedures start to be called, loca‐
833 tion_data will no longer be stable.
834
835 time Indicates the time when the transfer operation began.
836
837 Translations
838 The XmTextField translations are described in the following list. The
839 actions represent the effective behavior of the associated events, and
840 they may differ in a right-to-left language environment.
841
842 The following key names are listed in the X standard key event transla‐
843 tion table syntax. This format is the one used by Motif to specify the
844 widget actions corresponding to a given key. A brief overview of the
845 format is provided under VirtualBindings(3). For a complete descrip‐
846 tion of the format, please refer to the X Toolkit Instrinsics Documen‐
847 tation.
848
849 ∼c s ∼m ∼a <Btn1Down>:
850 extend-start()
851
852 c ∼s ∼m ∼a <Btn1Down>:
853 move-destination()
854
855 ∼c ∼s ∼m ∼a <Btn1Down>:
856 grab-focus()
857
858 ∼c ∼m ∼a <Btn1Motion>:
859 extend-adjust()
860
861 ∼c ∼m ∼a <Btn1Up>:
862 extend-end()
863
864 <Btn2Down>:
865 process-bdrag()
866
867 m ∼a <Btn2Motion>:
868 secondary-adjust()
869
870 ∼m a <Btn2Motion>:
871 secondary-adjust()
872
873 s c <Btn2Up>:
874 link-to()
875
876 ∼s <Btn2Up>:
877 copy-to()
878
879 ∼c <Btn2Up>:
880 move-to()
881
882 :m <Key><osfPrimaryPaste>:
883 cut-primary()
884
885 :a <Key><osfPrimaryPaste>:
886 cut-primary()
887
888 :<Key><osfPrimaryPaste>:
889 copy-primary()
890
891 :m <Key><osfCut>:
892 cut-primary()
893
894 :a <Key><osfCut>:
895 cut-primary()
896
897 :<Key><osfCut>:
898 cut-clipboard()
899
900 :<Key><osfPaste>:
901 paste-clipboard()
902
903 :m <Key><osfCopy>:
904 copy-primary()
905
906 :a <Key><osfCopy>:
907 copy-primary()
908
909 :<Key><osfCopy>:
910 copy-clipboard()
911
912 :s <Key><osfBeginLine>:
913 beginning-of-line(extend)
914
915 :<Key><osfBeginLine>:
916 beginning-of-line()
917
918 :s <Key><osfEndLine>:
919 end-of-line(extend)
920
921 :<Key><osfEndLine>:
922 end-of-line()
923
924 :s <Key><osfPageLeft>:
925 page-left(extend)
926
927 :<Key><osfPageLeft>:
928 page-left()
929
930 :s c<Key><osfPageUp>:
931 page-left(extend)
932
933 :c <Key><osfPageUp>:
934 page-left()
935
936 :s <Key><osfPageRight>:
937 page-right(extend)
938
939 :<Key><osfPageRight>:
940 page-right()
941
942 s c <Key><osfPageDown>:
943 page-right(extend)
944
945 :c <Key><osfPageDown>:
946 page-right()
947
948 :<Key><osfClear>:
949 clear-selection()
950
951 :<Key><osfBackSpace>:
952 delete-previous-character()
953
954 :s m <Key><osfDelete>:
955 cut-primary()
956
957 :s a <Key><osfDelete>:
958 cut-primary()
959
960 :s <Key><osfDelete>:
961 cut-clipboard()
962
963 :c <Key><osfDelete>:
964 delete-to-end-of-line()
965
966 :<Key><osfDelete>:
967 delete-next-character()
968
969 :c m <Key><osfInsert>:
970 copy-primary()
971
972 :c a <Key><osfInsert>:
973 copy-primary()
974
975 :s <Key><osfInsert>:
976 paste-clipboard()
977
978 :c <Key><osfInsert>:
979 copy-clipboard()
980
981 :<Key><osfInsert>:
982 toggle-overstrike()
983
984 :s <Key><osfSelect>:
985 key-select()
986
987 :<Key><osfSelect>:
988 set-anchor()
989
990 :<Key><osfSelectAll>:
991 select-all()
992
993 :<Key><osfDeselectAll>:
994 deselect-all()
995
996 :<Key><osfActivate>:
997 activate()
998
999 :<Key><osfAddMode>:
1000 toggle-add-mode()
1001
1002 :<Key><osfHelp>:
1003 Help()
1004
1005 :<Key><osfCancel>:
1006 process-cancel()
1007
1008 :s c <Key><osfLeft>:
1009 backward-word(extend)
1010
1011 :c <Key><osfLeft>:
1012 backward-word()
1013
1014 :s <Key><osfLeft>:
1015 key-select(left)
1016
1017 :<Key><osfLeft>:
1018 backward-character()
1019
1020 :s c <Key><osfRight>:
1021 forward-word(extend)
1022
1023 :c <Key><osfRight>:
1024 forward-word()
1025
1026 :s <Key><osfRight>:
1027 key-select(right)
1028
1029 :<Key><osfRight>:
1030 forward-character()
1031
1032 :<Key><osfUp>:
1033 traverse-prev()
1034
1035 :<Key><osfDown>:
1036 traverse-next()
1037
1038 c ∼m ∼a <Key>slash:
1039 select-all()
1040
1041 c ∼m ∼a <Key>backslash:
1042 deselect-all()
1043
1044 s ∼m ∼a <Key>Tab:
1045 prev-tab-group()
1046
1047 ∼m ∼a <Key>Tab:
1048 next-tab-group()
1049
1050 ∼s ∼m ∼a <Key>Return:
1051 activate()
1052
1053 c ∼s ∼m ∼a <Key>space:
1054 set-anchor()
1055
1056 c s ∼m ∼a <Key>space:
1057 key-select()
1058
1059 s ∼c ∼m ∼a <Key>space:
1060 self-insert()
1061
1062 <Key>: self-insert()
1063
1064 The TextField button event translations are modified when Display's
1065 XmNenableBtn1Transfer resource does not have a value of XmOFF (in other
1066 words, it is either XmBUTTON2_TRANSFER or XmBUTTON2_ADJUST). This
1067 option allows the actions for selection and transfer to be integrated
1068 on <Btn1>. The actions for <Btn1> that are defined above still apply
1069 when the <Btn1> event occurs over text that is not selected. The fol‐
1070 lowing actions apply when the <Btn1> event occurs over text that is
1071 selected:
1072
1073 <Btn1Down>:
1074 process-bdrag().
1075
1076 <Shift><Btn1Down>:
1077 process-bdrag().
1078
1079 <Btn1Down><Shift><Btn1Up>:
1080 grab-focus(), extend-end.
1081
1082 <Shift><Btn1Down><Shift><Btn1Up>:
1083 extend-start(), extend-end().
1084
1085 <Ctrl><Btn1Down><Shift><Btn1Up>:
1086 move-destination().
1087
1088 <Ctrl><Btn1Down>:
1089 process-bdrag().
1090
1091 When Display's XmNenableBtn1Transfer resource has a value of XmBUT‐
1092 TON2_ADJUST, the following actions apply:
1093
1094 <Btn2Down>:
1095 extend-start().
1096
1097 <Btn2Motion>:
1098 extend-adjust().
1099
1100 <Btn2Up>: extend-end().
1101
1102 Action Routines
1103 The XmTextField action routines are
1104
1105 activate():
1106 Calls the callbacks for XmNactivateCallback. If the parent
1107 is a manager, passes the event to the parent.
1108
1109 backward-character(extend):
1110 Moves the insertion cursor one character to the left. This
1111 action may have different behavior in a right-to-left lan‐
1112 guage environment.
1113
1114 If called with an argument of extend, moves the insertion
1115 cursor as in the case of no argument and extends the current
1116 selection.
1117
1118 The backward-character() action produces calls to the XmNmo‐
1119 tionVerifyCallback procedures with reason value XmCR_MOV‐
1120 ING_INSERT_CURSOR. If called with the extend argument, the
1121 backward-character() action may produce calls to the XmNgain‐
1122 PrimaryCallback procedures. See callback description for
1123 more information.
1124
1125 backward-word(extend):
1126 If this action is called with no argument, moves the inser‐
1127 tion cursor to the first non-whitespace character after the
1128 first whitespace character to the left or after the beginning
1129 of the line. If the insertion cursor is already at the
1130 beginning of a word, moves the insertion cursor to the begin‐
1131 ning of the previous word. This action may have different
1132 behavior in a locale other than the C locale.
1133
1134 If called with an argument of extend, moves the insertion
1135 cursor as in the case of no argument and extends the current
1136 selection.
1137
1138 The backward-word() action produces calls to the XmNmotion‐
1139 VerifyCallback procedures with reason value XmCR_MOV‐
1140 ING_INSERT_CURSOR. If called with the extend argument, the
1141 backward-word() action may produce calls to the XmNgainPrima‐
1142 ryCallback procedures. See callback description for more
1143 information.
1144
1145 beginning-of-line(extend):
1146 If this action is called with no argument, moves the inser‐
1147 tion cursor to the beginning of the line.
1148
1149 If called with an argument of extend, moves the insertion
1150 cursor as in the case of no argument and extends the current
1151 selection.
1152
1153 The beginning-of-line() action produces calls to the XmNmo‐
1154 tionVerifyCallback with reason value XmCR_MOVING_INSERT_CUR‐
1155 SOR. If called with the extend argument, the beginning-of-
1156 line() action may produce calls to the XmNgainPrimaryCallback
1157 procedures. See callback description for more information.
1158
1159 clear-selection():
1160 Clears the current selection by replacing each character
1161 except <Return> with a <space> character.
1162
1163 The clear-selection() action produces calls to the XmNmodi‐
1164 fyVerifyCallback procedures with reason value XmCR_MODIFY‐
1165 ING_TEXT_VALUE and the XmNvalueChangedCallback procedures
1166 with reason value XmCR_VALUE_CHANGED.
1167
1168 copy-clipboard():
1169 If this widget owns the primary selection, this action copies
1170 the selection to the clipboard. This action calls the XmN‐
1171 convertCallback procedures, possibly multiple times, for the
1172 CLIPBOARD selection.
1173
1174 copy-primary():
1175 Copies the primary selection to just before the insertion
1176 cursor. This action calls the XmNdestinationCallback proce‐
1177 dures for the PRIMARY selection and the XmCOPY operation. It
1178 calls the selection owner's XmNconvertCallback procedures,
1179 possibly multiple times, for the PRIMARY selection.
1180
1181 In addition, the copy-primary() action produces calls to the
1182 XmNmodifyVerifyCallback procedures with reason value
1183 XmCR_MODIFYING_TEXT_VALUE, the XmNvalueChangedCallback with
1184 reason value XmCR_VALUE_CHANGED, and the XmNmotionVerifyCall‐
1185 back procedures with reason value XmCR_MOVING_INSERT_CURSOR.
1186 The copy-primary() action may produce calls to the XmNgain‐
1187 PrimaryCallback procedures. See callback description for
1188 more information.
1189
1190 copy-to():
1191 If a secondary selection exists, this action copies the sec‐
1192 ondary selection to the insertion position of the destination
1193 component. If the primary selection is in the destination
1194 widget, it will be deselected. Otherwise, there is no effect
1195 on the primary selection.
1196
1197 This action calls the destination's XmNdestinationCallback
1198 procedures for the SECONDARY selection and the XmCOPY opera‐
1199 tion. The destination's XmNdestinationCallback procedures or
1200 the destination component itself invokes the selection
1201 owner's XmNconvertCallback procedures, possibly multiple
1202 times, for the SECONDARY selection.
1203
1204 If no secondary selection exists, this action copies the pri‐
1205 mary selection to the pointer position. This action calls
1206 the XmNdestinationCallback procedures for the PRIMARY selec‐
1207 tion and the XmCOPY operation. It calls the selection
1208 owner's XmNconvertCallback procedures, possibly multiple
1209 times, for the PRIMARY selection.
1210
1211 In addition, the copy-to() action produces calls to the XmN‐
1212 modifyVerifyCallback procedures with reason value XmCR_MODI‐
1213 FYING_TEXT_VALUE, the XmNvalueChangedCallback procedures with
1214 reason value XmCR_VALUE_CHANGED, and the XmNmotionVerifyCall‐
1215 back procedures with reason value XmCR_MOVING_INSERT_CURSOR.
1216 If there is no secondary selection, the copy-to() action may
1217 produce calls to the XmNgainPrimaryCallback procedures. See
1218 callback description for more information.
1219
1220 cut-clipboard():
1221 If this widget owns the primary selection, this action cuts
1222 the selection to the clipboard. This action calls the XmN‐
1223 convertCallback procedures, possibly multiple times, for the
1224 CLIPBOARD selection. If the transfer is successful, this
1225 action then calls the XmNconvertCallback procedures for the
1226 CLIPBOARD selection and the DELETE target.
1227
1228 In addition, the cut-clipboard() action produces calls to the
1229 XmNmodifyVerifyCallback procedures with reason value
1230 XmCR_MODIFYING_TEXT_VALUE, and the XmNvalueChangedCallback
1231 procedures with reason value XmCR_VALUE_CHANGED.
1232
1233 cut-primary():
1234 Cuts the primary selection and pastes it just before the
1235 insertion cursor. This action calls the XmNdestinationCall‐
1236 back procedures for the PRIMARY selection and the XmMOVE
1237 operation. It calls the selection owner's XmNconvertCallback
1238 procedures, possibly multiple times, for the PRIMARY selec‐
1239 tion. If the transfer is successful, this action then calls
1240 the selection owner's XmNconvertCallback procedures for the
1241 PRIMARY selection and the DELETE target.
1242
1243 In addition, the cut-primary() action produces calls to the
1244 XmNmotionVerifyCallback procedures with reason value
1245 XmCR_MOVING_INSERT_CURSOR, the XmNmodifyVerifyCallback proce‐
1246 dures with reason value XmCR_MODIFYING_TEXT_VALUE, and the
1247 XmNvalueChangedCallback procedures with reason value
1248 XmCR_VALUE_CHANGED.
1249
1250 delete-next-character():
1251 In normal mode, if there is a nonnull selection, deletes the
1252 selection; otherwise, deletes the character following the
1253 insertion cursor. In add mode, if there is a nonnull selec‐
1254 tion, the cursor is not disjoint from the selection and XmN‐
1255 pendingDelete is set to True, deletes the selection; other‐
1256 wise, deletes the character following the insertion cursor.
1257 This may impact the selection.
1258
1259 The delete-next-character() action produces calls to the XmN‐
1260 modifyVerifyCallback procedures with reason value XmCR_MODI‐
1261 FYING_TEXT_VALUE, and the XmNvalueChangedCallback procedures
1262 with reason value XmCR_VALUE_CHANGED.
1263
1264 delete-next-word():
1265 In normal mode, if there is a nonnull selection, deletes the
1266 selection; otherwise, deletes the characters following the
1267 insertion cursor to the next space, tab or end-of-line char‐
1268 acter. In add mode, if there is a nonnull selection, the
1269 cursor is not disjoint from the selection and XmNpend‐
1270 ingDelete is set to True, deletes the selection; otherwise,
1271 deletes the characters following the insertion cursor to the
1272 next space, tab or end-of-line character. This may impact
1273 the selection. This action may have different behavior in a
1274 locale other than the C locale.
1275
1276 The delete-next-word() action produces calls to the XmNmodi‐
1277 fyVerifyCallback procedures with reason value XmCR_MODIFY‐
1278 ING_TEXT_VALUE, and the XmNvalueChangedCallback procedures
1279 with reason value XmCR_VALUE_CHANGED.
1280
1281 delete-previous-character():
1282 In normal mode, if there is a nonnull selection, deletes the
1283 selection; otherwise, deletes the character of text immedi‐
1284 ately preceding the insertion cursor. In add mode, if there
1285 is a nonnull selection, the cursor is not disjoint from the
1286 selection and XmNpendingDelete is set to True, deletes the
1287 selection; otherwise, deletes the character of text immedi‐
1288 ately preceding the insertion cursor. This may impact the
1289 selection.
1290
1291 The delete-previous-character() action produces calls to the
1292 XmNmodifyVerifyCallback procedures with reason value
1293 XmCR_MODIFYING_TEXT_VALUE, the XmNvalueChangedCallback proce‐
1294 dures with reason value XmCR_VALUE_CHANGED, and the XmNmo‐
1295 tionVerifyCallback procedures with reason value XmCR_MOV‐
1296 ING_INSERT_CURSOR.
1297
1298 delete-previous-word():
1299 In normal mode, if there is a nonnull selection, deletes the
1300 selection; otherwise, deletes the characters preceding the
1301 insertion cursor to the next space, tab or beginning-of-line
1302 character. In add mode, if there is a nonnull selection, the
1303 cursor is not disjoint from the selection and XmNpend‐
1304 ingDelete is set to True, deletes the selection; otherwise,
1305 deletes the characters preceding the insertion cursor to the
1306 next space, tab or beginning-of-line character. This may
1307 impact the selection. This action may have different behav‐
1308 ior in a locale other than the C locale.
1309
1310 The delete-previous-word() action produces calls to the XmN‐
1311 modifyVerifyCallback procedures with reason value XmCR_MODI‐
1312 FYING_TEXT_VALUE, the XmNvalueChangedCallback procedures with
1313 reason value XmCR_VALUE_CHANGED, and the XmNmotionVerifyCall‐
1314 back procedures with reason value XmCR_MOVING_INSERT_CURSOR.
1315
1316 delete-selection():
1317 Deletes the current selection.
1318
1319 The delete-selection() action produces calls to the XmNmodi‐
1320 fyVerifyCallback procedures with reason value XmCR_MODIFY‐
1321 ING_TEXT_VALUE, the XmNvalueChangedCallback procedures with
1322 reason value XmCR_VALUE_CHANGED, and the XmNmotionVerifyCall‐
1323 back procedures with reason value XmCR_MOVING_INSERT_CURSOR.
1324
1325 delete-to-end-of-line():
1326 In normal mode, if there is a nonnull selection, deletes the
1327 selection; otherwise, deletes the characters following the
1328 insertion cursor to the next end of line character. In add
1329 mode, if there is a nonnull selection, the cursor is not dis‐
1330 joint from the selection and XmNpendingDelete is set to True,
1331 deletes the selection; otherwise, deletes the characters fol‐
1332 lowing the insertion cursor to the next end of line charac‐
1333 ter. This may impact the selection.
1334
1335 The delete-to-end-of-line() action produces calls to the XmN‐
1336 modifyVerifyCallback procedures with reason value XmCR_MODI‐
1337 FYING_TEXT_VALUE, and the XmNvalueChangedCallback procedures
1338 with reason value XmCR_VALUE_CHANGED.
1339
1340 delete-to-start-of-line():
1341 In normal mode, if there is a nonnull selection, deletes the
1342 selection; otherwise, deletes the characters preceding the
1343 insertion cursor to the previous beginning-of-line character.
1344 In add mode, if there is a nonnull selection, the cursor is
1345 not disjoint from the selection and XmNpendingDelete is set
1346 to True, deletes the selection; otherwise, deletes the char‐
1347 acters preceding the insertion cursor to the previous begin‐
1348 ning-of-line character. This may impact the selection.
1349
1350 The delete-to-start-of-line() action produces calls to the
1351 XmNmodifyVerifyCallback procedures with reason value
1352 XmCR_MODIFYING_TEXT_VALUE, the XmNvalueChangedCallback proce‐
1353 dures with reason value XmCR_VALUE_CHANGED, and the XmNmo‐
1354 tionVerifyCallback procedures with reason value XmCR_MOV‐
1355 ING_INSERT_CURSOR.
1356
1357 deselect-all():
1358 Deselects the current selection.
1359
1360 The deselect-all() action produces no callbacks.
1361
1362 end-of-line(extend):
1363 If this action is called with no argument, moves the inser‐
1364 tion cursor to the end of the line. If called with an argu‐
1365 ment of extend, moves the insertion cursor as in the case of
1366 no argument and extends the current selection.
1367
1368 The end-of-line() action produces calls to the XmNmotionVeri‐
1369 fyCallback procedures with reason value XmCR_MOV‐
1370 ING_INSERT_CURSOR. If called with the extend argument, the
1371 end-of-line() action may produce calls to the XmNgainPrima‐
1372 ryCallback procedures. See callback description for more
1373 information.
1374
1375 extend-adjust():
1376 Selects text from the anchor to the pointer position and des‐
1377 elects text outside that range.
1378
1379 The extend-adjust() action produces calls to the XmNmotion‐
1380 VerifyCallback procedures with reason value XmCR_MOV‐
1381 ING_INSERT_CURSOR. The extend-adjust() action may produce
1382 calls to the XmNgainPrimaryCallback procedures. See callback
1383 description for more information.
1384
1385 extend-end():
1386 Moves the insertion cursor to the position of the pointer.
1387 The extend-end() action is used to commit the selection.
1388 After this action has been done, process-cancel() will no
1389 longer cancel the selection.
1390
1391 The extend-end() action produces calls to the XmNmotionVeri‐
1392 fyCallback procedures with reason value XmCR_MOV‐
1393 ING_INSERT_CURSOR. The extend-end() action may produce calls
1394 to the XmNgainPrimaryCallback procedures. See callback
1395 description for more information.
1396
1397 extend-start():
1398 Adjusts the anchor using the balance-beam method. Selects
1399 text from the anchor to the pointer position and deselects
1400 text outside that range.
1401
1402 The extend-start() action can produce no callbacks, however,
1403 it may produce calls to the XmNgainPrimaryCallback and XmNmo‐
1404 tionVerifyCallback procedures. See callback description for
1405 more information.
1406
1407 forward-character(extend):
1408 Moves the insertion cursor one character to the right. This
1409 action may have different behavior in a right-to-left lan‐
1410 guage environment.
1411
1412 If called with an argument of extend, moves the insertion
1413 cursor as in the case of no argument and extends the current
1414 selection.
1415
1416 The forward-character() action produces calls to the XmNmo‐
1417 tionVerifyCallback procedures with reason value XmCR_MOV‐
1418 ING_INSERT_CURSOR. If called with the extend argument, the
1419 forward-character() action may produce calls to the XmNgain‐
1420 PrimaryCallback procedures. See callback description for
1421 more information.
1422
1423 forward-word(extend):
1424 If this action is called with no argument, moves the inser‐
1425 tion cursor to the first whitespace character or end-of-line
1426 following the next non-whitespace character. If the inser‐
1427 tion cursor is already at the end of a word, moves the inser‐
1428 tion cursor to the end of the next word. This action may
1429 have different behavior in a locale other than the C locale.
1430
1431 If called with an argument of extend, moves the insertion
1432 cursor as in the case of no argument and extends the current
1433 selection.
1434
1435 The forward-word() action produces calls to the XmNmotionVer‐
1436 ifyCallback procedures with reason value XmCR_MOV‐
1437 ING_INSERT_CURSOR. If called with the extend argument, the
1438 forward-word() action may produce calls to the XmNgainPrima‐
1439 ryCallback procedures. See callback description for more
1440 information.
1441
1442 grab-focus():
1443 This key binding performs the action defined in the XmNselec‐
1444 tionArray, depending on the number of multiple mouse clicks.
1445 The default selection array ordering is one click to move the
1446 insertion cursor to the pointer position, two clicks to
1447 select a word, and three clicks to select a line of text. A
1448 single click also deselects any selected text and sets the
1449 anchor at the pointer position. This action may have differ‐
1450 ent behavior in a locale other than the C locale.
1451
1452 The grab-focus() action produces calls to the XmNmotionVeri‐
1453 fyCallback procedures with reason value XmCR_MOV‐
1454 ING_INSERT_CURSOR.
1455
1456 Help(): Calls the callbacks for XmNhelpCallback if any exist. If
1457 there are no help callbacks for this widget, this action
1458 calls the help callbacks for the nearest ancestor that has
1459 them.
1460
1461 key-select(right|left):
1462 If called with an argument of right, moves the insertion cur‐
1463 sor one character to the right and extends the current selec‐
1464 tion. If called with an argument of left, moves the inser‐
1465 tion cursor one character to the left and extends the current
1466 selection. If called with no argument, extends the current
1467 selection.
1468
1469 Note that after a key-select action, the selection will still
1470 begin at the original anchor, and will extend to the position
1471 indicated in the action call. If this new position is on the
1472 opposite side of the selection anchor from the previous
1473 selection boundary, the original selection will be dese‐
1474 lected.
1475
1476 The key-select() action produces calls to the XmNmotionVeri‐
1477 fyCallback procedures with reason value XmCR_MOV‐
1478 ING_INSERT_CURSOR. The key-select() action may also produce
1479 calls to the XmNgainPrimaryCallback procedures. See callback
1480 description for more information.
1481
1482 link-primary():
1483 Places a link to the primary selection just before the inser‐
1484 tion cursor. This action calls the XmNdestinationCallback
1485 procedures for the PRIMARY selection and the XmLINK opera‐
1486 tion. The TextField widget itself performs no transfers; the
1487 XmNdestinationCallback procedures are responsible for insert‐
1488 ing the link to the primary selection and for taking any
1489 related actions.
1490
1491 link-to():
1492 If a secondary selection exists, this action places a link to
1493 the secondary selection at the insertion position of the des‐
1494 tination component. This action calls the destination's XmN‐
1495 destinationCallback procedures for the SECONDARY selection
1496 and the XmLINK operation.
1497
1498 If no secondary selection exists, this action places a link
1499 to the primary selection at the pointer position. This
1500 action calls the XmNdestinationCallback procedures for the
1501 PRIMARY selection and the XmLINK operation.
1502
1503 The TextField widget itself performs no transfers; the XmN‐
1504 destinationCallback procedures are responsible for inserting
1505 the link to the primary or secondary selection and for taking
1506 any related actions.
1507
1508 move-destination():
1509 Moves the insertion cursor to the pointer position without
1510 changing any existing current selection. If there is a cur‐
1511 rent selection, sets the widget as the destination widget.
1512 This also moves the widget focus to match the insertion cur‐
1513 sor.
1514
1515 The move-destination() action produces calls to the XmNmo‐
1516 tionVerifyCallback procedures with reason value XmCR_MOV‐
1517 ING_INSERT_CURSOR.
1518
1519 move-to():
1520 If a secondary selection exists, this action moves the sec‐
1521 ondary selection to the insertion position of the destination
1522 component. If the secondary selection is in the destination
1523 widget, and the secondary selection and the primary selection
1524 overlap, the result is undefined. This action calls the des‐
1525 tination's XmNdestinationCallback procedures for the SEC‐
1526 ONDARY selection and the XmCOPY operation. The destination's
1527 XmNdestinationCallback procedures or the destination compo‐
1528 nent itself invokes the selection owner's XmNconvertCallback
1529 procedures, possibly multiple times, for the SECONDARY selec‐
1530 tion. If the transfer is successful, this action then calls
1531 the selection owner's XmNconvertCallback procedures for the
1532 SECONDARY selection and the DELETE target.
1533
1534 If no secondary selection exists, this action moves the pri‐
1535 mary selection to the pointer position. This action calls
1536 the XmNdestinationCallback procedures for the PRIMARY selec‐
1537 tion and the XmMOVE operation. It calls the selection
1538 owner's XmNconvertCallback procedures, possibly multiple
1539 times, for the PRIMARY selection. If the transfer is suc‐
1540 cessful, this action then calls the selection owner's XmNcon‐
1541 vertCallback procedures for the PRIMARY selection and the
1542 DELETE target.
1543
1544 In addition, the move-to() action produces calls to the XmN‐
1545 modifyVerifyCallback procedures with reason value XmCR_MODI‐
1546 FYING_TEXT_VALUE, the XmNvalueChangedCallback procedures with
1547 reason value XmCR_VALUE_CHANGED, and the XmNmotionVerifyCall‐
1548 back procedures with reason value XmCR_MOVING_INSERT_CURSOR.
1549 This action may also produce calls to the XmNgainPrimaryCall‐
1550 back procedures.
1551
1552 next-tab-group():
1553 Traverses to the next tab group.
1554
1555 The next-tab-group() action produces no callbacks, unless it
1556 results in the widget losing focus, in which case, the XmN‐
1557 losingFocusCallback procedures are called with reason value
1558 XmCR_LOSING_FOCUS.
1559
1560 page-left():
1561 Scrolls the viewing window left one page of text.
1562
1563 The page-left() action produces no callbacks.
1564
1565 page-right():
1566 Scrolls the viewing window right one page of text.
1567
1568 The page-right() action produces no callbacks.
1569
1570 paste-clipboard():
1571 Pastes the contents of the clipboard before the insertion
1572 cursor. This action calls the XmNdestinationCallback proce‐
1573 dures for the CLIPBOARD selection and the XmCOPY operation.
1574
1575 The paste-clipboard() action produces calls to the XmNmodi‐
1576 fyVerifyCallback procedures with reason value XmCR_MODIFY‐
1577 ING_TEXT_VALUE, the XmNvalueChangedCallback procedures with
1578 reason value XmCR_VALUE_CHANGED, and the XmNmotionVerifyCall‐
1579 back procedures with reason value XmCR_MOVING_INSERT_CURSOR.
1580
1581 prev-tab-group():
1582 Traverses to the previous tab group.
1583
1584 The prev-tab-group() action produces no callbacks, unless it
1585 results in the widget losing focus, in which case, the XmN‐
1586 losingFocusCallback procedures are called with reason value
1587 XmCR_LOSING_FOCUS.
1588
1589 process-bdrag()
1590 If the pointer is within the selection, this action starts a
1591 drag operation for the selection. This action sets the XmN‐
1592 convertProc of the DragContext to a function that calls the
1593 XmNconvertCallback procedures, possibly multiple times, for
1594 the _MOTIF_DROP selection.
1595
1596 If no selection exists or the pointer is outside the selec‐
1597 tion, this action prepares to start a secondary selection at
1598 the pointer position.
1599
1600 process-cancel():
1601 Cancels the current extend-adjust(), secondary-adjust() or
1602 process-bdrag() operation and leaves the selection state as
1603 it was before the operation; otherwise, and if the parent is
1604 a manager, it passes the event to the parent.
1605
1606 secondary-adjust():
1607 Extends the secondary selection to the pointer position.
1608
1609 The secondary-adjust() action produces no callbacks.
1610
1611 secondary-start():
1612 Marks the beginning of a secondary selection.
1613
1614 The secondary-start() action produces no callbacks.
1615
1616 select-all():
1617 Selects all text.
1618
1619 The select-all() action can produce no callbacks, however, it
1620 may produce calls to the XmNgainPrimaryCallback and XmNmo‐
1621 tionVerifyCallback procedures. See callback description for
1622 more information.
1623
1624 self-insert():
1625 If XmNpendingDelete is True and the cursor is not disjoint
1626 from the current selection, deletes the entire selection.
1627 Inserts the character associated with the key pressed before
1628 the insertion cursor.
1629
1630 The self-insert() action produces calls to the XmNmodifyVeri‐
1631 fyCallback procedures with reason value XmCR_MODIFY‐
1632 ING_TEXT_VALUE, the XmNvalueChangedCallback procedures with
1633 reason value XmCR_VALUE_CHANGED, and the XmNmotionVerifyCall‐
1634 back procedures with reason value XmCR_MOVING_INSERT_CURSOR.
1635
1636 set-anchor():
1637 Resets the anchor point for extended selections. Resets the
1638 destination of secondary selection actions.
1639
1640 The set-anchor() action produces no callbacks.
1641
1642 toggle-add-mode():
1643 Toggles the state of Add Mode.
1644
1645 The toggle-add-mode() action produces no callbacks.
1646
1647 toggle-overstrike():
1648 Toggles the state of the text insertion mode. By default,
1649 characters typed into the TextField widget are inserted
1650 before the position of the insertion cursor. In overstrike
1651 mode, characters entered into the TextField widget replace
1652 the characters that directly follow the insertion cursor. In
1653 overstrike mode, when the end of a line is reached, charac‐
1654 ters are appended to the end of the line.
1655
1656 The following traversal actions generate no callbacks unless
1657 they result in the loss of focus by the widget in question,
1658 as when XmNnavigationType is XmNONE. In this case, they pro‐
1659 duce calls to the XmNlosingFocusCallback procedures, with
1660 reason value XmCR_FOCUS_MOVED.
1661
1662 traverse-home():
1663 Traverses to the first widget in the tab group.
1664
1665 traverse-next():
1666 Traverses to the next widget in the tab group.
1667
1668 traverse-prev():
1669 Traverses to the previous widget in the tab group.
1670
1671 Additional Behavior
1672 This widget has the following additional behavior:
1673
1674 <FocusIn>:
1675 Draws the insertion cursor as solid and starts blinking the
1676 cursor.
1677
1678 <FocusOut>:
1679 Displays the insertion cursor as a stippled I-beam unless it
1680 is the destination widget.
1681
1682 Virtual Bindings
1683 The bindings for virtual keys are vendor specific. For information
1684 about bindings for virtual buttons and keys, see VirtualBindings(3).
1685
1687 Core(3), XmCreateTextField(3), XmFontList(3), XmFontListAppendEntry(3),
1688 XmPrimitive(3), XmTextFieldClearSelection(3), XmTextFieldCopy(3),
1689 XmTextFieldCopyLink(3), XmTextFieldCut(3), XmTextFieldGetBaseline(3),
1690 XmTextFieldGetEditable(3), XmTextFieldGetInsertionPosition(3),
1691 XmTextFieldGetLastPosition(3), XmTextFieldGetMaxLength(3), XmTextField‐
1692 GetSelection(3), XmTextFieldGetSelectionPosition(3), XmTextFieldGetSe‐
1693 lectionWcs(3), XmTextFieldGetString(3), XmTextFieldGetStringWcs(3),
1694 XmTextFieldGetSubstring(3), XmTextFieldGetSubstringWcs(3), XmTextField‐
1695 Insert(3), XmTextFieldInsertWcs(3), XmTextFieldPaste(3), XmTextField‐
1696 PasteLink(3), XmTextFieldPosToXY(3), XmTextFieldRemove(3), XmTextField‐
1697 Replace(3), XmTextFieldReplaceWcs(3), XmTextFieldSetAddMode(3),
1698 XmTextFieldSetEditable(3), XmTextFieldSetHighlight(3), XmTextField‐
1699 SetInsertionPosition(3), XmTextFieldSetMaxLength(3), XmTextFieldSetSe‐
1700 lection(3), XmTextFieldSetString(3), XmTextFieldSetStringWcs(3),
1701 XmTextFieldShowPosition(3), XmTextFieldXYToPos(3), XmVaCreate‐
1702 TextField(3), and XmVaCreateManagedTextField(3).
1703
1704
1705
1706 XmTextField(library call)