QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
|
A base dialog for options and properties dialogs that offers vertical tabs. It handles saving/restoring of geometry, splitter and current tab states, switching vertical tabs between icon/text to icon-only modes (splitter collapsed to left), and connecting QDialogButtonBox's accepted/rejected signals to dialog's accept/reject slots. More...
#include <qgsoptionsdialogbase.h>
Public Slots | |
void | searchText (const QString &text) |
searchText searches for a text in all the pages of the stacked widget and highlight the results More... | |
Public Member Functions | |
QgsOptionsDialogBase (const QString &settingsKey, QWidget *parent=nullptr, Qt::WindowFlags fl=Qt::WindowFlags(), QgsSettings *settings=nullptr) | |
Constructor. More... | |
~QgsOptionsDialogBase () override | |
void | addPage (const QString &title, const QString &tooltip, const QIcon &icon, QWidget *widget, const QStringList &path=QStringList()) |
Adds a new page to the dialog pages. More... | |
bool | iconOnly () |
Determine if the options list is in icon only mode. More... | |
void | initOptionsBase (bool restoreUi=true, const QString &title=QString()) |
Set up the base ui connections for vertical tabs. More... | |
void | insertPage (const QString &title, const QString &tooltip, const QIcon &icon, QWidget *widget, const QString &before, const QStringList &path=QStringList()) |
Inserts a new page into the dialog pages. More... | |
void | resizeAlltabs (int index) |
Resizes all tabs when the dialog is resized. More... | |
void | restoreLastPage () |
Refocus the active tab from the last time the dialog was shown. More... | |
void | restoreOptionsBaseUi (const QString &title=QString()) |
Restore the base ui. More... | |
void | setCurrentPage (const QString &page) |
Sets the dialog page (by object name) to show. More... | |
void | setSettings (QgsSettings *settings) |
Protected Slots | |
virtual void | optionsStackedWidget_CurrentChanged (int index) |
Select relevant tab on current page change. More... | |
virtual void | optionsStackedWidget_WidgetRemoved (int index) |
Remove tab and unregister widgets on page remove. More... | |
virtual void | updateOptionsListVerticalTabs () |
Update tabs on the splitter move. More... | |
void | warnAboutMissingObjects () |
Protected Member Functions | |
QStandardItem * | createItem (const QString &name, const QString &tooltip, const QString &icon) |
Creates a new QStandardItem with the specified name, tooltip and icon. More... | |
void | paintEvent (QPaintEvent *e) override |
void | registerTextSearchWidgets () |
register widgets in the dialog to search for text in it it is automatically called if a line edit has "mSearchLineEdit" as object name. More... | |
void | showEvent (QShowEvent *e) override |
virtual void | updateWindowTitle () |
Protected Attributes | |
bool | mDelSettings = false |
QString | mDialogTitle |
bool | mIconOnly = false |
bool | mInit = false |
QDialogButtonBox * | mOptButtonBox = nullptr |
QListWidget * | mOptListWidget = nullptr |
QString | mOptsKey |
QSplitter * | mOptSplitter = nullptr |
QStackedWidget * | mOptStackedWidget = nullptr |
QStandardItemModel * | mOptTreeModel = nullptr |
QTreeView * | mOptTreeView = nullptr |
QList< QPair< QgsOptionsDialogHighlightWidget *, int > > | mRegisteredSearchWidgets |
QgsFilterLineEdit * | mSearchLineEdit = nullptr |
QPointer< QgsSettings > | mSettings |
QgsOptionsProxyModel * | mTreeProxyModel = nullptr |
A base dialog for options and properties dialogs that offers vertical tabs. It handles saving/restoring of geometry, splitter and current tab states, switching vertical tabs between icon/text to icon-only modes (splitter collapsed to left), and connecting QDialogButtonBox's accepted/rejected signals to dialog's accept/reject slots.
To use:
... setupUi( this ); // set up .ui file objects initOptionsBase( false
); // set up this class to use .ui objects, optionally restoring base ui ... restoreOptionsBaseUi(); // restore the base ui with initOptionsBase or use this later on
Definition at line 86 of file qgsoptionsdialogbase.h.
QgsOptionsDialogBase::QgsOptionsDialogBase | ( | const QString & | settingsKey, |
QWidget * | parent = nullptr , |
||
Qt::WindowFlags | fl = Qt::WindowFlags() , |
||
QgsSettings * | settings = nullptr |
||
) |
Constructor.
settingsKey | QgsSettings subgroup key for saving/restore ui states, e.g. "ProjectProperties". |
parent | parent object (owner) |
fl | widget flags |
settings | custom QgsSettings pointer |
Definition at line 43 of file qgsoptionsdialogbase.cpp.
|
override |
Definition at line 50 of file qgsoptionsdialogbase.cpp.
void QgsOptionsDialogBase::addPage | ( | const QString & | title, |
const QString & | tooltip, | ||
const QIcon & | icon, | ||
QWidget * | widget, | ||
const QStringList & | path = QStringList() |
||
) |
Adds a new page to the dialog pages.
The title, tooltip and icon arguments dictate the page list item title, tooltip and icon respectively.
The page content is specified via the widget argument. Ownership of widget is transferred to the dialog.
Since QGIS 3.22, the optional path argument can be used to set the path of the item's entry in the tree view (for dialogs which show a tree view of options pages only).
Definition at line 327 of file qgsoptionsdialogbase.cpp.
|
protected |
Creates a new QStandardItem with the specified name, tooltip and icon.
Definition at line 681 of file qgsoptionsdialogbase.cpp.
|
inline |
Determine if the options list is in icon only mode.
Definition at line 136 of file qgsoptionsdialogbase.h.
void QgsOptionsDialogBase::initOptionsBase | ( | bool | restoreUi = true , |
const QString & | title = QString() |
||
) |
Set up the base ui connections for vertical tabs.
restoreUi | Whether to restore the base ui at this time. |
title | the window title |
Definition at line 67 of file qgsoptionsdialogbase.cpp.
void QgsOptionsDialogBase::insertPage | ( | const QString & | title, |
const QString & | tooltip, | ||
const QIcon & | icon, | ||
QWidget * | widget, | ||
const QString & | before, | ||
const QStringList & | path = QStringList() |
||
) |
Inserts a new page into the dialog pages.
The title, tooltip and icon arguments dictate the page list item title, tooltip and icon respectively.
The page content is specified via the widget argument. Ownership of widget is transferred to the dialog.
The before argument specifies the object name of an existing page. The new page will be inserted directly before the matching page.
Since QGIS 3.22, the optional path argument can be used to set the path of the item's entry in the tree view (for dialogs which show a tree view of options pages only).
Definition at line 401 of file qgsoptionsdialogbase.cpp.
|
protectedvirtualslot |
Select relevant tab on current page change.
Definition at line 783 of file qgsoptionsdialogbase.cpp.
|
protectedvirtualslot |
Remove tab and unregister widgets on page remove.
Definition at line 801 of file qgsoptionsdialogbase.cpp.
|
overrideprotected |
Definition at line 715 of file qgsoptionsdialogbase.cpp.
|
protected |
register widgets in the dialog to search for text in it it is automatically called if a line edit has "mSearchLineEdit" as object name.
Definition at line 640 of file qgsoptionsdialogbase.cpp.
void QgsOptionsDialogBase::resizeAlltabs | ( | int | index | ) |
Resizes all tabs when the dialog is resized.
index | current tab index |
Definition at line 288 of file qgsoptionsdialogbase.cpp.
void QgsOptionsDialogBase::restoreLastPage | ( | ) |
Refocus the active tab from the last time the dialog was shown.
Definition at line 250 of file qgsoptionsdialogbase.cpp.
void QgsOptionsDialogBase::restoreOptionsBaseUi | ( | const QString & | title = QString() | ) |
Restore the base ui.
Sometimes useful to do at end of subclass's constructor.
title | the window title (it does not need to be defined if previously given to initOptionsBase(); |
Definition at line 206 of file qgsoptionsdialogbase.cpp.
|
slot |
searchText searches for a text in all the pages of the stacked widget and highlight the results
text | the text to search |
Definition at line 496 of file qgsoptionsdialogbase.cpp.
void QgsOptionsDialogBase::setCurrentPage | ( | const QString & | page | ) |
Sets the dialog page (by object name) to show.
Definition at line 312 of file qgsoptionsdialogbase.cpp.
void QgsOptionsDialogBase::setSettings | ( | QgsSettings * | settings | ) |
Definition at line 195 of file qgsoptionsdialogbase.cpp.
|
overrideprotected |
Definition at line 688 of file qgsoptionsdialogbase.cpp.
|
protectedvirtualslot |
Update tabs on the splitter move.
Definition at line 740 of file qgsoptionsdialogbase.cpp.
|
protectedvirtual |
Definition at line 723 of file qgsoptionsdialogbase.cpp.
|
protectedslot |
Definition at line 823 of file qgsoptionsdialogbase.cpp.
|
protected |
Definition at line 235 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 230 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 231 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 220 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 228 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 221 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 219 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 227 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 226 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 223 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 222 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 217 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 229 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 234 of file qgsoptionsdialogbase.h.
|
protected |
Definition at line 224 of file qgsoptionsdialogbase.h.