XmTabStack(3X)

NAME
XmTabStack - The TabStack widget class

SYNOPSIS
#include <Xm/TabStack.h>

DESCRIPTION
The XmTabStack widget manages a group of widgets such that only one widget in the group is visible at a time. Each child is associated with a "tab" that displays a text label and/or a pixmap. By selecting the "tab" the user interactively determines which child is displayed. This widget exhibits behavior similar to the Microsoft Windows(TM) Tab Control.

The tabs can be configured to appear above, below, to the right, and to the left of a work area with the text oriented in any of the four cardinal directions.

The TabStack allows the user to select, either by pointer or keyboard traversal, tabs. When a tab is selected it changes appearance so that it appears to be raised above the other tabs. When a tab is selected the child associated with the tab is made visible. One tab is selected at all times.

  Classes
TabStack inherits behavior and resources form Core, Composite, Constraint, XmManager and XmBulletinBoard Classes.

The class pointer is xmTabStackWidgetClass.

The class name is XmTabStack.

  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 or 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).

XmTabStack Resource Set
Name | Default | Access
Class | Type
XmNfontList | Dynamic | CSG
XmCFontList | XmFontList
XmNhighlightThickness | 2 | CSG
XmCHighlightThickness | Dimension
XmNstackedEffect | True | CSG
XmCStackedEffect | Boolean
XmNtabAutoSelect | True | CG
XmCTabAutoSelect | Boolean
XmNtabCornerPercent | 40 | CSG
XmCTabCornerPercent | int
XmNtabLabelSpacing | 2 | CSG
XmCTabLabelSpacing | Dimension
XmNtabMarginHeight | 3 | CSG
XmCTabMarginHeight | Dimension
XmNtabMarginWidth | 3 | CSG
XmCTabMarginWidth | Dimension
XmNtabMode | XmTABS_BASIC | CSG
XmCTabMode | int
XmNtabOffset | 10 | CSG
XmCTabOffset | Dimension
XmNtabOrientation | Dynamic | CSG
XmCTabOrientation | int
XmNtabSelectColor | Dynamic | CSG
XmCTabSelectColor | Pixel
XmNtabSelectedCallback | NULL | CS
XmCCallback | XtCallbackList
XmNtabSelectPixmap | XmUNSPECIFIED_PIXMAP | CSG
XmCTabSelectPixmap | Pixmap
XmNtabSide | XmTABS_ON_TOP | CSG
XmCTabSide | int
XmNtabStyle | XmTABS_BEVELED | CSG
XmCTabStyle | int
XmNuniformTabSize | True | CSG
XmCUniformTabSize | Boolean
XmNuseImageCache | True | CSG
XmCUseImageCache | Boolean

XmNfontList
    Specifies the XmFontList to use when drawing the label strings for the tabs.

XmNhighlightThickness
    Specifies the thickness of the rectangle drawn around the label string and label pixmap of the tab with keyboard traversal.

XmNstackedEffect
    Specifies if the visuals should depict a stack of folders, True, or if the XmTabStack should use all available space for its children, False.

XmNtabAutoSelect
    Specifies if a tab is automatically selected when it receives keyboard traversal.

XmNtabCornerPercent
    Specifies the percent of the font height that should be used for the corner visual.

XmNtabLabelSpacing
    Specifies the amount of space to leave between a text label and a pixmap in the tab area.

XmNtabMarginHeight
    Specifies the vertical border that is placed around the label area of a tab.

XmNtabMarginWidth
    Specifies the horizontal border that is placed around the label area of a tab.

XmNtabMode
    Specifies the mode in which the XmTabStack distributes the tabs. Valid values for this resource include:

    XmTABS_BASIC
        Distributes the tabs in either a vertical or horizontal row and clips the tabs if there is not enough room to display all the tabs.

    XmTABS_STACKED
        Distributes the tabs in either a vertical or horizontal row. If there is not enough room to display all the tabs additional rows are added. When a tab is selected, its row is moved next to the children in the stack.

    XmTABS_STACKED_STATIC
        Distributes the tabs in either a vertical or horizontal row. If there is not enough room to display all the tabs additional rows are added. The positions of rows are not changed when tabs are selected.

XmNtabOffset
    Specifies the amount of indentation used to stagger the tab rows when displaying tabs in either the XmTABS_STACKED or XmTABS_STACKED_STATIC mode.

