XmLabelGadget(3Xm)

NAME
XmLabelGadget — the LabelGadget widget class.

SYNOPSIS
#include <Xm/LabelG.h>

DESCRIPTION
LabelGadget is an instantiable widget and is also used as a superclass for other button gadgets, such as PushButtonGadget and ToggleButtonGadget. The LabelGadget widget does not accept any button or key input, and the help callback is the only callback defined. LabelGadget also receives enter and leave events.

LabelGadget can contain either text or a pixmap. LabelGadget text is a compound string. Refer to XmString for more information on compound strings. The text can be multidirectional, multiline, and/or multifont. When a LabelGadget is insensitive, its text is stippled, or the user supplied insensitive pixmap is displayed.

LabelGadget supports both accelerators and mnemonics primarily for use in LabelGadget 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 LabelGadget displays the mnemonic by underlining the first matching character in the text string. The accelerator is displayed as a text string to the right of the label text or pixmap.

LabelGadget consists of many margin fields surrounding the text or pixmap. These margin fields are resources that may be set by the user, but LabelGadget subclasses also modify some of these fields. The subclasses tend to modify the XmNmarginLeft, XmNmarginRight, XmNmarginTop, and XmNmarginBottom resources and leave the XmNmarginWidth and XmNmarginHeight resources as set by the application.

  Classes
LabelGadget inherits behavior and resources from Object, RectObj and XmGadget classes.

The class pointer is xmLabelGadgetClass.

The class name is XmLabelGadget.

  New Resources
The following table defines a set of widget resources used by the 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 lower case or upper case, 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).

