TQTabDialog Class

Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# TQTabDialog Class Reference

The TQTabDialog class provides a stack of tabbed widgets. More...

`#include <ntqtabdialog.h>`

Inherits TQDialog.

List of all member functions.

## Public Members

- TQTabDialog ( TQWidget * parent = 0, const char * name = 0, bool modal = false, WFlags f = 0 )
- ~TQTabDialog ()
- virtual void setFont ( const TQFont & font )
- void addTab ( TQWidget * child, const TQString & label )
- void addTab ( TQWidget * child, const TQIconSet & iconset, const TQString & label )
- void addTab ( TQWidget * child, TQTab * tab )
- void insertTab ( TQWidget * child, const TQString & label, int index = -1 )
- void insertTab ( TQWidget * child, const TQIconSet & iconset, const TQString & label, int index = -1 )
- void insertTab ( TQWidget * child, TQTab * tab, int index = -1 )
- void changeTab ( TQWidget * w, const TQString & label )
- void changeTab ( TQWidget * w, const TQIconSet & iconset, const TQString & label )
- bool isTabEnabled ( TQWidget * w ) const
- void setTabEnabled ( TQWidget * w, bool enable )
- bool isTabEnabled ( const char * name ) const (obsolete)
- void setTabEnabled ( const char * name, bool enable ) (obsolete)
- void showPage ( TQWidget * w )
- void removePage ( TQWidget * w )
- TQString tabLabel ( TQWidget * w )
- TQWidget * currentPage () const
- void setDefaultButton ( const TQString & text )
- void setDefaultButton ()
- bool hasDefaultButton () const
- void setHelpButton ( const TQString & text )
- void setHelpButton ()
- bool hasHelpButton () const
- void setCancelButton ( const TQString & text )
- void setCancelButton ()
- bool hasCancelButton () const
- void setApplyButton ( const TQString & text )
- void setApplyButton ()
- bool hasApplyButton () const
- void setOkButton ( const TQString & text )
- void setOkButton ()
- bool hasOkButton () const

## Signals

- void aboutToShow ()
- void applyButtonPressed ()
- void cancelButtonPressed ()
- void defaultButtonPressed ()
- void helpButtonPressed ()
- void currentChanged ( TQWidget * )
- void selected ( const TQString & ) (obsolete)

## Protected Members

- void setTabBar ( TQTabBar * tb )
- TQTabBar * tabBar () const

## Detailed Description

The TQTabDialog class provides a stack of tabbed widgets.

A tabbed dialog is one in which several "tab pages" are available. By clicking on a tab page's tab or by pressing the indicated Alt+letter key combination, the user can select which tab page they want to use.

TQTabDialog provides a tab bar consisting of single row of tabs at the top; each tab has an associated widget which is that tab's tab page. In addition, TQTabDialog provides an OK button and the following optional buttons: Apply, Cancel, Defaults and Help.

The normal way to use TQTabDialog is to do the following in the constructor:

1. Create a TQTabDialog.
2. Create a TQWidget for each of the pages in the tab dialog, insert children into it, set up geometry management for it, and use addTab() (or insertTab()) to set up a tab and keyboard accelerator for it.
3. Set up the buttons for the tab dialog using setOkButton(), setApplyButton(), setDefaultsButton(), setCancelButton() and setHelpButton().
4. Connect to the signals and slots.

If you don't call addTab() the page you have created will not be visible. Don't confuse the object name you supply to the TQWidget constructor and the tab label you supply to addTab(); addTab() takes user-visible name that appears on the widget's tab and may identify an accelerator, whereas the widget name is used primarily for debugging.

Almost all applications have to connect the applyButtonPressed() signal to something. applyButtonPressed() is emitted when either OK or Apply is clicked, and your slot must copy the dialog's state into the application.

There are also several other signals which may be useful:

- cancelButtonPressed() is emitted when the user clicks Cancel.
- defaultButtonPressed() is emitted when the user clicks Defaults; the slot it is connected to should reset the state of the dialog to the application defaults.
- helpButtonPressed() is emitted when the user clicks Help.
- aboutToShow() is emitted at the start of show(); if there is any chance that the state of the application may change between the creation of the tab dialog and the time show() is called, you must connect this signal to a slot that resets the state of the dialog.
- currentChanged() is emitted when the user selects a page.

