|
QGIS API Documentation 3.99.0-Master (d270888f95f)
|
A model representing the layer tree, including layers and groups of layers. More...
#include <qgslayertreemodel.h>

Classes | |
| struct | LayerLegendData |
| Structure that stores all data associated with one map layer. More... | |
| struct | LayerLegendTree |
| Structure that stores tree representation of map layer's legend. More... | |
Public Types | |
| enum | Flag { ShowLegend = 0x0001 , ShowLegendAsTree = 0x0004 , DeferredLegendInvalidation = 0x0008 , UseEmbeddedWidgets = 0x0010 , UseTextFormatting = 0x0020 , AllowNodeReorder = 0x1000 , AllowNodeRename = 0x2000 , AllowNodeChangeVisibility = 0x4000 , AllowLegendChangeState = 0x8000 , ActionHierarchical = 0x10000 , UseThreadedHitTest = 0x20000 } |
| typedef QFlags< Flag > | Flags |
Signals | |
| void | hitTestCompleted () |
| Emitted when a hit test for visible legend items completes. | |
| void | hitTestStarted () |
| Emitted when a hit test for visible legend items starts. | |
| void | messageEmitted (const QString &message, Qgis::MessageLevel level=Qgis::MessageLevel::Info, int duration=5) |
| Emits a message than can be displayed to the user in a GUI class. | |
Public Member Functions | |
| QgsLayerTreeModel (QgsLayerTree *rootNode, QObject *parent=nullptr) | |
Construct a new tree model with given layer tree (root node must not be nullptr). | |
| ~QgsLayerTreeModel () override | |
| void | addTargetScreenProperties (const QgsScreenProperties &properties) |
| Adds additional target screen properties to use when generating icons for Qt::DecorationRole data. | |
| int | autoCollapseLegendNodes () const |
| Returns at what number of legend nodes the layer node should be collapsed. -1 means no auto-collapse (default). | |
| int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
| QModelIndex | currentIndex () const |
| Gets index of the item marked as current. Item marked as current is underlined. | |
| QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const override |
| bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override |
| const QgsLayerTreeFilterSettings * | filterSettings () const |
| Returns the filter settings to use to filter legend nodes. | |
| QgsLayerTreeModelLegendNode * | findLegendNode (const QString &layerId, const QString &ruleKey) const |
| Searches through the layer tree to find a legend node with a matching layer ID and rule key. | |
| Flags | flags () const |
| Returns OR-ed combination of model flags. | |
| Qt::ItemFlags | flags (const QModelIndex &index) const override |
| bool | hitTestInProgress () const |
Returns true if a hit test for visible legend items is currently in progress. | |
| QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const override |
| QgsLayerTreeNode * | index2node (const QModelIndex &index) const |
| Returns layer tree node for given index. | |
| QList< QgsLayerTreeNode * > | indexes2nodes (const QModelIndexList &list, bool skipInternal=false) const |
| Convert a list of indexes to a list of layer tree nodes. | |
| QList< QgsLayerTreeModelLegendNode * > | layerLegendNodes (QgsLayerTreeLayer *nodeLayer, bool skipNodeEmbeddedInParent=false) |
Returns filtered list of active legend nodes attached to a particular layer node (by default it returns also legend node embedded in parent layer node (if any) unless skipNodeEmbeddedInParent is true). | |
| QList< QgsLayerTreeModelLegendNode * > | layerOriginalLegendNodes (QgsLayerTreeLayer *nodeLayer) |
| Returns original (unfiltered) list of legend nodes attached to a particular layer node. | |
| QMap< QString, QString > | layerStyleOverrides () const |
| Gets map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one. | |
| QFont | layerTreeNodeFont (int nodeType) const |
| Gets font for a particular type of layer tree node. nodeType should come from QgsLayerTreeNode::NodeType enumeration. | |
| double | legendFilterByScale () const |
| Returns the scale which restricts the legend nodes which are visible. | |
| const QgsMapSettings * | legendFilterMapSettings () const |
Returns the current map settings used for the current legend filter (or nullptr if none is enabled). | |
| void | legendMapViewData (double *mapUnitsPerPixel, int *dpi, double *scale) const |
| Gets hints about map view - to be used in legend nodes. | |
| QModelIndex | legendNode2index (QgsLayerTreeModelLegendNode *legendNode) |
| Returns index for a given legend node. | |
| QgsLayerTreeModelLegendNode * | legendNodeEmbeddedInParent (QgsLayerTreeLayer *nodeLayer) const |
| Returns legend node that may be embedded in parent (i.e. | |
| QMimeData * | mimeData (const QModelIndexList &indexes) const override |
| QStringList | mimeTypes () const override |
| QModelIndex | node2index (QgsLayerTreeNode *node) const |
| Returns index for a given node. If the node does not belong to the layer tree, the result is undefined. | |
| QModelIndex | parent (const QModelIndex &child) const override |
| void | refreshLayerLegend (QgsLayerTreeLayer *nodeLayer) |
| Force a refresh of legend nodes of a layer node. | |
| bool | removeRows (int row, int count, const QModelIndex &parent=QModelIndex()) override |
| QgsLayerTree * | rootGroup () const |
Returns pointer to the root node of the layer tree. Always a non nullptr value. | |
| int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
| void | setAutoCollapseLegendNodes (int nodeCount) |
| Sets at what number of legend nodes the layer node should be collapsed. Setting -1 disables the auto-collapse (default). | |
| void | setCurrentIndex (const QModelIndex ¤tIndex) |
| Sets index of the current item. May be used by view. Item marked as current is underlined. | |
| bool | setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override |
| void | setFilterSettings (const QgsLayerTreeFilterSettings *settings=nullptr) |
| Sets the filter settings to use to filter legend nodes. | |
| void | setFlag (Flag f, bool on=true) |
| Enable or disable a model flag. | |
| void | setFlags (QgsLayerTreeModel::Flags f) |
| Sets OR-ed combination of model flags. | |
| void | setLayerStyleOverrides (const QMap< QString, QString > &overrides) |
| Sets map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one. | |
| void | setLayerTreeNodeFont (int nodeType, const QFont &font) |
| Sets font for a particular type of layer tree node. nodeType should come from QgsLayerTreeNode::NodeType enumeration. | |
| Q_DECL_DEPRECATED void | setLegendFilter (const QgsMapSettings *settings, bool useExtent=true, const QgsGeometry &polygon=QgsGeometry(), bool useExpressions=true) |
| Filter display of legend nodes for given map settings. | |
| Q_DECL_DEPRECATED void | setLegendFilterByMap (const QgsMapSettings *settings) |
| Force only display of legend nodes which are valid for given map settings. | |
| void | setLegendFilterByScale (double scale) |
| Force only display of legend nodes which are valid for a given scale. | |
| void | setLegendMapViewData (double mapUnitsPerPixel, int dpi, double scale) |
| Give the layer tree model hints about the currently associated map view so that legend nodes that use map units can be scaled correctly. | |
| void | setRootGroup (QgsLayerTree *newRootGroup) |
| Reset the model and use a new root group node. | |
| Qt::DropActions | supportedDropActions () const override |
| QSet< QgsScreenProperties > | targetScreenProperties () const |
| Returns the target screen properties to use when generating icons. | |
| bool | testFlag (Flag f) const |
| Check whether a flag is enabled. | |
| void | waitForHitTestBlocking () |
| When a current hit test for visible legend items is in progress, calling this method will block until that hit test is complete. | |
Static Public Member Functions | |
| static QgsLayerTreeModelLegendNode * | index2legendNode (const QModelIndex &index) |
| Returns legend node for given index. | |
| static int | scaleIconSize (int standardSize) |
| Scales an layer tree model icon size to compensate for display pixel density, making the icon size hi-dpi friendly, whilst still resulting in pixel-perfect sizes for low-dpi displays. | |
Protected Slots | |
| void | invalidateLegendMapBasedData () |
| void | layerFlagsChanged () |
| Triggered when layer flags have changed. | |
| void | layerLegendChanged () |
| void | layerNeedsUpdate () |
| void | legendNodeDataChanged () |
| void | nodeAddedChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo) |
| void | nodeCustomPropertyChanged (QgsLayerTreeNode *node, const QString &key) |
| void | nodeLayerLoaded () |
| void | nodeLayerWillBeUnloaded () |
| void | nodeNameChanged (QgsLayerTreeNode *node, const QString &name) |
| Updates model when node's name has changed. | |
| void | nodeRemovedChildren () |
| void | nodeVisibilityChanged (QgsLayerTreeNode *node) |
| void | nodeWillAddChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo) |
| void | nodeWillRemoveChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo) |
Static Protected Member Functions | |
| static QIcon | iconGroup () |
Protected Attributes | |
| int | mAutoCollapseLegendNodesCount = -1 |
| Minimal number of nodes when legend should be automatically collapsed. -1 = disabled. | |
| QPersistentModelIndex | mCurrentIndex |
| Current index - will be underlined. | |
| QTimer | mDeferLegendInvalidationTimer |
| std::unique_ptr< QgsLayerTreeFilterSettings > | mFilterSettings |
| Flags | mFlags |
| Sets of flags for the model. | |
| QFont | mFontGroup |
| QFont | mFontLayer |
| QMap< QString, QSet< QString > > | mHitTestResults |
| QMap< QString, QPair< double, double > > | mHitTestResultsRendererUpdatedCanvas |
| QPointer< QgsMapHitTestTask > | mHitTestTask |
| QSet< QgsLayerTreeLayer * > | mInvalidatedNodes |
| Keep track of layer nodes for which the legend size needs to be recalculated. | |
| QMap< QString, QString > | mLayerStyleOverrides |
| Overrides of map layers' styles: key = layer ID, value = style XML. | |
| QHash< QgsLayerTreeLayer *, LayerLegendData > | mLegend |
| Per layer data about layer's legend nodes. | |
| double | mLegendFilterByScale = 0 |
| scale denominator for filtering of legend nodes (<= 0 means no filtering) | |
| int | mLegendMapViewDpi = 0 |
| double | mLegendMapViewMupp = 0 |
| double | mLegendMapViewScale = 0 |
| QgsLayerTree * | mRootNode = nullptr |
| Pointer to the root node of the layer tree. Not owned by the model. | |
| QSet< QgsScreenProperties > | mTargetScreenProperties |
A model representing the layer tree, including layers and groups of layers.
The model can be used in any QTreeView, it is however recommended to use it with QgsLayerTreeView which brings additional functionality specific to layer tree handling.
The model listens to the changes in the layer tree and signals the changes as appropriate, so that any view that uses the model is updated accordingly.
Behavior of the model can be customized with flags. For example, whether to show legend or whether to allow changes to the layer tree.
Definition at line 60 of file qgslayertreemodel.h.
| typedef QFlags< Flag > QgsLayerTreeModel::Flags |
Definition at line 117 of file qgslayertreemodel.h.
| Enumerator | |
|---|---|
| ShowLegend | Add legend nodes for layer nodes. |
| ShowLegendAsTree | For legends that support it, will show them in a tree instead of a list (needs also ShowLegend). Added in 2.8. |
| DeferredLegendInvalidation | Defer legend model invalidation. |
| UseEmbeddedWidgets | Layer nodes may optionally include extra embedded widgets (if used in QgsLayerTreeView). Added in 2.16. |
| UseTextFormatting | Layer nodes will alter text appearance based on layer properties, such as scale based visibility. |
| AllowNodeReorder | Allow reordering with drag'n'drop. |
| AllowNodeRename | Allow renaming of groups and layers. |
| AllowNodeChangeVisibility | Allow user to set node visibility with a checkbox. |
| AllowLegendChangeState | Allow check boxes for legend nodes (if supported by layer's legend). |
| ActionHierarchical | Check/uncheck action has consequences on children (or parents for leaf node). |
| UseThreadedHitTest | Run legend hit tests in a background thread.
|
Definition at line 100 of file qgslayertreemodel.h.
|
explicit |
Construct a new tree model with given layer tree (root node must not be nullptr).
The root node is not transferred by the model.
Definition at line 46 of file qgslayertreemodel.cpp.
|
override |
Definition at line 62 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1445 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::addTargetScreenProperties | ( | const QgsScreenProperties & | properties | ) |
Adds additional target screen properties to use when generating icons for Qt::DecorationRole data.
This allows icons to be generated at an icon device pixel ratio and DPI which corresponds exactly to the view's screen properties in which this model is used.
Definition at line 792 of file qgslayertreemodel.cpp.
|
inline |
Returns at what number of legend nodes the layer node should be collapsed. -1 means no auto-collapse (default).
Definition at line 209 of file qgslayertreemodel.h.
|
override |
Definition at line 97 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1004 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1093 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1117 of file qgslayertreemodel.cpp.
|
protected |
Returns a temporary render context.
Definition at line 1581 of file qgslayertreemodel.cpp.
| QModelIndex QgsLayerTreeModel::currentIndex | ( | ) | const |
Gets index of the item marked as current. Item marked as current is underlined.
Definition at line 568 of file qgslayertreemodel.cpp.
|
override |
Definition at line 162 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1074 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1105 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1132 of file qgslayertreemodel.cpp.
|
override |
Definition at line 1226 of file qgslayertreemodel.cpp.
|
protected |
Filter nodes from QgsMapLayerLegend according to the current filtering rules.
Definition at line 1336 of file qgslayertreemodel.cpp.
| const QgsLayerTreeFilterSettings * QgsLayerTreeModel::filterSettings | ( | ) | const |
Returns the filter settings to use to filter legend nodes.
May be nullptr.
Definition at line 713 of file qgslayertreemodel.cpp.
| QgsLayerTreeModelLegendNode * QgsLayerTreeModel::findLegendNode | ( | const QString & | layerId, |
| const QString & | ruleKey ) const |
Searches through the layer tree to find a legend node with a matching layer ID and rule key.
| layerId | map layer ID |
| ruleKey | legend node rule key |
Definition at line 1760 of file qgslayertreemodel.cpp.
| QgsLayerTreeModel::Flags QgsLayerTreeModel::flags | ( | ) | const |
Returns OR-ed combination of model flags.
Definition at line 1321 of file qgslayertreemodel.cpp.
|
override |
Definition at line 356 of file qgslayertreemodel.cpp.
|
signal |
Emitted when a hit test for visible legend items completes.
| bool QgsLayerTreeModel::hitTestInProgress | ( | ) | const |
Returns true if a hit test for visible legend items is currently in progress.
Definition at line 816 of file qgslayertreemodel.cpp.
|
signal |
Emitted when a hit test for visible legend items starts.
|
staticprotected |
Definition at line 1331 of file qgslayertreemodel.cpp.
|
override |
Definition at line 103 of file qgslayertreemodel.cpp.
|
static |
Returns legend node for given index.
Returns nullptr for invalid index
Definition at line 1606 of file qgslayertreemodel.cpp.
| QgsLayerTreeNode * QgsLayerTreeModel::index2node | ( | const QModelIndex & | index | ) | const |
Returns layer tree node for given index.
Returns root node for invalid index. Returns nullptr if index does not refer to a layer tree node (e.g. it is a legend node)
Definition at line 67 of file qgslayertreemodel.cpp.
| QList< QgsLayerTreeNode * > QgsLayerTreeModel::indexes2nodes | ( | const QModelIndexList & | list, |
| bool | skipInternal = false ) const |
Convert a list of indexes to a list of layer tree nodes.
Indices that do not represent layer tree nodes are skipped. If skipInternal is true, a node is included in the output list only if no parent node is in the list.
Definition at line 498 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 147 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 1790 of file qgslayertreemodel.cpp.
|
protectedslot |
Triggered when layer flags have changed.
Definition at line 935 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 916 of file qgslayertreemodel.cpp.
| QList< QgsLayerTreeModelLegendNode * > QgsLayerTreeModel::layerLegendNodes | ( | QgsLayerTreeLayer * | nodeLayer, |
| bool | skipNodeEmbeddedInParent = false ) |
Returns filtered list of active legend nodes attached to a particular layer node (by default it returns also legend node embedded in parent layer node (if any) unless skipNodeEmbeddedInParent is true).
Definition at line 1743 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 952 of file qgslayertreemodel.cpp.
| QList< QgsLayerTreeModelLegendNode * > QgsLayerTreeModel::layerOriginalLegendNodes | ( | QgsLayerTreeLayer * | nodeLayer | ) |
Returns original (unfiltered) list of legend nodes attached to a particular layer node.
Definition at line 1755 of file qgslayertreemodel.cpp.
| QMap< QString, QString > QgsLayerTreeModel::layerStyleOverrides | ( | ) | const |
Gets map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one.
Definition at line 782 of file qgslayertreemodel.cpp.
| QFont QgsLayerTreeModel::layerTreeNodeFont | ( | int | nodeType | ) | const |
Gets font for a particular type of layer tree node. nodeType should come from QgsLayerTreeNode::NodeType enumeration.
Definition at line 604 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1414 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1723 of file qgslayertreemodel.cpp.
|
inline |
Returns the scale which restricts the legend nodes which are visible.
The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map. A scale <= 0 indicates that no scale filtering is being performed.
Definition at line 225 of file qgslayertreemodel.h.
| const QgsMapSettings * QgsLayerTreeModel::legendFilterMapSettings | ( | ) | const |
Returns the current map settings used for the current legend filter (or nullptr if none is enabled).
Definition at line 663 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1734 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1782 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::legendMapViewData | ( | double * | mapUnitsPerPixel, |
| int * | dpi, | ||
| double * | scale ) const |
Gets hints about map view - to be used in legend nodes.
Arguments that are not nullptr will receive values. If there are no valid map view data (from previous call to setLegendMapViewData()), returned values are zeros.
Definition at line 775 of file qgslayertreemodel.cpp.
| QModelIndex QgsLayerTreeModel::legendNode2index | ( | QgsLayerTreeModelLegendNode * | legendNode | ) |
Returns index for a given legend node.
If the legend node does not belong to the layer tree, the result is undefined. If the legend node is belongs to the tree but it is filtered out, invalid model index is returned.
Definition at line 1612 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1706 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 970 of file qgslayertreemodel.cpp.
| QgsLayerTreeModelLegendNode * QgsLayerTreeModel::legendNodeEmbeddedInParent | ( | QgsLayerTreeLayer * | nodeLayer | ) | const |
Returns legend node that may be embedded in parent (i.e.
its icon will be used for layer's icon).
Definition at line 1728 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1714 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1676 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1641 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1686 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1665 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1651 of file qgslayertreemodel.cpp.
|
signal |
Emits a message than can be displayed to the user in a GUI class.
|
override |
Definition at line 1188 of file qgslayertreemodel.cpp.
|
override |
Definition at line 1180 of file qgslayertreemodel.cpp.
| QModelIndex QgsLayerTreeModel::node2index | ( | QgsLayerTreeNode * | node | ) | const |
Returns index for a given node. If the node does not belong to the layer tree, the result is undefined.
Definition at line 462 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 841 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 887 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 894 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 904 of file qgslayertreemodel.cpp.
|
protectedslot |
Updates model when node's name has changed.
Definition at line 877 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 864 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 869 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 821 of file qgslayertreemodel.cpp.
|
protectedslot |
Definition at line 852 of file qgslayertreemodel.cpp.
|
override |
Definition at line 125 of file qgslayertreemodel.cpp.
|
protected |
emit dataChanged() for layer tree node items
Definition at line 1141 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::refreshLayerLegend | ( | QgsLayerTreeLayer * | nodeLayer | ) |
Force a refresh of legend nodes of a layer node.
Not necessary to call when layer's renderer is changed as the model listens to these events.
Definition at line 545 of file qgslayertreemodel.cpp.
|
protected |
Updates layer data for scale dependent layers, should be called when map scale changes.
Emits dataChanged() for all scale dependent layers.
Definition at line 1155 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1434 of file qgslayertreemodel.cpp.
|
override |
Definition at line 1297 of file qgslayertreemodel.cpp.
| QgsLayerTree * QgsLayerTreeModel::rootGroup | ( | ) | const |
Returns pointer to the root node of the layer tree. Always a non nullptr value.
Definition at line 525 of file qgslayertreemodel.cpp.
|
override |
Definition at line 77 of file qgslayertreemodel.cpp.
|
static |
Scales an layer tree model icon size to compensate for display pixel density, making the icon size hi-dpi friendly, whilst still resulting in pixel-perfect sizes for low-dpi displays.
standardSize should be set to a standard icon size, e.g. 16, 24, 48, etc.
Definition at line 805 of file qgslayertreemodel.cpp.
|
inline |
Sets at what number of legend nodes the layer node should be collapsed. Setting -1 disables the auto-collapse (default).
Definition at line 207 of file qgslayertreemodel.h.
| void QgsLayerTreeModel::setCurrentIndex | ( | const QModelIndex & | currentIndex | ) |
Sets index of the current item. May be used by view. Item marked as current is underlined.
Definition at line 573 of file qgslayertreemodel.cpp.
|
override |
Definition at line 393 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::setFilterSettings | ( | const QgsLayerTreeFilterSettings * | settings = nullptr | ) |
Sets the filter settings to use to filter legend nodes.
Set to nullptr to disable legend filter.
Definition at line 668 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::setFlag | ( | QgsLayerTreeModel::Flag | f, |
| bool | on = true ) |
Enable or disable a model flag.
Definition at line 1313 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::setFlags | ( | QgsLayerTreeModel::Flags | f | ) |
Sets OR-ed combination of model flags.
Definition at line 1308 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::setLayerStyleOverrides | ( | const QMap< QString, QString > & | overrides | ) |
Sets map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one.
Definition at line 787 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::setLayerTreeNodeFont | ( | int | nodeType, |
| const QFont & | font ) |
Sets font for a particular type of layer tree node. nodeType should come from QgsLayerTreeNode::NodeType enumeration.
Definition at line 579 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::setLegendFilter | ( | const QgsMapSettings * | settings, |
| bool | useExtent = true, | ||
| const QgsGeometry & | polygon = QgsGeometry(), | ||
| bool | useExpressions = true ) |
Filter display of legend nodes for given map settings.
| settings | Map settings. Setting nullptr or invalid settings will disable any filter. Ownership is not changed, a copy is made |
| useExtent | Whether to use the extent of the map settings as a first spatial filter on legend nodes |
| polygon | If not empty, this polygon will be used instead of the map extent to filter legend nodes |
| useExpressions | Whether to use legend node filter expressions |
Definition at line 635 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::setLegendFilterByMap | ( | const QgsMapSettings * | settings | ) |
Force only display of legend nodes which are valid for given map settings.
Setting nullptr or invalid map settings will disable the functionality. Ownership of map settings pointer does not change, a copy is made.
Definition at line 628 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::setLegendFilterByScale | ( | double | scale | ) |
Force only display of legend nodes which are valid for a given scale.
The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map. Setting scale <= 0 will disable the functionality.
Definition at line 617 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::setLegendMapViewData | ( | double | mapUnitsPerPixel, |
| int | dpi, | ||
| double | scale ) |
Give the layer tree model hints about the currently associated map view so that legend nodes that use map units can be scaled correctly.
Definition at line 758 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::setRootGroup | ( | QgsLayerTree * | newRootGroup | ) |
Reset the model and use a new root group node.
Definition at line 530 of file qgslayertreemodel.cpp.
|
override |
Definition at line 1175 of file qgslayertreemodel.cpp.
| QSet< QgsScreenProperties > QgsLayerTreeModel::targetScreenProperties | ( | ) | const |
Returns the target screen properties to use when generating icons.
This allows icons to be generated at an icon device pixel ratio and DPI which corresponds exactly to the view's screen properties in which this model is used.
Definition at line 800 of file qgslayertreemodel.cpp.
| bool QgsLayerTreeModel::testFlag | ( | QgsLayerTreeModel::Flag | f | ) | const |
Check whether a flag is enabled.
Definition at line 1326 of file qgslayertreemodel.cpp.
|
protected |
Definition at line 1541 of file qgslayertreemodel.cpp.
| void QgsLayerTreeModel::waitForHitTestBlocking | ( | ) |
When a current hit test for visible legend items is in progress, calling this method will block until that hit test is complete.
Definition at line 810 of file qgslayertreemodel.cpp.
|
protected |
Minimal number of nodes when legend should be automatically collapsed. -1 = disabled.
Definition at line 465 of file qgslayertreemodel.h.
|
protected |
Current index - will be underlined.
Definition at line 463 of file qgslayertreemodel.h.
|
protected |
Definition at line 554 of file qgslayertreemodel.h.
|
protected |
Definition at line 549 of file qgslayertreemodel.h.
|
protected |
Sets of flags for the model.
Definition at line 461 of file qgslayertreemodel.h.
|
protected |
Definition at line 538 of file qgslayertreemodel.h.
|
protected |
Definition at line 537 of file qgslayertreemodel.h.
|
protected |
Definition at line 545 of file qgslayertreemodel.h.
|
protected |
Definition at line 547 of file qgslayertreemodel.h.
|
protected |
Definition at line 543 of file qgslayertreemodel.h.
|
protected |
Keep track of layer nodes for which the legend size needs to be recalculated.
Definition at line 535 of file qgslayertreemodel.h.
|
protected |
Overrides of map layers' styles: key = layer ID, value = style XML.
This allows showing a legend that is different from the current style of layers
Definition at line 526 of file qgslayertreemodel.h.
|
protected |
Per layer data about layer's legend nodes.
Definition at line 529 of file qgslayertreemodel.h.
|
protected |
scale denominator for filtering of legend nodes (<= 0 means no filtering)
Definition at line 541 of file qgslayertreemodel.h.
|
protected |
Definition at line 552 of file qgslayertreemodel.h.
|
protected |
Definition at line 551 of file qgslayertreemodel.h.
|
protected |
Definition at line 553 of file qgslayertreemodel.h.
|
protected |
Pointer to the root node of the layer tree. Not owned by the model.
Definition at line 459 of file qgslayertreemodel.h.
|
protected |
Definition at line 556 of file qgslayertreemodel.h.