superclass: vertical-panel% |
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.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
→ (is-a?/c tab-panel%) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
choices : (listof label-string?) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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<%>.
choice : label-string? |
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 &.
n : nonnegative-exact-integer? |
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.
(send a-tab-panel get-item-label n) → string? |
n : nonnegative-exact-integer? |
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.
(send a-tab-panel get-number) → nonnegative-exact-integer? |
Returns the number of tabs on the panel.
(send a-tab-panel get-selection) |
Returns the index (counting from 0) of the currently selected tab. If the panel has no tabs, the result is #f.
choices : (listof label-string?) |
Removes all tabs from the panel and installs tabs with the given labels.
(send a-tab-panel set-item-label n label) → string? |
n : nonnegative-exact-integer? |
label : label-string? |
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.
(send a-tab-panel set-selection n) → void? |
n : nonnegative-exact-integer? |
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.