XmLabel(3X)

XmLabel --The Label widget class

As shipped in IRIX 6.5.7. Unchanged since IRIX 6.5.

NAME
     XmLabel --The Label widget class

SYNOPSIS
     #include <Xm/Label.h>


VERSION
     This page documents version 1.2 of the Motif library.

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 call-
     back 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  multi-
     font.   When a Label is insensitive, its text is stippled, or the user-sup-
     plied 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  la-
     bel 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 sub-
     classes 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  in-
     side 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 program-
     mer 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 re-
     maining letters (in either lowercase or uppercase, but include  any  under-
     scores  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 acti-
               vates a visible or invisible, but managed, button from  the  key-
               board.   This  resource is a string that describes a set of modi-
               fiers and the key that may be used to  select  the  button.   The
               format  of  this string is identical to that used by the transla-
               tions 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 ToggleBut-
               tons in Pulldown and Popup Menus.

     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 XmNstringDi-
                 rection is XmSTRING_DIRECTION_L_TO_R.  When  that  resource  is
                 XmSTRING_DIRECTION_R_TO_L, the descriptions for XmALIGNMENT_BE-
                 GINNING 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  RowCol-
                 umn's  XmNentryAlignment if the RowColumn's XmNrowColumnType is
                 XmWORK_AREA or if the widget is a subclass of XmLabel.   Other-
                 wise, 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 look-
               ing 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 Xm-
               FontList(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, XmUN-
               SPECIFIED_PIXMAP, displays an empty label.

     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 XmNlabelIn-
                    sensitivePixmap.


     XmNmarginBottom
               Specifies  the  amount of spacing between the bottom of the label
               text and the top of the bottom  margin  specified  by  XmNmargin-
               Height.   This  may be modified by Label's subclasses.  For exam-
               ple, 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. Xm-
               NmarginHeight 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 la-
               bel text and the right side of the left margin (specified by XmN-
               marginWidth).  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 la-
               bel text and the left side of the right margin (specified by XmN-
               marginWidth).  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  XmNstringDi-
               rection.

     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,  Cas-
               cadeButton  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  spac-
               ing  between the left edge of the margin set by XmNmarginLeft and
               the right edge of the left shadow, and the amount of spacing  be-
               tween  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 ta-
               ble.  The first  character  in  the  label  string  that  exactly
               matches the mnemonic in the character set specified in XmNmnemon-
               icCharSet 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  press-
               ing  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.   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 su-
     perclass.

                                    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
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 transla-
     tion 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 transla-
     tion 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 XmEX-
               PLICIT, restores keyboard focus to the widget that had the  focus
               before the menu system was entered.  Calls the callbacks for XmN-
               helpCallback  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 key-
               board focus to the widget that had the focus 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, un-
     posts 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 dis-
               arms the current menu item and arms the item below it.  This  ac-
               tion 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 Menu-
               Pane, 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 dis-
               arms 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 Menu-
     Pane, 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 di-
     rectly  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 bottom, rightmost menu item in the
     MenuPane.

     MenuTraverseRight():
               If the current menu item is in a MenuBar, then this  action  dis-
               arms  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  Cascade-
     Button  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 sub-
     menu that is a descendent of a MenuBar, then this action unposts  all  sub-
     menus 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 traversa-
     ble 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 bottom-
               most  menu  item  in the column to the left, if one exists.  When
               the current menu item is at the top, leftmost corner of the Menu-
               Pane, 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).

                                                                     XmLabel(3X)