bool QgsDataDefined::setFromXmlElement( const QDomElement &element ) { if ( element.isNull() ) { return false; } mActive = element.attribute( "active" ).compare( "true", Qt::CaseInsensitive ) == 0; mUseExpression = element.attribute( "useExpr" ).compare( "true", Qt::CaseInsensitive ) == 0; mField = element.attribute( "field" ); setExpressionString( element.attribute( "expr" ) ); return true; }
bool QgsProperty::convertToTransformer() { if ( d->type != ExpressionBasedProperty ) return false; if ( d->transformer ) return false; // already a transformer QString baseExpression; QString fieldName; std::unique_ptr< QgsPropertyTransformer > transformer( QgsPropertyTransformer::fromExpression( d->expressionString, baseExpression, fieldName ) ); if ( !transformer ) return false; d.detach(); d->transformer = transformer.release(); if ( !fieldName.isEmpty() ) setField( fieldName ); else setExpressionString( baseExpression ); return true; }
void ExprShortEdit::expressionApplied() { setExpressionString(_dialog->getExpressionString()); }