tabWidget class

tabWidget class Provides a Tab Widget.
Inherits
object widget
Description

The tabWidget class provides a stack of tabbed widgets.
Each tab is associated with a different widget (called a `page').
Only the current tab's page is shown in the page area; all the others tabs pages are hidden.
The user can show a different page by clicking on its tab.

Functions

`$addTab(<widget:object>,<text_label:string>,[<icon_id>])`
Adds another page to the tab view with the text label and optional icon.
`$insertTab(<widget:object>,<tex_label:string>,<index:uinteger>)`
Inserts another tab and page to the tab view with name and label-text specified. If index is not specified, the tab is simply appended. Otherwise the new tab is inserted at the specified position.
`$setTabToolTip(<tab_widget:object>,<tooltip:string>)`
Sets the tab tool tip for the tabWidget to <tooltip>.
`$removeTabToolTip(<tab_widget:object>)`
Removes the tab tool tip for the tab. If the page does not have a tip, nothing happens.
`$setTabLabel(<tab_widget>, <label:string>)`
Sets the tab label for <tab_widget> to label.
`$changeTab(<tab_widget:object>,<label:text>,[<icon_id>])`
Defines a new label, and optional icon, for the tab .
`$setCurrentPage(<index:uinteger>)`
Sets the index position of the current tab page to <index>.
`<integer> $currentPageIndex()`
Returns the current page index.
`<string> $tabLabel(<index:uinteger>)`
Returns the tab label of the <index>.
`<hobject> $widgetAt(<index:integer>)`
Returns the tab widget of the <index> or 0 if index is out of the tabs count.
`<index:integer> $indexOf(<widget:hobject>)`
Returns the <index> of the <widget> in the tabs.
`<string> $currentTabLabel()`
Returns the label of the current tab.
`$removePage(<tab_widget:object>)`
Remove the page <tab_widget>.
`$setTabPosition(<tab_position:string>)`
Sets TabPosition. Valid parameters are : Top, Bottom.
`<integer> $count()`
Returns the number of tabs in the tab bar.
`$setTabsClosable(<enable:bool>)`
Sets whether close buttons are automatically added to each tab
`$currentChangedEvent()`
This function is invoked when the current tab was changed. The default implementation emits the $currentChange() signal.
`$tabCloseRequestEvent()`
This function is invoked when when the close button on a tab is clicked. The index is the index of the tab that should be removed. The default implementation emits the $tabCloseRequest() signal. See also $setTabsClosable().

Signals

`$currentChange(<index:integer>)`
This signal is emitted by the default implementation of $currentChangedEvent(). If you reimplement that function you will have to emit the signal manually (if you still need it).
`$tabCloseRequest(<index:integer>)`
This signal is emitted by the default implementation of [classfnc]tabCloseRequestEvent[/classfnc]().

Examples

# First we'll create the main tabWidget.
%Tabwidget=$new(tabWidget)
%Tabwidget->$setToolTip("Example of TabWidget class")
%Tabwidget->$setTabPosition(Top)
%Tabwidget->$resize(300,200)
# Now we'll create the new widgets and put they in to the main tabWidget.
%firsttab=$new(vbox)
%secondtab=$new(vbox)
# Now we'll create the item to put in to tab's pages.
# First tab
%hbox=$new(hbox,%firsttab)
%labelbt=$new(label,%hbox)
%labelbt->$settext(Botton Tab)
%labeltt=$new(label,%hbox)
%labeltt->$settext(Top Tab)
%hbox=$new(hbox,%firsttab)
%buttontb=$new(button,%hbox)
%buttontb->$settext("To &Botton")
%buttontt=$new(button,%hbox)
%buttontt->$settext("To &Top")
# Now we'll give a layout to all items.
# This also allows to use privateimpl without making buttons global variables
# Add the page to the main tab.
%Tabwidget->$addTab(%firsttab,Top&Button,33)
# Implementing the action to do when the user click the buttons.
privateimpl(%buttontb,mousepressevent)
{
%Tabwidget->$setTabPosition(Bottom)
}
privateimpl(%buttontt,mousepressevent)
{
%Tabwidget->$setTabPosition(Top)
}
# We do the same work with the second tab's page.
%labelwp=$new(label,%secondtab)
%labelwp->$settext("Enjoy the new Class provided by")
%labelwp->$setalignment("Center")
%labelgen=$new(label,%secondtab)
%labelgen->$settext(Grifisx \& Noldor)
%labelgen->$setalignment("Center")
%Tabwidget->$addTab(%secondtab,&About,50)
# Let's show our example.
%Tabwidget->$show()

Index, Object Classes