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
|
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsmaphittest.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsMapHitTest
{
%Docstring(signature="appended")
Class that runs a hit test with given map settings. Based on the hit
test it returns which symbols will be visible on the map - this is
useful for content based legend.
%End
%TypeHeaderCode
#include "qgsmaphittest.h"
%End
public:
typedef QMap<QString, QString> LayerFilterExpression;
QgsMapHitTest( const QgsMapSettings &settings, const QgsGeometry &polygon = QgsGeometry(), const QgsMapHitTest::LayerFilterExpression &layerFilterExpression = QgsMapHitTest::LayerFilterExpression() );
%Docstring
:param settings: Map settings used to evaluate symbols
:param polygon: Polygon geometry to refine the hit test
:param layerFilterExpression: Expression string for each layer id to
evaluate in order to refine the symbol
selection
%End
QgsMapHitTest( const QgsMapSettings &settings, const QgsMapHitTest::LayerFilterExpression &layerFilterExpression );
%Docstring
Constructor version used with only expressions to filter symbols (no
extent or polygon intersection)
%End
QgsMapHitTest( const QgsLayerTreeFilterSettings &settings );
%Docstring
Constructor based off layer tree filter ``settings``.
.. versionadded:: 3.32
%End
void run();
%Docstring
Runs the map hit test
%End
QMap<QString, QList<QString>> resultsPy() const /PyName=results/;
%Docstring
Returns the hit test results, which are a map of layer ID to visible
symbol legend keys.
.. versionadded:: 3.32
%End
bool symbolVisible( QgsSymbol *symbol, QgsVectorLayer *layer ) const;
%Docstring
Tests whether a symbol is visible for a specified layer.
:param symbol: symbol to find
:param layer: vector layer
.. seealso:: :py:func:`legendKeyVisible`
%End
bool legendKeyVisible( const QString &ruleKey, QgsVectorLayer *layer ) const;
%Docstring
Tests whether a given legend key is visible for a specified layer.
:param ruleKey: legend rule key
:param layer: vector layer
.. seealso:: :py:func:`symbolVisible`
%End
};
class QgsMapHitTestTask : QgsTask
{
%Docstring(signature="appended")
Executes a :py:class:`QgsMapHitTest` in a background thread.
.. versionadded:: 3.32
%End
%TypeHeaderCode
#include "qgsmaphittest.h"
%End
public:
QgsMapHitTestTask( const QgsLayerTreeFilterSettings &settings );
%Docstring
Constructor for QgsMapHitTestTask, using the specified filter
``settings``.
%End
QMap<QString, QList<QString>> resultsPy() const /PyName=results/;
%Docstring
Returns the hit test results, which are a map of layer ID to visible
symbol legend keys.
%End
virtual void cancel();
protected:
virtual bool run();
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsmaphittest.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
|