XmLabel(3X) OSF/Motif XmLabel(3X)NAMEXmLabel - The Label widget class
SYNOPSIS
#include <Xm/Label.h>
DESCRIPTION
Label is an instantiable widget and is also used as a superclass for
other button widgets, such as PushButton and ToggleButton. The Label
widget does not accept any button or key input, and the help callback
is the only callback defined. Label also receives enter and leave
events.
Label can contain either text or a pixmap. Label text is a compound
string. Refer to the OSF/Motif Programmer's Guide for more information
on compound strings. The text can be multilingual, multiline, and/or
multifont. When a Label is insensitive, its text is stippled, or the
user-supplied insensitive pixmap is displayed.
Label supports both accelerators and mnemonics primarily for use in
Label subclass widgets that are contained in menus. Mnemonics are
available in a menu system when the button is visible. Accelerators in
a menu system are accessible even when the button is not visible. The
Label widget displays the mnemonic by underlining the first matching
character in the text string. The accelerator is displayed as a text
string adjacent to the label text or pixmap.
Label consists of many margin fields surrounding the text or pixmap.
These margin fields are resources that may be set by the user, but
Label subclasses and Manager parents also modify some of these fields.
They tend to modify the XmNmarginLeft, XmNmarginRight, XmNmarginTop,
and XmNmarginBottom resources and leave the XmNmarginWidth and XmN‐
marginHeight resources as set by the application.
Label takes into account XmNshadowThickness in determining its layout
but does not draw the shadow. That is, if XmNshadowThickness is
greater than 0, Label leaves space for the shadow, but the shadow does
not appear.
In a Label XmNtraversalOn and XmNhighlightOnEnter are forced to False
inside Popup MenuPanes, Pulldown MenuPanes, and OptionMenus. Otherwise
these resources default to False.
Classes
Label inherits behavior and resources from Core and XmPrimitive
Classes.
The class pointer is xmLabelWidgetClass.
The class name is XmLabel.
New Resources
The following table defines a set of widget resources used by the pro‐
grammer to specify data. The programmer can also set the resource val‐
ues for the inherited classes to set attributes for this widget. To
reference a resource by name or by class in a .Xdefaults file, remove
the XmN or XmC prefix and use the remaining letters. To specify one of
the defined values for a resource in a .Xdefaults file, remove the Xm
prefix and use the remaining letters (in either lowercase or uppercase,
but include any underscores between words). The codes in the access
column indicate if the given resource can be set at creation time (C),
set by using XtSetValues (S), retrieved by using XtGetValues (G), or is
not applicable (N/A).
XmLabel Resource Set
────────────────────────────────────────────────────────────────────
Name Default Access
Class Type
────────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────────
XmNaccelerator NULL CSG
XmCAccelerator String
────────────────────────────────────────────────────────────────────
XmNacceleratorText NULL CSG
XmCAcceleratorText XmString
────────────────────────────────────────────────────────────────────
XmNalignment dynamic CSG
XmCAlignment unsigned char
────────────────────────────────────────────────────────────────────
XmNfontList dynamic CSG
XmCFontList XmFontList
────────────────────────────────────────────────────────────────────
XmNlabelInsensitivePixmap XmUNSPECIFIED_PIXMAP CSG
XmCLabelInsensitivePixmap Pixmap
────────────────────────────────────────────────────────────────────
XmNlabelPixmap XmUNSPECIFIED_PIXMAP CSG
XmCLabelPixmap Pixmap
────────────────────────────────────────────────────────────────────
XmNlabelString dynamic CSG
XmCXmString XmString
────────────────────────────────────────────────────────────────────
XmNlabelType XmSTRING CSG
XmCLabelType unsigned char
────────────────────────────────────────────────────────────────────
XmNmarginBottom 0 CSG
XmCMarginBottom Dimension
────────────────────────────────────────────────────────────────────
XmNmarginHeight 2 CSG
XmCMarginHeight Dimension
────────────────────────────────────────────────────────────────────
XmNmarginLeft 0 CSG
XmCMarginLeft Dimension
────────────────────────────────────────────────────────────────────
XmNmarginRight 0 CSG
XmCMarginRight Dimension
────────────────────────────────────────────────────────────────────
XmNmarginTop 0 CSG
XmCMarginTop Dimension
────────────────────────────────────────────────────────────────────
XmNmarginWidth 2 CSG
XmCMarginWidth Dimension
────────────────────────────────────────────────────────────────────
XmNmnemonic NULL CSG
XmCMnemonic KeySym
────────────────────────────────────────────────────────────────────
XmNmnemonicCharSet XmFONTLIST_DEFAULT_TAG CSG
XmCMnemonicCharSet String
────────────────────────────────────────────────────────────────────
XmNrecomputeSize True CSG
XmCRecomputeSize Boolean
────────────────────────────────────────────────────────────────────
XmNstringDirection dynamic CSG
XmCStringDirection XmStringDirection
────────────────────────────────────────────────────────────────────
Sets the accelerator on a button widget in a menu, which activates a
visible or invisible, but managed, button from the keyboard. This
resource is a string that describes a set of modifiers and the key that
may be used to select the button. The format of this string is identi‐
cal to that used by the translations manager, with the exception that
only a single event may be specified and only KeyPress events are
allowed.
Accelerators for buttons are supported only for PushButtons and Toggle‐
Buttons in Pulldown and Popup MenuPanes. Specifies the text displayed
for the accelerator. The text is displayed adjacent to the label
string or pixmap. Accelerator text for buttons is displayed only for
PushButtons and ToggleButtons in Pulldown and Popup Menus. Specifies
the label alignment for text or pixmap. XmALIGNMENT_BEGINNING (left
alignment)—causes the left sides of the lines of text to be vertically
aligned with the left edge of the widget window. For a pixmap, its
left side is vertically aligned with the left edge of the widget win‐
dow. XmALIGNMENT_CENTER (center alignment)—causes the centers of the
lines of text to be vertically aligned in the center of the widget win‐
dow. For a pixmap, its center is vertically aligned with the center of
the widget window. XmALIGNMENT_END (right alignment)—causes the right
sides of the lines of text to be vertically aligned with the right edge
of the widget window. For a pixmap, its right side is vertically
aligned with the right edge of the widget window.
The above descriptions for text are correct when XmNstringDirection is
XmSTRING_DIRECTION_L_TO_R. When that resource is XmSTRING_DIREC‐
TION_R_TO_L, the descriptions for XmALIGNMENT_BEGINNING and XmALIGN‐
MENT_END are switched.
If the parent is a RowColumn whose XmNisAligned resource is True,
XmNalignment is forced to the same value as the RowColumn's XmNen‐
tryAlignment if the RowColumn's XmNrowColumnType is XmWORK_AREA or if
the widget is a subclass of XmLabel. Otherwise, the default is XmA‐
LIGNMENT_CENTER. Specifies the font of the text used in the widget.
If this value is NULL at initialization, the font list is initialized
by looking up the parent hierarchy of the widget for an ancestor that
is a subclass of the XmBulletinBoard, VendorShell, or XmMenuShell wid‐
get class. If such an ancestor is found, the font list is initialized
to the XmNbuttonFontList (for button subclasses) or XmNlabelFontList
of the ancestor widget. If no such ancestor is found, the default is
implementation dependent. Refer to XmFontList(3X) for more information
on the creation and structure of a font list. Specifies a pixmap used
as the button face if XmNlabelType is XmPIXMAP and the button is insen‐
sitive. The default value, XmUNSPECIFIED_PIXMAP, displays an empty
label. Specifies the pixmap when XmNlabelType is XmPIXMAP. The
default value, XmUNSPECIFIED_PIXMAP, displays an empty label. Speci‐
fies the compound string when the XmNlabelType is XmSTRING. If this
value is NULL, it is initialized by converting the name of the widget
to a compound string. Refer to XmString(3X) for more information on
the creation and structure of compound strings. Specifies the label
type. XmSTRING—displays text using XmNlabelString. XmPIXMAP—displays
pixmap using XmNlabelPixmap or XmNlabelInsensitivePixmap. Specifies
the amount of spacing between the bottom of the label text and the top
of the bottom margin specified by XmNmarginHeight. This may be modi‐
fied by Label's subclasses. For example, CascadeButton may increase
this field to make room for the cascade pixmap. Specifies an equal
amount of spacing above the margin defined by XmNmarginTop and below
the margin defined by XmNmarginBottom. XmNmarginHeight specifies the
amount of spacing between the top edge of the margin set by XmNmargin‐
Top and the bottom edge of the top shadow, and the amount of spacing
between the bottom edge of the margin specified by XmNmarginBottom and
the top edge of the bottom shadow. Specifies the amount of spacing
between the left edge of the label text and the right side of the left
margin (specified by XmNmarginWidth). This may be modified by Label's
subclasses. For example, ToggleButton may increase this field to make
room for the toggle indicator and for spacing between the indicator and
label. Whether this actually applies to the left or right side of the
label may depend on the value of XmNstringDirection. Specifies the
amount of spacing between the right edge of the label text and the left
side of the right margin (specified by XmNmarginWidth). This may be
modified by Label's subclasses. For example, CascadeButton may
increase this field to make room for the cascade pixmap. Whether this
actually applies to the left or right side of the label may depend on
the value of XmNstringDirection. Specifies the amount of spacing
between the top of the label text and the bottom of the top margin
specified by XmNmarginHeight. This may be modified by Label's sub‐
classes. For example, CascadeButton may increase this field to make
room for the cascade pixmap. Specifies an equal amount of spacing to
the left of the margin defined by XmNmarginLeft and to the right of the
margin defined by XmNmarginRight. XmNmarginWidth specifies the amount
of spacing between the left edge of the margin set by XmNmarginLeft and
the right edge of the left shadow, and the amount of spacing between
the right edge of the margin specified by XmNmarginRight and the left
edge of the right shadow. Provides the user with an alternate means of
activating a button. A button in a MenuBar, a Popup MenuPane, or a
Pulldown MenuPane can have a mnemonic.
This resource contains a keysym as listed in the X11 keysym table. The
first character in the label string that exactly matches the mnemonic
in the character set specified in XmNmnemonicCharSet is underlined when
the button is displayed.
When a mnemonic has been specified, the user activates the button by
pressing the mnemonic key while the button is visible. If the button
is a CascadeButton in a MenuBar and the MenuBar does not have the
focus, the user must use the MAlt modifier while pressing the mnemonic.
The user can activate the button by pressing either the shifted or the
unshifted mnemonic key. Specifies the character set of the mnemonic
for the label. The default is XmFONTLIST_DEFAULT_TAG. Specifies a
Boolean value that indicates whether the widget shrinks or expands to
accommodate its contents (label string or pixmap) as a result of an
XtSetValues resource value that would change the size of the widget.
If True, the widget shrinks or expands to exactly fit the label string
or pixmap. If False, the widget never attempts to change size on its
own. Specifies the direction in which the string is to be drawn. The
following are the values: XmSTRING_DIRECTION_L_TO_R—left to right
XmSTRING_DIRECTION_R_TO_L—right to left
The default for this resource is determined at creation time. If no
value is specified for this resource and the widget's parent is a man‐
ager, the value is inherited from the parent; otherwise, it defaults to
XmSTRING_DIRECTION_L_TO_R.
Inherited Resources
Label inherits behavior and resources from the following superclasses.
For a complete description of each resource, refer to the man page for
that superclass.
XmPrimitive Resource Set
───────────────────────────────────────────────────────────────
Name Default Access
Class Type
───────────────────────────────────────────────────────────────
───────────────────────────────────────────────────────────────
XmNbottomShadowColor dynamic CSG
XmCBottomShadowColor Pixel
───────────────────────────────────────────────────────────────
XmNbottomShadowPixmap XmUNSPECIFIED_PIXMAP CSG
XmCBottomShadowPixmap Pixmap
───────────────────────────────────────────────────────────────
XmNforeground dynamic CSG
XmCForeground Pixel
───────────────────────────────────────────────────────────────
XmNhelpCallback NULL C
XmCCallback XtCallbackList
───────────────────────────────────────────────────────────────
XmNhighlightColor dynamic CSG
XmCHighlightColor Pixel
───────────────────────────────────────────────────────────────
XmNhighlightOnEnter False CSG
XmCHighlightOnEnter Boolean
───────────────────────────────────────────────────────────────
XmNhighlightPixmap dynamic CSG
XmCHighlightPixmap Pixmap
───────────────────────────────────────────────────────────────
XmNhighlightThickness 0 CSG
XmCHighlightThickness Dimension
───────────────────────────────────────────────────────────────
XmNnavigationType XmNONE CSG
XmCNavigationType XmNavigationType
───────────────────────────────────────────────────────────────
XmNshadowThickness 0 CSG
XmCShadowThickness Dimension
───────────────────────────────────────────────────────────────
XmNtopShadowColor dynamic CSG
XmCTopShadowColor Pixel
───────────────────────────────────────────────────────────────
XmNtopShadowPixmap dynamic CSG
XmCTopShadowPixmap Pixmap
───────────────────────────────────────────────────────────────
XmNtraversalOn False CSG
XmCTraversalOn Boolean
───────────────────────────────────────────────────────────────
XmNunitType dynamic CSG
XmCUnitType unsigned char
───────────────────────────────────────────────────────────────
XmNuserData NULL CSG
XmCUserData XtPointer
───────────────────────────────────────────────────────────────
Core Resource Set
─────────────────────────────────────────────────────────────────────
Name Default Access
Class Type
─────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────
XmNaccelerators dynamic CSG
XmCAccelerators XtAccelerators
─────────────────────────────────────────────────────────────────────
XmNancestorSensitive dynamic G
XmCSensitive Boolean
─────────────────────────────────────────────────────────────────────
XmNbackground dynamic CSG
XmCBackground Pixel
─────────────────────────────────────────────────────────────────────
XmNbackgroundPixmap XmUNSPECIFIED_PIXMAP CSG
XmCPixmap Pixmap
─────────────────────────────────────────────────────────────────────
XmNborderColor XtDefaultForeground CSG
XmCBorderColor Pixel
─────────────────────────────────────────────────────────────────────
XmNborderPixmap XmUNSPECIFIED_PIXMAP CSG
XmCPixmap Pixmap
─────────────────────────────────────────────────────────────────────
XmNborderWidth 0 CSG
XmCBorderWidth Dimension
─────────────────────────────────────────────────────────────────────
XmNcolormap dynamic CG
XmCColormap Colormap
─────────────────────────────────────────────────────────────────────
XmNdepth dynamic CG
XmCDepth int
─────────────────────────────────────────────────────────────────────
XmNdestroyCallback NULL C
XmCCallback XtCallbackList
─────────────────────────────────────────────────────────────────────
XmNheight dynamic CSG
XmCHeight Dimension
─────────────────────────────────────────────────────────────────────
XmNinitialResourcesPersistent True C
XmCInitialResourcesPersistent Boolean
─────────────────────────────────────────────────────────────────────
XmNmappedWhenManaged True CSG
XmCMappedWhenManaged Boolean
─────────────────────────────────────────────────────────────────────
XmNscreen dynamic CG
XmCScreen Screen *
─────────────────────────────────────────────────────────────────────
XmNsensitive True CSG
XmCSensitive Boolean
─────────────────────────────────────────────────────────────────────
XmNtranslations dynamic CSG
XmCTranslations XtTranslations
─────────────────────────────────────────────────────────────────────
XmNwidth dynamic CSG
XmCWidth Dimension
─────────────────────────────────────────────────────────────────────
XmNx 0 CSG
XmCPosition Position
─────────────────────────────────────────────────────────────────────
XmNy 0 CSG
XmCPosition Position
─────────────────────────────────────────────────────────────────────
Translations
XmLabel includes translations from Primitive. The XmLabel translations
are listed below. These translations may not directly correspond to a
translation table. BDrag Press: ProcessDrag()
KHelp: Help() The translations used by subclasses of XmLabel
for menu traversal are listed below. These translations may not
directly correspond to a translation table. KLeft: MenuTra‐
verseLeft() KRight: MenuTraverseRight() KUp: MenuTra‐
verseUp() KDown: MenuTraverseDown() MAny KCancel: MenuEscape()
Action Routines
The XmLabel action routines are described below: In a Popup or Pulldown
MenuPane, unposts all menus in the menu hierarchy and, when the shell's
keyboard focus policy is XmEXPLICIT, restores keyboard focus to the
widget that had the focus before the menu system was entered. Calls
the callbacks for XmNhelpCallback if any exist. If there are no help
callbacks for this widget, this action calls the help callbacks for the
nearest ancestor that has them. In a MenuBar, disarms the CascadeBut‐
ton and the menu and, when the shell's keyboard focus policy is XmEX‐
PLICIT, restores keyboard focus to the widget that had the focus before
the menu was entered.
In a toplevel Pulldown MenuPane from a MenuBar, unposts the menu, dis‐
arms the MenuBar CascadeButton and the MenuBar, and, when the shell's
keyboard focus policy is XmEXPLICIT, restores keyboard focus to the
widget that had the focus before the MenuBar was entered. In other
Pulldown MenuPanes, unposts the menu and moves the focus to its Cas‐
cadeButton.
In a Popup MenuPane, unposts the menu and, when the shell's keyboard
focus policy is XmEXPLICIT, restores keyboard focus to the widget from
which the menu was posted. If the current menu item has a submenu and
is in a MenuBar, then this action posts the submenu, disarms the cur‐
rent menu item, and arms the submenu's first traversable menu item.
If the current menu item is in a MenuPane, then this action disarms the
current menu item and arms the item below it. This action wraps within
the MenuPane. When the current menu item is at the MenuPane's bottom
edge, then this action wraps to the topmost menu item in the column to
the right, if one exists. When the current menu item is at the bottom,
rightmost corner of the MenuPane, then this action wraps to the tear-
off control, if present, or to the top, leftmost menu item. When the
current menu item is in a MenuBar, then this action disarms the current
item and arms the MenuBar item to the left. This action wraps within
the MenuBar.
In MenuPanes, if the current menu item is not at the left edge of a
MenuPane, this action disarms the current item and arms the item to its
left. If the current menu item is at the left edge of a submenu
attached to a MenuBar item, then this action unposts the submenu and
traverses to the MenuBar item to the left, wrapping if necessary. If
that MenuBar item has a submenu, it posts the submenu and arms the
first traversable item in the submenu. If the current menu item is at
the left edge of a submenu not directly attached to a MenuBar item,
then this action unposts the current submenu only.
In Popup or Torn-off MenuPanes, when the current menu item is at the
left edge, this action wraps within the MenuPane. If the current menu
item is at the left edge of the MenuPane and not in the top row, this
action wraps to the rightmost menu item in the row above. If the cur‐
rent menu item is in the upper, leftmost corner, this action wraps to
the tear-off control, if present, or else it wraps to the bottom,
rightmost menu item in the MenuPane. If the current menu item is in a
MenuBar, then this action disarms the current item and arms the MenuBar
item to the right. This action wraps within the MenuBar.
In MenuPanes, if the current menu item is a CascadeButton, then this
action posts its associated submenu. If the current menu item is not a
CascadeButton and is not at the right edge of a MenuPane, this action
disarms the current item and arms the item to its right, wrapping if
necessary. If the current menu item is not a CascadeButton and is at
the right edge of a submenu that is a descendent of a MenuBar, then
this action unposts all submenus and traverses to the MenuBar item to
the right. If that MenuBar item has a submenu, it posts the submenu
and arms the submenu's first traversable item.
In Popup or Torn-off menus, if the current menu item is not a Cascade‐
Button and is at the right edge of a row (except the bottom row), this
action wraps to the leftmost menu item in the row below. If the cur‐
rent menu item is not a CascadeButton and is in the bottom, rightmost
corner of a Popup or Pulldown MenuPane, this action wraps to the tear-
off control, if present, or else it wraps to the top, leftmost menu
item of the MenuPane. When the current menu item is in a MenuPane,
then this action disarms the current menu item and arms the item above
it. This action wraps within the MenuPane. When the current menu item
is at the MenuPane's top edge, then this action wraps to the bottommost
menu item in the column to the left, if one exists. When the current
menu item is at the top, leftmost corner of the MenuPane, then this
action wraps to the tear-off control, if present, or to the bottom,
rightmost menu item. Drags the contents of a Label, identified by
pressing BDrag. This action creates a DragContext object whose XmNex‐
portTargets resource is set to "COMPOUND_TEXT" for a label type of
XmSTRING; otherwise, "PIXMAP" if the label type is XmPIXMAP. This
action is undefined for Labels used in a menu system.
Virtual Bindings
The bindings for virtual keys are vendor specific. For information
about bindings for virtual buttons and keys, see VirtualBindings(3X).
RELATED INFORMATIONCore(3X), XmCreateLabel(3X), XmFontListAppendEntry(3X), XmStringCre‐
ate(3X), XmStringCreateLtoR(3X), and XmPrimitive(3X).
XmLabel(3X)