[api] add QgsLayerTreeView::setCurrentNode

This commit is contained in:
ViperMiniQ 2024-09-20 20:27:10 +02:00 committed by Nyall Dawson
parent 365320fc76
commit d30a1d5d85
4 changed files with 44 additions and 1 deletions

View File

@ -213,6 +213,17 @@ Convenience methods which sets the visible state of the specified map ``layer``.
.. seealso:: :py:func:`QgsLayerTreeNode.setItemVisibilityChecked`
.. versionadded:: 3.10
%End
void setCurrentNode( QgsLayerTreeNode *node );
%Docstring
Sets the currently selected ``node``.
If ``node`` is ``None`` then all nodes will be deselected.
.. seealso:: :py:func:`currentNode`
.. versionadded:: 3.40
%End
void setCurrentLayer( QgsMapLayer *layer );

View File

@ -213,6 +213,17 @@ Convenience methods which sets the visible state of the specified map ``layer``.
.. seealso:: :py:func:`QgsLayerTreeNode.setItemVisibilityChecked`
.. versionadded:: 3.10
%End
void setCurrentNode( QgsLayerTreeNode *node );
%Docstring
Sets the currently selected ``node``.
If ``node`` is ``None`` then all nodes will be deselected.
.. seealso:: :py:func:`currentNode`
.. versionadded:: 3.40
%End
void setCurrentLayer( QgsMapLayer *layer );

View File

@ -151,6 +151,17 @@ QgsMapLayer *QgsLayerTreeView::currentLayer() const
return layerForIndex( currentIndex() );
}
void QgsLayerTreeView::setCurrentNode( QgsLayerTreeNode *node )
{
if ( !node )
{
setCurrentIndex( QModelIndex() );
return;
}
setCurrentIndex( node2index( node ) );
}
void QgsLayerTreeView::setCurrentLayer( QgsMapLayer *layer )
{
if ( !layer )
@ -163,7 +174,7 @@ void QgsLayerTreeView::setCurrentLayer( QgsMapLayer *layer )
if ( !nodeLayer )
return;
setCurrentIndex( node2index( nodeLayer ) );
setCurrentNode( nodeLayer );
}
void QgsLayerTreeView::setLayerVisible( QgsMapLayer *layer, bool visible )

View File

@ -233,6 +233,16 @@ class GUI_EXPORT QgsLayerTreeView : public QTreeView
*/
void setLayerVisible( QgsMapLayer *layer, bool visible );
/**
* Sets the currently selected \a node.
*
* If \a node is NULLPTR then all nodes will be deselected.
*
* \see currentNode()
* \since QGIS 3.40
*/
void setCurrentNode( QgsLayerTreeNode *node );
/**
* Sets the currently selected \a layer.
*