QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
Handles the with_variable(name, value, node)
expression function.
More...
#include <qgsexpressionfunction.h>
Public Member Functions | |
QgsWithVariableExpressionFunction () | |
QVariant | func (const QVariantList &values, const QgsExpressionContext *context, QgsExpression *parent, const QgsExpressionNodeFunction *node) override |
Returns result of evaluating the function. More... | |
bool | isStatic (const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context) const override |
Will be called during prepare to determine if the function is static. More... | |
bool | prepare (const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context) const override |
This will be called during the prepare step() of an expression if it is not static. More... | |
QVariant | run (QgsExpressionNode::NodeList *args, const QgsExpressionContext *context, QgsExpression *parent, const QgsExpressionNodeFunction *node) override |
Evaluates the function, first evaluating all required arguments before passing them to the function's func() method. More... | |
Public Member Functions inherited from QgsExpressionFunction | |
QgsExpressionFunction (const QString &fnname, const QgsExpressionFunction::ParameterList ¶ms, const QString &group, const QString &helpText=QString(), bool lazyEval=false, bool handlesNull=false, bool isContextual=false) | |
Constructor for function which uses named parameter list. More... | |
QgsExpressionFunction (const QString &fnname, const QgsExpressionFunction::ParameterList ¶ms, const QStringList &groups, const QString &helpText=QString(), bool lazyEval=false, bool handlesNull=false, bool isContextual=false) | |
Constructor for function which uses named parameter list and group list. More... | |
QgsExpressionFunction (const QString &fnname, int params, const QString &group, const QString &helpText=QString(), bool lazyEval=false, bool handlesNull=false, bool isContextual=false) | |
Constructor for function which uses unnamed parameters. More... | |
QgsExpressionFunction (const QString &fnname, int params, const QStringList &groups, const QString &helpText=QString(), bool lazyEval=false, bool handlesNull=false, bool isContextual=false) | |
Constructor for function which uses unnamed parameters and group list. More... | |
virtual | ~QgsExpressionFunction ()=default |
virtual QStringList | aliases () const |
Returns a list of possible aliases for the function. More... | |
QString | group () const |
Returns the first group which the function belongs to. More... | |
QStringList | groups () const |
Returns a list of the groups the function belongs to. More... | |
virtual bool | handlesNull () const |
Returns true if the function handles NULL values in arguments by itself, and the default NULL value handling should be skipped. More... | |
const QString | helpText () const |
The help text for the function. More... | |
bool | isContextual () const |
Returns whether the function is only available if provided by a QgsExpressionContext object. More... | |
virtual bool | isDeprecated () const |
Returns true if the function is deprecated and should not be presented as a valid option to users in expression builders. More... | |
bool | lazyEval () const |
true if this function should use lazy evaluation. More... | |
int | minParams () const |
The minimum number of parameters this function takes. More... | |
QString | name () const |
The name of the function. More... | |
bool | operator== (const QgsExpressionFunction &other) const |
const QgsExpressionFunction::ParameterList & | parameters () const |
Returns the list of named parameters for the function, if set. More... | |
int | params () const |
The number of parameters this function takes. More... | |
virtual QSet< QString > | referencedColumns (const QgsExpressionNodeFunction *node) const |
Returns a set of field names which are required for this function. More... | |
virtual bool | usesGeometry (const QgsExpressionNodeFunction *node) const |
Does this function use a geometry object. More... | |
Additional Inherited Members | |
Public Types inherited from QgsExpressionFunction | |
typedef QVariant(* | FcnEval) (const QVariantList &values, const QgsExpressionContext *context, QgsExpression *parent, const QgsExpressionNodeFunction *node) |
Function definition for evaluation against an expression context, using a list of values as parameters to the function. More... | |
typedef QList< QgsExpressionFunction::Parameter > | ParameterList |
List of parameters, used for function definition. More... | |
Static Protected Member Functions inherited from QgsExpressionFunction | |
static bool | allParamsStatic (const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context) |
This will return true if all the params for the provided function node are static within the constraints imposed by the context within the given parent. More... | |
Handles the with_variable(name, value, node)
expression function.
It temporarily appends a new scope to the expression context for all nested nodes.
Definition at line 557 of file qgsexpressionfunction.h.
QgsWithVariableExpressionFunction::QgsWithVariableExpressionFunction | ( | ) |
Definition at line 7211 of file qgsexpressionfunction.cpp.
|
overridevirtual |
Returns result of evaluating the function.
values | list of values passed to the function |
context | context expression is being evaluated against |
parent | parent expression |
node | expression node |
Implements QgsExpressionFunction.
Definition at line 7275 of file qgsexpressionfunction.cpp.
|
overridevirtual |
Will be called during prepare to determine if the function is static.
A function is static if it will return the same value for every feature with different attributes and/or geometry.
By default this will return true
, if all arguments that have been passed to the function are also static.
Reimplemented from QgsExpressionFunction.
Definition at line 7221 of file qgsexpressionfunction.cpp.
|
overridevirtual |
This will be called during the prepare step() of an expression if it is not static.
This can be used by functions to do any preparation steps that might help to speedup the upcoming evaluation.
Reimplemented from QgsExpressionFunction.
Definition at line 7287 of file qgsexpressionfunction.cpp.
|
overridevirtual |
Evaluates the function, first evaluating all required arguments before passing them to the function's func() method.
Reimplemented from QgsExpressionFunction.
Definition at line 7246 of file qgsexpressionfunction.cpp.