1XmLabel(library call) XmLabel(library call)
2
3
4
6 XmLabel — The Label widget class
7
9 #include <Xm/Label.h>
10
12 Label is an instantiable widget and is also used as a superclass for
13 other button widgets, such as PushButton and ToggleButton. The Label
14 widget does not accept any button or key input, and the help callback
15 is the only callback defined. Label also receives enter and leave
16 events.
17
18 Label can contain either text or a pixmap. Label text is a compound
19 string. Refer to the Motif Programmer's Guide for more information on
20 compound strings. The text can be multilingual, multiline, and/or mul‐
21 tifont. When a Label is insensitive, its text is stippled, or the user-
22 supplied insensitive pixmap is displayed.
23
24 Label supports both accelerators and mnemonics primarily for use in
25 Label subclass widgets that are contained in menus. Mnemonics are
26 available in a menu system when the button is visible. Accelerators in
27 a menu system are accessible even when the button is not visible. The
28 Label widget displays the mnemonic by underlining the first matching
29 character in the text string. The accelerator is displayed as a text
30 string adjacent to the label text or pixmap, depending on the layout
31 direction.
32
33 Label consists of many margin fields surrounding the text or pixmap.
34 These margin fields are resources that may be set by the user, but
35 Label subclasses and Manager parents also modify some of these fields.
36 They tend to modify the XmNmarginLeft, XmNmarginRight, XmNmarginTop,
37 and XmNmarginBottom resources and leave the XmNmarginWidth and XmN‐
38 marginHeight resources as set by the application.
39
40 Label takes into account XmNshadowThickness in determining its layout
41 but does not draw the shadow. That is, if XmNshadowThickness is greater
42 than 0 (zero), Label leaves space for the shadow, but the shadow does
43 not appear.
44
45 In a Label, XmNtraversalOn and XmNhighlightOnEnter are forced to False
46 inside Popup menu panes, Pulldown menu panes, and OptionMenus. Other‐
47 wise, these resources default to False.
48
49 Label uses the XmQTmenuSystem and XmQTspecifyRenderTable traits, and
50 holds the XmQTaccessTextual, XmQTmenuSavvy, and XmQTtransfer traits.
51
52 Data Transfer Behavior
53 Label and it subclasses, except when used in a menu system, support
54 dragging of the label contents from the Label. However, the label con‐
55 tents are draggable only if the XmNenableUnselectableDrag resource of
56 XmDisplay is set to True.
57
58 As a source of data, Label and its subclasses support the following
59 targets and associated conversions of data to these targets:
60
61 locale If the locale target matches the widget's locale, the widget
62 transfers XmNlabelString in the encoding of the locale. This
63 target is supported when XmNlabelType is XmSTRING or
64 XmPIXMAP_AND_STRING.
65
66 COMPOUND_TEXT
67 The widget transfers XmNlabelString as type COMPOUND_TEXT.
68 This target is supported when XmNlabelType is XmSTRING or
69 XmPIXMAP_AND_STRING.
70
71 UTF8_STRING
72 The widget transfers XmNlabelString as type UTF8_STRING.
73 This target is supported when XmNlabelType is XmSTRING or
74 XmPIXMAP_AND_STRING.
75
76 PIXMAP The widget transfers XmNlabelPixmap as type DRAWABLE. This
77 target is supported when XmNlabelType is XmPIXMAP or
78 XmPIXMAP_AND_STRING.
79
80 STRING The widget transfers XmNlabelString as type STRING. This
81 target is supported when XmNlabelType is XmSTRING or
82 XmPIXMAP_AND_STRING.
83
84 TEXT If XmNlabelString is fully convertible to the encoding of the
85 locale, the widget transfers XmNlabelString in the encoding
86 of the locale. Otherwise, the widget transfers XmNlabel‐
87 String as type COMPOUND_TEXT. This target is supported only
88 when XmNlabelType is XmSTRING or XmPIXMAP_AND_STRING.
89
90 _MOTIF_CLIPBOARD_TARGETS
91 The widget transfers, as type ATOM, a list of the targets it
92 supports for the CLIPBOARD selection. When XmNlabelType is
93 XmSTRING or XmPIXMAP_AND_STRING, these include the following
94 targets:
95
96 · _MOTIF_COMPOUND_STRING
97
98 · COMPOUND_TEXT
99
100 · UTF8_STRING
101
102 · The encoding of the locale, if XmNlabelString is fully
103 convertible to the encoding of the locale
104
105 · STRING, if XmNlabelString is fully convertible to
106 STRING
107
108 When XmNlabelType is XmPIXMAP or XmPIXMAP_AND_STRING, the
109 targets include PIXMAP.
110
111 _MOTIF_COMPOUND_STRING
112 The widget transfers XmNlabelString as a compound string in
113 Byte Stream format. This target is supported when XmNlabel‐
114 Type is XmSTRING or XmPIXMAP_AND_STRING.
115
116 _MOTIF_EXPORT_TARGETS
117 The widget transfers, as type ATOM, a list of the targets to
118 be used as the value of the DragContext's XmNexportTargets in
119 a drag-and-drop transfer. When XmNlabelType is XmSTRING or
120 XmPIXMAP_AND_STRING, these include _MOTIF_COMPOUND_STRING,
121 COMPOUND_TEXT, UTF8_STRING, the encoding of the locale,
122 STRING, TEXT, BACKGROUND, and FOREGROUND. When XmNlabelType
123 is XmPIXMAP or XmPIXMAP_AND_STRING, these include PIXMAP,
124 BACKGROUND, and FOREGROUND.
125
126 As a source of data, Label also supports the following standard Motif
127 targets:
128
129 BACKGROUND
130 The widget transfers XmNbackground as type PIXEL.
131
132 CLASS The widget finds the first shell in the widget hierarchy that
133 has a WM_CLASS property and transfers the contents as text in
134 the current locale.
135
136 CLIENT_WINDOW
137 The widget finds the first shell in the widget hierarchy and
138 transfers its window as type WINDOW.
139
140 COLORMAP The widget transfers XmNcolormap as type COLORMAP.
141
142 FOREGROUND
143 The widget transfers XmNforeground as type PIXEL.
144
145 NAME The widget finds the first shell in the widget hierarchy that
146 has a WM_NAME property and transfers the contents as text in
147 the current locale.
148
149 TARGETS The widget transfers, as type ATOM, a list of the targets it
150 supports. These include the standard targets in this list.
151 When XmNlabelType is XmSTRING or XmPIXMAP_AND_STRING, these
152 also include _MOTIF_COMPOUND_STRING, COMPOUND_TEXT,
153 UTF8_STRING, the encoding of the locale, STRING, and TEXT.
154 When XmNlabelType is XmPIXMAP or XmPIXMAP_AND_STRING, these
155 also include PIXMAP.
156
157 TIMESTAMP The widget transfers the timestamp used to acquire the selec‐
158 tion as type INTEGER.
159
160 _MOTIF_RENDER_TABLE
161 The widget transfers XmNrenderTable if it exists, or else the
162 default text render table, as type STRING.
163
164 _MOTIF_ENCODING_REGISTRY
165 The widget transfers its encoding registry as type STRING.
166 The value is a list of NULL separated items in the form of
167 tag encoding pairs. This target symbolizes the transfer tar‐
168 get for the Motif Segment Encoding Registry. Widgets and
169 applications can use this Registry to register text encoding
170 formats for specified render table tags. Applications access
171 this Registry by calling XmRegisterSegmentEncoding and
172 XmMapSegmentEncoding.
173
174 Classes
175 Label inherits behavior, resources, and traits from Core and XmPrimi‐
176 tive.
177
178 The class pointer is xmLabelWidgetClass.
179
180 The class name is XmLabel.
181
182 New Resources
183 The following table defines a set of widget resources used by the pro‐
184 grammer to specify data. The programmer can also set the resource val‐
185 ues for the inherited classes to set attributes for this widget. To
186 reference a resource by name or by class in a .Xdefaults file, remove
187 the XmN or XmC prefix and use the remaining letters. To specify one of
188 the defined values for a resource in a .Xdefaults file, remove the Xm
189 prefix and use the remaining letters (in either lowercase or uppercase,
190 but include any underscores between words). The codes in the access
191 column indicate if the given resource can be set at creation time (C),
192 set by using XtSetValues (S), retrieved by using XtGetValues (G), or is
193 not applicable (N/A).
194
195 ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
196 │ │ XmLabel Res│ource Set │ │ │
197 │Name │ Class │ Type │ Default │ Access │
198 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
199 │XmNaccelerator │ XmCAccelerator │ String │ NULL │ CSG │
200 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
201 │XmNacceleratorText │ XmCAcceleratorText │ XmString │ NULL │ CSG │
202 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
203 │XmNalignment │ XmCAlignment │ unsigned char │ dynamic │ CSG │
204 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
205 │XmNfontList │ XmCFontList │ XmFontList │ dynamic │ CSG │
206 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
207 │XmNlabelInsensitivePixmap │ XmCLabelInsensitivePixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
208 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
209 │XmNlabelPixmap │ XmCLabelPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
210 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
211 │XmNlabelString │ XmCXmString │ XmString │ dynamic │ CSG │
212 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
213 │XmNlabelType │ XmCLabelType │ unsigned char │ XmSTRING │ CSG │
214 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
215 │XmNmarginBottom │ XmCMarginBottom │ Dimension │ 0 │ CSG │
216 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
217 │XmNmarginHeight │ XmCMarginHeight │ Dimension │ 2 │ CSG │
218 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
219 │XmNmarginLeft │ XmCMarginLeft │ Dimension │ 0 │ CSG │
220 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
221 │XmNmarginRight │ XmCMarginRight │ Dimension │ 0 │ CSG │
222 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
223 │XmNmarginTop │ XmCMarginTop │ Dimension │ 0 │ CSG │
224 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
225 │XmNmarginWidth │ XmCMarginWidth │ Dimension │ 2 │ CSG │
226 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
227 │XmNmnemonic │ XmCMnemonic │ KeySym │ NULL │ CSG │
228 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
229 │XmNmnemonicCharSet │ XmCMnemonicCharSet │ String │ XmFONTLIST_DEFAULT_TAG │ CSG │
230 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
231 │XmNpixmapPlacement │ XmCPixmapPlacement │ unsigned int │ XmPIXMAP_LEFT │ CSG │
232 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
233 │XmNpixmapTextPadding │ XmCSpace │ Dimension │ 2 │ CSG │
234 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
235 │XmNrecomputeSize │ XmCRecomputeSize │ Boolean │ True │ CSG │
236 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
237 │XmNrenderTable │ XmCRenderTable │ XmRenderTable │ dynamic │ CSG │
238 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
239 │XmNstringDirection │ XmCStringDirection │ XmStringDirection │ dynamic │ CSG │
240 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
241 └──────────────────────────┴───────────────────────────┴───────────────────┴────────────────────────┴────────┘
242 XmNaccelerator
243 Sets the accelerator on a button widget in a menu, which
244 activates a visible or invisible, but managed, button from
245 the keyboard. This resource is a string that describes a set
246 of modifiers and the key that may be used to select the but‐
247 ton. The format of this string is identical to that used by
248 the translations manager, with the exception that only a sin‐
249 gle event may be specified and only KeyPress events are
250 allowed.
251
252 Accelerators for buttons are supported only for PushButtons
253 and ToggleButtons in Pulldown and Popup menu panes.
254
255 XmNacceleratorText
256 Specifies the text displayed for the accelerator. The text
257 is displayed adjacent to the label string or pixmap. The
258 direction of its layout depends on the XmNlayoutDirection
259 resource of the widget. Accelerator text for buttons is dis‐
260 played only for PushButtons and ToggleButtons in Pulldown and
261 Popup Menus.
262
263 XmNalignment
264 Specifies the label alignment for text or pixmap.
265
266 XmALIGNMENT_BEGINNING (left alignment)
267 Causes the left sides of the lines of text to be
268 vertically aligned with the left edge of the widget
269 window. For a pixmap, its left side is vertically
270 aligned with the left edge of the widget window.
271
272 XmALIGNMENT_CENTER (center alignment)
273 Causes the centers of the lines of text to be ver‐
274 tically aligned in the center of the widget window.
275 For a pixmap, its center is vertically aligned with
276 the center of the widget window.
277
278 XmALIGNMENT_END (right alignment)
279 Causes the right sides of the lines of text to be
280 vertically aligned with the right edge of the wid‐
281 get window. For a pixmap, its right side is verti‐
282 cally aligned with the right edge of the widget
283 window.
284
285 The preceding descriptions for text are correct when XmNlay‐
286 outDirection is XmLEFT_TO_RIGHT. When that resource is
287 XmRIGHT_TO_LEFT, the descriptions for XmALIGNMENT_BEGINNING
288 and XmALIGNMENT_END are switched.
289
290 If the parent is a RowColumn whose XmNisAligned resource is
291 True, XmNalignment is forced to the same value as the RowCol‐
292 umn's XmNentryAlignment if the RowColumn's XmNrowColumnType
293 is XmWORK_AREA or if the widget is a subclass of XmLabel.
294 Otherwise, the default is XmALIGNMENT_CENTER.
295
296 XmNfontList
297 Specifies the font of the text used in the widget. XmN‐
298 fontList is obsolete and exists for compatibility with previ‐
299 ous releases. You should now use XmNrenderTable instead of
300 XmNfontList. If both are specified, the render table will
301 take precedence. If XmNfontList is NULL at initialization,
302 Label searches its parent hierarchy for an ancestor that is a
303 subclass of the XmBulletinBoard, VendorShell, or XmMenuShell
304 widget class. If such an ancestor is found, Label initializes
305 XmNfontList to the XmNlabelFontList of the ancestor widget.
306 Similarly, button subclasses of Label initialize XmNfontList
307 to the XmNbuttonFontList of the ancestor widget. (Currently,
308 all subclasses of Label are button subclasses.) If no such
309 ancestor is found, the default is implementation dependent.
310 Refer to XmFontList(3) for more information on the creation
311 and structure of a font list.
312
313 XmNlabelInsensitivePixmap
314 Specifies a pixmap used as the button face if XmNlabelType is
315 XmPIXMAP and the button is insensitive. The default value,
316 XmUNSPECIFIED_PIXMAP, displays an empty label.
317
318 XmNlabelPixmap
319 Specifies the pixmap when XmNlabelType is XmPIXMAP or
320 XmPIXMAP_AND_STRING. The default value, XmUNSPECI‐
321 FIED_PIXMAP, displays an empty label.
322
323 XmNlabelString
324 Specifies the compound string when XmNlabelType is XmSTRING
325 or XmPIXMAP_AND_STRING. If this value is NULL, it is ini‐
326 tialized by converting the name of the widget to a compound
327 string. Refer to XmString(3) for more information on the
328 creation and structure of compound strings.
329
330 XmNlabelType
331 Specifies the label type.
332
333 XmSTRING Displays text using XmNlabelString.
334
335 XmPIXMAP Displays pixmap using XmNlabelPixmap or
336
337 XmPIXMAP_AND_STRING
338 Displays text and pixmap using XmNlabelPixmap or
339 XmNlabelInsensitivePixmap and XmNlabelString.
340
341 XmNmarginBottom
342 Specifies the amount of spacing between the bottom of the
343 label text and the top of the bottom margin specified by XmN‐
344 marginHeight. This may be modified by Label's subclasses.
345 For example, CascadeButton may increase this field to make
346 room for the cascade pixmap.
347
348 XmNmarginHeight
349 Specifies an equal amount of spacing above the margin defined
350 by XmNmarginTop and below the margin defined by XmNmarginBot‐
351 tom. XmNmarginHeight specifies the amount of spacing between
352 the top edge of the margin set by XmNmarginTop and the bottom
353 edge of the top shadow, and the amount of spacing between the
354 bottom edge of the margin specified by XmNmarginBottom and
355 the top edge of the bottom shadow.
356
357 XmNmarginLeft
358 Specifies the amount of spacing between the left edge of the
359 label text and the right side of the left margin (specified
360 by XmNmarginWidth). This may be modified by Label's sub‐
361 classes. For example, ToggleButton may increase this field to
362 make room for the toggle indicator and for spacing between
363 the indicator and label. Whether this actually applies to
364 the left or right side of the label depends on the value of
365 the XmNlayoutDirection resource.
366
367 XmNmarginRight
368 Specifies the amount of spacing between the right edge of the
369 label text and the left side of the right margin (specified
370 by XmNmarginWidth). This may be modified by Label's sub‐
371 classes. For example, CascadeButton may increase this field
372 to make room for the cascade pixmap. Whether this actually
373 applies to the left or right side of the label depends on the
374 value of the XmNlayoutDirection resource.
375
376 XmNmarginTop
377 Specifies the amount of spacing between the top of the label
378 text and the bottom of the top margin specified by XmNmargin‐
379 Height. This may be modified by Label's subclasses. For
380 example, CascadeButton may increase this field to make room
381 for the cascade pixmap.
382
383 XmNmarginWidth
384 Specifies an equal amount of spacing to the left of the mar‐
385 gin defined by XmNmarginLeft and to the right of the margin
386 defined by XmNmarginRight. XmNmarginWidth specifies the
387 amount of spacing between the left edge of the margin set by
388 XmNmarginLeft and the right edge of the left shadow, and the
389 amount of spacing between the right edge of the margin speci‐
390 fied by XmNmarginRight and the left edge of the right shadow.
391
392 XmNmnemonic
393 Provides the user with an alternate means of activating a
394 button. A button in a MenuBar, a Popup menu pane, or a Pull‐
395 down menu pane can have a mnemonic.
396
397 This resource contains a keysym as listed in the X11 keysym
398 table. The first character in the label string that exactly
399 matches the mnemonic in the character set specified in XmNm‐
400 nemonicCharSet is underlined when the button is displayed.
401
402 When a mnemonic has been specified, the user activates the
403 button by pressing the mnemonic key while the button is visi‐
404 ble. If the button is a CascadeButton in a MenuBar and the
405 MenuBar does not have the focus, the user must use the MAlt
406 modifier while pressing the mnemonic. The user can activate
407 the button by pressing either the shifted or the unshifted
408 mnemonic key.
409
410 XmNmnemonicCharSet
411 Specifies the character set of the mnemonic for the label.
412 The default is XmFONTLIST_DEFAULT_TAG.
413
414 XmNpixmapPlacement
415 The location of the pixmap with respect to the text label.
416 This resource can take one of the following values:
417 XmPIXMAP_TOP, XmPIXMAP_BOTTOM, XmPIXMAP_LEFT, and
418 XmPIXMAP_RIGHT. A type converter has been registered that
419 converts the following strings: "top", "bottom", "left", and
420 "right".
421
422 XmNpixmapTextPadding
423 The amount of space to be left between the pixmap and the
424 label string.
425
426 XmNrecomputeSize
427 Specifies a Boolean value that indicates whether the widget
428 shrinks or expands to accommodate its contents (label string
429 or pixmap) as a result of an XtSetValues resource value that
430 would change the size of the widget. If True, the widget
431 shrinks or expands to exactly fit the label string or pixmap.
432 If False, the widget never attempts to change size on its
433 own.
434
435 XmNrenderTable
436 Specifies the render table associated with the labelString.
437 If this value is NULL at initialization, Label searches its
438 parent hierarchy for an ancestor that holds the XmQTspeci‐
439 fyRenderTable trait. If such an ancestor is found, Label
440 initializes XmNrenderTable to the XmLABEL_RENDER_TABLE value
441 of the ancestor widget. Similarly, button subclasses of Label
442 initialize XmNrenderTable to the XmBUTTON_RENDER_TABLE value
443 of the ancestor widget. (Note that all current subclasses of
444 Label are button subclasses.) If no such ancestor is found,
445 the default is implementation dependent. If a font list and a
446 render table are both sepcified, the render table will take
447 precedence. Refer to XmRenderTable(3) for more information on
448 the creation and structure of a render table.
449
450 XmNstringDirection
451 Is a synthetic resource for setting XmNlayoutDirection. The
452 values for this resource are XmSTRING_DIRECTION_L_TO_R and
453 XmSTRING_DIRECTION_R_TO_L. Refer to the XmNlayoutDirection
454 resource description. The XmNstringDirection resource is
455 obsoleted by XmNlayoutDirection, but is kept here for back‐
456 ward compatibility.
457
458 Inherited Resources
459 Label inherits behavior and resources from the following superclasses.
460 For a complete description of each resource, refer to the reference
461 page for that superclass.
462
463 ┌───────────────────────────────────────────────────────────────────────────────────────────────────┐
464 │ │ XmPrimitive│Resource Set │ │ │
465 │Name │ Class │ Type │ Default │ Access │
466 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
467 │XmNbottomShadowColor │ XmCBottomShadowColor │ Pixel │ dynamic │ CSG │
468 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
469 │XmNbottomShadowPixmap │ XmCBottomShadowPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
470 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
471 │XmNconvertCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
472 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
473 │XmNforeground │ XmCForeground │ Pixel │ dynamic │ CSG │
474 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
475 │XmNhelpCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
476 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
477 │XmNhighlightColor │ XmCHighlightColor │ Pixel │ dynamic │ CSG │
478 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
479 │XmNhighlightOnEnter │ XmCHighlightOnEnter │ Boolean │ False │ CSG │
480 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
481 │XmNhighlightPixmap │ XmCHighlightPixmap │ Pixmap │ dynamic │ CSG │
482 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
483 │XmNhighlightThickness │ XmCHighlightThickness │ Dimension │ 0 │ CSG │
484 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
485 │XmNlayoutDirection │ XmCLayoutDirection │ XmDirection │ dynamic │ CG │
486 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
487 │XmNnavigationType │ XmCNavigationType │ XmNavigationType │ XmNONE │ CSG │
488 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
489 │XmNpopupHandlerCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
490 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
491 │XmNshadowThickness │ XmCShadowThickness │ Dimension │ 0 │ CSG │
492 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
493 │XmNtopShadowColor │ XmCTopShadowColor │ Pixel │ dynamic │ CSG │
494 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
495 │XmNtopShadowPixmap │ XmCTopShadowPixmap │ Pixmap │ dynamic │ CSG │
496 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
497 │XmNtraversalOn │ XmCTraversalOn │ Boolean │ False │ CSG │
498 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
499 │XmNunitType │ XmCUnitType │ unsigned char │ dynamic │ CSG │
500 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
501 │XmNuserData │ XmCUserData │ XtPointer │ NULL │ CSG │
502 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
503 └────────────────────────┴───────────────────────┴──────────────────┴──────────────────────┴────────┘
504 ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
505 │ │ Core Resource Se│t │ │ │
506 │Name │ Class │ Type │ Default │ Access │
507 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
508 │XmNaccelerators │ XmCAccelerators │ XtAccelerators │ dynamic │ CSG │
509 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
510 │XmNancestorSensitive │ XmCSensitive │ Boolean │ dynamic │ G │
511 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
512 │XmNbackground │ XmCBackground │ Pixel │ dynamic │ CSG │
513 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
514 │XmNbackgroundPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
515 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
516 │XmNborderColor │ XmCBorderColor │ Pixel │ XtDefaultForeground │ CSG │
517 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
518 │XmNborderPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
519 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
520 │XmNborderWidth │ XmCBorderWidth │ Dimension │ 0 │ CSG │
521 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
522 │XmNcolormap │ XmCColormap │ Colormap │ dynamic │ CG │
523 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
524 │XmNdepth │ XmCDepth │ int │ dynamic │ CG │
525 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
526 │XmNdestroyCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
527 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
528 │XmNheight │ XmCHeight │ Dimension │ dynamic │ CSG │
529 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
530 │XmNinitialResourcesPersistent │ XmCInitialResourcesPersistent │ Boolean │ True │ C │
531 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
532 │XmNmappedWhenManaged │ XmCMappedWhenManaged │ Boolean │ True │ CSG │
533 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
534 │XmNscreen │ XmCScreen │ Screen * │ dynamic │ CG │
535 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
536 │XmNsensitive │ XmCSensitive │ Boolean │ True │ CSG │
537 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
538 │XmNtranslations │ XmCTranslations │ XtTranslations │ dynamic │ CSG │
539 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
540 │XmNwidth │ XmCWidth │ Dimension │ dynamic │ CSG │
541 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
542 │XmNx │ XmCPosition │ Position │ 0 │ CSG │
543 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
544 │XmNy │ XmCPosition │ Position │ 0 │ CSG │
545 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
546 └──────────────────────────────┴───────────────────────────────┴────────────────┴──────────────────────┴────────┘
547 Translations
548 XmLabel includes translations from Primitive. The XmLabel translations
549 are described in the following list.
550
551 The following key names are listed in the X standard key event transla‐
552 tion table syntax. This format is the one used by Motif to specify the
553 widget actions corresponding to a given key. A brief overview of the
554 format is provided under VirtualBindings(3). For a complete descrip‐
555 tion of the format, please refer to the X Toolkit Instrinsics Documen‐
556 tation.
557
558 <Btn2Down>:
559 ProcessDrag()
560
561 :<Key><osfHelp>:
562 Help()
563
564 The translations used by subclasses of XmLabel for menu traversal are
565 described in the following list.
566
567 :<Key><osfCancel>:
568 MenuEscape()
569
570 :<Key><osfLeft>:
571 MenuTraverseLeft()
572
573 :<Key><osfRight>:
574 MenuTraverseRight()
575
576 :<Key><osfUp>:
577 MenuTraverseUp()
578
579 :<Key><osfDown>:
580 MenuTraverseDown()
581
582 Action Routines
583 The XmLabel action routines are
584
585 Help(): In a Popup or Pulldown MenuPane, unposts all menus in the
586 menu hierarchy and, when the shell's keyboard focus policy is
587 XmEXPLICIT, restores keyboard focus to the widget that had
588 the focus before the menu system was entered. Calls the
589 callbacks for XmNhelpCallback if any exist. If there are no
590 help callbacks for this widget, this action calls the help
591 callbacks for the nearest ancestor that has them.
592
593 MenuEscape():
594 In a MenuBar, disarms the CascadeButton and the menu and,
595 when the shell's keyboard focus policy is XmEXPLICIT,
596 restores keyboard focus to the widget that had the focus
597 before the menu was entered.
598
599 In a top-level Pulldown MenuPane from a MenuBar, unposts the
600 menu, disarms the MenuBar CascadeButton and the MenuBar, and,
601 when the shell's keyboard focus policy is XmEXPLICIT,
602 restores keyboard focus to the widget that had the focus
603 before the MenuBar was entered. In other Pulldown MenuPanes,
604 unposts the menu and moves the focus to its CascadeButton.
605
606 In a Popup MenuPane, unposts the menu and, when the shell's
607 keyboard focus policy is XmEXPLICIT, restores keyboard focus
608 to the widget from which the menu was posted.
609
610 MenuTraverseDown():
611 If the current menu item has a submenu and is in a MenuBar,
612 then this action posts the submenu, disarms the current menu
613 item, and arms the submenu's first traversable menu item.
614
615 If the current menu item is in a MenuPane, then this action
616 disarms the current menu item and arms the item below it.
617 This action wraps within the MenuPane. The direction of the
618 wrapping depends on the XmNlayoutDirection resource.
619
620 MenuTraverseLeft():
621 When the current menu item is in a MenuBar, then this action
622 disarms the current item and arms the MenuBar item to the
623 left. This action wraps within the MenuBar.
624
625 In MenuPanes, if the current menu item is not at the left
626 edge of a MenuPane, this action disarms the current item and
627 arms the item to its left. If the current menu item is at
628 the left edge of a submenu attached to a MenuBar item, then
629 this action unposts the submenu and traverses to the MenuBar
630 item to the left, wrapping if necessary. If that MenuBar item
631 has a submenu, it posts the submenu and arms the first tra‐
632 versable item in the submenu. If the current menu item is at
633 the left edge of a submenu not directly attached to a MenuBar
634 item, then this action unposts the current submenu only.
635
636 In Popup or Torn-off MenuPanes, when the current menu item is
637 at the left edge, this action wraps within the MenuPane. If
638 the current menu item is at the left edge of the MenuPane and
639 not in the top row, this action wraps to the rightmost menu
640 item in the row above. If the current menu item is in the
641 upper, leftmost corner, this action wraps to the tear-off
642 control, if present, or else it wraps to the bottom, right‐
643 most menu item in the MenuPane. The preceding description
644 applies when the XmNlayoutDirection horizontal direction is
645 XmLEFT_TO_RIGHT. If the XmNlayoutDirection horizontal direc‐
646 tion is XmRIGHT_TO_LEFT, then the following applies.
647
648 If the current menu item is in a MenuBar, then this action
649 disarms the current item and arms the MenuBar item to the
650 left. This action wraps within the MenuBar.
651
652 In MenuPanes, if the current menu item is a CascadeButton,
653 then this action posts its associated submenu. If the cur‐
654 rent menu item is not a CascadeButton and is not at the left
655 edge of a MenuPane, this action disarms the current item and
656 arms the item to its left, wrapping if necessary. If the
657 current menu item is not a CascadeButton and is at the left
658 edge of a submenu that is a descendent of a MenuBar, then
659 this action unposts all submenus and traverses to the MenuBar
660 item to the left. If that MenuBar item has a submenu, it
661 posts the submenu and arms the submenu's first traversable
662 item.
663
664 In Popup or Torn-off menus, if the current menu item is not a
665 CascadeButton and is at the left edge of a row (except the
666 bottom row), this action wraps to the rightmost menu item in
667 the row below. If the current menu item is not a CascadeBut‐
668 ton and is in the bottom, leftmost corner of a Popup or Pull‐
669 down MenuPane, this action wraps to the tear-off control, if
670 present, or else it wraps to the top, rightmost menu item of
671 the MenuPane.
672
673 MenuTraverseRight():
674 If the current menu item is in a MenuBar, then this action
675 disarms the current item and arms the MenuBar item to the
676 right. This action wraps within the MenuBar.
677
678 In MenuPanes, if the current menu item is a CascadeButton,
679 then this action posts its associated submenu. If the cur‐
680 rent menu item is not a CascadeButton and is not at the right
681 edge of a MenuPane, this action disarms the current item and
682 arms the item to its right, wrapping if necessary. If the
683 current menu item is not a CascadeButton and is at the right
684 edge of a submenu that is a descendent of a MenuBar, then
685 this action unposts all submenus and traverses to the MenuBar
686 item to the right. If that MenuBar item has a submenu, it
687 posts the submenu and arms the submenu's first traversable
688 item.
689
690 In Popup or Torn-off menus, if the current menu item is not a
691 CascadeButton and is at the right edge of a row (except the
692 bottom row), this action wraps to the leftmost menu item in
693 the row below. If the current menu item is not a CascadeBut‐
694 ton and is in the bottom, rightmost corner of a Popup or
695 Pulldown MenuPane, this action wraps to the tear-off control,
696 if present, or else it wraps to the top, leftmost menu item
697 of the MenuPane. The preceding description applies when the
698 XmNlayoutDirection horizontal direction is XmLEFT_TO_RIGHT.
699 If the XmNlayoutDirection horizontal direction is
700 XmRIGHT_TO_LEFT, then the following applies. When the cur‐
701 rent menu item is in a MenuBar, then this action disarms the
702 current item and arms the MenuBar item to the left. This
703 action wraps within the MenuBar.
704
705 In MenuPanes, if the current menu item is not at the right
706 edge of a MenuPane, this action disarms the current item and
707 arms the item to its right. If the current menu item is at
708 the right edge of a submenu attached to a MenuBar item, then
709 this action unposts the submenu and traverses to the MenuBar
710 item to the right, wrapping if necessary. If that MenuBar
711 item has a submenu, it posts the submenu and arms the first
712 traversable item in the submenu. If the current menu item is
713 at the right edge of a submenu not directly attached to a
714 MenuBar item, then this action unposts the current submenu
715 only.
716
717 In Popup or Torn-off MenuPanes, when the current menu item is
718 at the right edge, this action wraps within the MenuPane. If
719 the current menu item is at the right edge of the MenuPane
720 and not in the top row, this action wraps to the leftmost
721 menu item in the row above. If the current menu item is in
722 the upper, rightmost corner, this action wraps to the tear-
723 off control, if present, or else it wraps to the bottom,
724 leftmost menu item in the MenuPane.
725
726 MenuTraverseUp():
727 When the current menu item is in a MenuPane, then this action
728 disarms the current menu item and arms the item above it.
729 This action wraps within the MenuPane. The direction of the
730 wrapping depends on the XmNlayoutDirection resource.
731
732 ProcessDrag():
733 Drags the contents of a Label, identified when BTransfer is
734 pressed. This action sets the XmNconvertProc of the DragCon‐
735 text to a function that calls the XmNconvertCallback proce‐
736 dures, possibly multiple times, for the _MOTIF_DROP selec‐
737 tion. This action is undefined for Labels used in a menu
738 system.
739
740 Virtual Bindings
741 The bindings for virtual keys are vendor specific. For information
742 about bindings for virtual buttons and keys, see VirtualBindings(3).
743
745 Core(3), XmCreateLabel(3), XmFontListAppendEntry(3), XmStringCreate(3),
746 XmStringCreateLtoR(3), XmPrimitive(3), XmVaCreateLabel(3), and XmVaCre‐
747 ateManagedLabel(3).
748
749
750
751 XmLabel(library call)