QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
A QSortFilterProxyModel subclass for filtering and sorting browser model items. More...
#include <qgsbrowserproxymodel.h>
Public Types | |
enum | FilterSyntax { Normal, Wildcards, RegularExpression } |
Filter syntax options. More... | |
Public Member Functions | |
QgsBrowserProxyModel (QObject *parent=nullptr) | |
Constructor for QgsBrowserProxyModel, with the specified parent object. More... | |
QgsBrowserModel * | browserModel () |
Returns the underlying browser model. More... | |
Qt::CaseSensitivity | caseSensitivity () const |
Returns whether item filtering is case sensitive. More... | |
QgsDataItem * | dataItem (const QModelIndex &index) const |
Returns the data item at the specified proxy index, or nullptr if no item exists at the index. More... | |
bool | filterByLayerType () const |
Returns true if the model is filtered by map layer type. More... | |
QString | filterString () const |
Returns the filter string used when filtering items in the model. More... | |
FilterSyntax | filterSyntax () const |
Returns the filter syntax. More... | |
bool | hasChildren (const QModelIndex &parent=QModelIndex()) const override |
QgsMapLayerType | layerType () const |
Returns the layer type to filter the model by. More... | |
void | setBrowserModel (QgsBrowserModel *model) |
Sets the underlying browser model. More... | |
void | setFilterByLayerType (bool enabled) |
Sets whether the model is filtered by map layer type. More... | |
void | setFilterCaseSensitivity (Qt::CaseSensitivity sensitivity) |
Sets whether item filtering should be case sensitive. More... | |
void | setFilterString (const QString &filter) |
Sets the filter string to use when filtering items in the model. More... | |
void | setFilterSyntax (FilterSyntax syntax) |
Sets the filter syntax. More... | |
void | setHiddenDataItemProviderKeyFilter (const QStringList &hiddenItemsFilter) |
Sets a filter to hide data items based on QgsDataItem::providerKey() associated with the item. More... | |
void | setLayerType (QgsMapLayerType type) |
Sets the layer type to filter the model by. More... | |
void | setShowLayers (bool showLayers) |
Sets show layers to showLayers. More... | |
void | setShownDataItemProviderKeyFilter (const QStringList &shownItemsFilter) |
Sets a filter to show data items based on QgsDataItem::providerKey() associated with the item. More... | |
bool | showLayers () const |
Returns true if layers must be shown, this flag is TRUE by default. More... | |
Protected Member Functions | |
bool | filterAcceptsRow (int sourceRow, const QModelIndex &sourceParent) const override |
A QSortFilterProxyModel subclass for filtering and sorting browser model items.
Definition at line 32 of file qgsbrowserproxymodel.h.
Filter syntax options.
Enumerator | |
---|---|
Normal | Standard string filtering. |
Wildcards | Wildcard filtering. |
RegularExpression | Regular expression filtering. |
Definition at line 38 of file qgsbrowserproxymodel.h.
|
explicit |
Constructor for QgsBrowserProxyModel, with the specified parent object.
Definition at line 19 of file qgsbrowserproxymodel.cpp.
|
inline |
Returns the underlying browser model.
Definition at line 62 of file qgsbrowserproxymodel.h.
Qt::CaseSensitivity QgsBrowserProxyModel::caseSensitivity | ( | ) | const |
Returns whether item filtering is case sensitive.
Definition at line 72 of file qgsbrowserproxymodel.cpp.
QgsDataItem * QgsBrowserProxyModel::dataItem | ( | const QModelIndex & | index | ) | const |
Returns the data item at the specified proxy index, or nullptr
if no item exists at the index.
Definition at line 34 of file qgsbrowserproxymodel.cpp.
|
overrideprotected |
Definition at line 147 of file qgsbrowserproxymodel.cpp.
|
inline |
Returns true
if the model is filtered by map layer type.
Definition at line 118 of file qgsbrowserproxymodel.h.
QString QgsBrowserProxyModel::filterString | ( | ) | const |
Returns the filter string used when filtering items in the model.
Definition at line 61 of file qgsbrowserproxymodel.cpp.
QgsBrowserProxyModel::FilterSyntax QgsBrowserProxyModel::filterSyntax | ( | ) | const |
Returns the filter syntax.
Definition at line 48 of file qgsbrowserproxymodel.cpp.
|
override |
Definition at line 295 of file qgsbrowserproxymodel.cpp.
QgsMapLayerType QgsBrowserProxyModel::layerType | ( | ) | const |
Returns the layer type to filter the model by.
This is only used if filterByLayerType() is true
.
Definition at line 178 of file qgsbrowserproxymodel.cpp.
void QgsBrowserProxyModel::setBrowserModel | ( | QgsBrowserModel * | model | ) |
Sets the underlying browser model.
Definition at line 28 of file qgsbrowserproxymodel.cpp.
void QgsBrowserProxyModel::setFilterByLayerType | ( | bool | enabled | ) |
Sets whether the model is filtered by map layer type.
Definition at line 189 of file qgsbrowserproxymodel.cpp.
void QgsBrowserProxyModel::setFilterCaseSensitivity | ( | Qt::CaseSensitivity | sensitivity | ) |
Sets whether item filtering should be case sensitive.
Definition at line 66 of file qgsbrowserproxymodel.cpp.
void QgsBrowserProxyModel::setFilterString | ( | const QString & | filter | ) |
Sets the filter string to use when filtering items in the model.
Definition at line 53 of file qgsbrowserproxymodel.cpp.
void QgsBrowserProxyModel::setFilterSyntax | ( | FilterSyntax | syntax | ) |
Sets the filter syntax.
Definition at line 40 of file qgsbrowserproxymodel.cpp.
void QgsBrowserProxyModel::setHiddenDataItemProviderKeyFilter | ( | const QStringList & | hiddenItemsFilter | ) |
Sets a filter to hide data items based on QgsDataItem::providerKey() associated with the item.
By default browser model shows all items from all available data item providers and few special items (e.g. Favorites). To customize the behavior, set the filter to not load certain data items. The items that are not based on data item providers have prefix "special:", for example "special:Favorites", "special:Home", "PostGIS", "MSSQL"
All items created by the providers listed in filter are hidden from the layer tree. This filter is always evaluated.
hiddenItemsFilter | a list of data provider prefixes that will be hidden. |
Definition at line 282 of file qgsbrowserproxymodel.cpp.
void QgsBrowserProxyModel::setLayerType | ( | QgsMapLayerType | type | ) |
Sets the layer type to filter the model by.
This is only used if filterByLayerType() is true
.
Definition at line 183 of file qgsbrowserproxymodel.cpp.
void QgsBrowserProxyModel::setShowLayers | ( | bool | showLayers | ) |
Sets show layers to showLayers.
Definition at line 173 of file qgsbrowserproxymodel.cpp.
void QgsBrowserProxyModel::setShownDataItemProviderKeyFilter | ( | const QStringList & | shownItemsFilter | ) |
Sets a filter to show data items based on QgsDataItem::providerKey() associated with the item.
By default browser model shows all items from all available data item providers and few special items (e.g. Favorites). To customize the behavior, set the filter to load only certain data items. The items that are not based on data item providers have prefix "special:", for example "special:Favorites", "special:Home", "PostGIS", "MSSQL"
Only the items created by the providers listed in filter are shown in the layer tree. This filter is always evaluated.
shownItemsFilter | a list of data provider prefixes that will be hidden. |
Definition at line 288 of file qgsbrowserproxymodel.cpp.
bool QgsBrowserProxyModel::showLayers | ( | ) | const |
Returns true
if layers must be shown, this flag is TRUE by default.
Definition at line 168 of file qgsbrowserproxymodel.cpp.