XmLabel(3X) X11 SDE 5.4R3.00 XmLabel(3X)
NAME
XmLabel--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 XmNmarginHeight 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
Licensed material--property of copyright holder(s) 1
XmLabel(3X) X11 SDE 5.4R3.00 XmLabel(3X)
programmer to specify data. The programmer can also set the resource
values 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 Class Type Default Access
------------------------------------------------------------------------------------------------------------
XmNaccelerator XmCAccelerator String NULL CSG
XmNacceleratorText XmCAcceleratorText XmString NULL CSG
XmNalignment XmCAlignment unsigned char dynamic CSG
XmNfontList XmCFontList XmFontList dynamic CSG
XmNlabelInsensitivePixmap XmCLabelInsensitivePixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNlabelPixmap XmCLabelPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNlabelString XmCXmString XmString dynamic CSG
XmNlabelType XmCLabelType unsigned char XmSTRING CSG
XmNmarginBottom XmCMarginBottom Dimension 0 CSG
XmNmarginHeight XmCMarginHeight Dimension 2 CSG
XmNmarginLeft XmCMarginLeft Dimension 0 CSG
XmNmarginRight XmCMarginRight Dimension 0 CSG
XmNmarginTop XmCMarginTop Dimension 0 CSG
XmNmarginWidth XmCMarginWidth Dimension 2 CSG
XmNmnemonic XmCMnemonic KeySym NULL CSG
XmNmnemonicCharSet XmCMnemonicCharSet String XmFONTLIST_DEFAULT_TAG CSG
XmNrecomputeSize XmCRecomputeSize Boolean True CSG
XmNstringDirection XmCStringDirection XmStringDirection dynamic CSG
XmNaccelerator
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 identical 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 ToggleButtons in Pulldown and Popup MenuPanes.
XmNacceleratorText
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.
Licensed material--property of copyright holder(s) 2
XmLabel(3X) X11 SDE 5.4R3.00 XmLabel(3X)
XmNalignment
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 window.
⊕ XmALIGNMENT_CENTER (center alignment)--causes the
centers of the lines of text to be vertically aligned
in the center of the widget window. 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_DIRECTION_R_TO_L, the descriptions for
XmALIGNMENT_BEGINNING and XmALIGNMENT_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 XmNentryAlignment if the RowColumn's
XmNrowColumnType is XmWORK_AREA or if the widget is a
subclass of XmLabel. Otherwise, the default is
XmALIGNMENT_CENTER.
XmNfontList
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 widget 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.
XmNlabelInsensitivePixmap
Specifies a pixmap used as the button face if XmNlabelType
is XmPIXMAP and the button is insensitive. The default
value, XmUNSPECIFIED_PIXMAP, displays an empty label.
Licensed material--property of copyright holder(s) 3
XmLabel(3X) X11 SDE 5.4R3.00 XmLabel(3X)
XmNlabelPixmap
Specifies the pixmap when XmNlabelType is XmPIXMAP. The
default value, XmUNSPECIFIED_PIXMAP, displays an empty
label.
XmNlabelString
Specifies 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.
XmNlabelType
Specifies the label type.
⊕ XmSTRING--displays text using XmNlabelString.
⊕ XmPIXMAP--displays pixmap using XmNlabelPixmap or
XmNlabelInsensitivePixmap.
XmNmarginBottom
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 modified by Label's
subclasses. For example, CascadeButton may increase this
field to make room for the cascade pixmap.
XmNmarginHeight
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
XmNmarginTop 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.
XmNmarginLeft
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.
XmNmarginRight
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
Licensed material--property of copyright holder(s) 4
XmLabel(3X) X11 SDE 5.4R3.00 XmLabel(3X)
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.
XmNmarginTop
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
subclasses. For example, CascadeButton may increase this
field to make room for the cascade pixmap.
XmNmarginWidth
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.
XmNmnemonic
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.
XmNmnemonicCharSet
Specifies the character set of the mnemonic for the label.
Licensed material--property of copyright holder(s) 5
XmLabel(3X) X11 SDE 5.4R3.00 XmLabel(3X)
The default is XmFONTLIST_DEFAULT_TAG.
XmNrecomputeSize
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.
XmNstringDirection
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 manager, 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 Class Type Default Access
-------------------------------------------------------------------------------------------------
XmNbottomShadowColor XmCBottomShadowColor Pixel dynamic CSG
XmNbottomShadowPixmap XmCBottomShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNforeground XmCForeground Pixel dynamic CSG
XmNhelpCallback XmCCallback XtCallbackList NULL C
XmNhighlightColor XmCHighlightColor Pixel dynamic CSG
XmNhighlightOnEnter XmCHighlightOnEnter Boolean False CSG
XmNhighlightPixmap XmCHighlightPixmap Pixmap dynamic CSG
XmNhighlightThickness XmCHighlightThickness Dimension 0 CSG
XmNnavigationType XmCNavigationType XmNavigationType XmNONE CSG
XmNshadowThickness XmCShadowThickness Dimension 0 CSG
XmNtopShadowColor XmCTopShadowColor Pixel dynamic CSG
XmNtopShadowPixmap XmCTopShadowPixmap Pixmap dynamic CSG
XmNtraversalOn XmCTraversalOn Boolean False CSG
XmNunitType XmCUnitType unsigned char dynamic CSG
XmNuserData XmCUserData XtPointer NULL CSG
Core Resource Set
Licensed material--property of copyright holder(s) 6
XmLabel(3X) X11 SDE 5.4R3.00 XmLabel(3X)
Name Class Type Default Access
---------------------------------------------------------------------------------------------------------------
XmNaccelerators XmCAccelerators XtAccelerators dynamic CSG
XmNancestorSensitive XmCSensitive Boolean dynamic G
XmNbackground XmCBackground Pixel dynamic CSG
XmNbackgroundPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderColor XmCBorderColor Pixel XtDefaultForeground CSG
XmNborderPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderWidth XmCBorderWidth Dimension 0 CSG
XmNcolormap XmCColormap Colormap dynamic CG
XmNdepth XmCDepth int dynamic CG
XmNdestroyCallback XmCCallback XtCallbackList NULL C
XmNheight XmCHeight Dimension dynamic CSG
XmNinitialResourcesPersistent XmCInitialResourcesPersistent Boolean True C
XmNmappedWhenManaged XmCMappedWhenManaged Boolean True CSG
XmNscreen XmCScreen Screen * dynamic CG
XmNsensitive XmCSensitive Boolean True CSG
XmNtranslations XmCTranslations XtTranslations dynamic CSG
XmNwidth XmCWidth Dimension dynamic CSG
XmNx XmCPosition Position 0 CSG
XmNy XmCPosition Position 0 CSG
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: MenuTraverseLeft() KRight: MenuTraverseRight()
KUp: MenuTraverseUp() KDown: MenuTraverseDown()
MAny KCancel: MenuEscape()
Action Routines
The XmLabel action routines are described below:
Help(): 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.
MenuEscape():
In a MenuBar, disarms the CascadeButton and the menu and,
when the shell's keyboard focus policy is XmEXPLICIT,
restores keyboard focus to the widget that had the focus
Licensed material--property of copyright holder(s) 7
XmLabel(3X) X11 SDE 5.4R3.00 XmLabel(3X)
before the menu was entered.
In a toplevel Pulldown MenuPane from a MenuBar, unposts the menu,
disarms 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
CascadeButton.
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.
MenuTraverseDown():
If the current menu item has a submenu and is in a MenuBar,
then this action posts the submenu, disarms the current
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.
MenuTraverseLeft():
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 current menu item is in the upper, leftmost corner, this action
wraps to the tear-off control, if present, or else it wraps to the
Licensed material--property of copyright holder(s) 8
XmLabel(3X) X11 SDE 5.4R3.00 XmLabel(3X)
bottom, rightmost menu item in the MenuPane.
MenuTraverseRight():
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
CascadeButton 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 current 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.
MenuTraverseUp():
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.
ProcessDrag():
Drags the contents of a Label, identified by pressing
BDrag. This action creates a DragContext object whose
XmNexportTargets 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 INFORMATION
Core(3X), XmCreateLabel(3X), XmFontListAppendEntry(3X),
XmStringCreate(3X), XmStringCreateLtoR(3X), and XmPrimitive(3X).
Licensed material--property of copyright holder(s) 9