QGIS API Documentation  3.20.0-Odense (decaadbb31)
Public Slots | Public Member Functions | Protected Member Functions | List of all members
QgsLayerTreeFilterProxyModel Class Reference

QgsLayerTreeFilterProxyModel is a sort filter proxy model to easily reproduce the legend/layer tree in a tree view. More...

#include <qgslayertreefilterproxymodel.h>

Inheritance diagram for QgsLayerTreeFilterProxyModel:
Inheritance graph
[legend]

Public Slots

virtual void setFilterText (const QString &filterText=QString())
 Sets the filter text to search for a layer in the tree. More...
 

Public Member Functions

 QgsLayerTreeFilterProxyModel (QObject *parent=nullptr)
 Constructor. More...
 
QList< QgsMapLayer * > checkedLayers () const
 Returns the checked layers. More...
 
virtual int columnCount (const QModelIndex &parent) const override
 
virtual QVariant data (const QModelIndex &index, int role) const override
 
virtual Qt::ItemFlags flags (const QModelIndex &idx) const override
 
QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const override
 
QgsLayerTreeModellayerTreeModel () const
 Rerturns the layer tree model. More...
 
QgsMapLayermapLayer (const QModelIndex &idx) const
 Returns the map layer at a given index. More...
 
QModelIndex parent (const QModelIndex &child) const override
 
void setCheckedLayers (const QList< QgsMapLayer * > layers)
 Initialize the list of checked layers. More...
 
virtual bool setData (const QModelIndex &index, const QVariant &value, int role) override
 
void setFilters (const QgsMapLayerProxyModel::Filters &filters)
 Defines the type layers (vector, raster, etc) shown in the tree If the list is empty, all types are shown. More...
 
void setLayerTreeModel (QgsLayerTreeModel *layerTreeModel)
 Sets the layer tree model. More...
 
QModelIndex sibling (int row, int column, const QModelIndex &idx) const override
 

Protected Member Functions

bool filterAcceptsRow (int sourceRow, const QModelIndex &sourceParent) const override
 
virtual bool isLayerChecked (QgsMapLayer *layer) const
 Returns if the layer is checked or not. More...
 
virtual void setLayerChecked (QgsMapLayer *layer, bool checked)
 This will set if the layer is checked or not. More...
 

Detailed Description

QgsLayerTreeFilterProxyModel is a sort filter proxy model to easily reproduce the legend/layer tree in a tree view.

Layers are checkable by default. Symbology nodes will not be shown. Layers can be filtered by their type.

For more complex use-cases, the model can be re-implemented to allow a different interaction or to add more columns.

Since
QGIS 3.14

Definition at line 41 of file qgslayertreefilterproxymodel.h.

Constructor & Destructor Documentation

◆ QgsLayerTreeFilterProxyModel()

QgsLayerTreeFilterProxyModel::QgsLayerTreeFilterProxyModel ( QObject *  parent = nullptr)

Constructor.

Definition at line 23 of file qgslayertreefilterproxymodel.cpp.

Member Function Documentation

◆ checkedLayers()

QList<QgsMapLayer *> QgsLayerTreeFilterProxyModel::checkedLayers ( ) const
inline

Returns the checked layers.

Definition at line 55 of file qgslayertreefilterproxymodel.h.

◆ columnCount()

int QgsLayerTreeFilterProxyModel::columnCount ( const QModelIndex &  parent) const
overridevirtual

Definition at line 41 of file qgslayertreefilterproxymodel.cpp.

◆ data()

QVariant QgsLayerTreeFilterProxyModel::data ( const QModelIndex &  index,
int  role 
) const
overridevirtual

Definition at line 190 of file qgslayertreefilterproxymodel.cpp.

◆ filterAcceptsRow()

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

Definition at line 116 of file qgslayertreefilterproxymodel.cpp.

◆ flags()

Qt::ItemFlags QgsLayerTreeFilterProxyModel::flags ( const QModelIndex &  idx) const
overridevirtual

Definition at line 47 of file qgslayertreefilterproxymodel.cpp.

◆ index()

QModelIndex QgsLayerTreeFilterProxyModel::index ( int  row,
int  column,
const QModelIndex &  parent = QModelIndex() 
) const
override

Definition at line 56 of file qgslayertreefilterproxymodel.cpp.

◆ isLayerChecked()

bool QgsLayerTreeFilterProxyModel::isLayerChecked ( QgsMapLayer layer) const
protectedvirtual

Returns if the layer is checked or not.

Definition at line 122 of file qgslayertreefilterproxymodel.cpp.

◆ layerTreeModel()

QgsLayerTreeModel * QgsLayerTreeFilterProxyModel::layerTreeModel ( ) const

Rerturns the layer tree model.

Definition at line 99 of file qgslayertreefilterproxymodel.cpp.

◆ mapLayer()

QgsMapLayer * QgsLayerTreeFilterProxyModel::mapLayer ( const QModelIndex &  idx) const

Returns the map layer at a given index.

Definition at line 76 of file qgslayertreefilterproxymodel.cpp.

◆ parent()

QModelIndex QgsLayerTreeFilterProxyModel::parent ( const QModelIndex &  child) const
override

Definition at line 65 of file qgslayertreefilterproxymodel.cpp.

◆ setCheckedLayers()

void QgsLayerTreeFilterProxyModel::setCheckedLayers ( const QList< QgsMapLayer * >  layers)

Initialize the list of checked layers.

Note
If the model is re-implemented, this method might become useless

Definition at line 33 of file qgslayertreefilterproxymodel.cpp.

◆ setData()

bool QgsLayerTreeFilterProxyModel::setData ( const QModelIndex &  index,
const QVariant &  value,
int  role 
)
overridevirtual

Definition at line 258 of file qgslayertreefilterproxymodel.cpp.

◆ setFilters()

void QgsLayerTreeFilterProxyModel::setFilters ( const QgsMapLayerProxyModel::Filters &  filters)

Defines the type layers (vector, raster, etc) shown in the tree If the list is empty, all types are shown.

Definition at line 110 of file qgslayertreefilterproxymodel.cpp.

◆ setFilterText

void QgsLayerTreeFilterProxyModel::setFilterText ( const QString &  filterText = QString())
virtualslot

Sets the filter text to search for a layer in the tree.

Definition at line 90 of file qgslayertreefilterproxymodel.cpp.

◆ setLayerChecked()

void QgsLayerTreeFilterProxyModel::setLayerChecked ( QgsMapLayer layer,
bool  checked 
)
protectedvirtual

This will set if the layer is checked or not.

Definition at line 127 of file qgslayertreefilterproxymodel.cpp.

◆ setLayerTreeModel()

void QgsLayerTreeFilterProxyModel::setLayerTreeModel ( QgsLayerTreeModel layerTreeModel)

Sets the layer tree model.

Definition at line 104 of file qgslayertreefilterproxymodel.cpp.

◆ sibling()

QModelIndex QgsLayerTreeFilterProxyModel::sibling ( int  row,
int  column,
const QModelIndex &  idx 
) const
override

Definition at line 70 of file qgslayertreefilterproxymodel.cpp.


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