1XmPrimitive(library call)                            XmPrimitive(library call)
2
3
4

NAME

6       XmPrimitive — The Primitive widget class
7

SYNOPSIS

9       #include <Xm/Xm.h>
10

DESCRIPTION

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       │                        │            XmPrimitiveResource Set      │                      │        │
47Name                    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                │                      │        │
348Name                          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)
Impressum