QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
gui
qgsoptionsdialogbase.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsoptionsdialogbase.h - base vertical tabs option dialog
3
4
---------------------
5
begin : March 24, 2013
6
copyright : (C) 2013 by Larry Shaffer
7
email : larrys at dakcarto dot com
8
***************************************************************************
9
* *
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; either version 2 of the License, or *
13
* (at your option) any later version. *
14
* *
15
***************************************************************************/
16
17
#ifndef QGSOPTIONSDIALOGBASE_H
18
#define QGSOPTIONSDIALOGBASE_H
19
20
#include <functional>
21
22
#include "qgis_gui.h"
23
#include "
qgsguiutils.h
"
24
#include "
qgssettings.h
"
25
26
#include <QDialog>
27
#include <QPointer>
28
#include <QSortFilterProxyModel>
29
#include <QStyledItemDelegate>
30
31
class
QDialogButtonBox;
32
class
QListWidget;
33
class
QModelIndex;
34
class
QPalette;
35
class
QPainter;
36
class
QStackedWidget;
37
class
QStyleOptionViewItem;
38
class
QSplitter;
39
class
QStandardItem;
40
class
QTreeView;
41
class
QStandardItemModel;
42
43
class
QgsFilterLineEdit
;
44
class
QgsOptionsDialogHighlightWidget
;
45
46
#ifndef SIP_RUN
48
class
GUI_EXPORT QgsOptionsProxyModel :
public
QSortFilterProxyModel
49
{
50
Q_OBJECT
51
public
:
52
QgsOptionsProxyModel( QObject *parent );
53
54
void
setPageHidden(
int
page,
bool
hidden );
55
QModelIndex pageNumberToSourceIndex(
int
page )
const
;
56
int
sourceIndexToPageNumber(
const
QModelIndex &index )
const
;
57
bool
filterAcceptsRow(
int
source_row,
const
QModelIndex &source_parent )
const override
;
58
59
private
:
60
QMap<int, bool> mHiddenPages;
61
};
63
#endif
64
65
85
86
class
GUI_EXPORT
QgsOptionsDialogBase
:
public
QDialog
87
{
88
Q_OBJECT
89
90
public
:
98
QgsOptionsDialogBase
(
const
QString &settingsKey, QWidget *parent
SIP_TRANSFERTHIS
=
nullptr
, Qt::WindowFlags fl = Qt::WindowFlags(),
QgsSettings
*settings =
nullptr
);
99
~QgsOptionsDialogBase
()
override
;
100
106
void
initOptionsBase
(
bool
restoreUi =
true
,
const
QString &title = QString() );
107
108
// set custom QgsSettings pointer if dialog used outside QGIS (in plugin)
109
void
setSettings
(
QgsSettings
*settings );
110
116
void
restoreOptionsBaseUi
(
const
QString &title = QString() );
117
123
void
restoreLastPage
();
124
130
void
resizeAlltabs
(
int
index );
131
135
bool
iconOnly
()
const
{
return
mIconOnly
; }
136
142
void
setCurrentPage(
const
QString &page );
143
160
void
addPage(
const
QString &title,
const
QString &tooltip,
const
QIcon &icon, QWidget *widget
SIP_TRANSFER
,
const
QStringList &path = QStringList(),
const
QString &key = QString() );
161
181
void
insertPage(
182
const
QString &title,
const
QString &tooltip,
const
QIcon &icon, QWidget *widget
SIP_TRANSFER
,
const
QString &before,
const
QStringList &path = QStringList(),
const
QString &key = QString()
183
);
184
185
public
slots:
186
191
void
searchText(
const
QString &text );
192
193
protected
slots:
195
virtual
void
updateOptionsListVerticalTabs();
197
virtual
void
optionsStackedWidget_CurrentChanged(
int
index );
199
virtual
void
optionsStackedWidget_WidgetRemoved(
int
index );
200
201
void
warnAboutMissingObjects();
202
203
protected
:
204
void
showEvent( QShowEvent *e )
override
;
205
void
paintEvent( QPaintEvent *e )
override
;
206
207
virtual
void
updateWindowTitle();
208
213
void
registerTextSearchWidgets();
214
220
QStandardItem *createItem(
const
QString &name,
const
QString &tooltip,
const
QString &icon )
SIP_SKIP
;
221
222
QList<QPair<QgsOptionsDialogHighlightWidget *, int>>
mRegisteredSearchWidgets
;
223
224
QString
mOptsKey
;
225
bool
mInit
=
false
;
226
QListWidget *
mOptListWidget
=
nullptr
;
227
QTreeView *
mOptTreeView
=
nullptr
;
228
QStandardItemModel *
mOptTreeModel
=
nullptr
;
229
QgsOptionsProxyModel *
mTreeProxyModel
=
nullptr
;
230
231
QStackedWidget *
mOptStackedWidget
=
nullptr
;
232
QSplitter *
mOptSplitter
=
nullptr
;
233
QDialogButtonBox *
mOptButtonBox
=
nullptr
;
234
QgsFilterLineEdit
*
mSearchLineEdit
=
nullptr
;
235
QString
mDialogTitle
;
236
bool
mIconOnly
=
false
;
237
// pointer to app or custom, external QgsSettings
238
// QPointer in case custom settings obj gets deleted while dialog is open
239
QPointer<QgsSettings>
mSettings
;
240
bool
mDelSettings
=
false
;
241
242
private
:
243
void
setListToItemAtIndex(
int
index );
244
};
245
246
#endif
// QGSOPTIONSDIALOGBASE_H
QgsFilterLineEdit
QLineEdit subclass with built in support for clearing the widget's value and handling custom null val...
Definition
qgsfilterlineedit.h:41
QgsOptionsDialogBase::mSettings
QPointer< QgsSettings > mSettings
Definition
qgsoptionsdialogbase.h:239
QgsOptionsDialogBase::resizeAlltabs
void resizeAlltabs(int index)
Resizes all tabs when the dialog is resized.
Definition
qgsoptionsdialogbase.cpp:291
QgsOptionsDialogBase::restoreLastPage
void restoreLastPage()
Refocus the active tab from the last time the dialog was shown.
Definition
qgsoptionsdialogbase.cpp:254
QgsOptionsDialogBase::mRegisteredSearchWidgets
QList< QPair< QgsOptionsDialogHighlightWidget *, int > > mRegisteredSearchWidgets
Definition
qgsoptionsdialogbase.h:222
QgsOptionsDialogBase::QgsOptionsDialogBase
QgsOptionsDialogBase(const QString &settingsKey, QWidget *parent=nullptr, Qt::WindowFlags fl=Qt::WindowFlags(), QgsSettings *settings=nullptr)
Constructor.
Definition
qgsoptionsdialogbase.cpp:50
QgsOptionsDialogBase::mInit
bool mInit
Definition
qgsoptionsdialogbase.h:225
QgsOptionsDialogBase::mSearchLineEdit
QgsFilterLineEdit * mSearchLineEdit
Definition
qgsoptionsdialogbase.h:234
QgsOptionsDialogBase::setSettings
void setSettings(QgsSettings *settings)
Definition
qgsoptionsdialogbase.cpp:200
QgsOptionsDialogBase::mOptSplitter
QSplitter * mOptSplitter
Definition
qgsoptionsdialogbase.h:232
QgsOptionsDialogBase::mOptButtonBox
QDialogButtonBox * mOptButtonBox
Definition
qgsoptionsdialogbase.h:233
QgsOptionsDialogBase::mTreeProxyModel
QgsOptionsProxyModel * mTreeProxyModel
Definition
qgsoptionsdialogbase.h:229
QgsOptionsDialogBase::mOptTreeModel
QStandardItemModel * mOptTreeModel
Definition
qgsoptionsdialogbase.h:228
QgsOptionsDialogBase::mOptListWidget
QListWidget * mOptListWidget
Definition
qgsoptionsdialogbase.h:226
QgsOptionsDialogBase::restoreOptionsBaseUi
void restoreOptionsBaseUi(const QString &title=QString())
Restore the base ui.
Definition
qgsoptionsdialogbase.cpp:211
QgsOptionsDialogBase::mOptStackedWidget
QStackedWidget * mOptStackedWidget
Definition
qgsoptionsdialogbase.h:231
QgsOptionsDialogBase::mDialogTitle
QString mDialogTitle
Definition
qgsoptionsdialogbase.h:235
QgsOptionsDialogBase::mDelSettings
bool mDelSettings
Definition
qgsoptionsdialogbase.h:240
QgsOptionsDialogBase::initOptionsBase
void initOptionsBase(bool restoreUi=true, const QString &title=QString())
Set up the base ui connections for vertical tabs.
Definition
qgsoptionsdialogbase.cpp:73
QgsOptionsDialogBase::mOptTreeView
QTreeView * mOptTreeView
Definition
qgsoptionsdialogbase.h:227
QgsOptionsDialogBase::iconOnly
bool iconOnly() const
Determine if the options list is in icon only mode.
Definition
qgsoptionsdialogbase.h:135
QgsOptionsDialogBase::mIconOnly
bool mIconOnly
Definition
qgsoptionsdialogbase.h:236
QgsOptionsDialogBase::mOptsKey
QString mOptsKey
Definition
qgsoptionsdialogbase.h:224
QgsOptionsDialogHighlightWidget
Container for a widget to be used to search text in the option dialog.
Definition
qgsoptionsdialoghighlightwidget.h:65
QgsSettings
Stores settings for use within QGIS.
Definition
qgssettings.h:68
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition
qgis_sip.h:52
SIP_SKIP
#define SIP_SKIP
Definition
qgis_sip.h:138
SIP_TRANSFER
#define SIP_TRANSFER
Definition
qgis_sip.h:35
qgsguiutils.h
qgssettings.h
Generated on
for QGIS API Documentation by
1.17.0