QGIS API Documentation  3.4.15-Madeira (e83d02e274)
Public Slots | Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | List of all members
QgsOptionsDialogBase Class Reference

A base dialog for options and properties dialogs that offers vertical tabs. More...

#include <qgsoptionsdialogbase.h>

Inheritance diagram for QgsOptionsDialogBase:
Inheritance graph
[legend]

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=nullptr, QgsSettings *settings=nullptr)
 Constructor. More...
 
 ~QgsOptionsDialogBase () override
 
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 restoreOptionsBaseUi (const QString &title=QString())
 Restore the base ui. 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

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
 
QString mDialogTitle
 
bool mIconOnly
 
bool mInit
 
QDialogButtonBox * mOptButtonBox = nullptr
 
QListWidget * mOptListWidget = nullptr
 
QString mOptsKey
 
QSplitter * mOptSplitter = nullptr
 
QStackedWidget * mOptStackedWidget = nullptr
 
QList< QPair< QgsOptionsDialogHighlightWidget *, int > > mRegisteredSearchWidgets
 
QgsFilterLineEditmSearchLineEdit = nullptr
 
QPointer< QgsSettingsmSettings
 

Detailed Description

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: 1) Start with copy of qgsoptionsdialog_template.ui and build options/properties dialog. 2) In source file for dialog, inherit this class instead of QDialog, then in constructor: ... 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 61 of file qgsoptionsdialogbase.h.

Constructor & Destructor Documentation

QgsOptionsDialogBase::QgsOptionsDialogBase ( const QString &  settingsKey,
QWidget *  parent = nullptr,
Qt::WindowFlags  fl = nullptr,
QgsSettings settings = nullptr 
)

Constructor.

Parameters
settingsKeyQgsSettings subgroup key for saving/restore ui states, e.g. "ProjectProperties".
parentparent object (owner)
flwidget flags
settingscustom QgsSettings pointer

Definition at line 37 of file qgsoptionsdialogbase.cpp.

QgsOptionsDialogBase::~QgsOptionsDialogBase ( )
override

Definition at line 47 of file qgsoptionsdialogbase.cpp.

Member Function Documentation

bool QgsOptionsDialogBase::iconOnly ( )
inline

Determine if the options list is in icon only mode.

Definition at line 97 of file qgsoptionsdialogbase.h.

void QgsOptionsDialogBase::initOptionsBase ( bool  restoreUi = true,
const QString &  title = QString() 
)

Set up the base ui connections for vertical tabs.

Parameters
restoreUiWhether to restore the base ui at this time.
titlethe window title

Definition at line 64 of file qgsoptionsdialogbase.cpp.

void QgsOptionsDialogBase::optionsStackedWidget_CurrentChanged ( int  index)
protectedvirtualslot

Select relevant tab on current page change.

Definition at line 370 of file qgsoptionsdialogbase.cpp.

void QgsOptionsDialogBase::optionsStackedWidget_WidgetRemoved ( int  index)
protectedvirtualslot

Remove tab and unregister widgets on page remove.

Definition at line 379 of file qgsoptionsdialogbase.cpp.

void QgsOptionsDialogBase::paintEvent ( QPaintEvent *  e)
overrideprotected

Definition at line 313 of file qgsoptionsdialogbase.cpp.

void QgsOptionsDialogBase::registerTextSearchWidgets ( )
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.

Since
QGIS 3.0

Definition at line 253 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.

Parameters
titlethe window title (it does not need to be defined if previously given to initOptionsBase();

Definition at line 159 of file qgsoptionsdialogbase.cpp.

void QgsOptionsDialogBase::searchText ( const QString &  text)
slot

searchText searches for a text in all the pages of the stacked widget and highlight the results

Parameters
textthe text to search
Since
QGIS 3.0

Definition at line 208 of file qgsoptionsdialogbase.cpp.

void QgsOptionsDialogBase::setSettings ( QgsSettings settings)

Definition at line 148 of file qgsoptionsdialogbase.cpp.

void QgsOptionsDialogBase::showEvent ( QShowEvent *  e)
overrideprotected

Definition at line 293 of file qgsoptionsdialogbase.cpp.

void QgsOptionsDialogBase::updateOptionsListVerticalTabs ( )
protectedvirtualslot

Update tabs on the splitter move.

Definition at line 334 of file qgsoptionsdialogbase.cpp.

void QgsOptionsDialogBase::updateWindowTitle ( )
protectedvirtual

Definition at line 321 of file qgsoptionsdialogbase.cpp.

void QgsOptionsDialogBase::warnAboutMissingObjects ( )
protectedslot

Definition at line 394 of file qgsoptionsdialogbase.cpp.

Member Data Documentation

bool QgsOptionsDialogBase::mDelSettings
protected

Definition at line 145 of file qgsoptionsdialogbase.h.

QString QgsOptionsDialogBase::mDialogTitle
protected

Definition at line 140 of file qgsoptionsdialogbase.h.

bool QgsOptionsDialogBase::mIconOnly
protected

Definition at line 141 of file qgsoptionsdialogbase.h.

bool QgsOptionsDialogBase::mInit
protected

Definition at line 134 of file qgsoptionsdialogbase.h.

QDialogButtonBox* QgsOptionsDialogBase::mOptButtonBox = nullptr
protected

Definition at line 138 of file qgsoptionsdialogbase.h.

QListWidget* QgsOptionsDialogBase::mOptListWidget = nullptr
protected

Definition at line 135 of file qgsoptionsdialogbase.h.

QString QgsOptionsDialogBase::mOptsKey
protected

Definition at line 133 of file qgsoptionsdialogbase.h.

QSplitter* QgsOptionsDialogBase::mOptSplitter = nullptr
protected

Definition at line 137 of file qgsoptionsdialogbase.h.

QStackedWidget* QgsOptionsDialogBase::mOptStackedWidget = nullptr
protected

Definition at line 136 of file qgsoptionsdialogbase.h.

QList< QPair< QgsOptionsDialogHighlightWidget *, int > > QgsOptionsDialogBase::mRegisteredSearchWidgets
protected

Definition at line 131 of file qgsoptionsdialogbase.h.

QgsFilterLineEdit* QgsOptionsDialogBase::mSearchLineEdit = nullptr
protected

Definition at line 139 of file qgsoptionsdialogbase.h.

QPointer<QgsSettings> QgsOptionsDialogBase::mSettings
protected

Definition at line 144 of file qgsoptionsdialogbase.h.


The documentation for this class was generated from the following files: