|
|
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.
| |
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. |
| ~ |
Destructor
| int |
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 |
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 |
Turn to another tab. This method calls showSection to show the corresponding KWizard.
Parameters:
| tab | The tab to turn to |
| QSize |
| void |
| void |
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.
| void |
Adds a Cancel button to the bottom of the dialog.
Parameters:
| text | A user supplied text to write to the button. |
| void |
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.
| void |
Adds a Default button to the bottom of the dialog.
Parameters:
| text | A user supplied text to write to the button. |
| void |
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 |
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 |
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 |
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 * |
Get Ok button.
Returns: Returns the Ok buttonwidget or 0L if no button is added.
| QButton * |
Get Cancel button.
Returns: Returns the Cancel buttonwidget or 0L if no button is added.
| QButton * |
Get Default button.
Returns: Returns the Default buttonwidget or 0L if no button is added.
| QButton * |
Get Help button.
Returns: Returns the Help buttonwidget or 0L if no button is added.
| void |
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. |
| bool |
Returns: Returns whether the direction buttons reflects the title of the corresponding page.
See also: setDirectionsReflectsPage(bool, state)
| void |
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 |
Returns whether the menu is enabled or not.
Returns: 'true' if the menu is enabled, otherwise 'false'.
| QPopupMenu * |
Get the popup menu.
Returns: Returns the handle of the popup menu.
| void |
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 |
Returns: Returns whether the arrow buttons are enabled or not.
See also: setEnableArrowButtons, KWizard#enableArrowButtons.
| KTabBar * |
Returns the handle of the tab bar.
| int |
Returns the number of tabs in the notebook.
| void |
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 |
Returns: Returns whether the tab is enabled or not.
| void |
En/Disable a page in a section (tab) in the notebook
| bool |
Returns: Returns whether a page in a section (tab) is enabled or not.
| void |
[signal]
This signal is emitted when the user clicks on the Ok button.
| void |
[signal]
This signal is emitted when the user clicks on the Cancel button.
| void |
[signal]
This signal is emitted when the user clicks on the Default button.
| void |
[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.
| void |
[protected slot]
Called by gotoTab to show the appropriate KWizard.
| void |
[protected slot]
If the menu is enabled by enablePopupMenu this method will let the menu popup at 'pos'.
| void |
[protected slot]
| void |
[protected slot]
| void |
[protected slot]
| void |
[protected slot]
| void |
[protected slot]
| void |
[protected slot]
| void |
[protected slot]
| void |
[protected slot]
| void |
[protected]
| void |
[protected]
| void |
[protected]
| void |
[protected]
| QSize |
[protected]
| KNoteBookProtected * |
[protected]
| QList<KWizard> * |
[protected]