KNoteBook Class Reference

[kio Index] [kio Hierarchy] [Headers]


KNoteBook More...

#include <knotebook.h>

Inherits: KDialog (kdeui)

Public Members

Protected Members

Protected Slots

Signals


Detailed Description

KNoteBook is a tabbed dialog where each tab can have multiple pages. The widget has the advantages of both KTabCtl and QTabDialog plus some more.

Features:

- Multiple pages per tab with previous/next button and optional arrow buttons in the title..

- An optional popup menu which takes you to a specific page in a specific section (tab).

- Easy additions of Ok, Cancel, Default and Help buttons.

- Automatic resizing/repainting/repositioning of buttons. Not like QTabDialog where there is always an Ok button.

- Scrollable tab bar.

- Can be used as both modal/non-modal dialog and a child widget.


KNoteBook(QWidget *parent = 0, const char *name = 0, bool modal = false, WFlags f = 0) [public]

Constructs a KNoteBook.

A modal notebook can be created like this:

KNoteBook *nb = new KNoteBook(this, "notebook", true);
connect(nb, SIGNAL(okclicked()), SLOT(nb->hide()));
connect(nb, SIGNAL(okclicked()), SLOT(readNewInput()));

A very simple program where the main window is a KNoteBook with one tab and one page inserted could look like this:

int main(int argc, char **argv)
{
KApplication a(argc,argv,"knotebooktest");  // create an application object
KNoteBook *nb = new KNoteBook(); // create the notebook
nb->setCancelButton();           // add a Cancel button and connect it to the quit() slot
QObject::connect( nb, SIGNAL(cancelclicked()), &a, SLOT(quit()) );

QTab *tab = new QTab; // create a QTab to hold the tab data tab->label = "A tab"; tab->enabled = true; nb->addTab( tab ); QLabel *l = new QLabel(nb); l->setAlignment(AlignCenter); l->setText("This is a QLabel as a page"); l->setMinimumSize(400, 300); KWizardPage *p = new KWizardPage; p->w = l; p->title.setNum("A page title"); p->enabled = true; nb->addPage( p );

a.setMainWidget(nb); nb->adjustSize(); nb->show(); return a.exec(); }

Parameters:
name The internal name.
parent The parent of the notebook.
modal If modal is true the notebook wil become a modal dialog.
f Window flags.
See Also:
QDialog::QDialog

~KNoteBook() [public]

Destructor

int addTab(QTab *tab, KWizardPage *p = 0L) [public]

Adds a new tab to the notebook and creates a new KWizard to hold the pages. The tabs are numbered from 0 to n where 0 is the tab first added and n is the tab last added. if you add 4 tabs the last tab will be number 3. Subsequent calls to addPage will add pages to this tab until a new call to addTab().

Parameters:
p The optional KWizardPage containing the page data.If 'p' is not 0 it will be added as a new page. This is equivalent to addPage (p);
tab The QTab containing the tab data.
Returns:
Returns the id of the new tab.

int addPage(KWizardPage *p) [public]

Adds a new page to the last added tab. The pages are numbered from 0 to n where 1 is the page first added and n is the page last added. Subsequent calls to addPage will add pages to the last added tab until a new call to addTab().

Parameters:
p The KWizardPage containing the page data..
Returns:
Returns the id of the new page. The id is relative to the KWizard, NOT the KNoteBook.

void gotoTab(int tab) [public]

Turn to another tab. This method calls showSection to show the corresponding KWizard.

Parameters:
tab The tab to turn to

void setCancelButton() [public]

Adds a Cancel button to the bottom of the dialog. The text will be a translated version of the string '&Cancel' thereby giving it the shortcut key 'c'. If any buttons are added a space will be created at the bottom of the dialog to fit the buttons. When clicked the button will emit the cancelclicked signal.

See Also:
KLocale::translate

void setCancelButton(const char *text) [public]

Adds a Cancel button to the bottom of the dialog.

Parameters:
text A user supplied text to write to the button.

void setDefaultButton() [public]

Adds a Default button to the bottom of the dialog. The text will be a translated version of the string '&Default' thereby giving it the shortcut key 'd'. If any buttons are added a space will be created at the bottom of the dialog to fit the buttons. When clicked the button will emit the defaultclicked signal.

See Also:
KLocal::translate

void setDefaultButton(const char *text) [public]

Adds a Default button to the bottom of the dialog.

Parameters:
text A user supplied text to write to the button.

