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: