|
QGIS API Documentation
3.6.0-Noosa (5873452)
|
Expression function for use within a QgsExpressionContextScope. More...
#include <qgsexpressioncontext.h>

Public Member Functions | |
| QgsScopedExpressionFunction (const QString &fnname, int params, const QString &group, const QString &helpText=QString(), bool usesGeometry=false, const QSet< QString > &referencedColumns=QSet< QString >(), bool lazyEval=false, bool handlesNull=false, bool isContextual=true) | |
| Create a new QgsScopedExpressionFunction. More... | |
| QgsScopedExpressionFunction (const QString &fnname, const QgsExpressionFunction::ParameterList ¶ms, const QString &group, const QString &helpText=QString(), bool usesGeometry=false, const QSet< QString > &referencedColumns=QSet< QString >(), bool lazyEval=false, bool handlesNull=false, bool isContextual=true) | |
| Create a new QgsScopedExpressionFunction using named parameters. More... | |
| virtual QgsScopedExpressionFunction * | clone () const =0 |
| Returns a clone of the function. More... | |
| QVariant | func (const QVariantList &values, const QgsExpressionContext *context, QgsExpression *parent, const QgsExpressionNodeFunction *node) override=0 |
| 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... | |
| QSet< QString > | referencedColumns (const QgsExpressionNodeFunction *node) const override |
| Returns a set of field names which are required for this function. More... | |
| bool | usesGeometry (const QgsExpressionNodeFunction *node) const override |
| Does this function use a geometry object. More... | |
Public Member Functions inherited from QgsExpressionFunction | |
| 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... | |
| 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... | |
| 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 bool | prepare (const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context) const |
| This will be called during the prepare step() of an expression if it is not static. More... | |
| virtual QVariant | run (QgsExpressionNode::NodeList *args, const QgsExpressionContext *context, QgsExpression *parent, const QgsExpressionNodeFunction *node) |
| Evaluates the function, first evaluating all required arguments before passing them to the function's func() method. 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... | |
Expression function for use within a QgsExpressionContextScope.
This differs from a standard QgsExpression::Function in that it requires an implemented clone() method.
Definition at line 37 of file qgsexpressioncontext.h.
|
inline |
Create a new QgsScopedExpressionFunction.
Definition at line 46 of file qgsexpressioncontext.h.
|
inline |
Create a new QgsScopedExpressionFunction using named parameters.
Definition at line 65 of file qgsexpressioncontext.h.
|
pure virtual |
Returns a clone of the function.
|
overridepure virtual |
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.
|
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 811 of file qgsexpressioncontextutils.cpp.
|
overridevirtual |
Returns a set of field names which are required for this function.
May contain QgsFeatureRequest::AllAttributes to signal that all attributes are required. If in doubt this will return more fields than strictly required.
Reimplemented from QgsExpressionFunction.
Definition at line 805 of file qgsexpressioncontextutils.cpp.
|
overridevirtual |
Does this function use a geometry object.
Reimplemented from QgsExpressionFunction.
Definition at line 799 of file qgsexpressioncontextutils.cpp.
1.8.13