A configuration dialog. More...
#include <qxtconfigdialog.h>

Public Types | |
| enum | IconPosition { North, West, East } |
Public Slots | |
| void | setCurrentIndex (int index) |
| void | setCurrentPage (QWidget *page) |
| virtual void | accept () |
| virtual void | reject () |
Signals | |
| void | currentIndexChanged (int index) |
Public Member Functions | |
| QxtConfigDialog (QWidget *parent=0, Qt::WindowFlags flags=0) | |
| QxtConfigDialog (QxtConfigDialog::IconPosition position, QWidget *parent=0, Qt::WindowFlags flags=0) | |
| virtual | ~QxtConfigDialog () |
| QDialogButtonBox * | dialogButtonBox () const |
| void | setDialogButtonBox (QDialogButtonBox *buttonBox) |
| bool | hasHoverEffect () const |
| void | setHoverEffect (bool enabled) |
| QxtConfigDialog::IconPosition | iconPosition () const |
| void | setIconPosition (QxtConfigDialog::IconPosition position) |
| QSize | iconSize () const |
| void | setIconSize (const QSize &size) |
| int | addPage (QWidget *page, const QIcon &icon, const QString &title=QString()) |
| int | insertPage (int index, QWidget *page, const QIcon &icon, const QString &title=QString()) |
| QWidget * | takePage (int index) |
| int | count () const |
| int | currentIndex () const |
| QWidget * | currentPage () const |
| int | indexOf (QWidget *page) const |
| QWidget * | page (int index) const |
| bool | isPageEnabled (int index) const |
| void | setPageEnabled (int index, bool enabled) |
| bool | isPageHidden (int index) const |
| void | setPageHidden (int index, bool hidden) |
| QIcon | pageIcon (int index) const |
| void | setPageIcon (int index, const QIcon &icon) |
| QString | pageTitle (int index) const |
| void | setPageTitle (int index, const QString &title) |
| QString | pageToolTip (int index) const |
| void | setPageToolTip (int index, const QString &tooltip) |
| QString | pageWhatsThis (int index) const |
| void | setPageWhatsThis (int index, const QString &whatsthis) |
Protected Member Functions | |
| QTableWidget * | tableWidget () const |
| QStackedWidget * | stackedWidget () const |
| virtual void | cleanupPage (int index) |
| virtual void | initializePage (int index) |
Properties | |
| int | count |
| This property holds the number of pages. | |
| int | currentIndex |
| This property holds the index of current page. | |
| bool | hoverEffect |
| This property holds whether a hover effect is shown for page icons. | |
| QxtConfigDialog::IconPosition | iconPosition |
| This property holds the position of page icons. | |
| QSize | iconSize |
| This property holds the size of page icons. | |
Friends | |
| class | QxtConfigDialogPrivate |
A configuration dialog.
QxtConfigDialog provides a convenient interface for building common configuration dialogs. QxtConfigDialog consists of a list of icons and a stack of pages.
Example usage:
QxtConfigDialog dialog; dialog.addPage(new ConfigurationPage(&dialog), QIcon(":/images/config.png"), tr("Configuration")); dialog.addPage(new UpdatePage(&dialog), QIcon(":/images/update.png"), tr("Update")); dialog.addPage(new QueryPage(&dialog), QIcon(":/images/query.png"), tr("Query")); dialog.exec();
QxtConfigDialog with page icons on the left (QxtConfigDialog::West).
Definition at line 37 of file qxtconfigdialog.h.
| North |
The icons are located above the pages. |
| West |
The icons are located to the left of the pages. |
| East |
The icons are located to the right of the pages. |
Definition at line 49 of file qxtconfigdialog.h.
| QxtConfigDialog::QxtConfigDialog | ( | QWidget * | parent = 0, |
| Qt::WindowFlags | flags = 0 |
||
| ) | [explicit] |
Constructs a new QxtConfigDialog with parent and flags.
Definition at line 333 of file qxtconfigdialog.cpp.
References QXT_INIT_PRIVATE.
: QDialog(parent, flags)
{
QXT_INIT_PRIVATE(QxtConfigDialog);
qxt_d().init();
}
| QxtConfigDialog::QxtConfigDialog | ( | QxtConfigDialog::IconPosition | position, |
| QWidget * | parent = 0, |
||
| Qt::WindowFlags | flags = 0 |
||
| ) | [explicit] |
Constructs a new QxtConfigDialog with icon position, parent and flags.
Definition at line 343 of file qxtconfigdialog.cpp.
References QXT_INIT_PRIVATE.
: QDialog(parent, flags)
{
QXT_INIT_PRIVATE(QxtConfigDialog);
qxt_d().init(position);
}
| QxtConfigDialog::~QxtConfigDialog | ( | ) | [virtual] |
| void QxtConfigDialog::accept | ( | ) | [virtual, slot] |
Reimplemented from QDialog.
Definition at line 767 of file qxtconfigdialog.cpp.
{
Q_ASSERT(qxt_d().stack);
for (int i = 0; i < qxt_d().stack->count(); ++i)
{
QMetaObject::invokeMethod(qxt_d().stack->widget(i), "accept");
}
QDialog::accept();
}
| int QxtConfigDialog::addPage | ( | QWidget * | page, |
| const QIcon & | icon, | ||
| const QString & | title = QString() |
||
| ) |
Adds a page with icon and title.
In case title is an empty string, QWidget::windowTitle is used.
Returns the index of added page.
Definition at line 457 of file qxtconfigdialog.cpp.
References insertPage().
{
return insertPage(-1, page, icon, title);
}
| void QxtConfigDialog::cleanupPage | ( | int | index ) | [protected, virtual] |
This virtual function is called to clean up previous page at index before switching to a new page.
Definition at line 824 of file qxtconfigdialog.cpp.
Referenced by QxtConfigDialogPrivate::setCurrentIndex().
{
Q_ASSERT(qxt_d().stack);
QMetaObject::invokeMethod(qxt_d().stack->widget(index), "cleanup");
}
| int QxtConfigDialog::count | ( | ) | const |
| int QxtConfigDialog::currentIndex | ( | ) | const |
| QxtConfigDialog::currentIndexChanged | ( | int | index ) | [signal] |
This signal is emitted whenever the current page index changes.
| QWidget * QxtConfigDialog::currentPage | ( | ) | const |
Returns the current page.
Definition at line 551 of file qxtconfigdialog.cpp.
{
return qxt_d().stack->currentWidget();
}
| QDialogButtonBox* QxtConfigDialog::dialogButtonBox | ( | ) | const |
| bool QxtConfigDialog::hasHoverEffect | ( | ) | const |
Definition at line 404 of file qxtconfigdialog.cpp.
{
return qxt_d().table->hasHoverEffect();
}
| QxtConfigDialog::IconPosition QxtConfigDialog::iconPosition | ( | ) | const |
| QSize QxtConfigDialog::iconSize | ( | ) | const |
| int QxtConfigDialog::indexOf | ( | QWidget * | page ) | const |
Returns the index of page or -1 if the page is unknown.
Definition at line 569 of file qxtconfigdialog.cpp.
{
return qxt_d().stack->indexOf(page);
}
| void QxtConfigDialog::initializePage | ( | int | index ) | [protected, virtual] |
This virtual function is called to initialize page at index before switching to it.
Definition at line 839 of file qxtconfigdialog.cpp.
Referenced by QxtConfigDialogPrivate::setCurrentIndex().
{
Q_ASSERT(qxt_d().stack);
QMetaObject::invokeMethod(qxt_d().stack->widget(index), "initialize");
}
| int QxtConfigDialog::insertPage | ( | int | index, |
| QWidget * | page, | ||
| const QIcon & | icon, | ||
| const QString & | title = QString() |
||
| ) |
Inserts a page with icon and title.
In case title is an empty string, QWidget::windowTitle is used.
Returns the index of inserted page.
Definition at line 473 of file qxtconfigdialog.cpp.
References North.
Referenced by addPage().
{
if (!page)
{
qWarning("QxtConfigDialog::insertPage(): Attempt to insert null page");
return -1;
}
index = qxt_d().stack->insertWidget(index, page);
const QString label = !title.isEmpty() ? title : page->windowTitle();
if (label.isEmpty())
qWarning("QxtConfigDialog::insertPage(): Inserting a page with an empty title");
QTableWidgetItem* item = new QTableWidgetItem(icon, label);
item->setToolTip(label);
if (qxt_d().pos == QxtConfigDialog::North)
{
qxt_d().table->model()->insertColumn(index);
qxt_d().table->setItem(0, index, item);
qxt_d().table->resizeRowToContents(0);
}
else
{
qxt_d().table->model()->insertRow(index);
qxt_d().table->setItem(index, 0, item);
qxt_d().table->resizeColumnToContents(0);
}
qxt_d().table->updateGeometry();
return index;
}
| bool QxtConfigDialog::isPageEnabled | ( | int | index ) | const |
Returns true if the page at index is enabled; otherwise false.
Definition at line 587 of file qxtconfigdialog.cpp.
References page().
{
const QWidget* widget = page(index);
return widget && widget->isEnabled();
}
| bool QxtConfigDialog::isPageHidden | ( | int | index ) | const |
Returns true if the page at index is hidden; otherwise false.
Definition at line 622 of file qxtconfigdialog.cpp.
References North.
{
if (qxt_d().pos == QxtConfigDialog::North)
return qxt_d().table->isColumnHidden(index);
return qxt_d().table->isRowHidden(index);
}
| QWidget * QxtConfigDialog::page | ( | int | index ) | const |
Returns the page at index or 0 if the index is out of range.
Definition at line 577 of file qxtconfigdialog.cpp.
Referenced by isPageEnabled(), setPageEnabled(), and takePage().
{
return qxt_d().stack->widget(index);
}
| QIcon QxtConfigDialog::pageIcon | ( | int | index ) | const |
Returns the icon of page at index.
Definition at line 648 of file qxtconfigdialog.cpp.
{
const QTableWidgetItem* item = qxt_d().item(index);
return (item ? item->icon() : QIcon());
}
| QString QxtConfigDialog::pageTitle | ( | int | index ) | const |
Returns the title of page at index.
Definition at line 677 of file qxtconfigdialog.cpp.
{
const QTableWidgetItem* item = qxt_d().item(index);
return (item ? item->text() : QString());
}
| QString QxtConfigDialog::pageToolTip | ( | int | index ) | const |
Returns the tooltip of page at index.
Definition at line 706 of file qxtconfigdialog.cpp.
{
const QTableWidgetItem* item = qxt_d().item(index);
return (item ? item->toolTip() : QString());
}
| QString QxtConfigDialog::pageWhatsThis | ( | int | index ) | const |
Returns the what's this of page at index.
Definition at line 735 of file qxtconfigdialog.cpp.
{
const QTableWidgetItem* item = qxt_d().item(index);
return (item ? item->whatsThis() : QString());
}
| void QxtConfigDialog::reject | ( | ) | [virtual, slot] |
Reimplemented from QDialog.
Definition at line 785 of file qxtconfigdialog.cpp.
{
Q_ASSERT(qxt_d().stack);
for (int i = 0; i < qxt_d().stack->count(); ++i)
{
QMetaObject::invokeMethod(qxt_d().stack->widget(i), "reject");
}
QDialog::reject();
}
| void QxtConfigDialog::setCurrentIndex | ( | int | index ) | [slot] |
Definition at line 541 of file qxtconfigdialog.cpp.
{
qxt_d().setCurrentIndex(index);
}
| void QxtConfigDialog::setCurrentPage | ( | QWidget * | page ) | [slot] |
Sets the current page.
Definition at line 561 of file qxtconfigdialog.cpp.
{
qxt_d().setCurrentIndex(qxt_d().stack->indexOf(page));
}
| void QxtConfigDialog::setDialogButtonBox | ( | QDialogButtonBox * | buttonBox ) |
| void QxtConfigDialog::setHoverEffect | ( | bool | enabled ) |
Definition at line 409 of file qxtconfigdialog.cpp.
{
qxt_d().table->setHoverEffect(enabled);
}
| void QxtConfigDialog::setIconPosition | ( | QxtConfigDialog::IconPosition | position ) |
Definition at line 423 of file qxtconfigdialog.cpp.
{
if (qxt_d().pos != position)
{
qxt_d().pos = position;
qxt_d().relayout();
}
}
| void QxtConfigDialog::setIconSize | ( | const QSize & | size ) |
Definition at line 441 of file qxtconfigdialog.cpp.
{
qxt_d().table->setIconSize(size);
}
| void QxtConfigDialog::setPageEnabled | ( | int | index, |
| bool | enabled | ||
| ) |
Sets the page at index enabled. The corresponding page icon is also enabled.
Definition at line 599 of file qxtconfigdialog.cpp.
References page().
{
QWidget* page = qxt_d().stack->widget(index);
QTableWidgetItem* item = qxt_d().item(index);
if (page && item)
{
page->setEnabled(enabled);
if (enabled)
item->setFlags(item->flags() | Qt::ItemIsEnabled);
else
item->setFlags(item->flags() & ~Qt::ItemIsEnabled);
}
else
{
qWarning("QxtConfigDialog::setPageEnabled(): Unknown index");
}
}
| void QxtConfigDialog::setPageHidden | ( | int | index, |
| bool | hidden | ||
| ) |
Sets the page at index hidden. The corresponding page icon is also hidden.
Definition at line 635 of file qxtconfigdialog.cpp.
References North.
{
if (qxt_d().pos == QxtConfigDialog::North)
qxt_d().table->setColumnHidden(index, hidden);
else
qxt_d().table->setRowHidden(index, hidden);
}
| void QxtConfigDialog::setPageIcon | ( | int | index, |
| const QIcon & | icon | ||
| ) |
Sets the icon of page at index.
Definition at line 659 of file qxtconfigdialog.cpp.
{
QTableWidgetItem* item = qxt_d().item(index);
if (item)
{
item->setIcon(icon);
}
else
{
qWarning("QxtConfigDialog::setPageIcon(): Unknown index");
}
}
| void QxtConfigDialog::setPageTitle | ( | int | index, |
| const QString & | title | ||
| ) |
Sets the title of page at index.
Definition at line 688 of file qxtconfigdialog.cpp.
{
QTableWidgetItem* item = qxt_d().item(index);
if (item)
{
item->setText(title);
}
else
{
qWarning("QxtConfigDialog::setPageTitle(): Unknown index");
}
}
| void QxtConfigDialog::setPageToolTip | ( | int | index, |
| const QString & | tooltip | ||
| ) |
Sets the tooltip of page at index.
Definition at line 717 of file qxtconfigdialog.cpp.
{
QTableWidgetItem* item = qxt_d().item(index);
if (item)
{
item->setToolTip(tooltip);
}
else
{
qWarning("QxtConfigDialog::setPageToolTip(): Unknown index");
}
}
| void QxtConfigDialog::setPageWhatsThis | ( | int | index, |
| const QString & | whatsthis | ||
| ) |
Sets the whatsthis of page at index.
Definition at line 746 of file qxtconfigdialog.cpp.
{
QTableWidgetItem* item = qxt_d().item(index);
if (item)
{
item->setWhatsThis(whatsthis);
}
else
{
qWarning("QxtConfigDialog::setPageWhatsThis(): Unknown index");
}
}
| QStackedWidget * QxtConfigDialog::stackedWidget | ( | ) | const [protected] |
Returns the internal stacked widget used for stacking pages.
Definition at line 810 of file qxtconfigdialog.cpp.
{
return qxt_d().stack;
}
| QTableWidget * QxtConfigDialog::tableWidget | ( | ) | const [protected] |
Returns the internal table widget used for showing page icons.
Definition at line 800 of file qxtconfigdialog.cpp.
{
return qxt_d().table;
}
| QWidget * QxtConfigDialog::takePage | ( | int | index ) |
Removes the page at index and returns it.
Definition at line 508 of file qxtconfigdialog.cpp.
References page().
friend class QxtConfigDialogPrivate [friend] |
Definition at line 40 of file qxtconfigdialog.h.
int QxtConfigDialog::count [read] |
This property holds the number of pages.
Definition at line 40 of file qxtconfigdialog.h.
int QxtConfigDialog::currentIndex [read, write] |
This property holds the index of current page.
Definition at line 42 of file qxtconfigdialog.h.
QxtConfigDialog::hoverEffect [read, write] |
This property holds whether a hover effect is shown for page icons.
Returns the dialog button box.
The default buttons are QDialogButtonBox::Ok and QDialogButtonBox::Cancel.
Sets the dialog buttonBox.
The default value is true.
Definition at line 43 of file qxtconfigdialog.h.
QxtConfigDialog::IconPosition QxtConfigDialog::iconPosition [read, write] |
This property holds the position of page icons.
Definition at line 44 of file qxtconfigdialog.h.
QSize QxtConfigDialog::iconSize [read, write] |
This property holds the size of page icons.
Definition at line 45 of file qxtconfigdialog.h.
1.7.2