QWidget *QgsComposerColumnSourceDelegate::createEditor( QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index ) const { Q_UNUSED( option ); Q_UNUSED( index ); QgsFieldExpressionWidget *fieldExpression = new QgsFieldExpressionWidget( parent ); fieldExpression->setLayer( mVectorLayer ); fieldExpression->registerExpressionContextGenerator( this ); //listen out for field changes connect( fieldExpression, static_cast < void ( QgsFieldExpressionWidget::* )( const QString & ) >( &QgsFieldExpressionWidget::fieldChanged ), this, [ = ] { const_cast< QgsComposerColumnSourceDelegate * >( this )->commitAndCloseEditor(); } ); return fieldExpression; }
QWidget* QgsComposerColumnSourceDelegate::createEditor( QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index ) const { Q_UNUSED( option ); Q_UNUSED( index ); QgsFieldExpressionWidget *fieldExpression = new QgsFieldExpressionWidget( parent ); fieldExpression->setLayer( mVectorLayer ); fieldExpression->registerExpressionContextGenerator( this ); //listen out for field changes connect( fieldExpression, SIGNAL( fieldChanged( QString ) ), this, SLOT( commitAndCloseEditor() ) ); return fieldExpression; }