Skip to content

Commit

Permalink
Add QgsLayerTreeView::setLayerVisible
Browse files Browse the repository at this point in the history
  • Loading branch information
manisandro authored and nyalldawson committed Jul 30, 2019
1 parent 99fce61 commit 62f5f5e
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 0 deletions.
7 changes: 7 additions & 0 deletions python/gui/auto_generated/layertree/qgslayertreeview.sip.in
Expand Up @@ -75,6 +75,13 @@ Returns pointer to the context menu provider. May be ``None``
Returns the currently selected layer, or ``None`` if no layers is selected.

.. seealso:: :py:func:`setCurrentLayer`
%End

void setLayerVisible( QgsMapLayer *layer, bool visible );
%Docstring
Sets the visible state of the specified layer

.. versionadded:: 3.10
%End

void setCurrentLayer( QgsMapLayer *layer );
Expand Down
9 changes: 9 additions & 0 deletions src/gui/layertree/qgslayertreeview.cpp
Expand Up @@ -127,6 +127,15 @@ void QgsLayerTreeView::setCurrentLayer( QgsMapLayer *layer )
setCurrentIndex( layerTreeModel()->node2index( nodeLayer ) );
}

void QgsLayerTreeView::setLayerVisible( QgsMapLayer *layer, bool visible )
{
if ( !layer )
return;
QgsLayerTreeLayer *nodeLayer = layerTreeModel()->rootGroup()->findLayer( layer->id() );
if ( !nodeLayer )
return;
nodeLayer->setItemVisibilityChecked( visible );
}

void QgsLayerTreeView::contextMenuEvent( QContextMenuEvent *event )
{
Expand Down
7 changes: 7 additions & 0 deletions src/gui/layertree/qgslayertreeview.h
Expand Up @@ -87,6 +87,13 @@ class GUI_EXPORT QgsLayerTreeView : public QTreeView
*/
QgsMapLayer *currentLayer() const;

/**
* Sets the visible state of the specified layer
*
* \since QGIS 3.10
*/
void setLayerVisible( QgsMapLayer *layer, bool visible );

/**
* Sets the currently selected \a layer.
*
Expand Down

0 comments on commit 62f5f5e

Please sign in to comment.