A tab panel arranges its subwindows in a single column, but also
includes a horizontal row of tabs at the top of the panel. See
also
panel%.
The tab-panel% class does not implement the virtual
swapping of the panel content when a new tab is selected. Instead, it
merely invokes a callback procedure to indicate that a user changed
the tab selection.
(new tab-panel% | | [choices choices] | | | | [parent parent] | | | [ | [callback callback] | | | | [style style] | | | | [font font] | | | | [enabled enabled] | | | | [vert-margin vert-margin] | | | | [horiz-margin horiz-margin] | | | | [border border] | | | | [spacing spacing] | | | | [alignment alignment] | | | | [min-width min-width] | | | | [min-height min-height] | | | | [stretchable-width stretchable-width] | | | | [stretchable-height stretchable-height]]) | |
|
→ (is-a?/c tab-panel%) |
choices : (listof label-string?) |
|
|
style : (listof (one-of/c 'no-border 'deleted)) = null |
font : (is-a?/c font%) = normal-control-font |
enabled : any/c = #t |
vert-margin : (integer-in 0 1000) = 0 |
horiz-margin : (integer-in 0 1000) = 0 |
border : (integer-in 0 1000) = 0 |
spacing : (integer-in 0 1000) = 0 |
| alignment | | : | | | | | | = | | '(center top) |
|
min-width : (integer-in 0 10000) = graphical-minimum-width |
min-height : (integer-in 0 10000) = graphical-minimum-height |
stretchable-width : any/c = #t |
stretchable-height : any/c = #t |
Creates a tab pane, where the choices list specifies the tab
labels.
Each string in choices can contain an ampersand, which (in the
future) may create a mnemonic for clicking the corresponding tab. A
double ampersand is converted to a single ampersand.
The callback procedure is called (with the event type
'tab-panel) when the user changes the tab selection.
If the style list includes 'no-border, no border is
drawn around the panel content. If style includes 'deleted, then the tab panel is created as hidden,
and it does not affect its parent’s geometry; the tab panel can be made active later by calling
parent’s add-child method.
The font argument determines the font for the control. For information about the enabled argument, see window<%>. For information about the horiz-margin and vert-margin
arguments, see subarea<%>. For information about the
min-width, min-height, stretchable-width, and
stretchable-height arguments, see area<%>.
Adds a tab to the right end of panel’s top row of tabs.
The label string choice can contain &, which (in
the future) may create a mnemonic for clicking the new tab. A
&& is converted to &.
Deletes an existing tab. If n is equal to or larger than the
number of tabs on the panel, an exn:fail:contract exception is raised.
Gets the label of a tab by position. Tabs are numbered from 0.
If n is equal to or larger than the number of tabs in the panel,
an exn:fail:contract exception is raised.
Returns the number of tabs on the panel.
Returns the index (counting from 0) of the currently selected tab. If
the panel has no tabs, the result is #f.
Removes all tabs from the panel and installs tabs with the given
labels.
Set the label for tab n to label. If n is equal to
or larger than the number of tabs in the panel, an exn:fail:contract exception is raised.
Sets the currently selected tab by index (counting from 0).
If n is equal to or larger than the number of tabs in the panel,
an exn:fail:contract exception is raised.