XmLabelGadget Resource Set
Name | Class | Type | Default | Access
XmNaccelerator | XmCAccelerator | String | NULL | CSG
XmNacceleratorText | XmCAcceleratorText | XmString | NULL | CSG
XmNalignment | XmCAlignment | unsigned char | XmALIGNMENT_CENTER | CSG
XmNfontList | XmCFontList | XmFontList | "Fixed" | CSG
XmNlabelInsensitivePixmap | XmCLabelInsensitivePixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG
XmNlabelPixmap | XmCPixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG
XmNlabelString | XmCXmString | XmString | NULL | CSG
XmNlabelType | XmCLabelType | unsigned char | XmSTRING | CSG
XmNmarginBottom | XmCMarginBottom | short | 0 | CSG
XmNmarginHeight | XmCMarginHeight | short | 2 | CSG
XmNmarginLeft | XmCMarginLeft | short | 0 | CSG
XmNmarginRight | XmCMarginRight | short | 0 | CSG
XmNmarginTop | XmCMarginTop | short | 0 | CSG
XmNmarginWidth | XmCMarginWidth | short | 2 | CSG
XmNmnemonic | XmCMnemonic | char | `\0' | CSG
XmNrecomputeSize | XmCRecomputeSize | Boolean | True | CSG
XmNstringDirection | XmCStringDirection | XmStringDirection | XmSTRING_DIRECTION_L_TO_R | CSG

XmNaccelerator
    Sets the accelerator on a button widget in a menu, which activates a visible or invisible button from the keyboard. This resource is a string which describes a set of modifiers and the key which 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 certain buttons in certain menu gadgets, namely for PushButtonGadget and ToggleButtonGadget in PullDown and Popup menus.

XmNacceleratorText
    Specifies the text displayed for the accelerator. The text is displayed to the right of the label string or pixmap. Accelerator text for buttons is displayed only for PushButtonGadgets and ToggleButtonGadgets in Pulldown and Popup Menus.

XmNalignment
    Specifies the label alignment for text or pixmap.

•   XmALIGNMENT_CENTER (center alignment) — causes the centers of the lines of text to be vertically aligned in the center of the parent 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 parent window. For a pixmap, its right side is vertically aligned with the right edge of the widget window.

•   XmALIGNMENT_BEGINNING (left alignment) — causes the left sides of the lines of text to be vertically aligned with the left edge of the parent window. For a pixmap, its left side is vertically aligned with the left edge of the widget window.

    The above descriptions for text are correct when XmNstringDirection is XmSTRING_DIRECTION_L_TO_R; the descriptions for XmALIGNMENT_BEGINNING and XmALIGNMENT_END are switched When the resource is XmSTRING_DIRECTION_R_TO_L.

XmNfontList
    Specifies the font of the text used in the gadget. Refer to XmFontListCreate(3Xm) for more information on the creation and the structure of a font list.

XmNlabelInsensitivePixmap
    Specifies a pixmap used as the button face if XmNlabelType is XmPIXMAP and the button is insensitive.

XmNlabelPixmap
    Specifies the pixmap when XmNlabelType is XmPIXMAP.

XmNlabelString
    Specifies the compound string when XmNlabelType is XmSTRING. Refer to XmStringCreate(3Xm) or XmStringCreateLtoR(3Xm) for more information on the creation and the structure of compound strings.

XmNlabelType
    Specifies the label type.

•   XmSTRING — text displays XmNlabelString.

•   XmPIXMAP — icon data in pixmap displays XmNlabelPixmap or XmNlabelInsensitivePixmap.

XmNmarginBottom
    Specifies the amount of spacing that is to be left, after the bottom margin (XmNmarginHeight) of the gadget, before the label is drawn. This may be modified by LabelGadget's subclasses. For example, CascadeButtonGadget may increase this field to make room for the cascade pixmap.

XmNmarginHeight
    Specifies the amount of blank space between the bottom edge of the top shadow and the label, and the top edge of the bottom shadow and the label.

XmNmarginLeft
    Specifies the amount of spacing that is to be left, after the left margin (XmNmarginWidth) of the gadget, before the label is drawn. This may be modified by LabelGadget's subclasses. For example, ToggleButtonGadget may increase this field to make room for the toggle indicator and for spacing between the indicator and label.

XmNmarginRight
    Specifies the amount of spacing that is to be left, after the right margin (XmNmarginWidth) of the gadget, before the label is drawn. This may be modified by LabelGadget's subclasses. For example, CascadeButtonGadget may increase this field to make room for the cascade pixmap.

XmNmarginTop
    Specifies the amount of spacing that is to be left, after the top margin (XmNmarginHeight) of the gadget, before the label is drawn. This may be modified by LabelGadget's subclasses. For example, CascadeButtonGadget may increase this field to make room for the cascade pixmap.

XmNmarginWidth
    Specifies the amount of blank space between the right edge of the left shadow and the label, and the left edge of the right shadow and the label.

XmNmnemonic
    Provides the user with alternate means for selecting a button. The buttons must be visible for mnemonics to work. Buttons which are in either a Popup MenuPane, a Pulldown MenuPane, or an Option menu are allowed to have a mnemonic.

    This resource contains a single character. The first character in the label string that exactly matches the mnemonic is underlined when the button is displayed.

    Mnemonics are activated by pressing the specified mnemonic. Mnemonics are case insensitive; the character underlined can be a modified key, but the key pressed should always be unmodified.

XmNrecomputeSize
    Specifies a Boolean value that indicates whether or not the gadget always attempts to be big enough to contain the label. If True, an XtSetValues with a new label string or pixmap, accelerator text, margins, font, or label type causes the gadget to shrink or expand to exactly fit the new label string or pixmap. If False, the gadget 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.

  Inherited Resources
LabelGadget inherits behavior and resources from the following superclasses. For a complete description of these resources, refer to the man page for that superclass.

XmGadget Resource Set
Name | Class | Type | Default | Access
XmNhelpCallback | XmCCallback | XtCallbackList | NULL | C
XmNhighlightOnEnter | XmCHighlightOnEnter | Boolean | False | CSG
XmNhighlightThickness | XmCHighlightThickness | short | 0 | CSG
XmNshadowThickness | XmCShadowThickness | short | 0 | CSG
XmNtraversalOn | XmCTraversalOn | Boolean | False | CSG
XmNunitType | XmCUnitType | unsigned char | XmPIXELS | CSG
XmNuserData | XmCUserData | caddr_t | NULL | CSG

RectObj Resource Set
Name | Class | Type | Default | Access
XmNancestorSensitive | XmCSensitive | Boolean | XtCopyFromParent | CSG
XmNborderWidth | XmCBorderWidth | Dimension | 0 | CSG
XmNheight | XmCHeight | Dimension | 0 | CSG
XmNsensitive | XmCSensitive | Boolean | True | CSG
XmNwidth | XmCWidth | Dimension | 0 | CSG
XmNx | XmCPosition | Position | 0 | CSG
XmNy | XmCPosition | Position | 0 | CSG

Object Resource Set
Name | Class | Type | Default | Access
XmNdestroyCallback | XmCCallback | XtCallbackList | NULL | C

  Keyboard Traversal
For information on keyboard traversal, see the man page for XmGadget(3Xm) and its sections on behavior and default translations.

RELATED INFORMATION
Object(3Xm), RectObj(3Xm), XmCreateLabelGadget(3Xm), XmFontListCreate(3Xm), XmGadget(3Xm), XmStringCreate(3Xm), and XmStringCreateLtoR(3Xm).