mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-27 00:33:48 -05:00
This introduces two new options to filter legend elements: - filter by expression: a boolean expression can be set. Only symbols of features that make the expression evaluated to true will be kept in the legend - filter by polygon: only symbols of features that are inside the given polygon will be part of the legend. The polygon filtering is used in particular for a new option in the composer legend that allows to filter out anything that is not included in the current atlas polygon.
48 lines
2.1 KiB
Plaintext
48 lines
2.1 KiB
Plaintext
/**
|
|
* Assorted functions for dealing with layer trees.
|
|
*
|
|
* @note added in 2.4
|
|
*/
|
|
class QgsLayerTreeUtils
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgslayertreeutils.h>
|
|
%End
|
|
|
|
public:
|
|
|
|
//! Try to load layer tree from \verbatim <legend> \endverbatim tag from project files from QGIS 2.2 and below
|
|
static bool readOldLegend( QgsLayerTreeGroup* root, const QDomElement& legendElem );
|
|
//! Try to load custom layer order from \verbatim <legend> \endverbatim tag from project files from QGIS 2.2 and below
|
|
static bool readOldLegendLayerOrder( const QDomElement& legendElem, bool& hasCustomOrder, QStringList& order );
|
|
//! Return \verbatim <legend> \endverbatim tag used in QGIS 2.2 and below
|
|
static QDomElement writeOldLegend( QDomDocument& doc, QgsLayerTreeGroup* root, bool hasCustomOrder, const QStringList& order );
|
|
|
|
//! Convert Qt::CheckState to QString
|
|
static QString checkStateToXml( Qt::CheckState state );
|
|
//! Convert QString to Qt::CheckState
|
|
static Qt::CheckState checkStateFromXml( const QString& txt );
|
|
|
|
//! Return true if any of the layers is editable
|
|
static bool layersEditable( const QList<QgsLayerTreeLayer*>& layerNodes );
|
|
//! Return true if any of the layers is modified
|
|
static bool layersModified( const QList<QgsLayerTreeLayer*>& layerNodes );
|
|
|
|
//! Remove layer nodes that refer to invalid layers
|
|
static void removeInvalidLayers( QgsLayerTreeGroup* group );
|
|
|
|
//! Remove subtree of embedded groups and replaces it with a custom property embedded-visible-layers
|
|
static void replaceChildrenOfEmbeddedGroups( QgsLayerTreeGroup* group );
|
|
|
|
|
|
//! get invisible layers
|
|
static QStringList invisibleLayerList( QgsLayerTreeNode *node );
|
|
|
|
//! Set the expression filter of a legend layer
|
|
static void setLegendFilterByExpression( QgsLayerTreeLayer& layer, const QString& expr, bool enabled = true );
|
|
//! Return the expression filter of a legend layer
|
|
static QString legendFilterByExpression( const QgsLayerTreeLayer& layer, bool* enabled = 0 );
|
|
//! Test if one of the layers in a group has an expression filter
|
|
static bool hasLegendFilterExpression( const QgsLayerTreeGroup& group );
|
|
};
|