XmTabStack(3) The TabStack widget class

SYNOPSIS

#include <Xm/TabStack.h>

DESCRIPTION

"XmTabStack" "widget class" TabStack" 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

NameDefaultAccess
      Class      Type


XmNfontListDynamicCSG
      XmCFontList      XmFontList

XmNhighlightThickness2CSG
      XmCHighlightThickness      Dimension

XmNstackedEffectTrueCSG
      XmCStackedEffect      Boolean

XmNtabAutoSelectTrueCG
      XmCTabAutoSelect      Boolean

XmNtabCornerPercent40CSG
      XmCTabCornerPercent      int

XmNtabLabelSpacing2CSG
      XmCTabLabelSpacing      Dimension

XmNtabMarginHeight3CSG
      XmCTabMarginHeight      Dimension

XmNtabMarginWidth3CSG
      XmCTabMarginWidth      Dimension

XmNtabModeXmTABS_BASICCSG
      XmCTabMode      int

XmNtabOffset10CSG
      XmCTabOffset      Dimension

XmNtabOrientationDynamicCSG
      XmCTabOrientation      int

XmNtabSelectColorDynamicCSG
      XmCTabSelectColor      Pixel

XmNtabSelectedCallbackNULLCS
      XmCCallback      XtCallbackList

XmNtabSelectPixmapXmUNSPECIFIED_PIXMAPCSG
      XmCTabSelectPixmap      Pixmap

XmNtabSideXmTABS_ON_TOPCSG
      XmCTabSide      int

XmNtabStyleXmTABS_BEVELEDCSG
      XmCTabStyle      int

XmNuniformTabSizeTrueCSG
      XmCUniformTabSize      Boolean

XmNuseImageCacheTrueCSG
      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

NameDefaultAccess
      Class      Type


XmNfreeTabPixmapFalseCSG
      XmCFreeTabPixmap      Boolean

XmNtabAlignmentXmALIGNMENT_CENTERCSG
      XmCAlignment      unsigned char

XmNtabBackgroundDynamicCSG
      XmCBackground      Pixel

XmNtabBackgroundPixmapDynamicCSG
      XmCBackgroundPixmap      Pixmap

XmNtabForegroundDynamicCSG
      XmCForeground      Pixel

XmNtabLabelPixmapXmUNSPECIFIED_PIXMAPCSG
      XmCTabLabelPixmap      Pixmap

XmNtabLabelStringNULLCSG
      XmCTabLabelString      XmString

XmNtabPixmapPlacementXmPIXMAP_RIGHTCSG
      XmCTabPixmapPlacement      XmPixmapPlacement

XmNtabStringDirectionXmSTRING_DIRECTION_DEFAULTCSG
      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 resource 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
NameDefault Access
      Class      Type


XmNallowOverlapTrueCSG
      XmCAllowOverlap      Boolean

XmNautoUnmanageFalseCG
      XmCAutoUnmanage      Boolean

XmNbuttonFontListdynamicCSG
      XmCButtonFontList      XmFontList

XmNcancelButtonNULLSG
      XmCWidget      Widget

XmNdefaultButtonNULLSG
      XmCWidget      Widget

XmNdefaultPositionTrueCSG
      XmCDefaultPosition      Boolean

XmNdialogStyledynamicCSG
      XmCDialogStyle      unsigned char

XmNdialogTitleNULLCSG
      XmCDialogTitle      XmString

XmNfocusCallbackNULLC
      XmCCallback      XtCallbackList

XmNlabelFontListdynamicCSG
      XmCLabelFontList      XmFontList

XmNmapCallbackNULLC
      XmCCallback      XtCallbackList

XmNmarginHeight10CSG
      XmCMarginHeight      Dimension

XmNmarginWidth10CSG
      XmCMarginWidth      Dimension

XmNnoResizeFalseCSG
      XmCNoResize      Boolean

XmManager Resource Set

NameDefault Access
      Class      Type


XmNbottomShadowColordynamicCSG
      XmCBottomShadowColor      Pixel

XmNbottomShadowPixmapXmUNSPECIFIED_PIXMAPCSG
      XmCBottomShadowPixmap      Pixmap

XmNforegrounddynamicCSG
      XmCForeground      Pixel

XmNhelpCallbackNULLC
      XmCCallback      XtCallbackList

XmNhighlightColordynamicCSG
      XmCHighlightColor      Pixel

XmNhighlightPixmapdynamicCSG
      XmCHighlightPixmap      Pixmap

XmNinitialFocusdynamicCSG
      XmCInitialFocus      Widget

XmNnavigationTypeXmTAB_GROUPCSG
      XmCNavigationType      XmNavigationType

XmNshadowThickness2CSG
      XmCShadowThickness      Dimension

XmNstringDirectiondynamicCG
      XmCStringDirection      XmStringDirection

XmNtopShadowColordynamicCSG
      XmCTopShadowColor      Pixel

XmNtopShadowPixmapdynamicCSG
      XmCTopShadowPixmap      Pixmap

XmNtraversalOnTrueCSG
      XmCTraversalOn      Boolean

XmNunitTypedynamic CSG
      XmCUnitType      unsigned char

XmNuserDataNULLCSG
      XmCUserData      XtPointer

Composite Resource Set

NameDefault Access
      Class      Type


XmNchildrenNULLG
      XmCReadOnly      WidgetList

XmNinsertPositionNULLCSG
      XmCInsertPosition      XtOrderProc

XmNnumChildren0G
      XmCReadOnly      Cardinal

Core Resource Set

NameDefault Access
      Class      Type


XmNacceleratorsdynamicN/A
      XmCAccelerators      XtAccelerators

XmNancestorSensitivedynamicG
      XmCSensitive      Boolean

XmNbackgrounddynamicCSG
      XmCBackground      Pixel

XmNbackgroundPixmapXmUNSPECIFIED_PIXMAPCSG
      XmCPixmap      Pixmap

XmNborderColorXtDefaultForegroundCSG
      XmCBorderColor      Pixel

XmNborderPixmapXmUNSPECIFIED_PIXMAPCSG
      XmCPixmap      Pixmap

XmNborderWidth0CSG
      XmCBorderWidth      Dimension

XmNcolormapdynamicCG
      XmCColormap      Colormap

XmNdepthdynamicCG
      XmCDepth      int

XmNdestroyCallbackNULLC
      XmCCallback      XtCallbackList

XmNheightdynamicCSG
      XmCHeight      Dimension

XmNinitialResourcesPersistentTrueC
      XmCInitialResourcesPersistent      Boolean

XmNmappedWhenManagedTrueCSG
      XmCMappedWhenManaged      Boolean

XmNscreenScreen*dynamic
      XmCScreen      Screen

XmNsensitiveTrueCSG
      XmCSensitive      Boolean

XmNtranslationsdynamicCSG
      XmCTranslations      XtTranslations

XmNwidthdynamicCSG
      XmCWidth      Dimension

XmNx0CSG
      XmCPosition      Position

XmNy0CSG
      XmCPosition      Position

Calback Information

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

typedef struct _XmTabStackCallbackStruct {
   intreason;
   XEvent*event;
   Widgetselected_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).