@@ -3346,23 +3346,20 @@ QgsGeometryGeneratorSymbolLayerWidget::QgsGeometryGeneratorSymbolLayerWidget( co
3346
3346
, mLayer( nullptr )
3347
3347
{
3348
3348
setupUi ( this );
3349
+ modificationExpressionSelector->setMultiLine ( true );
3349
3350
modificationExpressionSelector->setLayer ( const_cast <QgsVectorLayer*>( vl ) );
3350
- modificationExpressionSelector->loadFieldNames ();
3351
- modificationExpressionSelector->setExpressionContext ( createExpressionContext () );
3351
+ modificationExpressionSelector->registerExpressionContextGenerator ( this );
3352
3352
cbxGeometryType->addItem ( QgsApplication::getThemeIcon ( " /mIconPolygonLayer.svg" ), tr ( " Polygon / MultiPolygon" ), QgsSymbol::Fill );
3353
3353
cbxGeometryType->addItem ( QgsApplication::getThemeIcon ( " /mIconLineLayer.svg" ), tr ( " LineString / MultiLineString" ), QgsSymbol::Line );
3354
3354
cbxGeometryType->addItem ( QgsApplication::getThemeIcon ( " /mIconPointLayer.svg" ), tr ( " Point / MultiPoint" ), QgsSymbol::Marker );
3355
- connect ( modificationExpressionSelector, SIGNAL ( expressionParsed ( bool ) ), this , SLOT ( updateExpression () ) );
3355
+ connect ( modificationExpressionSelector, SIGNAL ( expressionChanged ( QString ) ), this , SLOT ( updateExpression ( QString ) ) );
3356
3356
connect ( cbxGeometryType, SIGNAL ( currentIndexChanged ( int ) ), this , SLOT ( updateSymbolType () ) );
3357
3357
}
3358
3358
3359
3359
void QgsGeometryGeneratorSymbolLayerWidget::setSymbolLayer ( QgsSymbolLayer* l )
3360
3360
{
3361
3361
mLayer = static_cast <QgsGeometryGeneratorSymbolLayer*>( l );
3362
-
3363
- if ( mPresetExpressionContext )
3364
- modificationExpressionSelector->setExpressionContext ( *mPresetExpressionContext );
3365
- modificationExpressionSelector->setExpressionText ( mLayer ->geometryExpression () );
3362
+ modificationExpressionSelector->setExpression ( mLayer ->geometryExpression () );
3366
3363
cbxGeometryType->setCurrentIndex ( cbxGeometryType->findData ( mLayer ->symbolType () ) );
3367
3364
}
3368
3365
@@ -3371,9 +3368,9 @@ QgsSymbolLayer* QgsGeometryGeneratorSymbolLayerWidget::symbolLayer()
3371
3368
return mLayer ;
3372
3369
}
3373
3370
3374
- void QgsGeometryGeneratorSymbolLayerWidget::updateExpression ()
3371
+ void QgsGeometryGeneratorSymbolLayerWidget::updateExpression ( const QString& string )
3375
3372
{
3376
- mLayer ->setGeometryExpression ( modificationExpressionSelector-> expressionText () );
3373
+ mLayer ->setGeometryExpression ( string );
3377
3374
3378
3375
emit changed ();
3379
3376
}
0 commit comments