1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
|
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/layertree/qgslayertreeutils.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsLayerTreeUtils
{
%Docstring(signature="appended")
Assorted functions for dealing with layer trees.
%End
%TypeHeaderCode
#include "qgslayertreeutils.h"
%End
public:
static bool readOldLegend( QgsLayerTreeGroup *root, const QDomElement &legendElem );
%Docstring
Try to load layer tree from \verbatim <legend> \endverbatim tag from
project files from QGIS 2.2 and below
%End
static bool readOldLegendLayerOrder( const QDomElement &legendElem, bool &hasCustomOrder, QStringList &order );
%Docstring
Try to load custom layer order from \verbatim <legend> \endverbatim tag
from project files from QGIS 2.2 and below
%End
static QDomElement writeOldLegend( QDomDocument &doc, QgsLayerTreeGroup *root, bool hasCustomOrder, const QList<QgsMapLayer *> &order );
%Docstring
Returns \verbatim <legend> \endverbatim tag used in QGIS 2.2 and below
%End
static QString checkStateToXml( Qt::CheckState state );
%Docstring
Convert Qt.CheckState to QString
%End
static Qt::CheckState checkStateFromXml( const QString &txt );
%Docstring
Convert QString to Qt.CheckState
%End
static bool layersEditable( const QList<QgsLayerTreeLayer *> &layerNodes, bool ignoreLayersWhichCannotBeToggled = false );
%Docstring
Returns ``True`` if any of the specified layers is editable.
The ``ignoreLayersWhichCannotBeToggled`` argument can be used to control
whether layers which cannot have their edit states toggled by users
should be ignored or not (since QGIS 3.22).
%End
static bool layersModified( const QList<QgsLayerTreeLayer *> &layerNodes );
%Docstring
Returns ``True`` if any of the layers is modified
%End
static void removeInvalidLayers( QgsLayerTreeGroup *group );
%Docstring
Removes layer nodes that refer to invalid layers
%End
static void storeOriginalLayersProperties( QgsLayerTreeGroup *group, const QDomDocument *doc );
%Docstring
Stores in a layer's originalXmlProperties the layer properties
information
.. versionadded:: 3.6
%End
static void replaceChildrenOfEmbeddedGroups( QgsLayerTreeGroup *group );
%Docstring
Remove subtree of embedded groups and replaces it with a custom property
embedded-visible-layers
%End
static void updateEmbeddedGroupsProjectPath( QgsLayerTreeGroup *group, const QgsProject *project );
%Docstring
Updates an embedded ``group`` from a ``project``.
%End
static QStringList invisibleLayerList( QgsLayerTreeNode *node );
%Docstring
Gets invisible layers
%End
static void setLegendFilterByExpression( QgsLayerTreeLayer &layer, const QString &expr, bool enabled = true );
%Docstring
Sets the expression filter of a legend layer
%End
static QString legendFilterByExpression( const QgsLayerTreeLayer &layer, bool *enabled = 0 );
%Docstring
Returns the expression filter of a legend layer
%End
static bool hasLegendFilterExpression( const QgsLayerTreeGroup &group );
%Docstring
Test if one of the layers in a group has an expression filter
%End
static QgsLayerTreeLayer *insertLayerBelow( QgsLayerTreeGroup *group, const QgsMapLayer *refLayer, QgsMapLayer *layerToInsert );
%Docstring
Insert a :py:class:`QgsMapLayer` just below another one
:param group: the tree group where layers are (can be the root group)
:param refLayer: the reference layer
:param layerToInsert: the new layer to insert just below the reference
layer
:return: the new tree layer
%End
static QSet<QgsMapLayer *> collectMapLayersRecursive( const QList<QgsLayerTreeNode *> &nodes );
%Docstring
Returns map layers from the given list of layer tree nodes. Also
recursively visits child nodes of groups.
.. versionadded:: 3.4
%End
static int countMapLayerInTree( QgsLayerTreeNode *tree, QgsMapLayer *layer );
%Docstring
Returns how many occurrences of a map layer are there in a layer tree.
In normal situations there is at most one occurrence, but sometimes
there may be temporarily more: for example, during drag&drop, upon drop
a new layer node is created while the original dragged node is still in
the tree, resulting in two occurrences.
This is useful when deciding whether to start or stop listening to a
signal of a map layer within a layer tree and only
connecting/disconnecting when there is only one occurrence of that
layer.
.. versionadded:: 3.4
%End
static QgsLayerTreeGroup *firstGroupWithoutCustomProperty( QgsLayerTreeGroup *group, const QString &property );
%Docstring
Returns the first parent which doesn't have the given custom property or
the group itself if it doesn't hold the property
:param group: the layer tree group
:param property: the property
.. versionadded:: 3.8
%End
static QgsLayerTreeLayer *insertLayerAtOptimalPlacement( QgsLayerTreeGroup *group, QgsMapLayer *layer );
%Docstring
Inserts a ``layer`` within a given ``group`` at an optimal index
position by insuring a given layer type will always sit on top of or
below other types. From top to bottom, the stacking logic is as follow:
- vector points
- vector lines
- vector polygons
- point clouds
- meshes
- rasters
- base maps
A base map is defined as a non-gdal provider raster layer (e.g. XYZ
raster layer, vector tile layer, etc.)
.. versionadded:: 3.28
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/layertree/qgslayertreeutils.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
|