XmNtabOrientation
    Specifies the orientation of the tab, and the rotation factor of the tab label. Valid values for this resource include:

    XmTAB_ORIENTATION_DYNAMIC
        Specifies that the orientation of the tabs should be calculated dynamically based on the XmNtabSide resource.

    XmTABS_LEFT_TO_RIGHT
        Specifies that the text appears at the default rotation.

    XmTABS_RIGHT_TO_LEFT
        Specifies that the text appears upside down.

    XmTABS_TOP_TO_BOTTOM
        Specifies that the text should be rotated to the vertical position with the first character drawn at the lowest y position and the bottom of the text faces the lowest x position.

    XmTABS_BOTTOM_TO_TOP
        Specifies that the text should be rotated to the vertical, position with the first character drawn at the highest y position and the bottom of the text faces the highest x position.

XmNtabSelectColor
    Specifies the color of the selected tab.

XmNtabSelectedCallback
    Specifies the list of callbacks to call when a child becomes the selected tab.

XmNtabSelectPixmap
    Specifies the pixmap of the selected tab.

XmNtabSide
    Specifies the location of the tab with respect to the children of the XmTabStack. Valid values for this resource include:

    XmTABS_ON_TOP
        Specifies that the tabs should be placed above the children.

    XmTABS_ON_BOTTOM
        Specifies that the tabs should be placed below the children.

    XmTABS_ON_RIGHT
        Specifies that the tabs should be placed to the right of the children.

    XmTABS_ON_LEFT
        Specifies that the tabs should be placed to the left of the children.

XmNtabStyle
    Specifies the appearance of the tabs associated with the children of the XmTabStack. Valid values for this resource include:

    XmTABS_BEVELED
        Draws the corners of the tabs as an angled line.

    XmTABS_ROUNDED
        Draws the corners of the tabs as a quarter of a circle.

    XmTABS_SQUARED
        Draws the tabs as rectangles.

XmNuniformTabSize
    Determines if all tabs should have a uniform major dimension, where the major dimension is width if the tab orientation is XmTABS_LEFT_TO_RIGHT or XmTABS_RIGHT_TO_LEFT or height if the tab orientation is XmTABS_TOP_TO_BOTTOM or XmTABS_BOTTOM_TO_TOP. When XmNtabMode is either XmTABS_STACKED or XmTABS_STACKED_STATIC, this resource is forced to True.

XmNuseImageCache
    Destermines if the Xmmages used for rotating text and pixmaps should be cached. This increases performance but uses up more memory.

    XmTabStack Constraint Resource Set
    Name | Default | Access
    Class | Type
    XmNfreeTabPixmap | False | CSG
    XmCFreeTabPixmap | Boolean
    XmNtabAlignment | XmALIGNMENT_CENTER | CSG
    XmCAlignment | unsigned char
    XmNtabBackground | Dynamic | CSG
    XmCBackground | Pixel
    XmNtabBackgroundPixmap | Dynamic | CSG
    XmCBackgroundPixmap | Pixmap
    XmNtabForeground | Dynamic | CSG
    XmCForeground | Pixel
    XmNtabLabelPixmap | XmUNSPECIFIED_PIXMAP | CSG
    XmCTabLabelPixmap | Pixmap
    XmNtabLabelString | NULL | CSG
    XmCTabLabelString | XmString
    XmNtabPixmapPlacement | XmPIXMAP_RIGHT | CSG
    XmCTabPixmapPlacement | XmPixmapPlacement
    XmNtabStringDirection | XmSTRING_DIRECTION_DEFAULT | CSG
    XmCTabStringDirection | unsigned char

XmNfreeTabPixmap
    Specifies that the pixmaps assigned to the XmNlabelPixmap resources should be freed when the widget is destroyed.

XmNtabAlignment
    Specifies the alignment of the tab label. Valid values for this resource include:

    XmALIGNMENT_BEGINNING
        Aligns the label to the left side of the available space.

    XmALIGNMENT_CENTER
        Aligns the label centered in the available space.

    XmALIGNMENT_END
        Aligns the label to the right side of the available space.

XmNtabBackground
    Specifies the background pixel for the tab.

XmNtabBackgroundPixmap
    Specifies the background pixmap for the tab.

XmNtabForeground
    Specifies the foreground pixel for the tab.

XmNtabLabelPixmap
    Specifies the pixmap to display in the tab label.

XmNtabLabelString
    Specifies the XmString to display as the textual portion of the tab label. This is copied when set on the widget. The value fetched via XtGetValues should not be freed as it returns a pointer to the widgets value. If you wish to use the value returned from XtGetValues use XmStringCopy the returned value.