Each tab is either enabled or disabled at any given time (see setTabEnabled()). If a tab is enabled the tab text is drawn in black and the user can select that tab. If it is disabled the tab is drawn in a different way and the user cannot select that tab. Note that even if a tab is disabled, the page can still be visible; for example, if all of the tabs happen to be disabled.

You can change a tab's label and iconset using changeTab(). A tab page can be removed with removePage() and shown with showPage(). The current page is given by currentPage().

TQTabDialog does not support tabs on the sides or bottom, nor can you set or retrieve the visible page. If you need more functionality than TQTabDialog provides, consider creating a TQDialog and using a TQTabBar with TQTabWidgets.

Most of the functionality in TQTabDialog is provided by a TQTabWidget.

See also TQDialog and Dialog Classes.

## Member Function Documentation

### TQTabDialog::TQTabDialog ( TQWidget * parent = 0, const char * name = 0, bool modal = false, WFlags f = 0 )

Constructs a TQTabDialog with only an OK button. The parent, name, modal and widget flag, f, arguments are passed on to the TQDialog constructor.

### TQTabDialog::~TQTabDialog ()

Destroys the tab dialog.

### void TQTabDialog::aboutToShow ()`[signal]`

This signal is emitted by show() when it is time to set the state of the dialog's contents. The dialog should reflect the current state of the application when it appears; if there is any possibility that the state of the application may change between the time you call TQTabDialog::TQTabDialog() and TQTabDialog::show(), you should set the dialog's state in a slot and connect this signal to it.

This applies mainly to TQTabDialog objects that are kept around hidden, rather than being created, shown, and deleted afterwards.

See also applyButtonPressed(), show(), and cancelButtonPressed().

### void TQTabDialog::addTab ( TQWidget * child, const TQString & label )

Adds another tab and page to the tab view.

The new page is child; the tab's label is label. Note the difference between the widget name (which you supply to widget constructors and to setTabEnabled(), for example) and the tab label. The name is internal to the program and invariant, whereas the label is shown on-screen and may vary according to language and other factors.

If the tab's label contains an ampersand, the letter following the ampersand is used as an accelerator for the tab, e.g. if the label is "Bro&wse" then Alt+W becomes an accelerator which will move the focus to this tab.

If you call addTab() after show() the screen will flicker and the user may be confused.

See also insertTab().

### void TQTabDialog::addTab ( TQWidget * child, const TQIconSet & iconset, const TQString & label )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

This version of the function shows the iconset as well as the label on the tab of child.

### void TQTabDialog::addTab ( TQWidget * child, TQTab * tab )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

This is a lower-level method for adding tabs, similar to the other addTab() method. It is useful if you are using setTabBar() to set a TQTabBar subclass with an overridden TQTabBar::paint() function for a subclass of TQTab.

The child is the widget to be placed on the new tab page. The tab is the tab to display on the tab page -- normally this shows a label or an icon that identifies the tab page.

### void TQTabDialog::applyButtonPressed ()`[signal]`

This signal is emitted when either the Apply or OK button is clicked.

It should be connected to a slot (or several slots) that change the application's state according to the state of the dialog.

See also cancelButtonPressed(), defaultButtonPressed(), and setApplyButton().

### void TQTabDialog::cancelButtonPressed ()`[signal]`

This signal is emitted when the Cancel button is clicked. It is automatically connected to TQDialog::reject(), which will hide the dialog.

The Cancel button should not change the application's state at all, so you should generally not need to connect it to any slot.

See also applyButtonPressed(), defaultButtonPressed(), and setCancelButton().

### void TQTabDialog::changeTab ( TQWidget * w, const TQIconSet & iconset, const TQString & label )

Changes tab page w's iconset to iconset and label to label.

### void TQTabDialog::changeTab ( TQWidget * w, const TQString & label )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Defines a new label for the tab of page w

### void TQTabDialog::currentChanged ( TQWidget * )`[signal]`

This signal is emitted whenever the current page changes.

See also currentPage(), showPage(), and tabLabel().

### TQWidget * TQTabDialog::currentPage () const

Returns a pointer to the page currently being displayed by the tab dialog. The tab dialog does its best to make sure that this value is never 0 (but if you try hard enough, it can be).

### void TQTabDialog::defaultButtonPressed ()`[signal]`

