Skip to content

Commit 10dc0d5

Browse files
committedJul 7, 2017
Rename set_variable to with_variable
1 parent efff5f1 commit 10dc0d5

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed
 
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"name": "with_variable",
3+
"type": "function",
4+
"description": "This function sets a variable for any expression code that will be provided as 3rd argument. This is only useful for complicated expressions, where the same calculated value needs to be used in different places.",
5+
"arguments": [
6+
{"arg":"name","description":"the name of the variable to set"},
7+
{"arg":"value","description":"the value to set"},
8+
{"arg":"node","description":"the expression for which the variable will be available"}
9+
],
10+
"examples": [ { "expression":"with_variable('my_sum', 1 + 2 + 3, @my_sum * 2 + @my_sum * 5)", "returns":"42"}]
11+
}

‎src/core/expression/qgsexpressionfunction.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4230,7 +4230,7 @@ const QList<QgsExpressionFunction *> &QgsExpression::Functions()
42304230

42314231
sFunctions
42324232
<< new QgsStaticExpressionFunction( QStringLiteral( "env" ), 1, fcnEnvVar, QStringLiteral( "General" ), QString() )
4233-
<< new QgsSetVariableExpressionFunction()
4233+
<< new QgsWithVariableExpressionFunction()
42344234
<< new QgsStaticExpressionFunction( QStringLiteral( "attribute" ), 2, fcnAttribute, QStringLiteral( "Record" ), QString(), false, QSet<QString>() << QgsFeatureRequest::ALL_ATTRIBUTES )
42354235

42364236
// functions for arrays
@@ -4276,13 +4276,13 @@ const QList<QgsExpressionFunction *> &QgsExpression::Functions()
42764276
return sFunctions;
42774277
}
42784278

4279-
QgsSetVariableExpressionFunction::QgsSetVariableExpressionFunction()
4280-
: QgsExpressionFunction( "set_variable", 3, QCoreApplication::tr( "General" ), "help text TODODOODO" )
4279+
QgsWithVariableExpressionFunction::QgsWithVariableExpressionFunction()
4280+
: QgsExpressionFunction( QStringLiteral("with_variable"), 3, QCoreApplication::tr( "General" ) )
42814281
{
42824282

42834283
}
42844284

4285-
bool QgsSetVariableExpressionFunction::isStatic( const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context ) const
4285+
bool QgsWithVariableExpressionFunction::isStatic( const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context ) const
42864286
{
42874287
bool isStatic = false;
42884288

@@ -4310,7 +4310,7 @@ bool QgsSetVariableExpressionFunction::isStatic( const QgsExpressionNodeFunction
43104310
return false;
43114311
}
43124312

4313-
QVariant QgsSetVariableExpressionFunction::run( QgsExpressionNode::NodeList *args, const QgsExpressionContext *context, QgsExpression *parent )
4313+
QVariant QgsWithVariableExpressionFunction::run( QgsExpressionNode::NodeList *args, const QgsExpressionContext *context, QgsExpression *parent )
43144314
{
43154315
QVariant result;
43164316

@@ -4332,7 +4332,7 @@ QVariant QgsSetVariableExpressionFunction::run( QgsExpressionNode::NodeList *arg
43324332
return result;
43334333
}
43344334

4335-
QVariant QgsSetVariableExpressionFunction::func( const QVariantList &values, const QgsExpressionContext *context, QgsExpression *parent )
4335+
QVariant QgsWithVariableExpressionFunction::func( const QVariantList &values, const QgsExpressionContext *context, QgsExpression *parent )
43364336
{
43374337
// This is a dummy function, all the real handling is in run
43384338
Q_UNUSED( values )
@@ -4343,7 +4343,7 @@ QVariant QgsSetVariableExpressionFunction::func( const QVariantList &values, con
43434343
return QVariant();
43444344
}
43454345

4346-
bool QgsSetVariableExpressionFunction::prepare( const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context ) const
4346+
bool QgsWithVariableExpressionFunction::prepare( const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context ) const
43474347
{
43484348
QgsExpressionNode::NodeList *args = node->args();
43494349

‎src/core/expression/qgsexpressionfunction.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -455,10 +455,10 @@ class QgsStaticExpressionFunction : public QgsExpressionFunction
455455
bool mIsStatic = false;
456456
};
457457

458-
class QgsSetVariableExpressionFunction : public QgsExpressionFunction
458+
class QgsWithVariableExpressionFunction : public QgsExpressionFunction
459459
{
460460
public:
461-
QgsSetVariableExpressionFunction();
461+
QgsWithVariableExpressionFunction();
462462

463463
bool isStatic( const QgsExpressionNodeFunction *node, QgsExpression *parent, const QgsExpressionContext *context ) const override;
464464

0 commit comments

Comments
 (0)
Please sign in to comment.