.TH XmTabStack 3 .SH NAME \fBXmTabStack\fP \- The TabStack widget class .SH SYNOPSIS .sS .iS \&#include .iE .sE .SH 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. .PP 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. .PP 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. .SS "Classes" TabStack inherits behavior and resources form \fBCore\fP, \fBComposite\fP, \fBConstraint\fP, \fBXmManager\fP and \fBXmBulletinBoard\*0 Classes. .PP The class pointer is \fBxmTabStackWidgetClass\fP. .PP The class name is \fBXmTabStack\fP. .SS "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 \fBXmN\fP or \fBXmC\fP prefix and use the remaining letters. To specify one of the defined values for a resource in a .Xdefaults file, remove the \fBXm\fP 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 \fBXtSetValues\fP (S), retrieved by using \fBXtGetValues\fP (G), or is not applicable (N/A). .PP .TS center ; CB ss lB lB lB lB lB lB l l l. XmTabStack Resource Set _ Name Default Access \ \ \ \ \ \ Class \ \ \ \ \ \ Type _ _ ./"XmNallowTearOffTabs True CSG ./"\ \ \ \ \ \ XmCAllowTearOffTabs \ \ \ \ \ \ Boolean ./"_ 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 _ .TE .wH .in .VL ./".IP "\fBXmNallowTearOffTabs\fP" ./"Specifies if the user is allowed to tear-off tabs and place them ./"within other XmTabStacks. The tear-off mechanism only works with ./"XmTabStacks in the same process space. .IP "\fBXmNfontList\fP" Specifies the XmFontList to use when drawing the label strings for the tabs. .IP "\fBXmNhighlightThickness\fP" Specifies the thickness of the rectangle drawn around the label string and label pixmap of the tab with keyboard traversal. .IP "\fBXmNstackedEffect\fP" Specifies if the visuals should depict a stack of folders, True, or if the XmTabStack should use all available space for its children, False. .IP "\fBXmNtabAutoSelect\fP" Specifies if a tab is automatically selected when it receives keyboard traversal. .IP "\fBXmNtabCornerPercent\fP" Specifies the percent of the font height that should be used for the corner visual. .IP "\fBXmNtabLabelSpacing\fP" Specifies the amount of space to leave between a text label and a pixmap in the tab area. .IP "\fBXmNtabMarginHeight\fP" Specifies the vertical border that is placed around the label area of a tab. .IP "\fBXmNtabMarginWidth\fP" Specifies the horizontal border that is placed around the label area of a tab. .IP "\fBXmNtabMode\fP" Specifies the mode in which the XmTabStack distributes the tabs. Valid values for this resource include: .wH .rs .RS .TP \fBXmTABS_BASIC\fP 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. .\" .TP .\" \fBXmTABS_SCROLLED\fP .\" Distributes the tabs in either a vertical or horizontal row. If there .\" is not enough room to display all the tabs arrow are displayed to .\" allow the user to scroll through the list of available tabs. .TP \fBXmTABS_STACKED\fP 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. .TP \fBXmTABS_STACKED_STATIC\fP 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. .\" .TP .\" \fBXmTABS_OVERLAYED\fP .\" Distributes the tabs in either a vertical or horizontal row. If there .\" is not enough room to display all the tabs then the tabs are colapsed .\" at the ends and a popup menu of the available tabs can be displayed .\" using mouse button 3. .RE .wH .rE .IP "\fBXmNtabOffset\fP" Specifies the amount of indentation used to stagger the tab rows when displaying tabs in either the \fBXmTABS_STACKED\fP or \fBXmTABS_STACKED_STATIC\fP mode. .IP "\fBXmNtabOrientation\fP" Specifies the orientation of the tab, and the rotation factor of the tab label. Valid values for this resource include: .wH .rs .RS .TP \fBXmTAB_ORIENTATION_DYNAMIC\fP Specifies that the orientation of the tabs should be calculated dynamically based on the \fBXmNtabSide\fP resource. .TP \fBXmTABS_LEFT_TO_RIGHT\fP Specifies that the text appears at the default rotation. .TP \fBXmTABS_RIGHT_TO_LEFT\fP Specifies that the text appears upside down. .TP \fBXmTABS_TOP_TO_BOTTOM\fP 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. .TP \fBXmTABS_BOTTOM_TO_TOP\fP 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. .RE .wH .rE .IP "\fBXmNtabSelectColor\fP" Specifies the color of the selected tab. .IP "\fBXmNtabSelectedCallback\fP" Specifies the list of callbacks to call when a child becomes the selected tab. .IP "\fBXmNtabSelectPixmap\fP" Specifies the pixmap of the selected tab. .IP "\fBXmNtabSide\fP" Specifies the location of the tab with respect to the children of the XmTabStack. Valid values for this resource include: .wH .rs .RS .TP \fBXmTABS_ON_TOP\fP Specifies that the tabs should be placed above the children. .TP \fBXmTABS_ON_BOTTOM\fP Specifies that the tabs should be placed below the children. .TP \fBXmTABS_ON_RIGHT\fP Specifies that the tabs should be placed to the right of the children. .TP \fBXmTABS_ON_LEFT\fP Specifies that the tabs should be placed to the left of the children. .RE .wH .rE .IP "\fBXmNtabStyle\fP" Specifies the appearance of the tabs associated with the children of the XmTabStack. Valid values for this resource include: .wH .rs .RS .TP \fBXmTABS_BEVELED\fP Draws the corners of the tabs as an angled line. .TP \fBXmTABS_ROUNDED\fP Draws the corners of the tabs as a quarter of a circle. .TP \fBXmTABS_SQUARED\fP Draws the tabs as rectangles. .RE .wH .rE .IP "\fBXmNuniformTabSize\fP" Determines if all tabs should have a uniform major dimension, where the major dimension is width if the tab orientation is \fBXmTABS_LEFT_TO_RIGHT\fP or \fBXmTABS_RIGHT_TO_LEFT\fP or height if the tab orientation is \fBXmTABS_TOP_TO_BOTTOM\fP or \fBXmTABS_BOTTOM_TO_TOP\fP. When \fBXmNtabMode\fP is either \fBXmTABS_STACKED\fP or \fBXmTABS_STACKED_STATIC\fP, this resource is forced to True. .IP "\fBXmNuseImageCache\fP" Destermines if the Xmmages used for rotating text and pixmaps should be cached. This increases performance but uses up more memory. .sp .wH .in 0 .TS center ; CB ss lB lB lB lB lB lB l l l. 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 _ .\" XmNtabTearOffEnabled True CSG .\" \ \ \ \ \ \ XmCTabTearOffEnabled \ \ \ \ \ \ Boolean .\" _ .TE .wH .in .VL .IP "\fBXmNfreeTabPixmap\fP" Specifies that the pixmaps assigned to the \fBXmNlabelPixmap\fP resources should be freed when the widget is destroyed. .IP "\fBXmNtabAlignment\fP" Specifies the alignment of the tab label. Valid values for this resource include: .wH .rs .RS .TP \fBXmALIGNMENT_BEGINNING\fP Aligns the label to the left side of the available space. .TP \fBXmALIGNMENT_CENTER\fP Aligns the label centered in the available space. .TP \fBXmALIGNMENT_END\fP Aligns the label to the right side of the available space. .RE .wH .rE .IP "\fBXmNtabBackground\fP" Specifies the background pixel for the tab. .IP "\fBXmNtabBackgroundPixmap\fP" Specifies the background pixmap for the tab. .IP "\fBXmNtabForeground\fP" Specifies the foreground pixel for the tab. .IP "\fBXmNtabLabelPixmap\fP" Specifies the pixmap to display in the tab label. .IP "\fBXmNtabLabelString\fP" 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. .IP "\fBXmNtabPixmapPlacement\fP" Specifies the location of the pixmap with respect to the text in the tab label. Valid values for this resource include: .wH .rs .RS .TP \fBXmPIXMAP_TOP\fP Specifies that the pixmap should be above the XmString. .TP \fBXmPIXMAP_BOTTOM\fP Specifies that the pixmap should be below the XmString. .TP \fBXmPIXMAP_RIGHT\fP Specifies that the pixmap should be to the right of the XmString. .TP \fBXmPIXMAP_LEFT\fP Specifies that the pixmap should be to the left of the XmString. .TP \fBXmPIXMAP_ONLY\fP Specifies that only the pixmap portion of the tab label should be displayed. .TP \fBXmPIXMAP_NONE\fP Specifies that only the XmString portion of the tab label should be displayed. .RE .wH .rE .IP "\fBXmNtabStringDirection\fP" Specifies the string direction for the XmString portion of the tab label. Valid values for this resource include: .wH .re .RS .TP \fBXmSTRING_DIRECTION_L_TO_R\fP Left to right .TP \fBXmSTRING_DIRECTION_R_TO_L\fP Right to left .RE .wH .rS .\" .IP "\fBXmNtabTearOffEnabled\fP" .\" Specifies the this tab is enabled to be torn of and dragged to another .\" XmTabStack within a process space. This resource is ignored it the .\" XmTabStack resource \fBXmNallowTearOffTabs\fP is False. .sp .wH .in 0 .SS "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. .sp .TS center ; cB ss lB lB lB l l l. 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 _ .TE .sp .TS center ; cB ss lB lB lB l l l. 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 _ .TE .sp .TS center ; cB ss lB lB lB l l l. Composite Resource Set _ Name Default Access \ \ \ \ \ \ Class \ \ \ \ \ \ Type _ _ XmNchildren NULL G \ \ \ \ \ \ XmCReadOnly \ \ \ \ \ \ WidgetList _ XmNinsertPosition NULL CSG \ \ \ \ \ \ XmCInsertPosition \ \ \ \ \ \ XtOrderProc _ XmNnumChildren 0 G \ \ \ \ \ \ XmCReadOnly \ \ \ \ \ \ Cardinal _ .TE .sp .TS center ; cB ss lB lB lB l l l. 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 _ .TE .wH .in .SS "Calback Information" A pointer to the following structure is passed to each callback: .sp .sp .ps -1 .ft B .nf .ta .25i 1.li typedef struct _XmTabStackCallbackStruct { int \fIreason\fB; XEvent \fI*event\fB; Widget \fIselected_child\fB; } XmTabStackCallbackStruct; .ps +1 .ft R .fi .sp .sp .wH .fi .VL .75i .IP "\fIreason\fP" Indicates why the callback was invoked. Valid callbacks reasons include: .wH .rs .RS .TP \fBXmCR_TAB_SELECTED\fP Indicates that a child has been made the selected widget. .RE .wH .rE .IP "\fIevent\fP" Points to the \fBXEvent\fP that triggered the callback. .IP "\fIselected_child\fP" Contains the widget ID of the selected child. .RE .SS "Translations" XmTabStack includes the translations from the XmManager. .sp .nL .ne 20 .SS "Additional Behavior" The XmTabStack has no additional behavior. .SS "Virtual Bindings" The bindings for virtual keys are vendor specific. For information about bindings for virtual buttons and keys, see \fBVirtualBindings(3X)\fP. .SH RELATED INFORMATION .na \fBXmBulletinBoard\fP(3), \fBComposite\fP(3), \fBConstraint\fP(3), \fBCore\fP(3), \fBXmCreateTabStack\fP(3), \fBXmManager\fP(3), \fBXmVaCreateTabStack\fP(3), and \fBXmVaCreateManagedTabStack\fP(3)\&.