void setHelpButton() [public]

Adds a Help button to the bottom right of the dialog. The text will be a translated version of the string '&Help' thereby giving it the shortcut key 'h'. If any buttons are added a space will be created at the bottom of the dialog to fit the buttons. When clicked the button will emit the helpclicked signal.

void setHelpButton(const char *) [public]

Adds a Help button to the bottom of the dialog. This button will generate the signal helpclicked where the int is the page to which the help was requested.

Parameters:
text A user supplied text to write to the button.

void setOkButton() [public]

Adds an Ok button to the bottom right of the dialog. The text will be a translated version of the string '&Ok' thereby giving it the shortcut key 'o'. If any buttons are added a space will be created at the bottom of the dialog to fit the buttons. When clicked the button will emit the okclicked signal.

void setOkButton(const char *) [public]

Adds an Ok button to the bottom of the dialog. This button will generate the signal okclicked where the int is the page to which the help was requested.

Parameters:
text A user supplied text to write to the button.

QButton* getOkButton() [public]

Get Ok button.

Returns:
Returns the Ok buttonwidget or 0L if no button is added.

QButton* getCancelButton() [public]

Get Cancel button.

Returns:
Returns the Cancel buttonwidget or 0L if no button is added.

QButton* getDefaultButton() [public]

Get Default button.

Returns:
Returns the Default buttonwidget or 0L if no button is added.

QButton* getHelpButton() [public]

Get Help button.

Returns:
Returns the Help buttonwidget or 0L if no button is added.

void setDirectionsReflectsPage(bool state) [public]

Let direction buttons reflect page.

Parameters:
state If state is true the direction buttons (Previous and Next) will have the title of the corresponding page.
See Also:
directionsReflectsPage

bool directionsReflectsPage() [public]

Returns:
Returns whether the direction buttons reflects the title of the corresponding page.
See Also:
setDirectionsReflectsPage

void setEnablePopupMenu(bool state) [public]

En/Disable the popup menu.

Parameters:
state If state is true a menu containing the pages in the wizard will popup when the user RMB-clicks on the page-title.

bool enablePopupMenu() [public]

Returns whether the menu is enabled or not.

Returns:
'true' if the menu is enabled, otherwise 'false'.

QPopupMenu* getMenu() [public]

Get the popup menu.

Returns:
Returns the handle of the popup menu.

void setEnableArrowButtons(bool state) [public]

En/Disable the arrowbuttons.

Parameters:
state If state is true two arrows will appear to the right of the title.
See Also:
enableArrowButtons, KWizard::setEnableArrowButtons

bool enableArrowButtons() [public]

Returns:
Returns whether the arrow buttons are enabled or not.
See Also:
setEnableArrowButtons, KWizard::enableArrowButtons

KTabBar* getTabBar() [public]

Returns the handle of the tab bar.

int numTabs() [public]

Returns the number of tabs in the notebook.

void setTabEnabled(int tab, bool state) [public]

En/Disable a tab in the notebook. If a tab is disabled it is not selectable from the tab bar. If the user reaches a disabled tab by traversing through the pages the notebook will jump to the next enabled tab.

bool isTabEnabled(int tab) [public]

Returns:
Returns whether the tab is enabled or not.
See Also:
setTabEnabled

void setPageEnabled(int tab, int page, bool state) [public]

En/Disable a page in a section (tab) in the notebook

See Also:
KWizard::setPageEnabled

bool isPageEnabled(int tab, int page) [public]

Returns:
Returns whether a page in a section (tab) is enabled or not.
See Also:
setTabEnabled

void showSection(int) [protected slot]

Called by gotoTab to show the appropriate KWizard.

void popupMenu(QPoint pos) [protected slot]

For internal use only.

If the menu is enabled by enablePopupMenu this method will let the menu popup at 'pos'.

void okclicked() [signal]

This signal is emitted when the user clicks on the Ok button.

void cancelclicked() [signal]

This signal is emitted when the user clicks on the Cancel button.

void defaultclicked(int) [signal]

This signal is emitted when the user clicks on the Default button.

void helpclicked(int) [signal]

This signal is emitted when the user clicks on the Help button. The int is the page which was showing when help was requested.

See Also:
setHelpButton

  • Author: Thomas Tanghus <tanghus@earthling.net>
  • Version: 0.3
  • Documentation generated by tasin@cd1 on Die Nov 30 17:32:00 CET 1999
Kdoc