26 const QString& field ) :
28 , mUseExpression( useexpr )
29 , mExpressionString( expr )
58 if ( scaleV.isValid() )
61 double scale = scaleV.toDouble( &ok );
95 else if ( !
mField.isEmpty() )
110 QMap< QString, QString > map;
111 map.insert(
"active", (
mActive ?
"1" :
"0" ) );
114 map.insert(
"field",
mField );
Class for parsing and evaluation of expressions (formerly called "search strings").
bool hasEvalError() const
Returns true if an error occurred when evaluating last input.
bool hasParserError() const
Returns true if an error occurred when parsing the input expression.
bool prepare(const QgsFields &fields)
Get the expression ready for evaluation - find out column indexes.
void insertExpressionParam(QString key, QVariant param)
QStringList mExprRefColmuns
QgsExpression * mExpression
QMap< QString, QVariant > mExpressionParams
QMap< QString, QString > toMap()
QStringList referencedColumns()
Get list of columns referenced by the expression.
QgsDataDefined(bool active=false, bool useexpr=false, const QString &expr=QString(), const QString &field=QString())
Construct a new data defined object.
bool prepareExpression(QgsVectorLayer *layer)
QString mExpressionString
const QgsFields & pendingFields() const
returns field list in the to-be-committed state
void setScale(double scale)
Represents a vector layer which manages a vector based data sets.
QString parserErrorString() const
Returns parser error.
QString evalErrorString() const
Returns evaluation error.
QStringList referencedColumns(QgsVectorLayer *layer)