XmNtabPixmapPlacement
    Specifies the location of the pixmap with respect to the text in the tab label. Valid values for this resource include:

    XmPIXMAP_TOP
        Specifies that the pixmap should be above the XmString.

    XmPIXMAP_BOTTOM
        Specifies that the pixmap should be below the XmString.

    XmPIXMAP_RIGHT
        Specifies that the pixmap should be to the right of the XmString.

    XmPIXMAP_LEFT
        Specifies that the pixmap should be to the left of the XmString.

    XmPIXMAP_ONLY
        Specifies that only the pixmap portion of the tab label should be displayed.

    XmPIXMAP_NONE
        Specifies that only the XmString portion of the tab label should be displayed.

XmNtabStringDirection
    Specifies the string direction for the XmString portion of the tab label. Valid values for this resouce include:

    XmSTRING_DIRECTION_L_TO_R
        Left to right

    XmSTRING_DIRECTION_R_TO_L
        Right to left

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

XmBulletinBoard Resource Set
Name | Default Access
Class | Type
XmNallowOverlap | True | CSG
XmCAllowOverlap | Boolean
XmNautoUnmanage | False | CG
XmCAutoUnmanage | Boolean
XmNbuttonFontList | dynamic | CSG
XmCButtonFontList | XmFontList
XmNcancelButton | NULL | SG
XmCWidget | Widget
XmNdefaultButton | NULL | SG
XmCWidget | Widget
XmNdefaultPosition | True | CSG
XmCDefaultPosition | Boolean
XmNdialogStyle | dynamic | CSG
XmCDialogStyle | unsigned char
XmNdialogTitle | NULL | CSG
XmCDialogTitle | XmString
XmNfocusCallback | NULL | C
XmCCallback | XtCallbackList
XmNlabelFontList | dynamic | CSG
XmCLabelFontList | XmFontList
XmNmapCallback | NULL | C
XmCCallback | XtCallbackList
XmNmarginHeight | 10 | CSG
XmCMarginHeight | Dimension
XmNmarginWidth | 10 | CSG
XmCMarginWidth | Dimension
XmNnoResize | False | CSG
XmCNoResize | Boolean

XmManager 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
XmNhighlightPixmap | dynamic | CSG
XmCHighlightPixmap | Pixmap
XmNinitialFocus | dynamic | CSG
XmCInitialFocus | Widget
XmNnavigationType | XmTAB_GROUP | CSG
XmCNavigationType | XmNavigationType
XmNshadowThickness | 2 | CSG
XmCShadowThickness | Dimension
XmNstringDirection | dynamic | CG
XmCStringDirection | XmStringDirection
XmNtopShadowColor | dynamic | CSG
XmCTopShadowColor | Pixel
XmNtopShadowPixmap | dynamic | CSG
XmCTopShadowPixmap | Pixmap
XmNtraversalOn | True | CSG
XmCTraversalOn | Boolean
XmNunitType | dynamic CSG
XmCUnitType | unsigned char
XmNuserData | NULL | CSG
XmCUserData | XtPointer

Composite Resource Set
Name | Default Access
Class | Type
XmNchildren | NULL | G
XmCReadOnly | WidgetList
XmNinsertPosition | NULL | CSG
XmCInsertPosition | XtOrderProc
XmNnumChildren | 0 | G
XmCReadOnly | Cardinal

Core Resource Set
Name | Default Access
Class | Type
XmNaccelerators | dynamic | N/A
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 | Screen* | dynamic
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

  Calback Information
A pointer to the following structure is passed to each callback:

typedef struct _XmTabStackCallbackStruct {
	int	reason;
	XEvent	*event;
	Widget	selected_child;
} XmTabStackCallbackStruct;

reason
    Indicates why the callback was invoked. Valid callbacks reasons include:

    XmCR_TAB_SELECTED
        Indicates that a child has been made the selected widget.

event
    Points to the XEvent that triggered the callback.

selected_child
    Contains the widget ID of the selected child.

  Translations
XmTabStack includes the translations from the XmManager.

  Additional Behavior
The XmTabStack has no additional behavior.

  Virtual Bindings
The bindings for virtual keys are vendor specific. For information about bindings for virtual buttons and keys, see VirtualBindings(3X).

RELATED INFORMATION
XmBulletinBoard(3), Composite(3), Constraint(3), Core(3), XmCreateTabStack(3), XmManager(3), XmVaCreateTabStack(3), and XmVaCreateManagedTabStack(3).