|
|
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) |
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:
| parent | The parent of the notebook. |
| name | The internal name. |
| modal | If modal is true the notebook wil become a modal dialog. |
| f | Window flags. |
See also: QDialog::QDialog
| ~KNoteBook () |
Destructor
| int addTab (QTab *tab, KWizardPage *p = 0L) |
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:
| tab | The QTab containing the tab data. |
| 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); |
Returns: Returns the id of the new tab.
| int addPage (KWizardPage *p) |
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) |
Turn to another tab. This method calls showSection to show the corresponding KWizard.
Parameters:
| tab | The tab to turn to |
| void setCancelButton () |
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: translate
| void setCancelButton (const char *text) |
Adds a Cancel button to the bottom of the dialog.
Parameters:
| text | A user supplied text to write to the button. |
| void setDefaultButton () |
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) |
Adds a Default button to the bottom of the dialog.
Parameters:
| text | A user supplied text to write to the button. |
| void setHelpButton () |
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 *) |
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 () |
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 *) |
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 () |
Get Ok button.
Returns: Returns the Ok buttonwidget or 0L if no button is added.
| QButton * getCancelButton () |
Get Cancel button.
Returns: Returns the Cancel buttonwidget or 0L if no button is added.
| QButton * getDefaultButton () |
Get Default button.
Returns: Returns the Default buttonwidget or 0L if no button is added.
| QButton * getHelpButton () |
Get Help button.
Returns: Returns the Help buttonwidget or 0L if no button is added.
| void setDirectionsReflectsPage (bool state) |
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 () |
Returns: Returns whether the direction buttons reflects the title of the corresponding page.
See also: setDirectionsReflectsPage(bool, state)
| void setEnablePopupMenu (bool state) |
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 () |
Returns whether the menu is enabled or not.
Returns: 'true' if the menu is enabled, otherwise 'false'.
| QPopupMenu * getMenu () |
Get the popup menu.
Returns: Returns the handle of the popup menu.
| void setEnableArrowButtons (bool state) |
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 () |
Returns: Returns whether the arrow buttons are enabled or not.
See also: setEnableArrowButtons, KWizard#enableArrowButtons.
| KTabBar * getTabBar () |
Returns the handle of the tab bar.
| int numTabs () |
Returns the number of tabs in the notebook.
| void setTabEnabled (int tab, bool state) |
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) |
Returns: Returns whether the tab is enabled or not.
See also: setTabEnabled
| void setPageEnabled (int tab, int page, bool state) |
En/Disable a page in a section (tab) in the notebook
See also: setPageEnabled
| bool isPageEnabled (int tab, int page) |
Returns: Returns whether a page in a section (tab) is enabled or not.
See also: setTabEnabled
| void okclicked () |
This signal is emitted when the user clicks on the Ok button.
| void cancelclicked () |
This signal is emitted when the user clicks on the Cancel button.
| void defaultclicked (int) |
This signal is emitted when the user clicks on the Default button.
| void helpclicked (int) |
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
| void showSection (int) |
Called by gotoTab to show the appropriate KWizard.
| void popupMenu (QPoint pos) |
If the menu is enabled by enablePopupMenu this method will let the menu popup at 'pos'.
| void menuChoice (int) |
| void menuChoiceRedirect (int) |
| void directionButton (bool, bool) |
| void okClicked () |
| void cancelClicked () |
| void defaultClicked () |
| void helpClicked () |
| void tabScroll ( ArrowType ) |
| void init () |
| void resizeEvent (QResizeEvent *) |
| void paintEvent (QPaintEvent *) |
| void setSizes () |
| QSize childSize () |
| KNoteBookProtected * pnote |
| QList<KWizard> * sections |