1XmPrimitive(library call) XmPrimitive(library call)
2
3
4
6 XmPrimitive — The Primitive widget class
7
9 #include <Xm/Xm.h>
10
12 Primitive is a widget class used as a supporting superclass for other
13 widget classes. It handles border drawing and highlighting, traversal
14 activation and deactivation, and various callback lists needed by Prim‐
15 itive widgets. Primitive and all its subclasses hold the XmQTcarePar‐
16 entVisual trait.
17
18 Data Transfer Behavior
19 Primitive has no widget class conversion or destination procedure.
20 Subclasses and the XmNconvertCallback procedures are responsible for
21 any conversion of selections. Subclasses and the subclass XmNdestina‐
22 tionCallback procedures are responsible for any data transfers to the
23 widget.
24
25 Classes
26 Primitive inherits behavior, resources, and traits from Core.
27
28 The class pointer is xmPrimitiveWidgetClass.
29
30 The class name is XmPrimitive.
31
32 New Resources
33 The following table defines a set of widget resources used by the pro‐
34 grammer to specify data. The programmer can also set the resource val‐
35 ues for the inherited classes to set attributes for this widget. To
36 reference a resource by name or by class in a .Xdefaults file, remove
37 the XmN or XmC prefix and use the remaining letters. To specify one of
38 the defined values for a resource in a .Xdefaults file, remove the Xm
39 prefix and use the remaining letters (in either lowercase or uppercase,
40 but include any underscores between words). The codes in the access
41 column indicate if the given resource can be set at creation time (C),
42 set by using XtSetValues (S), retrieved by using XtGetValues (G), or is
43 not applicable (N/A).
44
45 ┌───────────────────────────────────────────────────────────────────────────────────────────────────┐
46 │ │ XmPrimitive│Resource Set │ │ │
47 │Name │ Class │ Type │ Default │ Access │
48 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
49 │XmNbottomShadowColor │ XmCBottomShadowColor │ Pixel │ dynamic │ CSG │
50 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
51 │XmNbottomShadowPixmap │ XmCBottomShadowPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
52 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
53 │XmNconvertCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
54 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
55 │XmNforeground │ XmCForeground │ Pixel │ dynamic │ CSG │
56 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
57 │XmNhelpCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
58 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
59 │XmNhighlightColor │ XmCHighlightColor │ Pixel │ dynamic │ CSG │
60 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
61 │XmNhighlightOnEnter │ XmCHighlightOnEnter │ Boolean │ False │ CSG │
62 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
63 │XmNhighlightPixmap │ XmCHighlightPixmap │ Pixmap │ dynamic │ CSG │
64 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
65 │XmNhighlightThickness │ XmCHighlightThickness │ Dimension │ 2 │ CSG │
66 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
67 │XmNlayoutDirection │ XmCLayoutDirection │ XmDirection │ dynamic │ CG │
68 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
69 │XmNnavigationType │ XmCNavigationType │ XmNavigationType │ XmNONE │ CSG │
70 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
71 │XmNpopupHandlerCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
72 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
73 │XmNshadowThickness │ XmCShadowThickness │ Dimension │ 2 │ CSG │
74 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
75 │XmNtoolTipString │ XmCToolTipString │ XmString │ NULL │ CSG │
76 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
77 │XmNtopShadowColor │ XmCTopShadowColor │ Pixel │ dynamic │ CSG │
78 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
79 │XmNtopShadowPixmap │ XmCTopShadowPixmap │ Pixmap │ dynamic │ CSG │
80 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
81 │XmNtraversalOn │ XmCTraversalOn │ Boolean │ True │ CSG │
82 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
83 │XmNunitType │ XmCUnitType │ unsigned char │ dynamic │ CSG │
84 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
85 │XmNuserData │ XmCUserData │ XtPointer │ NULL │ CSG │
86 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
87 └────────────────────────┴───────────────────────┴──────────────────┴──────────────────────┴────────┘
88 XmNbottomShadowColor
89 Specifies the color to use to draw the bottom and right sides
90 of the border shadow. This color is used if the XmNtopShad‐
91 owPixmap resource is unspecified.
92
93 XmNbottomShadowPixmap
94 Specifies the pixmap to use to draw the bottom and right
95 sides of the border shadow.
96
97 XmNconvertCallback
98 Specifies a list of callbacks called when the widget is asked
99 to convert a selection. The type of the structure whose
100 address is passed to these callbacks is XmConvertCallback‐
101 Struct. The reason is XmCR_OK.
102
103 XmNforeground
104 Specifies the foreground drawing color used by Primitive wid‐
105 gets.
106
107 XmNhelpCallback
108 Specifies the list of callbacks that is called when the help
109 key is pressed. The reason sent by the callback is XmCR_HELP.
110
111 XmNhighlightColor
112 Specifies the color of the highlighting rectangle. This
113 color is used if the highlight pixmap resource is XmUNSPECI‐
114 FIED_PIXMAP.
115
116 XmNhighlightOnEnter
117 Specifies if the highlighting rectangle is drawn when the
118 cursor moves into the widget. If the shell's focus policy is
119 XmEXPLICIT, this resource is ignored, and the widget is high‐
120 lighted when it has the focus. If the shell's focus policy
121 is XmPOINTER and if this resource is True, the highlighting
122 rectangle is drawn when the cursor moves into the widget. If
123 the shell's focus policy is XmPOINTER and if this resource is
124 False, the highlighting rectangle is not drawn when the the
125 cursor moves into the widget. The default is False.
126
127 XmNhighlightPixmap
128 Specifies the pixmap used to draw the highlighting rectangle.
129
130 XmNhighlightThickness
131 Specifies the thickness of the highlighting rectangle.
132
133 XmNlayoutDirection
134 Specifies the direction in which components of the primitive
135 (including strings) are laid out. The values are of type
136 XmDirection. If the widget's parent is a primitive or shell,
137 the value is inherited from the widget's parent. Otherwise,
138 it is inherited from the closest ancestor vendor or menu
139 shell. Refer to the XmDirection(3) reference page for the
140 possible direction values.
141
142 XmNnavigationType
143 Determines whether the widget is a tab group.
144
145 XmNONE Indicates that the widget is not a tab group.
146
147 XmTAB_GROUP
148 Indicates that the widget is a tab group, unless
149 the XmNnavigationType of another widget in the
150 hierarchy is XmEXCLUSIVE_TAB_GROUP.
151
152 XmSTICKY_TAB_GROUP
153 Indicates that the widget is a tab group, even if
154 the XmNnavigationType of another widget in the
155 hierarchy is XmEXCLUSIVE_TAB_GROUP.
156
157 XmEXCLUSIVE_TAB_GROUP
158 Indicates that the widget is a tab group and that
159 widgets in the hierarchy whose XmNnavigationType is
160 XmTAB_GROUP are not tab groups.
161
162 When a parent widget has an XmNnavigationType of
163 XmEXCLUSIVE_TAB_GROUP, traversal of non-tab-group
164 widgets within the group is based on the order of
165 those widgets in their parent's XmNchildren list.
166
167 When the XmNnavigationType of any widget in a hier‐
168 archy is XmEXCLUSIVE_TAB_GROUP, traversal of tab
169 groups in the hierarchy proceeds to widgets in the
170 order in which their XmNnavigationType resources
171 were specified as XmEXCLUSIVE_TAB_GROUP or
172 XmSTICKY_TAB_GROUP, whether by creating the widgets
173 with that value, by calling XtSetValues, or by
174 calling XmAddTabGroup.
175
176 XmNpopupHandlerCallback
177 Allows the application to control which popup menu will be
178 automatically posted. The reason can either be XmCR_POST or
179 XmCR_REPOST:
180
181 XmCR_POST Indicates that this is a regular posting request.
182
183 XmCR_REPOST
184 Indicates that the menu was just unposted and that
185 this callback was invoked on a replay.
186
187 This callback uses the XmPopupHandlerCallbackStruct structure
188 to pass information.
189
190 XmNshadowThickness
191 Specifies the size of the drawn border shadow.
192
193 XmNtoolTipString
194 The XmString to display as the toolTip. If this resource is
195 NULL, no tip will be displayed. ToolTips are described in
196 VendorShell(3)
197
198
199 XmNtopShadowColor
200 Specifies the color to use to draw the top and left sides of
201 the border shadow. This color is used if the XmNtopShadow‐
202 Pixmap resource is unspecified. If a default top shadow
203 pixmap exists, it will need to be removed for the XmNtopShad‐
204 owColor to take effect.
205
206 XmNtopShadowPixmap
207 Specifies the pixmap to use to draw the top and left sides of
208 the border shadow. A Primitive top shadow pixmap is created
209 in two situations. In either of these situations, a default
210 50-foreground top shadow pixmap is created.
211
212 · If the Primitive top shadow color is the same as the
213 Core background pixel color.
214
215 · If the depth of the screen is only one.
216
217 For example, if a widget with the same top shadow and back‐
218 ground color is created, a default shadow pixmap is gener‐
219 ated. Such a pixmap needs to be removed for the XmNtopShadow‐
220 Color resource to take effect.
221
222 XmNtraversalOn
223 Specifies if traversal is activated for this widget. In Cas‐
224 cadeButton and CascadeButtonGadget, this resource is forced
225 to True unless the parent is an OptionMenu.
226
227 XmNunitType
228 Provides the basic support for resolution independence. It
229 defines the type of units a widget uses with sizing and posi‐
230 tioning resources. If the widget's parent is a subclass of
231 XmManager and if the XmNunitType resource is not explicitly
232 set, it defaults to the unit type of the parent widget. If
233 the widget's parent is not a subclass of XmManager, the
234 resource has a default unit type of XmPIXELS.
235
236 The unit type can also be specified in resource files, with
237 the following format:
238
239 <floating value><unit>
240
241 where:
242
243 unit is <" ", pixels, inches, centimeters, millimeters,
244 points, font units>
245
246 pixels is <pix, pixel, pixels>
247
248 inches is <in, inch, inches>
249
250 centimeter
251 is <cm, centimeter, centimeters>
252
253 millimeters
254 is <mm, millimeter, millimeters>
255
256 points is <pt, point, points>
257
258 font units
259 is <fu, font_unit, font_units>
260
261 float is {"+"|"-"}{{<"0"-"9">*}.}<"0"-"9">*
262
263 Note that the type Dimension must always be posi‐
264 tive.
265
266 For example,
267
268 xmfonts*XmMainWindow.height: 10.4cm
269 *PostIn.width: 3inches
270
271 XmNunitType can have the following values:
272
273 XmPIXELS All values provided to the widget are treated as
274 normal pixel values.
275
276 XmMILLIMETERS
277 All values provided to the widget are treated as
278 normal millimeter values.
279
280 Xm100TH_MILLIMETERS
281 All values provided to the widget are treated as
282 1/100 of a millimeter.
283
284 XmCENTIMETERS
285 All values provided to the widget are treated as
286 normal centimeter values.
287
288 XmINCHES All values provided to the widget are treated as
289 normal inch values.
290
291 Xm1000TH_INCHES
292 All values provided to the widget are treated as
293 1/1000 of an inch.
294
295 XmPOINTS All values provided to the widget are treated as
296 normal point values. A point is a unit used in text
297 processing applications and is defined as 1/72 of
298 an inch.
299
300 Xm100TH_POINTS
301 All values provided to the widget are treated as
302 1/100 of a point. A point is a unit used in text
303 processing applications and is defined as 1/72 of
304 an inch.
305
306 XmFONT_UNITS
307 All values provided to the widget are treated as
308 normal font units. A font unit has horizontal and
309 vertical components. These are the values of the
310 XmScreen resources XmNhorizontalFontUnit and XmN‐
311 verticalFontUnit.
312
313 Xm100TH_FONT_UNITS
314 All values provided to the widget are treated as
315 1/100 of a font unit. A font unit has horizontal
316 and vertical components. These are the values of
317 the XmScreen resources XmNhorizontalFontUnit and
318 XmNverticalFontUnit.
319
320 XmNuserData
321 Allows the application to attach any necessary specific data
322 to the widget. It is an internally unused resource.
323
324
325 Dynamic Color Defaults
326 The foreground, background, top shadow, bottom shadow, and highlight
327 color resources are dynamically defaulted. If no color data is speci‐
328 fied, the colors are automatically generated. On a single-plane system,
329 a black and white color scheme is generated. Otherwise, four colors are
330 generated, which display the correct shading for the 3-D visuals. If
331 the background is the only color specified for a widget, the top shadow
332 and bottom shadow colors are generated to give the 3-D appearance.
333 Foreground and highlight colors are generated to provide sufficient
334 contrast with the background color.
335
336 Colors are generated only at creation. Resetting the background through
337 XtSetValues does not regenerate the other colors. XmChangeColor can be
338 used to recalculate all associated colors based on a new background
339 color.
340
341 Inherited Resources
342 Primitive inherits behavior and resources from the superclass described
343 in the following table. For a complete description of each resource,
344 refer to the reference page for that superclass.
345
346 ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
347 │ │ Core Resource Se│t │ │ │
348 │Name │ Class │ Type │ Default │ Access │
349 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
350 │XmNaccelerators │ XmCAccelerators │ XtAccelerators │ dynamic │ CSG │
351 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
352 │XmNancestorSensitive │ XmCSensitive │ Boolean │ dynamic │ G │
353 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
354 │XmNbackground │ XmCBackground │ Pixel │ dynamic │ CSG │
355 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
356 │XmNbackgroundPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
357 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
358 │XmNborderColor │ XmCBorderColor │ Pixel │ XtDefaultForeground │ CSG │
359 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
360 │XmNborderPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
361 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
362 │XmNborderWidth │ XmCBorderWidth │ Dimension │ 0 │ CSG │
363 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
364 │XmNcolormap │ XmCColormap │ Colormap │ dynamic │ CG │
365 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
366 │XmNdepth │ XmCDepth │ int │ dynamic │ CG │
367 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
368 │XmNdestroyCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
369 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
370 │XmNheight │ XmCHeight │ Dimension │ dynamic │ CSG │
371 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
372 │XmNinitialResourcesPersistent │ XmCInitialResourcesPersistent │ Boolean │ True │ C │
373 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
374 │XmNmappedWhenManaged │ XmCMappedWhenManaged │ Boolean │ True │ CSG │
375 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
376 │XmNscreen │ XmCScreen │ Screen * │ dynamic │ CG │
377 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
378 │XmNsensitive │ XmCSensitive │ Boolean │ True │ CSG │
379 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
380 │XmNtranslations │ XmCTranslations │ XtTranslations │ dynamic │ CSG │
381 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
382 │XmNwidth │ XmCWidth │ Dimension │ dynamic │ CSG │
383 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
384 │XmNx │ XmCPosition │ Position │ 0 │ CSG │
385 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
386 │XmNy │ XmCPosition │ Position │ 0 │ CSG │
387 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
388 └──────────────────────────────┴───────────────────────────────┴────────────────┴──────────────────────┴────────┘
389 Callback Information
390 A pointer to the following structure is passed to each callback for
391 XmNhelpCallback:
392
393 typedef struct
394 {
395 int reason;
396 XEvent * event;
397 } XmAnyCallbackStruct;
398
399 reason Indicates why the callback was invoked. For this callback,
400 reason is set to XmCR_HELP.
401
402 event Points to the XEvent that triggered the callback.
403
404 A pointer to the following callback structure is passed to the XmNcon‐
405 vertCallback procedures:
406
407 typedef struct
408 {
409 int reason;
410 XEvent *event;
411 Atom selection;
412 Atom target;
413 XtPointer source_data;
414 XtPointer location_data;
415 int flags;
416 XtPointer parm;
417 int parm_format;
418 unsigned long parm_length;
419 Atom parm_type;
420 int status;
421 XtPointer value;
422 Atom type;
423 int format;
424 unsigned long length;
425 } XmConvertCallbackStruct;
426
427 reason Indicates why the callback was invoked.
428
429 event Points to the XEvent that triggered the callback. It can be
430 NULL.
431
432 selection Indicates the selection for which conversion is being
433 requested. Possible values are CLIPBOARD, PRIMARY, SEC‐
434 ONDARY, and _MOTIF_DROP.
435
436 target Indicates the conversion target.
437
438 source_data
439 Contains information about the selection source. When the
440 selection is _MOTIF_DROP, source_data is the DragContext.
441 Otherwise, it is NULL.
442
443 location_data
444 Contains information about the location of data to be con‐
445 verted. If the value is NULL, the data to be transferred
446 consists of the widget's current selection. Otherwise, the
447 type and interpretation of the value are specific to the wid‐
448 get class.
449
450 flags Indicates the status of the conversion. Following are the
451 possible values:
452
453 XmCONVERTING_NONE
454 This flag is currently unused.
455
456 XmCONVERTING_PARTIAL
457 The target widget was able to be converted, but
458 some data was lost.
459
460 XmCONVERTING_SAME
461 The conversion target is the source of the data to
462 be transferred.
463
464 XmCONVERTING_TRANSACT
465 This flag is currently unused.
466
467 parm Contains parameter data for this target. If no parameter
468 data exists, the value is NULL.
469
470 When selection is CLIPBOARD and target is _MOTIF_CLIP‐
471 BOARD_TARGETS or _MOTIF_DEFERRED_CLIPBOARD_TARGETS, the value
472 is the requested operation (XmCOPY, XmMOVE, or XmLINK).
473
474 parm_format
475 Specifies whether the data in parm should be viewed as a list
476 of char, short, or long quantities. Possible values are 0
477 (when parm is NULL), 8 (when the data in parm should be
478 viewed as a list of chars), 16 (when the data in parm should
479 be viewed as a list of shorts), or 32 (when the data in parm
480 should be viewed as a list of longs). Note that parm_format
481 symbolizes a data type, not the number of bits in each list
482 element. For example, on some machines, a parm_format of 32
483 means that the data in parm should be viewed as a list of
484 64-bit quantities, not 32-bit quantities.
485
486 parm_length
487 Specifies the number of elements of data in parm, where each
488 element has the size specified by parm_format. When parm is
489 NULL, the value is 0.
490
491 parm_type Specifies the parameter type of parm.
492
493 status An IN/OUT member that specifies the status of the conversion.
494 The initial value is XmCONVERT_DEFAULT. The callback proce‐
495 dure can set this member to one of the following values:
496
497 XmCONVERT_DEFAULT
498 This value means that the widget class conversion
499 procedure, if any, is called after the callback
500 procedures return. If the widget class conversion
501 procedure produces any data, it overwrites the data
502 provided by the callback procedures in the value
503 member.
504
505 XmCONVERT_MERGE
506 This value means that the widget class conversion
507 procedure, if any, is called after the callback
508 procedures return. If the widget class conversion
509 procedure produces any data, it appends its data to
510 the data provided by the callback procedures in the
511 value member. This value is intended for use with
512 targets that result in lists of data, such as TAR‐
513 GETS.
514
515 XmCONVERT_DONE
516 This value means that the callback procedure has
517 successfully finished the conversion. The widget
518 class conversion procedure, if any, is not called
519 after the callback procedures return.
520
521 XmCONVERT_REFUSE
522 This value means that the callback procedure has
523 terminated the conversion process without complet‐
524 ing the requested conversion. The widget class
525 conversion procedure, if any, is not called after
526 the callback procedures return.
527
528 value An IN/OUT parameter that contains any data that the callback
529 procedure produces as a result of the conversion. The ini‐
530 tial value is NULL. If the callback procedure sets this mem‐
531 ber, it must ensure that the type, format, and length members
532 correspond to the data in value. The callback procedure is
533 responsible for allocating memory when it sets this member.
534 The toolkit frees this memory when it is no longer needed.
535
536 type An IN/OUT parameter that indicates the type of the data in
537 the value member. The initial value is INTEGER.
538
539 format An IN/OUT parameter that specifies whether the data in value
540 should be viewed as a list of char, short, or long quanti‐
541 ties. The initial value is 8. The callback procedure can
542 set this member to 8 (for a list of char), 16 (for a list of
543 short), or 32 (for a list of long).
544
545 length An IN/OUT member that specifies the number of elements of
546 data in value, where each element has the size symbolized by
547 format. The initial value is 0.
548
549 A pointer to the following structure is passed to each callback for
550 XmNpopupHandlerCallback:
551
552 typedef struct
553 {
554 int reason;
555 XEvent * event;
556 Widget menuToPost;
557 Boolean postIt;
558 Widget target;
559 } XmPopupHandlerCallbackStruct;
560
561 reason Indicates why the callback was invoked.
562
563 event Points to the XEvent that triggered the handler.
564
565 menuToPost
566 Specifies the popup menu that the menu system believes should
567 be posted. The application may modify this field.
568
569 postIt Indicates whether the posting process should continue. The
570 application may modify this field.
571
572 target Specifies the most specific widget or gadget that the menu
573 sytem found from the event that matches the event.
574
575 Translations
576 The XmPrimitive translations are listed below.
577
578 Note that for buttons in menus, altering translations in #override or
579 #augment mode is undefined.
580
581 The following key names are listed in the X standard key event transla‐
582 tion table syntax. This format is the one used by Motif to specify the
583 widget actions corresponding to a given key. A brief overview of the
584 format is provided under VirtualBindings(3). For a complete descrip‐
585 tion of the format, please refer to the X Toolkit Instrinsics Documen‐
586 tation.
587
588 :<Key><osfActivate>:
589 PrimitiveParentActivate()
590
591 :<Key><osfCancel>:
592 PrimitiveParentCancel()
593
594 :<Key><osfBeginLine>:
595 PrimitiveTraverseHome()
596
597 :<Key><osfUp>:
598 PrimitiveTraverseUp()
599
600 :<Key><osfDown>:
601 PrimitiveTraverseDown()
602
603 :<Key><osfLeft>:
604 PrimitiveTraverseLeft()
605
606 :<Key><osfRight>:
607 PrimitiveTraverseRight()
608
609 ∼s ∼m ∼a <Key>Return:
610 PrimitiveParentActivate()
611
612 s ∼m ∼a <Key>Tab:
613 PrimitivePrevTabGroup()
614
615 ∼m ∼a <Key>Tab:
616 PrimitiveNextTabGroup()
617
618 <Key><osfHelp>:
619 PrimitiveHelp()
620
621 Action Routines
622 The XmPrimitive action routines are
623
624 PrimitiveHelp():
625 Calls the callbacks for XmNhelpCallback if any exist. If
626 there are no help callbacks for this widget, this action
627 calls the help callbacks for the nearest ancestor that has
628 them.
629
630 PrimitiveNextTabGroup():
631 This action depends on the value of the Display resource
632 XmNenableButtonTab. When XmNenableButtonTab is False
633 (default), this action traverses to the first item in the
634 next tab group. If the current tab group is the last entry in
635 the tab group list, it wraps to the beginning of the tab
636 group list.
637
638 When XmNenableButtonTab is True, this action moves to the
639 next item within the current tab group, unless it is the last
640 item in the tab group. When the item is the last in the
641 group, the action traverses to the first item in the next tab
642 group. The XmNenableButtonTab behavior applies only to Push‐
643 Button, ArrowButton, and DrawnArrow.
644
645 PrimitiveParentActivate():
646 If the parent is a manager, passes the KActivate event
647 received by the widget to the parent.
648
649 PrimitiveParentCancel():
650 If the parent is a manager, passes the KCancel event received
651 by the widget to the parent.
652
653 PrimitivePrevTabGroup():
654 This action depends on the value of the Display resource
655 XmNenableButtonTab. When XmNenableButtonTab is False
656 (default), this action traverses to the first item in the
657 previous tab group. If the beginning of the tab group list is
658 reached, it wraps to the end of the tab group list.
659
660 When XmNenableButtonTab is True, this action moves to the
661 previous item within the current tab group unless it is the
662 first item in the tab group. When the item is the first in
663 the group, the action traverses to the first item in the pre‐
664 vious tab group. The XmNenableButtonTab behavior applies only
665 PushButton, ArrowButton, and DrawnButton.
666
667 PrimitiveTraverseDown():
668 Traverses to the next item below the current widget in the
669 current tab group, wrapping if necessary. The wrapping
670 direction depends on the layout direction of the widget tab
671 group.
672
673 PrimitiveTraverseHome():
674 Traverses to the first widget or gadget in the current tab
675 group.
676
677 PrimitiveTraverseLeft():
678 Traverses to the next item to the left of the current widget
679 in the current tab group, wrapping if necessary. The wrap‐
680 ping direction depends on the layout direction of the widget
681 tab group.
682
683 PrimitiveTraverseNext():
684 Traverses to the next item in the current tab group, wrapping
685 if necessary. The wrapping direction depends on the layout
686 direction of the widget tab group.
687
688 PrimitiveTraversePrev():
689 Traverses to the previous item in the current tab group,
690 wrapping if necessary. The wrapping direction depends on the
691 layout direction of the widget tab group.
692
693 PrimitiveTraverseRight():
694 Traverses to the next item to the right of the current gadget
695 in the current tab group, wrapping if necessary. The wrap‐
696 ping direction depends on the layout direction of the widget
697 tab group.
698
699 PrimitiveTraverseUp():
700 Traverses to the next item above the current gadget in the
701 current tab group, wrapping if necessary. The wrapping
702 direction depends on the layout direction of the widget tab
703 group.
704
705 Additional Behavior
706 This widget has the following additional behavior:
707
708 <FocusIn>:
709 If the shell's keyboard focus policy is XmEXPLICIT, high‐
710 lights the widget and gives it the focus
711
712 <FocusOut>:
713 If the shell's keyboard focus policy is XmEXPLICIT, unhigh‐
714 lights the widget and removes the focus
715
716 Virtual Bindings
717 The bindings for virtual keys are vendor specific. For information
718 about bindings for virtual buttons and keys, see VirtualBindings(3).
719
721 Core(3), XmDirection(3), XmChangeColor(3), and XmScreen(3).
722
723
724
725 XmPrimitive(library call)