This signal is emitted when the Defaults button is pressed. It should reset the dialog (but not the application) to the "factory defaults".

The application's state should not be changed until the user clicks Apply or OK.

See also applyButtonPressed(), cancelButtonPressed(), and setDefaultButton().

### bool TQTabDialog::hasApplyButton () const

Returns true if the tab dialog has an Apply button; otherwise returns false.

See also setApplyButton(), applyButtonPressed(), hasCancelButton(), and hasDefaultButton().

### bool TQTabDialog::hasCancelButton () const

Returns true if the tab dialog has a Cancel button; otherwise returns false.

See also setCancelButton(), cancelButtonPressed(), hasApplyButton(), and hasDefaultButton().

### bool TQTabDialog::hasDefaultButton () const

Returns true if the tab dialog has a Defaults button; otherwise returns false.

See also setDefaultButton(), defaultButtonPressed(), hasApplyButton(), and hasCancelButton().

### bool TQTabDialog::hasHelpButton () const

Returns true if the tab dialog has a Help button; otherwise returns false.

See also setHelpButton(), helpButtonPressed(), hasApplyButton(), and hasCancelButton().

### bool TQTabDialog::hasOkButton () const

Returns true if the tab dialog has an OK button; otherwise returns false.

See also setOkButton(), hasApplyButton(), hasCancelButton(), and hasDefaultButton().

### void TQTabDialog::helpButtonPressed ()`[signal]`

This signal is emitted when the Help button is pressed. It could be used to present information about how to use the dialog.

See also applyButtonPressed(), cancelButtonPressed(), and setHelpButton().

### void TQTabDialog::insertTab ( TQWidget * child, const TQString & label, int index = -1 )

Inserts another tab and page to the tab view.

The new page is child; the tab's label is label. Note the difference between the widget name (which you supply to widget constructors and to setTabEnabled(), for example) and the tab label. The name is internal to the program and invariant, whereas the label is shown on-screen and may vary according to language and other factors.

If the tab's label contains an ampersand, the letter following the ampersand is used as an accelerator for the tab, e.g. if the label is "Bro&wse" then Alt+W becomes an accelerator which will move the focus to this tab.

If index is not specified, the tab is simply added. Otherwise it is inserted at the specified position.

If you call insertTab() after show(), the screen will flicker and the user may be confused.

See also addTab().

### void TQTabDialog::insertTab ( TQWidget * child, const TQIconSet & iconset, const TQString & label, int index = -1 )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

This version of the function shows the iconset as well as the label on the tab of child.

### void TQTabDialog::insertTab ( TQWidget * child, TQTab * tab, int index = -1 )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

This is a lower-level method for inserting tabs, similar to the other insertTab() method. It is useful if you are using setTabBar() to set a TQTabBar subclass with an overridden TQTabBar::paint() function for a subclass of TQTab.

The child is the widget to be placed on the new tab page. The tab is the tab to display on the tab page -- normally this shows a label or an icon that identifies the tab page. The index is the position where this tab page should be inserted.

### bool TQTabDialog::isTabEnabled ( TQWidget * w ) const

Returns true if the page w is enabled; otherwise returns false.

See also setTabEnabled() and TQWidget::enabled.

### bool TQTabDialog::isTabEnabled ( const char * name ) const

This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.

Returns true if the page with object name name is enabled and false if it is disabled.

If name is 0 or not the name of any of the pages, isTabEnabled() returns false.

See also setTabEnabled() and TQWidget::enabled.

### void TQTabDialog::removePage ( TQWidget * w )

Removes page w from this stack of widgets. Does not delete w.

See also showPage(), TQTabWidget::removePage(), and TQWidgetStack::removeWidget().

### void TQTabDialog::selected ( const TQString & )`[signal]`

This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.

This signal is emitted whenever a tab is selected (raised), including during the first show().

See also raise().

### void TQTabDialog::setApplyButton ( const TQString & text )

Adds an Apply button to the dialog. The button's text is set to text.

The Apply button should apply the current settings in the dialog box to the application while keeping the dialog visible.

When Apply is clicked, the applyButtonPressed() signal is emitted.

If text is a null string, no button is shown.

See also setCancelButton(), setDefaultButton(), and applyButtonPressed().

