QGIS API Documentation  3.11.0-Master (68611307d7)
Public Types | Public Member Functions | Protected Member Functions | List of all members
QgsBrowserProxyModel Class Reference

A QSortFilterProxyModel subclass for filtering and sorting browser model items. More...

#include <qgsbrowserproxymodel.h>

Inheritance diagram for QgsBrowserProxyModel:
Inheritance graph
[legend]

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...
 
QgsBrowserModelbrowserModel ()
 Returns the underlying browser model. More...
 
Qt::CaseSensitivity caseSensitivity () const
 Returns whether item filtering is case sensitive. More...
 
QgsDataItemdataItem (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...
 
QgsMapLayerType layerType () const
 Returns the layer type to filter the model by. More...
 
void setBrowserModel (QgsBrowserModel *model)
 Sets the underlying browser model. More...
 
void setDataItemProviderKeyFilter (const QStringList &filter)
 Sets the customization filters for data items based on item's data provider key. 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 setLayerType (QgsMapLayerType type)
 Sets the layer type to filter the model by. More...
 

Protected Member Functions

bool filterAcceptsRow (int sourceRow, const QModelIndex &sourceParent) const override
 

Detailed Description

A QSortFilterProxyModel subclass for filtering and sorting browser model items.

Since
QGIS 3.4

Definition at line 32 of file qgsbrowserproxymodel.h.

Member Enumeration Documentation

◆ FilterSyntax

Filter syntax options.

Enumerator
Normal 

Standard string filtering.

Wildcards 

Wildcard filtering.

RegularExpression 

Regular expression filtering.

Definition at line 38 of file qgsbrowserproxymodel.h.

Constructor & Destructor Documentation

◆ QgsBrowserProxyModel()

QgsBrowserProxyModel::QgsBrowserProxyModel ( QObject *  parent = nullptr)
explicit

Constructor for QgsBrowserProxyModel, with the specified parent object.

Definition at line 19 of file qgsbrowserproxymodel.cpp.

Member Function Documentation

◆ browserModel()

QgsBrowserModel* QgsBrowserProxyModel::browserModel ( )
inline

Returns the underlying browser model.

See also
setBrowserModel()

Definition at line 62 of file qgsbrowserproxymodel.h.

◆ caseSensitivity()

Qt::CaseSensitivity QgsBrowserProxyModel::caseSensitivity ( ) const

Returns whether item filtering is case sensitive.

See also
setFilterCaseSensitivity()

Definition at line 72 of file qgsbrowserproxymodel.cpp.

◆ dataItem()

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.

◆ filterAcceptsRow()

bool QgsBrowserProxyModel::filterAcceptsRow ( int  sourceRow,
const QModelIndex &  sourceParent 
) const
overrideprotected

Definition at line 147 of file qgsbrowserproxymodel.cpp.

◆ filterByLayerType()

bool QgsBrowserProxyModel::filterByLayerType ( ) const
inline

Returns true if the model is filtered by map layer type.

See also
layerType()
setFilterByLayerType()

Definition at line 118 of file qgsbrowserproxymodel.h.

◆ filterString()

QString QgsBrowserProxyModel::filterString ( ) const

Returns the filter string used when filtering items in the model.

See also
setFilterString()

Definition at line 61 of file qgsbrowserproxymodel.cpp.

◆ filterSyntax()

QgsBrowserProxyModel::FilterSyntax QgsBrowserProxyModel::filterSyntax ( ) const

Returns the filter syntax.

See also
setFilterSyntax()

Definition at line 48 of file qgsbrowserproxymodel.cpp.

◆ layerType()

QgsMapLayerType QgsBrowserProxyModel::layerType ( ) const

Returns the layer type to filter the model by.

This is only used if filterByLayerType() is true.

See also
setLayerType()
filterByLayerType()

Definition at line 159 of file qgsbrowserproxymodel.cpp.

◆ setBrowserModel()

void QgsBrowserProxyModel::setBrowserModel ( QgsBrowserModel model)

Sets the underlying browser model.

See also
browserModel()

Definition at line 28 of file qgsbrowserproxymodel.cpp.

◆ setDataItemProviderKeyFilter()

void QgsBrowserProxyModel::setDataItemProviderKeyFilter ( const QStringList &  filter)

Sets the customization filters for data items based on item's data provider key.

By default browser model shows all items from all available data items provider and few special items (e.g. Favourites). To customize the behavious, 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:Favourites", "special:Home", "PostGIS", "MSSQL"

All items created by the providers listed in filter are hidden from the layer tree. This filter is always evaluated.

Since
QGIS 3.12

Definition at line 263 of file qgsbrowserproxymodel.cpp.

◆ setFilterByLayerType()

void QgsBrowserProxyModel::setFilterByLayerType ( bool  enabled)

Sets whether the model is filtered by map layer type.

See also
filterByLayerType()
setLayerType()

Definition at line 170 of file qgsbrowserproxymodel.cpp.

◆ setFilterCaseSensitivity()

void QgsBrowserProxyModel::setFilterCaseSensitivity ( Qt::CaseSensitivity  sensitivity)

Sets whether item filtering should be case sensitive.

See also
caseSensitivity()

Definition at line 66 of file qgsbrowserproxymodel.cpp.

◆ setFilterString()

void QgsBrowserProxyModel::setFilterString ( const QString &  filter)

Sets the filter string to use when filtering items in the model.

See also
filterString()

Definition at line 53 of file qgsbrowserproxymodel.cpp.

◆ setFilterSyntax()

void QgsBrowserProxyModel::setFilterSyntax ( FilterSyntax  syntax)

Sets the filter syntax.

See also
filterSyntax()

Definition at line 40 of file qgsbrowserproxymodel.cpp.

◆ setLayerType()

void QgsBrowserProxyModel::setLayerType ( QgsMapLayerType  type)

Sets the layer type to filter the model by.

This is only used if filterByLayerType() is true.

See also
layerType()
setFilterByLayerType()

Definition at line 164 of file qgsbrowserproxymodel.cpp.


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