1XmTabStack(3X) XmTabStack(3X)
2
3
4
6 XmTabStack - The TabStack widget class
7
9 #include <Xm/TabStack.h>
10
12 The XmTabStack widget manages a group of widgets such that only one
13 widget in the group is visible at a time. Each child is associated with
14 a "tab" that displays a text label and/or a pixmap. By selecting the
15 "tab" the user interactively determines which child is displayed. This
16 widget exhibits behavior similar to the Microsoft Windows(TM) Tab Con‐
17 trol.
18
19 The tabs can be configured to appear above, below, to the right, and to
20 the left of a work area with the text oriented in any of the four car‐
21 dinal directions.
22
23 The TabStack allows the user to select, either by pointer or keyboard
24 traversal, tabs. When a tab is selected it changes appearance so that
25 it appears to be raised above the other tabs. When a tab is selected
26 the child associated with the tab is made visible. One tab is selected
27 at all times.
28
29 Classes
30 TabStack inherits behavior and resources form Core, Composite, Con‐
31 straint, XmManager and XmBulletinBoard Classes.
32
33 The class pointer is xmTabStackWidgetClass.
34
35 The class name is XmTabStack.
36
37 New Resources
38 The following table defines a set of widget resources used by the pro‐
39 grammer to specify data. The programmer can also set the resource val‐
40 ues for the inherited classes to set attributes for this widget. To
41 reference a resource by name or by class in a .Xdefaults file, remove
42 the XmN or XmC prefix and use the remaining letters. To specify one of
43 the defined values for a resource in a .Xdefaults file, remove the Xm
44 or prefix and use the remaining letters (in either lowercase or upper‐
45 case, but include any underscores between words). The codes in the
46 access column indicate if the given resource can be set at creation
47 time(C), set by using XtSetValues (S), retrieved by using XtGetValues
48 (G), or is not applicable (N/A).
49
50 XmTabStack Resource Set
51 ────────────────────────────────────────────────────────────
52 Name Default Access
53 Class Type
54 ────────────────────────────────────────────────────────────
55 ────────────────────────────────────────────────────────────
56 XmNfontList Dynamic CSG
57 XmCFontList XmFontList
58 ────────────────────────────────────────────────────────────
59 XmNhighlightThickness 2 CSG
60 XmCHighlightThickness Dimension
61 ────────────────────────────────────────────────────────────
62 XmNstackedEffect True CSG
63 XmCStackedEffect Boolean
64 ────────────────────────────────────────────────────────────
65 XmNtabAutoSelect True CG
66
67 XmCTabAutoSelect Boolean
68 ────────────────────────────────────────────────────────────
69 XmNtabCornerPercent 40 CSG
70 XmCTabCornerPercent int
71 ────────────────────────────────────────────────────────────
72 XmNtabLabelSpacing 2 CSG
73 XmCTabLabelSpacing Dimension
74 ────────────────────────────────────────────────────────────
75 XmNtabMarginHeight 3 CSG
76 XmCTabMarginHeight Dimension
77 ────────────────────────────────────────────────────────────
78 XmNtabMarginWidth 3 CSG
79 XmCTabMarginWidth Dimension
80 ────────────────────────────────────────────────────────────
81 XmNtabMode XmTABS_BASIC CSG
82 XmCTabMode int
83 ────────────────────────────────────────────────────────────
84 XmNtabOffset 10 CSG
85 XmCTabOffset Dimension
86 ────────────────────────────────────────────────────────────
87 XmNtabOrientation Dynamic CSG
88 XmCTabOrientation int
89 ────────────────────────────────────────────────────────────
90 XmNtabSelectColor Dynamic CSG
91 XmCTabSelectColor Pixel
92 ────────────────────────────────────────────────────────────
93 XmNtabSelectedCallback NULL CS
94 XmCCallback XtCallbackList
95 ────────────────────────────────────────────────────────────
96 XmNtabSelectPixmap XmUNSPECIFIED_PIXMAP CSG
97 XmCTabSelectPixmap Pixmap
98 ────────────────────────────────────────────────────────────
99 XmNtabSide XmTABS_ON_TOP CSG
100 XmCTabSide int
101 ────────────────────────────────────────────────────────────
102 XmNtabStyle XmTABS_BEVELED CSG
103 XmCTabStyle int
104 ────────────────────────────────────────────────────────────
105 XmNuniformTabSize True CSG
106 XmCUniformTabSize Boolean
107 ────────────────────────────────────────────────────────────
108 XmNuseImageCache True CSG
109 XmCUseImageCache Boolean
110 ────────────────────────────────────────────────────────────
111
112 XmNfontList
113 Specifies the XmFontList to use when drawing the label strings
114 for the tabs.
115
116 XmNhighlightThickness
117 Specifies the thickness of the rectangle drawn around the label
118 string and label pixmap of the tab with keyboard traversal.
119
120 XmNstackedEffect
121 Specifies if the visuals should depict a stack of folders, True,
122 or if the XmTabStack should use all available space for its
123 children, False.
124
125 XmNtabAutoSelect
126 Specifies if a tab is automatically selected when it receives
127 keyboard traversal.
128
129 XmNtabCornerPercent
130 Specifies the percent of the font height that should be used for
131 the corner visual.
132
133 XmNtabLabelSpacing
134 Specifies the amount of space to leave between a text label and
135 a pixmap in the tab area.
136
137 XmNtabMarginHeight
138 Specifies the vertical border that is placed around the label
139 area of a tab.
140
141 XmNtabMarginWidth
142 Specifies the horizontal border that is placed around the label
143 area of a tab.
144
145 XmNtabMode
146 Specifies the mode in which the XmTabStack distributes the tabs.
147 Valid values for this resource include:
148
149 XmTABS_BASIC
150 Distributes the tabs in either a vertical or horizontal
151 row and clips the tabs if there is not enough room to
152 display all the tabs.
153
154 XmTABS_STACKED
155 Distributes the tabs in either a vertical or horizontal
156 row. If there is not enough room to display all the tabs
157 additional rows are added. When a tab is selected, its
158 row is moved next to the children in the stack.
159
160 XmTABS_STACKED_STATIC
161 Distributes the tabs in either a vertical or horizontal
162 row. If there is not enough room to display all the tabs
163 additional rows are added. The positions of rows are not
164 changed when tabs are selected.
165
166 XmNtabOffset
167 Specifies the amount of indentation used to stagger the tab rows
168 when displaying tabs in either the XmTABS_STACKED or
169 XmTABS_STACKED_STATIC mode.
170
171 XmNtabOrientation
172 Specifies the orientation of the tab, and the rotation factor of
173 the tab label. Valid values for this resource include:
174
175 XmTAB_ORIENTATION_DYNAMIC
176 Specifies that the orientation of the tabs should be cal‐
177 culated dynamically based on the XmNtabSide resource.
178
179 XmTABS_LEFT_TO_RIGHT
180 Specifies that the text appears at the default rotation.
181
182 XmTABS_RIGHT_TO_LEFT
183 Specifies that the text appears upside down.
184
185 XmTABS_TOP_TO_BOTTOM
186 Specifies that the text should be rotated to the vertical
187 position with the first character drawn at the lowest y
188 position and the bottom of the text faces the lowest x
189 position.
190
191 XmTABS_BOTTOM_TO_TOP
192 Specifies that the text should be rotated to the verti‐
193 cal, position with the first character drawn at the high‐
194 est y position and the bottom of the text faces the high‐
195 est x position.
196
197 XmNtabSelectColor
198 Specifies the color of the selected tab.
199
200 XmNtabSelectedCallback
201 Specifies the list of callbacks to call when a child becomes the
202 selected tab.
203
204 XmNtabSelectPixmap
205 Specifies the pixmap of the selected tab.
206
207 XmNtabSide
208 Specifies the location of the tab with respect to the children
209 of the XmTabStack. Valid values for this resource include:
210
211 XmTABS_ON_TOP
212 Specifies that the tabs should be placed above the chil‐
213 dren.
214
215 XmTABS_ON_BOTTOM
216 Specifies that the tabs should be placed below the chil‐
217 dren.
218
219 XmTABS_ON_RIGHT
220 Specifies that the tabs should be placed to the right of
221 the children.
222
223 XmTABS_ON_LEFT
224 Specifies that the tabs should be placed to the left of
225 the children.
226
227 XmNtabStyle
228 Specifies the appearance of the tabs associated with the chil‐
229 dren of the XmTabStack. Valid values for this resource include:
230
231 XmTABS_BEVELED
232 Draws the corners of the tabs as an angled line.
233
234 XmTABS_ROUNDED
235 Draws the corners of the tabs as a quarter of a circle.
236
237 XmTABS_SQUARED
238 Draws the tabs as rectangles.
239
240 XmNuniformTabSize
241 Determines if all tabs should have a uniform major dimension,
242 where the major dimension is width if the tab orientation is
243 XmTABS_LEFT_TO_RIGHT or XmTABS_RIGHT_TO_LEFT or height if the
244 tab orientation is XmTABS_TOP_TO_BOTTOM or XmTABS_BOTTOM_TO_TOP.
245 When XmNtabMode is either XmTABS_STACKED or
246 XmTABS_STACKED_STATIC, this resource is forced to True.
247
248 XmNuseImageCache
249 Destermines if the Xmmages used for rotating text and pixmaps
250 should be cached. This increases performance but uses up more
251 memory.
252
253
254 XmTabStack Constraint Resource Set
255 ──────────────────────────────────────────────────────────────────
256 Name Default Access
257 Class Type
258 ──────────────────────────────────────────────────────────────────
259 ──────────────────────────────────────────────────────────────────
260 XmNfreeTabPixmap False CSG
261 XmCFreeTabPixmap Boolean
262 ──────────────────────────────────────────────────────────────────
263 XmNtabAlignment XmALIGNMENT_CENTER CSG
264 XmCAlignment unsigned char
265 ──────────────────────────────────────────────────────────────────
266
267 XmNtabBackground Dynamic CSG
268 XmCBackground Pixel
269 ──────────────────────────────────────────────────────────────────
270 XmNtabBackgroundPixmap Dynamic CSG
271 XmCBackgroundPixmap Pixmap
272 ──────────────────────────────────────────────────────────────────
273 XmNtabForeground Dynamic CSG
274 XmCForeground Pixel
275 ──────────────────────────────────────────────────────────────────
276 XmNtabLabelPixmap XmUNSPECIFIED_PIXMAP CSG
277 XmCTabLabelPixmap Pixmap
278 ──────────────────────────────────────────────────────────────────
279 XmNtabLabelString NULL CSG
280 XmCTabLabelString XmString
281 ──────────────────────────────────────────────────────────────────
282 XmNtabPixmapPlacement XmPIXMAP_RIGHT CSG
283 XmCTabPixmapPlacement XmPixmapPlacement
284 ──────────────────────────────────────────────────────────────────
285 XmNtabStringDirection XmSTRING_DIRECTION_DEFAULT CSG
286 XmCTabStringDirection unsigned char
287 ──────────────────────────────────────────────────────────────────
288
289 XmNfreeTabPixmap
290 Specifies that the pixmaps assigned to the XmNlabelPixmap
291 resources should be freed when the widget is destroyed.
292
293 XmNtabAlignment
294 Specifies the alignment of the tab label. Valid values for this
295 resource include:
296
297 XmALIGNMENT_BEGINNING
298 Aligns the label to the left side of the available space.
299
300 XmALIGNMENT_CENTER
301 Aligns the label centered in the available space.
302
303 XmALIGNMENT_END
304 Aligns the label to the right side of the available
305 space.
306
307 XmNtabBackground
308 Specifies the background pixel for the tab.
309
310 XmNtabBackgroundPixmap
311 Specifies the background pixmap for the tab.
312
313 XmNtabForeground
314 Specifies the foreground pixel for the tab.
315
316 XmNtabLabelPixmap
317 Specifies the pixmap to display in the tab label.
318
319 XmNtabLabelString
320 Specifies the XmString to display as the textual portion of the
321 tab label. This is copied when set on the widget. The value
322 fetched via XtGetValues should not be freed as it returns a
323 pointer to the widgets value. If you wish to use the value
324 returned from XtGetValues use XmStringCopy the returned value.
325
326 XmNtabPixmapPlacement
327 Specifies the location of the pixmap with respect to the text in
328 the tab label. Valid values for this resource include:
329
330 XmPIXMAP_TOP
331 Specifies that the pixmap should be above the XmString.
332
333 XmPIXMAP_BOTTOM
334 Specifies that the pixmap should be below the XmString.
335
336 XmPIXMAP_RIGHT
337 Specifies that the pixmap should be to the right of the
338 XmString.
339
340 XmPIXMAP_LEFT
341 Specifies that the pixmap should be to the left of the
342 XmString.
343
344 XmPIXMAP_ONLY
345 Specifies that only the pixmap portion of the tab label
346 should be displayed.
347
348 XmPIXMAP_NONE
349 Specifies that only the XmString portion of the tab label
350 should be displayed.
351
352 XmNtabStringDirection
353 Specifies the string direction for the XmString portion of the
354 tab label. Valid values for this resouce include:
355
356 XmSTRING_DIRECTION_L_TO_R
357 Left to right
358
359 XmSTRING_DIRECTION_R_TO_L
360 Right to left
361
362
363 Inherited Resources
364 TabStack inherits behavior and resources from the following super‐
365 classes. For a complete description of each resource, refer to the man
366 page for that superclass.
367
368
369 XmBulletinBoard Resource Set
370 Name Default Access
371 Class Type
372 ──────────────────────────────────────────────────────
373 ──────────────────────────────────────────────────────
374 XmNallowOverlap True CSG
375 XmCAllowOverlap Boolean
376 ──────────────────────────────────────────────────────
377 XmNautoUnmanage False CG
378 XmCAutoUnmanage Boolean
379 ──────────────────────────────────────────────────────
380 XmNbuttonFontList dynamic CSG
381 XmCButtonFontList XmFontList
382 ──────────────────────────────────────────────────────
383 XmNcancelButton NULL SG
384 XmCWidget Widget
385 ──────────────────────────────────────────────────────
386 XmNdefaultButton NULL SG
387 XmCWidget Widget
388 ──────────────────────────────────────────────────────
389 XmNdefaultPosition True CSG
390 XmCDefaultPosition Boolean
391 ──────────────────────────────────────────────────────
392 XmNdialogStyle dynamic CSG
393 XmCDialogStyle unsigned char
394 ──────────────────────────────────────────────────────
395 XmNdialogTitle NULL CSG
396 XmCDialogTitle XmString
397 ──────────────────────────────────────────────────────
398 XmNfocusCallback NULL C
399 XmCCallback XtCallbackList
400 ──────────────────────────────────────────────────────
401 XmNlabelFontList dynamic CSG
402 XmCLabelFontList XmFontList
403 ──────────────────────────────────────────────────────
404
405 XmNmapCallback NULL C
406 XmCCallback XtCallbackList
407 ──────────────────────────────────────────────────────
408 XmNmarginHeight 10 CSG
409 XmCMarginHeight Dimension
410 ──────────────────────────────────────────────────────
411 XmNmarginWidth 10 CSG
412 XmCMarginWidth Dimension
413 ──────────────────────────────────────────────────────
414 XmNnoResize False CSG
415 XmCNoResize Boolean
416 ──────────────────────────────────────────────────────
417
418
419 XmManager Resource Set
420 ────────────────────────────────────────────────────────────
421 Name Default Access
422 Class Type
423 ────────────────────────────────────────────────────────────
424 ────────────────────────────────────────────────────────────
425 XmNbottomShadowColor dynamic CSG
426 XmCBottomShadowColor Pixel
427 ────────────────────────────────────────────────────────────
428 XmNbottomShadowPixmap XmUNSPECIFIED_PIXMAP CSG
429 XmCBottomShadowPixmap Pixmap
430 ────────────────────────────────────────────────────────────
431 XmNforeground dynamic CSG
432 XmCForeground Pixel
433 ────────────────────────────────────────────────────────────
434 XmNhelpCallback NULL C
435 XmCCallback XtCallbackList
436 ────────────────────────────────────────────────────────────
437 XmNhighlightColor dynamic CSG
438 XmCHighlightColor Pixel
439 ────────────────────────────────────────────────────────────
440 XmNhighlightPixmap dynamic CSG
441 XmCHighlightPixmap Pixmap
442 ────────────────────────────────────────────────────────────
443 XmNinitialFocus dynamic CSG
444 XmCInitialFocus Widget
445 ────────────────────────────────────────────────────────────
446 XmNnavigationType XmTAB_GROUP CSG
447 XmCNavigationType XmNavigationType
448 ────────────────────────────────────────────────────────────
449 XmNshadowThickness 2 CSG
450 XmCShadowThickness Dimension
451 ────────────────────────────────────────────────────────────
452 XmNstringDirection dynamic CG
453 XmCStringDirection XmStringDirection
454 ────────────────────────────────────────────────────────────
455 XmNtopShadowColor dynamic CSG
456 XmCTopShadowColor Pixel
457 ────────────────────────────────────────────────────────────
458 XmNtopShadowPixmap dynamic CSG
459 XmCTopShadowPixmap Pixmap
460 ────────────────────────────────────────────────────────────
461 XmNtraversalOn True CSG
462 XmCTraversalOn Boolean
463 ────────────────────────────────────────────────────────────
464 XmNunitType dynamic CSG
465 XmCUnitType unsigned char
466 ────────────────────────────────────────────────────────────
467 XmNuserData NULL CSG
468 XmCUserData XtPointer
469 ────────────────────────────────────────────────────────────
470
471
472
473
474 Composite Resource Set
475 ──────────────────────────────────────────────────
476 Name Default Access
477 Class Type
478 ──────────────────────────────────────────────────
479 ──────────────────────────────────────────────────
480 XmNchildren NULL G
481 XmCReadOnly WidgetList
482 ──────────────────────────────────────────────────
483 XmNinsertPosition NULL CSG
484 XmCInsertPosition XtOrderProc
485 ──────────────────────────────────────────────────
486 XmNnumChildren 0 G
487 XmCReadOnly Cardinal
488 ──────────────────────────────────────────────────
489
490
491 Core Resource Set
492 ─────────────────────────────────────────────────────────────────────
493 Name Default Access
494 Class Type
495 ─────────────────────────────────────────────────────────────────────
496 ─────────────────────────────────────────────────────────────────────
497 XmNaccelerators dynamic N/A
498 XmCAccelerators XtAccelerators
499 ─────────────────────────────────────────────────────────────────────
500 XmNancestorSensitive dynamic G
501 XmCSensitive Boolean
502 ─────────────────────────────────────────────────────────────────────
503 XmNbackground dynamic CSG
504 XmCBackground Pixel
505 ─────────────────────────────────────────────────────────────────────
506 XmNbackgroundPixmap XmUNSPECIFIED_PIXMAP CSG
507 XmCPixmap Pixmap
508 ─────────────────────────────────────────────────────────────────────
509 XmNborderColor XtDefaultForeground CSG
510 XmCBorderColor Pixel
511 ─────────────────────────────────────────────────────────────────────
512 XmNborderPixmap XmUNSPECIFIED_PIXMAP CSG
513 XmCPixmap Pixmap
514 ─────────────────────────────────────────────────────────────────────
515 XmNborderWidth 0 CSG
516 XmCBorderWidth Dimension
517 ─────────────────────────────────────────────────────────────────────
518 XmNcolormap dynamic CG
519 XmCColormap Colormap
520 ─────────────────────────────────────────────────────────────────────
521 XmNdepth dynamic CG
522 XmCDepth int
523 ─────────────────────────────────────────────────────────────────────
524 XmNdestroyCallback NULL C
525 XmCCallback XtCallbackList
526 ─────────────────────────────────────────────────────────────────────
527 XmNheight dynamic CSG
528 XmCHeight Dimension
529 ─────────────────────────────────────────────────────────────────────
530 XmNinitialResourcesPersistent True C
531 XmCInitialResourcesPersistent Boolean
532 ─────────────────────────────────────────────────────────────────────
533 XmNmappedWhenManaged True CSG
534 XmCMappedWhenManaged Boolean
535 ─────────────────────────────────────────────────────────────────────
536 XmNscreen Screen* dynamic
537 XmCScreen Screen
538 ─────────────────────────────────────────────────────────────────────
539 XmNsensitive True CSG
540 XmCSensitive Boolean
541 ─────────────────────────────────────────────────────────────────────
542
543 XmNtranslations dynamic CSG
544 XmCTranslations XtTranslations
545 ─────────────────────────────────────────────────────────────────────
546 XmNwidth dynamic CSG
547 XmCWidth Dimension
548 ─────────────────────────────────────────────────────────────────────
549 XmNx 0 CSG
550 XmCPosition Position
551 ─────────────────────────────────────────────────────────────────────
552 XmNy 0 CSG
553 XmCPosition Position
554 ─────────────────────────────────────────────────────────────────────
555
556 Calback Information
557 A pointer to the following structure is passed to each callback:
558
559
560 typedef struct _XmTabStackCallbackStruct {
561 intreason;
562 XEvent*event;
563 Widgetselected_child;
564 } XmTabStackCallbackStruct;
565
566
567
568 reason Indicates why the callback was invoked. Valid callbacks reasons
569 include:
570
571 XmCR_TAB_SELECTED
572 Indicates that a child has been made the selected widget.
573
574 event Points to the XEvent that triggered the callback.
575
576 selected_child
577 Contains the widget ID of the selected child.
578
579 Translations
580 XmTabStack includes the translations from the XmManager.
581
582
583 Additional Behavior
584 The XmTabStack has no additional behavior.
585
586 Virtual Bindings
587 The bindings for virtual keys are vendor specific. For information
588 about bindings for virtual buttons and keys, see VirtualBindings(3X).
589
591 XmBulletinBoard(3), Composite(3), Constraint(3), Core(3), XmCreateTab‐
592 Stack(3), XmManager(3), XmVaCreateTabStack(3), and XmVaCreateMan‐
593 agedTabStack(3).
594
595
596
597
598 XmTabStack(3X)