### void TQTabDialog::setApplyButton ()

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Adds an Apply button to the dialog. The button's text is set to a localizable "Apply".

### void TQTabDialog::setCancelButton ( const TQString & text )

Adds a Cancel button to the dialog. The button's text is set to text.

The cancel button should always return the application to the state it was in before the tab view popped up, or if the user has clicked Apply, back to the state immediately after the last Apply.

When Cancel is clicked, the cancelButtonPressed() signal is emitted. The dialog is closed at the same time.

If text is a null string, no button is shown.

See also setApplyButton(), setDefaultButton(), and cancelButtonPressed().

### void TQTabDialog::setCancelButton ()

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Adds a Cancel button to the dialog. The button's text is set to a localizable "Cancel".

### void TQTabDialog::setDefaultButton ( const TQString & text )

Adds a Defaults button to the dialog. The button's text is set to text.

The Defaults button should set the dialog (but not the application) back to the application defaults.

When Defaults is clicked, the defaultButtonPressed() signal is emitted.

If text is a null string, no button is shown.

See also setApplyButton(), setCancelButton(), and defaultButtonPressed().

### void TQTabDialog::setDefaultButton ()

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Adds a Defaults button to the dialog. The button's text is set to a localizable "Defaults".

### void TQTabDialog::setFont ( const TQFont & font )`[virtual]`

Sets the font for the tabs to font.

If the widget is visible, the display is updated with the new font immediately. There may be some geometry changes, depending on the size of the old and new fonts.

Reimplemented from TQWidget.

### void TQTabDialog::setHelpButton ( const TQString & text )

Adds a Help button to the dialog. The button's text is set to text.

When Help is clicked, the helpButtonPressed() signal is emitted.

If text is a null string, no button is shown.

See also setApplyButton(), setCancelButton(), and helpButtonPressed().

### void TQTabDialog::setHelpButton ()

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Adds a Help button to the dialog. The button's text is set to a localizable "Help".

### void TQTabDialog::setOkButton ( const TQString & text )

Adds an OK button to the dialog and sets the button's text to text.

When the OK button is clicked, the applyButtonPressed() signal is emitted, and the current settings in the dialog box should be applied to the application. The dialog then closes.

If text is a null string, no button is shown.

See also setCancelButton(), setDefaultButton(), and applyButtonPressed().

### void TQTabDialog::setOkButton ()

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Adds an OK button to the dialog. The button's text is set to a localizable "OK".

### void TQTabDialog::setTabBar ( TQTabBar * tb )`[protected]`

Replaces the TQTabBar heading the dialog by the given tab bar, tb. Note that this must be called before any tabs have been added, or the behavior is undefined.

See also tabBar().

### void TQTabDialog::setTabEnabled ( TQWidget * w, bool enable )

If enable is true the page w is enabled; otherwise w is disabled. The page's tab is redrawn appropriately.

TQTabWidget uses TQWidget::setEnabled() internally, rather than keeping a separate flag.

Note that even a disabled tab and tab page may be visible. If the page is already visible TQTabWidget will not hide it; if all the pages are disabled TQTabWidget will show one of them.

See also isTabEnabled() and TQWidget::enabled.

### void TQTabDialog::setTabEnabled ( const char * name, bool enable )

This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.

Finds the page with object name name, enables/disables it according to the value of enable and redraws the page's tab appropriately.

TQTabDialog uses TQWidget::setEnabled() internally, rather than keeping a separate flag.

Note that even a disabled tab/page may be visible. If the page is already visible TQTabDialog will not hide it; if all the pages are disabled TQTabDialog will show one of them.

The object name is used (rather than the tab label) because the tab text may not be invariant in multi-language applications.

See also isTabEnabled() and TQWidget::enabled.

### void TQTabDialog::showPage ( TQWidget * w )

Ensures that widget w is shown. This is mainly useful for accelerators.

Warning: If used carelessly, this function can easily surprise or confuse the user.

See also TQTabBar::currentTab.

### TQTabBar * TQTabDialog::tabBar () const`[protected]`

Returns the currently set TQTabBar.

See also setTabBar().

### TQString TQTabDialog::tabLabel ( TQWidget * w )

Returns the text in the tab for page w.

This file is part of the TQt toolkit. Copyright © 1995-2007 Trolltech. All Rights Reserved.