Fix setting atlas variables in main map canvas for previewing atlas

renders
This commit is contained in:
Nyall Dawson 2015-09-07 20:20:20 +10:00
parent 2fe6d8c04d
commit a45ead116f

View File

@ -1033,6 +1033,14 @@ void QgsComposer::atlasFeatureChanged( QgsFeature *feature )
mAtlasPageComboBox->setEditText( QString::number( mComposition->atlasComposition().currentFeatureNumber() + 1 ) );
}
mAtlasPageComboBox->blockSignals( false );
//update expression context variables in map canvas to allow for previewing atlas feature based renderering
mapCanvas()->expressionContextScope().addVariable( QgsExpressionContextScope::StaticVariable( "atlas_featurenumber", mComposition->atlasComposition().currentFeatureNumber() + 1, true ) );
mapCanvas()->expressionContextScope().addVariable( QgsExpressionContextScope::StaticVariable( "atlas_pagename", mComposition->atlasComposition().currentPageName(), true ) );
QgsFeature atlasFeature = mComposition->atlasComposition().feature();
mapCanvas()->expressionContextScope().addVariable( QgsExpressionContextScope::StaticVariable( "atlas_feature", QVariant::fromValue( atlasFeature ), true ) );
mapCanvas()->expressionContextScope().addVariable( QgsExpressionContextScope::StaticVariable( "atlas_featureid", atlasFeature.id(), true ) );
mapCanvas()->expressionContextScope().addVariable( QgsExpressionContextScope::StaticVariable( "atlas_geometry", QVariant::fromValue( *atlasFeature.constGeometry() ), true ) );
}
void QgsComposer::on_mActionAtlasPreview_triggered( bool checked )