QGIS API Documentation 3.39.0-Master (d85f3c2a281)
Loading...
Searching...
No Matches
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.
 

Public Member Functions

 QgsLayerTreeFilterProxyModel (QObject *parent=nullptr)
 Constructor.
 
QList< QgsMapLayer * > checkedLayers () const
 Returns the checked layers.
 
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.
 
QgsMapLayermapLayer (const QModelIndex &idx) const
 Returns the map layer at a given index.
 
bool nodeShown (QgsLayerTreeNode *node) const
 Returns true if the specified node will be shown in the model.
 
QModelIndex parent (const QModelIndex &child) const override
 
void setCheckedLayers (const QList< QgsMapLayer * > layers)
 Initialize the list of checked layers.
 
virtual bool setData (const QModelIndex &index, const QVariant &value, int role) override
 
void setFilters (Qgis::LayerFilters filters)
 Defines the type layers (vector, raster, etc) shown in the tree If the list is empty, all types are shown.
 
void setLayerTreeModel (QgsLayerTreeModel *layerTreeModel)
 Sets the layer tree model.
 
void setShowPrivateLayers (bool showPrivate)
 Determines if private layers are shown.
 
bool showPrivateLayers () const
 Returns if private layers are shown.
 
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.
 
virtual void setLayerChecked (QgsMapLayer *layer, bool checked)
 This will set if the layer is checked or not.
 

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 208 of file qgslayertreefilterproxymodel.cpp.

◆ filterAcceptsRow()

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

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

◆ nodeShown()

bool QgsLayerTreeFilterProxyModel::nodeShown ( QgsLayerTreeNode node) const

Returns true if the specified node will be shown in the model.

Since
QGIS 3.40

Definition at line 174 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 276 of file qgslayertreefilterproxymodel.cpp.

◆ setFilters()

void QgsLayerTreeFilterProxyModel::setFilters ( Qgis::LayerFilters  filters)

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

Definition at line 124 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 141 of file qgslayertreefilterproxymodel.cpp.

◆ setLayerTreeModel()

void QgsLayerTreeFilterProxyModel::setLayerTreeModel ( QgsLayerTreeModel layerTreeModel)

Sets the layer tree model.

Definition at line 104 of file qgslayertreefilterproxymodel.cpp.

◆ setShowPrivateLayers()

void QgsLayerTreeFilterProxyModel::setShowPrivateLayers ( bool  showPrivate)

Determines if private layers are shown.

Defaults to true.

Since
QGIS 3.40

Definition at line 115 of file qgslayertreefilterproxymodel.cpp.

◆ showPrivateLayers()

bool QgsLayerTreeFilterProxyModel::showPrivateLayers ( ) const

Returns if private layers are shown.

Defaults to true.

Since
QGIS 3.40

Definition at line 110 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: