|
QGIS API Documentation 3.99.0-Master (21b3aa880ba)
|
Extends QTreeView and provides additional functionality when working with a layer tree. More...
#include <qgslayertreeview.h>

Public Slots | |
| void | refreshLayerSymbology (const QString &layerId) |
| Force refresh of layer symbology. Normally not needed as the changes of layer's renderer are monitored by the model. | |
| void | setHideValidLayers (bool hideValid) |
| Sets whether valid layers should be hidden (i.e. | |
| void | setLayerMarkWidth (int width) |
| Set width of contextual menu mark, at right of layer node items. | |
| void | setMessageBar (QgsMessageBar *messageBar) |
| Set the message bar to display messages from the layer tree. | |
| void | setShowPrivateLayers (bool showPrivate) |
| Set the show private layers to showPrivate. | |
| Public Slots inherited from QgsLayerTreeViewBase | |
| void | collapseAllNodes () |
| Enhancement of QTreeView::collapseAll() that also records expanded state in layer tree nodes. | |
| void | expandAllNodes () |
| Enhancement of QTreeView::expandAll() that also records expanded state in layer tree nodes. | |
Signals | |
| void | contextMenuAboutToShow (QMenu *menu) |
| Emitted when the context menu is about to show. | |
| void | currentLayerChanged (QgsMapLayer *layer) |
| Emitted when a current layer is changed. | |
| void | datasetsDropped (QDropEvent *event) |
| Emitted when datasets are dropped onto the layer tree view. | |
Public Member Functions | |
| QgsLayerTreeView (QWidget *parent=nullptr) | |
| Constructor for QgsLayerTreeView. | |
| ~QgsLayerTreeView () override | |
| void | addIndicator (QgsLayerTreeNode *node, QgsLayerTreeViewIndicator *indicator) |
| Adds an indicator to the given layer tree node. | |
| bool | hideValidLayers () const |
| Returns if valid layers should be hidden (i.e. | |
| QList< QgsLayerTreeViewIndicator * > | indicators (QgsLayerTreeNode *node) const |
| Returns list of indicators associated with a particular layer tree node. | |
| int | layerMarkWidth () const |
| Returns width of contextual menu mark, at right of layer node items. | |
| QgsLayerTreeViewMenuProvider * | menuProvider () const |
Returns pointer to the context menu provider. May be nullptr. | |
| QgsLayerTreeProxyModel * | proxyModel () const |
| Returns the proxy model used by the view. | |
| void | removeIndicator (QgsLayerTreeNode *node, QgsLayerTreeViewIndicator *indicator) |
| Removes a previously added indicator to a layer tree node. | |
| void | setLayerVisible (QgsMapLayer *layer, bool visible) |
| Convenience methods which sets the visible state of the specified map layer. | |
| void | setMenuProvider (QgsLayerTreeViewMenuProvider *menuProvider) |
| Sets provider for context menu. Takes ownership of the instance. | |
| void | setModel (QAbstractItemModel *model) override |
| Overridden setModel() from base class. | |
| void | setModel (QgsLayerTreeModel *model, QgsLayerTreeProxyModel *proxyModel) |
| Sets the model and proxyModel for the view. | |
| bool | showPrivateLayers () const |
| Returns the show private layers status. | |
| Public Member Functions inherited from QgsLayerTreeViewBase | |
| QgsLayerTreeViewBase (QWidget *parent=nullptr) | |
| Constructor for QgsLayerTreeViewBase. | |
| ~QgsLayerTreeViewBase () override | |
| QgsLayerTreeGroup * | currentGroupNode () const |
| Returns the current group node. | |
| QgsMapLayer * | currentLayer () const |
Returns the currently selected layer, or nullptr if no layers is selected. | |
| QgsLayerTreeModelLegendNode * | currentLegendNode () const |
| Gets current legend node. | |
| QgsLayerTreeNode * | currentNode () const |
| Returns the current node. | |
| QgsLayerTreeViewDefaultActions * | defaultActions () |
| Gets access to the default actions that may be used with the tree view. | |
| QgsLayerTreeModelLegendNode * | index2legendNode (const QModelIndex &index) const |
| Returns legend node for given view index. | |
| QgsLayerTreeNode * | index2node (const QModelIndex &index) const |
| Returns the layer tree node for given view index. | |
| QgsMapLayer * | layerForIndex (const QModelIndex &index) const |
| Returns the map layer corresponding to a view index. | |
| QgsLayerTreeModel * | layerTreeModel () const |
| Returns the associated layer tree model. | |
| QModelIndex | legendNode2index (QgsLayerTreeModelLegendNode *legendNode) |
| Returns the view index for a given legend node. | |
| QModelIndex | legendNode2sourceIndex (QgsLayerTreeModelLegendNode *legendNode) |
| Returns the layer tree source model index for a given legend node. | |
| void | mouseDoubleClickEvent (QMouseEvent *event) override |
| QModelIndex | node2index (QgsLayerTreeNode *node) const |
| Returns the view model index for a given node. | |
| QModelIndex | node2sourceIndex (QgsLayerTreeNode *node) const |
| Returns the layer tree source model index for a given node. | |
| QList< QgsLayerTreeLayer * > | selectedLayerNodes () const |
| Returns the list of selected nodes filtered to just layer nodes (QgsLayerTreeLayer). | |
| QList< QgsMapLayer * > | selectedLayers () const |
| Returns the list of selected layers. | |
| QList< QgsMapLayer * > | selectedLayersRecursive () const |
| Gets list of selected layers, including those that are not directly selected, but their ancestor groups is selected. | |
| QList< QgsLayerTreeModelLegendNode * > | selectedLegendNodes () const |
| Returns the list of selected legend nodes. | |
| QList< QgsLayerTreeNode * > | selectedNodes (bool skipInternal=false) const |
| Returns the list of selected layer tree nodes. | |
| void | setCurrentLayer (QgsMapLayer *layer) |
| Sets the currently selected layer. | |
| void | setCurrentNode (QgsLayerTreeNode *node) |
| Sets the currently selected node. | |
| void | setLayerTreeModel (QgsLayerTreeModel *model) |
| Associates a layer tree model with the view. | |
Protected Slots | |
| void | modelRowsInserted (const QModelIndex &index, int start, int end) |
| void | modelRowsRemoved () |
| void | onCurrentChanged () |
| Protected Slots inherited from QgsLayerTreeViewBase | |
| void | onExpandedChanged (QgsLayerTreeNode *node, bool expanded) |
| Called when the expanded state changes for a node. | |
| void | onModelReset () |
| Called when the model is reset. | |
| void | updateExpandedStateToNode (const QModelIndex &index) |
| Stores the expanded state to a node with matching index. | |
Protected Member Functions | |
| void | contextMenuEvent (QContextMenuEvent *event) override |
| void | dragEnterEvent (QDragEnterEvent *event) override |
| void | dragMoveEvent (QDragMoveEvent *event) override |
| void | dropEvent (QDropEvent *event) override |
| void | keyPressEvent (QKeyEvent *event) override |
| void | mouseReleaseEvent (QMouseEvent *event) override |
| void | resizeEvent (QResizeEvent *event) override |
| Protected Member Functions inherited from QgsLayerTreeViewBase | |
| QModelIndex | layerTreeModelIndexToViewIndex (const QModelIndex &index) const |
| Returns the layer tree model index corresponding with a view index. | |
| void | updateExpandedStateFromNode (QgsLayerTreeNode *node) |
| Updates the expanded state from a node. | |
| QModelIndex | viewIndexToLayerTreeModelIndex (const QModelIndex &index) const |
| Returns the view index corresponding with a layer tree model index. | |
Protected Attributes | |
| QString | mCurrentLayerID |
| Keeps track of current layer ID (to check when to emit signal about change of current layer). | |
| QHash< QgsLayerTreeNode *, QList< QgsLayerTreeViewIndicator * > > | mIndicators |
| Storage of indicators used with the tree view. | |
| QPoint | mLastReleaseMousePos |
| Used by the item delegate for identification of which indicator has been clicked. | |
| int | mLayerMarkWidth |
| Width of contextual menu mark for layer nodes. | |
| QgsLayerTreeViewMenuProvider * | mMenuProvider = nullptr |
| Context menu provider. Owned by the view. | |
| Protected Attributes inherited from QgsLayerTreeViewBase | |
| QgsLayerTreeViewDefaultActions * | mDefaultActions = nullptr |
| helper class with default actions. Lazily initialized. | |
Friends | |
| class | QgsLayerTreeViewItemDelegate |
Extends QTreeView and provides additional functionality when working with a layer tree.
The view updates expanded state of layer tree nodes and also listens to changes to expanded states in the layer tree.
The view keeps track of the current layer and emits a signal when the current layer has changed.
Allows the client to specify a context menu provider with custom actions. Also it comes with a set of default actions that can be used when building context menu.
Definition at line 428 of file qgslayertreeview.h.
|
explicit |
Constructor for QgsLayerTreeView.
Definition at line 466 of file qgslayertreeview.cpp.
|
override |
Definition at line 478 of file qgslayertreeview.cpp.
| void QgsLayerTreeView::addIndicator | ( | QgsLayerTreeNode * | node, |
| QgsLayerTreeViewIndicator * | indicator ) |
Adds an indicator to the given layer tree node.
Indicators are icons shown next to layer/group names in the layer tree view. They can be used to show extra information with tree nodes and they allow user interaction.
Does not take ownership of the indicator. One indicator object may be used for multiple layer tree nodes.
Definition at line 693 of file qgslayertreeview.cpp.
|
signal |
Emitted when the context menu is about to show.
Allows customization of the menu.
|
overrideprotected |
Definition at line 541 of file qgslayertreeview.cpp.
|
signal |
Emitted when a current layer is changed.
|
signal |
Emitted when datasets are dropped onto the layer tree view.
|
overrideprotected |
Definition at line 831 of file qgslayertreeview.cpp.
|
overrideprotected |
Definition at line 845 of file qgslayertreeview.cpp.
|
overrideprotected |
Definition at line 859 of file qgslayertreeview.cpp.
| bool QgsLayerTreeView::hideValidLayers | ( | ) | const |
Returns if valid layers should be hidden (i.e.
only invalid layers are shown).
Definition at line 776 of file qgslayertreeview.cpp.
| QList< QgsLayerTreeViewIndicator * > QgsLayerTreeView::indicators | ( | QgsLayerTreeNode * | node | ) | const |
Returns list of indicators associated with a particular layer tree node.
Definition at line 713 of file qgslayertreeview.cpp.
|
overrideprotected |
Definition at line 800 of file qgslayertreeview.cpp.
|
inline |
Returns width of contextual menu mark, at right of layer node items.
Definition at line 517 of file qgslayertreeview.h.
|
inline |
Returns pointer to the context menu provider. May be nullptr.
Definition at line 474 of file qgslayertreeview.h.
|
protectedslot |
Definition at line 562 of file qgslayertreeview.cpp.
|
protectedslot |
Definition at line 634 of file qgslayertreeview.cpp.
|
overrideprotected |
Definition at line 781 of file qgslayertreeview.cpp.
|
protectedslot |
Definition at line 640 of file qgslayertreeview.cpp.
| QgsLayerTreeProxyModel * QgsLayerTreeView::proxyModel | ( | ) | const |
Returns the proxy model used by the view.
This can be used to set filters controlling which layers are shown in the view.
Definition at line 948 of file qgslayertreeview.cpp.
|
slot |
Force refresh of layer symbology. Normally not needed as the changes of layer's renderer are monitored by the model.
Definition at line 725 of file qgslayertreeview.cpp.
| void QgsLayerTreeView::removeIndicator | ( | QgsLayerTreeNode * | node, |
| QgsLayerTreeViewIndicator * | indicator ) |
Removes a previously added indicator to a layer tree node.
Does not delete the indicator.
Definition at line 707 of file qgslayertreeview.cpp.
|
overrideprotected |
Definition at line 885 of file qgslayertreeview.cpp.
|
slot |
Sets whether valid layers should be hidden (i.e.
only invalid layers are shown).
Definition at line 762 of file qgslayertreeview.cpp.
|
inlineslot |
Set width of contextual menu mark, at right of layer node items.
Definition at line 557 of file qgslayertreeview.h.
| void QgsLayerTreeView::setLayerVisible | ( | QgsMapLayer * | layer, |
| bool | visible ) |
Convenience methods which sets the visible state of the specified map layer.
Definition at line 530 of file qgslayertreeview.cpp.
| void QgsLayerTreeView::setMenuProvider | ( | QgsLayerTreeViewMenuProvider * | menuProvider | ) |
Sets provider for context menu. Takes ownership of the instance.
Definition at line 524 of file qgslayertreeview.cpp.
|
slot |
Set the message bar to display messages from the layer tree.
Definition at line 736 of file qgslayertreeview.cpp.
|
override |
Overridden setModel() from base class.
Only QgsLayerTreeModel is an acceptable model.
Definition at line 483 of file qgslayertreeview.cpp.
| void QgsLayerTreeView::setModel | ( | QgsLayerTreeModel * | model, |
| QgsLayerTreeProxyModel * | proxyModel ) |
Sets the model and proxyModel for the view.
Use this method when a custom proxy model is required.
Definition at line 496 of file qgslayertreeview.cpp.
|
slot |
Set the show private layers to showPrivate.
Definition at line 753 of file qgslayertreeview.cpp.
| bool QgsLayerTreeView::showPrivateLayers | ( | ) | const |
Returns the show private layers status.
Definition at line 771 of file qgslayertreeview.cpp.
|
friend |
Definition at line 646 of file qgslayertreeview.h.
|
protected |
Keeps track of current layer ID (to check when to emit signal about change of current layer).
Definition at line 625 of file qgslayertreeview.h.
|
protected |
Storage of indicators used with the tree view.
Definition at line 627 of file qgslayertreeview.h.
|
protected |
Used by the item delegate for identification of which indicator has been clicked.
Definition at line 629 of file qgslayertreeview.h.
|
protected |
Width of contextual menu mark for layer nodes.
Definition at line 632 of file qgslayertreeview.h.
|
protected |
Context menu provider. Owned by the view.
Definition at line 623 of file qgslayertreeview.h.