QString QgsComposerPicture::evalPictureExpression() { //generate filename for picture if ( mSourceExpression.size() > 0 && mUseSourceExpression ) { if ( ! mPictureExpr ) { return QString(); } QVariant filenameRes; QgsAtlasComposition* atlas = &( mComposition->atlasComposition() ); if ( atlas->enabled() ) { //expression needs to be evaluated considering the current atlas feature filenameRes = mPictureExpr->evaluate( atlas->currentFeature(), atlas->coverageLayer()->pendingFields() ); } else { filenameRes = mPictureExpr->evaluate(); } if ( mPictureExpr->hasEvalError() ) { QgsMessageLog::logMessage( tr( "Picture expression eval error: %1" ).arg( mPictureExpr->evalErrorString() ), tr( "Composer" ) ); } return filenameRes.toString(); } else { return QString(); } }
QgsVectorLayer* QgsComposerItemBaseWidget::atlasCoverageLayer() const { QgsAtlasComposition* atlasMap = atlasComposition(); if ( atlasMap && atlasMap->enabled() ) { return atlasMap->coverageLayer(); } return 0; }
void QgsAtlasCompositionWidget::updateGuiElements() { blockAllSignals( true ); QgsAtlasComposition *atlasMap = &mComposition->atlasComposition(); mUseAtlasCheckBox->setCheckState( atlasMap->enabled() ? Qt::Checked : Qt::Unchecked ); mConfigurationGroup->setEnabled( atlasMap->enabled() ); mOutputGroup->setEnabled( atlasMap->enabled() ); mAtlasCoverageLayerComboBox->setLayer( atlasMap->coverageLayer() ); mPageNameWidget->setLayer( atlasMap->coverageLayer() ); mPageNameWidget->setField( atlasMap->pageNameExpression() ); mAtlasSortFeatureKeyComboBox->setLayer( atlasMap->coverageLayer() ); mAtlasSortFeatureKeyComboBox->setField( atlasMap->sortKeyAttributeName() ); mAtlasFilenamePatternEdit->setText( atlasMap->filenamePattern() ); mAtlasHideCoverageCheckBox->setCheckState( atlasMap->hideCoverage() ? Qt::Checked : Qt::Unchecked ); mAtlasSingleFileCheckBox->setCheckState( atlasMap->singleFile() ? Qt::Checked : Qt::Unchecked ); mAtlasFilenamePatternEdit->setEnabled( !atlasMap->singleFile() ); mAtlasFilenameExpressionButton->setEnabled( !atlasMap->singleFile() ); mAtlasSortFeatureCheckBox->setCheckState( atlasMap->sortFeatures() ? Qt::Checked : Qt::Unchecked ); mAtlasSortFeatureDirectionButton->setEnabled( atlasMap->sortFeatures() ); mAtlasSortFeatureKeyComboBox->setEnabled( atlasMap->sortFeatures() ); mAtlasSortFeatureDirectionButton->setArrowType( atlasMap->sortAscending() ? Qt::UpArrow : Qt::DownArrow ); mAtlasFeatureFilterEdit->setText( atlasMap->featureFilter() ); mAtlasFeatureFilterCheckBox->setCheckState( atlasMap->filterFeatures() ? Qt::Checked : Qt::Unchecked ); mAtlasFeatureFilterEdit->setEnabled( atlasMap->filterFeatures() ); mAtlasFeatureFilterButton->setEnabled( atlasMap->filterFeatures() ); mAtlasFileFormat->setCurrentIndex( mAtlasFileFormat->findText( atlasMap->fileFormat() ) ); blockAllSignals( false ); }
void QgsComposerObject::prepareDataDefinedExpressions() const { //use atlas coverage layer if set QgsVectorLayer* atlasLayer = 0; if ( mComposition ) { QgsAtlasComposition* atlas = &mComposition->atlasComposition(); if ( atlas && atlas->enabled() ) { atlasLayer = atlas->coverageLayer(); } } //prepare all QgsDataDefineds QMap< DataDefinedProperty, QgsDataDefined* >::const_iterator it = mDataDefinedProperties.constBegin(); if ( it != mDataDefinedProperties.constEnd() ) { it.value()->prepareExpression( atlasLayer ); } }
void QgsCompositionWidget::populateDataDefinedButtons() { if ( !mComposition ) { return; } QgsVectorLayer* vl = 0; QgsAtlasComposition* atlas = &mComposition->atlasComposition(); if ( atlas && atlas->enabled() ) { vl = atlas->coverageLayer(); } Q_FOREACH ( QgsDataDefinedButton* button, findChildren< QgsDataDefinedButton* >() ) { button->blockSignals( true ); button->registerGetExpressionContextCallback( &_getExpressionContext, mComposition ); }
void QgsCompositionWidget::populateDataDefinedButtons() { if ( !mComposition ) { return; } QgsVectorLayer* vl = 0; QgsAtlasComposition* atlas = &mComposition->atlasComposition(); if ( atlas && atlas->enabled() ) { vl = atlas->coverageLayer(); } mPaperSizeDDBtn->blockSignals( true ); mPaperWidthDDBtn->blockSignals( true ); mPaperHeightDDBtn->blockSignals( true ); mNumPagesDDBtn->blockSignals( true ); mPaperOrientationDDBtn->blockSignals( true ); mPaperSizeDDBtn->init( vl, mComposition->dataDefinedProperty( QgsComposerObject::PresetPaperSize ), QgsDataDefinedButton::String, QgsDataDefinedButton::paperSizeDesc() ); mPaperWidthDDBtn->init( vl, mComposition->dataDefinedProperty( QgsComposerObject::PaperWidth ), QgsDataDefinedButton::Double, QgsDataDefinedButton::doublePosDesc() ); mPaperHeightDDBtn->init( vl, mComposition->dataDefinedProperty( QgsComposerObject::PaperHeight ), QgsDataDefinedButton::Double, QgsDataDefinedButton::doublePosDesc() ); mNumPagesDDBtn->init( vl, mComposition->dataDefinedProperty( QgsComposerObject::NumPages ), QgsDataDefinedButton::Int, QgsDataDefinedButton::intPosOneDesc() ); mPaperOrientationDDBtn->init( vl, mComposition->dataDefinedProperty( QgsComposerObject::PaperOrientation ), QgsDataDefinedButton::String, QgsDataDefinedButton::paperOrientationDesc() ); //initial state of controls - disable related controls when dd buttons are active mPaperSizeComboBox->setEnabled( !mPaperSizeDDBtn->isActive() ); mPaperSizeDDBtn->blockSignals( false ); mPaperWidthDDBtn->blockSignals( false ); mPaperHeightDDBtn->blockSignals( false ); mNumPagesDDBtn->blockSignals( false ); mPaperOrientationDDBtn->blockSignals( false ); }
void QgsAtlasCompositionWidget::updateGuiElements() { QgsAtlasComposition* atlasMap = &mComposition->atlasComposition(); if ( atlasMap->enabled() ) { mUseAtlasCheckBox->setCheckState( Qt::Checked ); } else { mUseAtlasCheckBox->setCheckState( Qt::Unchecked ); } mAtlasCoverageLayerComboBox->setLayer( atlasMap->coverageLayer() ); mAtlasSortFeatureKeyComboBox->setField( atlasMap->sortKeyAttributeName() ); mAtlasFilenamePatternEdit->setText( atlasMap->filenamePattern() ); mAtlasHideCoverageCheckBox->setCheckState( atlasMap->hideCoverage() ? Qt::Checked : Qt::Unchecked ); mAtlasSingleFileCheckBox->setCheckState( atlasMap->singleFile() ? Qt::Checked : Qt::Unchecked ); mAtlasSortFeatureCheckBox->setCheckState( atlasMap->sortFeatures() ? Qt::Checked : Qt::Unchecked ); mAtlasSortFeatureDirectionButton->setArrowType( atlasMap->sortAscending() ? Qt::UpArrow : Qt::DownArrow ); mAtlasFeatureFilterEdit->setText( atlasMap->featureFilter() ); mAtlasFeatureFilterCheckBox->setCheckState( atlasMap->filterFeatures() ? Qt::Checked : Qt::Unchecked ); }
QgsComposerMapWidget::QgsComposerMapWidget( QgsComposerMap *composerMap ) : QgsComposerItemBaseWidget( nullptr, composerMap ) , mComposerMap( composerMap ) { setupUi( this ); setPanelTitle( tr( "Map properties" ) ); mMapRotationSpinBox->setClearValue( 0 ); //add widget for general composer item properties QgsComposerItemWidget *itemPropertiesWidget = new QgsComposerItemWidget( this, composerMap ); mainLayout->addWidget( itemPropertiesWidget ); mScaleLineEdit->setValidator( new QDoubleValidator( mScaleLineEdit ) ); mXMinLineEdit->setValidator( new QDoubleValidator( mXMinLineEdit ) ); mXMaxLineEdit->setValidator( new QDoubleValidator( mXMaxLineEdit ) ); mYMinLineEdit->setValidator( new QDoubleValidator( mYMinLineEdit ) ); mYMaxLineEdit->setValidator( new QDoubleValidator( mYMaxLineEdit ) ); blockAllSignals( true ); mCrsSelector->setOptionVisible( QgsProjectionSelectionWidget::CrsNotSet, true ); mCrsSelector->setNotSetText( tr( "Use project CRS" ) ); // follow preset combo mFollowVisibilityPresetCombo->setModel( new QStringListModel( mFollowVisibilityPresetCombo ) ); connect( mFollowVisibilityPresetCombo, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsComposerMapWidget::followVisibilityPresetSelected ); connect( QgsProject::instance()->mapThemeCollection(), &QgsMapThemeCollection::mapThemesChanged, this, &QgsComposerMapWidget::onMapThemesChanged ); onMapThemesChanged(); // keep layers from preset button QMenu *menuKeepLayers = new QMenu( this ); mLayerListFromPresetButton->setMenu( menuKeepLayers ); mLayerListFromPresetButton->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionShowAllLayers.svg" ) ) ); mLayerListFromPresetButton->setToolTip( tr( "Set layer list from a map theme" ) ); connect( menuKeepLayers, &QMenu::aboutToShow, this, &QgsComposerMapWidget::aboutToShowKeepLayersVisibilityPresetsMenu ); if ( composerMap ) { mLabel->setText( tr( "Map %1" ).arg( composerMap->id() ) ); connect( composerMap, &QgsComposerObject::itemChanged, this, &QgsComposerMapWidget::setGuiElementValues ); QgsAtlasComposition *atlas = atlasComposition(); if ( atlas ) { connect( atlas, &QgsAtlasComposition::coverageLayerChanged, this, &QgsComposerMapWidget::atlasLayerChanged ); connect( atlas, &QgsAtlasComposition::toggled, this, &QgsComposerMapWidget::compositionAtlasToggled ); compositionAtlasToggled( atlas->enabled() ); } mOverviewFrameMapComboBox->setComposition( composerMap->composition() ); mOverviewFrameMapComboBox->setItemType( QgsComposerItem::ComposerMap ); mOverviewFrameMapComboBox->setExceptedItemList( QList< QgsComposerItem * >() << composerMap ); connect( mOverviewFrameMapComboBox, &QgsComposerItemComboBox::itemChanged, this, &QgsComposerMapWidget::overviewMapChanged ); } connect( mCrsSelector, &QgsProjectionSelectionWidget::crsChanged, this, &QgsComposerMapWidget::mapCrsChanged ); registerDataDefinedButton( mScaleDDBtn, QgsComposerObject::MapScale ); registerDataDefinedButton( mMapRotationDDBtn, QgsComposerObject::MapRotation ); registerDataDefinedButton( mXMinDDBtn, QgsComposerObject::MapXMin ); registerDataDefinedButton( mYMinDDBtn, QgsComposerObject::MapYMin ); registerDataDefinedButton( mXMaxDDBtn, QgsComposerObject::MapXMax ); registerDataDefinedButton( mYMaxDDBtn, QgsComposerObject::MapYMax ); registerDataDefinedButton( mAtlasMarginDDBtn, QgsComposerObject::MapAtlasMargin ); registerDataDefinedButton( mStylePresetsDDBtn, QgsComposerObject::MapStylePreset ); registerDataDefinedButton( mLayersDDBtn, QgsComposerObject::MapLayers ); updateGuiElements(); loadGridEntries(); loadOverviewEntries(); connect( mMapRotationSpinBox, static_cast < void ( QgsDoubleSpinBox::* )( double ) > ( &QgsDoubleSpinBox::valueChanged ), this, &QgsComposerMapWidget::rotationChanged ); blockAllSignals( false ); }
QgsLayoutMapWidget::QgsLayoutMapWidget( QgsLayoutItemMap *item ) : QgsLayoutItemBaseWidget( nullptr, item ) , mMapItem( item ) { setupUi( this ); connect( mScaleLineEdit, &QLineEdit::editingFinished, this, &QgsLayoutMapWidget::mScaleLineEdit_editingFinished ); connect( mSetToMapCanvasExtentButton, &QPushButton::clicked, this, &QgsLayoutMapWidget::mSetToMapCanvasExtentButton_clicked ); connect( mViewExtentInCanvasButton, &QPushButton::clicked, this, &QgsLayoutMapWidget::mViewExtentInCanvasButton_clicked ); connect( mUpdatePreviewButton, &QPushButton::clicked, this, &QgsLayoutMapWidget::mUpdatePreviewButton_clicked ); connect( mFollowVisibilityPresetCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutMapWidget::mFollowVisibilityPresetCheckBox_stateChanged ); connect( mKeepLayerListCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutMapWidget::mKeepLayerListCheckBox_stateChanged ); connect( mKeepLayerStylesCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutMapWidget::mKeepLayerStylesCheckBox_stateChanged ); connect( mDrawCanvasItemsCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutMapWidget::mDrawCanvasItemsCheckBox_stateChanged ); connect( mOverviewBlendModeComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsLayoutMapWidget::mOverviewBlendModeComboBox_currentIndexChanged ); connect( mOverviewInvertCheckbox, &QCheckBox::toggled, this, &QgsLayoutMapWidget::mOverviewInvertCheckbox_toggled ); connect( mOverviewCenterCheckbox, &QCheckBox::toggled, this, &QgsLayoutMapWidget::mOverviewCenterCheckbox_toggled ); connect( mXMinLineEdit, &QLineEdit::editingFinished, this, &QgsLayoutMapWidget::mXMinLineEdit_editingFinished ); connect( mXMaxLineEdit, &QLineEdit::editingFinished, this, &QgsLayoutMapWidget::mXMaxLineEdit_editingFinished ); connect( mYMinLineEdit, &QLineEdit::editingFinished, this, &QgsLayoutMapWidget::mYMinLineEdit_editingFinished ); connect( mYMaxLineEdit, &QLineEdit::editingFinished, this, &QgsLayoutMapWidget::mYMaxLineEdit_editingFinished ); connect( mAtlasMarginRadio, &QRadioButton::toggled, this, &QgsLayoutMapWidget::mAtlasMarginRadio_toggled ); connect( mAtlasCheckBox, &QgsCollapsibleGroupBoxBasic::toggled, this, &QgsLayoutMapWidget::mAtlasCheckBox_toggled ); connect( mAtlasMarginSpinBox, static_cast < void ( QSpinBox::* )( int ) > ( &QSpinBox::valueChanged ), this, &QgsLayoutMapWidget::mAtlasMarginSpinBox_valueChanged ); connect( mAtlasFixedScaleRadio, &QRadioButton::toggled, this, &QgsLayoutMapWidget::mAtlasFixedScaleRadio_toggled ); connect( mAtlasPredefinedScaleRadio, &QRadioButton::toggled, this, &QgsLayoutMapWidget::mAtlasPredefinedScaleRadio_toggled ); connect( mAddGridPushButton, &QPushButton::clicked, this, &QgsLayoutMapWidget::mAddGridPushButton_clicked ); connect( mRemoveGridPushButton, &QPushButton::clicked, this, &QgsLayoutMapWidget::mRemoveGridPushButton_clicked ); connect( mGridUpButton, &QPushButton::clicked, this, &QgsLayoutMapWidget::mGridUpButton_clicked ); connect( mGridDownButton, &QPushButton::clicked, this, &QgsLayoutMapWidget::mGridDownButton_clicked ); connect( mDrawGridCheckBox, &QCheckBox::toggled, this, &QgsLayoutMapWidget::mDrawGridCheckBox_toggled ); connect( mGridListWidget, &QListWidget::currentItemChanged, this, &QgsLayoutMapWidget::mGridListWidget_currentItemChanged ); connect( mGridListWidget, &QListWidget::itemChanged, this, &QgsLayoutMapWidget::mGridListWidget_itemChanged ); connect( mGridPropertiesButton, &QPushButton::clicked, this, &QgsLayoutMapWidget::mGridPropertiesButton_clicked ); connect( mAddOverviewPushButton, &QPushButton::clicked, this, &QgsLayoutMapWidget::mAddOverviewPushButton_clicked ); connect( mRemoveOverviewPushButton, &QPushButton::clicked, this, &QgsLayoutMapWidget::mRemoveOverviewPushButton_clicked ); connect( mOverviewUpButton, &QPushButton::clicked, this, &QgsLayoutMapWidget::mOverviewUpButton_clicked ); connect( mOverviewDownButton, &QPushButton::clicked, this, &QgsLayoutMapWidget::mOverviewDownButton_clicked ); connect( mOverviewCheckBox, &QgsCollapsibleGroupBoxBasic::toggled, this, &QgsLayoutMapWidget::mOverviewCheckBox_toggled ); connect( mOverviewListWidget, &QListWidget::currentItemChanged, this, &QgsLayoutMapWidget::mOverviewListWidget_currentItemChanged ); connect( mOverviewListWidget, &QListWidget::itemChanged, this, &QgsLayoutMapWidget::mOverviewListWidget_itemChanged ); setPanelTitle( tr( "Map properties" ) ); mMapRotationSpinBox->setClearValue( 0 ); //add widget for general composer item properties mItemPropertiesWidget = new QgsLayoutItemPropertiesWidget( this, item ); mainLayout->addWidget( mItemPropertiesWidget ); mScaleLineEdit->setValidator( new QDoubleValidator( mScaleLineEdit ) ); mXMinLineEdit->setValidator( new QDoubleValidator( mXMinLineEdit ) ); mXMaxLineEdit->setValidator( new QDoubleValidator( mXMaxLineEdit ) ); mYMinLineEdit->setValidator( new QDoubleValidator( mYMinLineEdit ) ); mYMaxLineEdit->setValidator( new QDoubleValidator( mYMaxLineEdit ) ); blockAllSignals( true ); mCrsSelector->setOptionVisible( QgsProjectionSelectionWidget::CrsNotSet, true ); mCrsSelector->setNotSetText( tr( "Use project CRS" ) ); mOverviewFrameStyleButton->setSymbolType( QgsSymbol::Fill ); // follow preset combo mFollowVisibilityPresetCombo->setModel( new QStringListModel( mFollowVisibilityPresetCombo ) ); connect( mFollowVisibilityPresetCombo, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsLayoutMapWidget::followVisibilityPresetSelected ); connect( QgsProject::instance()->mapThemeCollection(), &QgsMapThemeCollection::mapThemesChanged, this, &QgsLayoutMapWidget::onMapThemesChanged ); onMapThemesChanged(); // keep layers from preset button QMenu *menuKeepLayers = new QMenu( this ); mLayerListFromPresetButton->setMenu( menuKeepLayers ); mLayerListFromPresetButton->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionShowAllLayers.svg" ) ) ); mLayerListFromPresetButton->setToolTip( tr( "Set layer list from a map theme" ) ); connect( menuKeepLayers, &QMenu::aboutToShow, this, &QgsLayoutMapWidget::aboutToShowKeepLayersVisibilityPresetsMenu ); mOverviewFrameMapComboBox->setItemType( QgsLayoutItemRegistry::LayoutMap ); if ( item ) { connect( item, &QgsLayoutObject::changed, this, &QgsLayoutMapWidget::updateGuiElements ); #if 0 //TODO QgsAtlasComposition *atlas = atlasComposition(); if ( atlas ) { connect( atlas, &QgsAtlasComposition::coverageLayerChanged, this, &QgsLayoutMapWidget::atlasLayerChanged ); connect( atlas, &QgsAtlasComposition::toggled, this, &QgsLayoutMapWidget::compositionAtlasToggled ); compositionAtlasToggled( atlas->enabled() ); } #endif mOverviewFrameMapComboBox->setCurrentLayout( item->layout() ); mOverviewFrameStyleButton->registerExpressionContextGenerator( item ); } connect( mOverviewFrameMapComboBox, &QgsLayoutItemComboBox::itemChanged, this, &QgsLayoutMapWidget::overviewMapChanged ); connect( mCrsSelector, &QgsProjectionSelectionWidget::crsChanged, this, &QgsLayoutMapWidget::mapCrsChanged ); connect( mOverviewFrameStyleButton, &QgsSymbolButton::changed, this, &QgsLayoutMapWidget::overviewSymbolChanged ); registerDataDefinedButton( mScaleDDBtn, QgsLayoutObject::MapScale ); registerDataDefinedButton( mMapRotationDDBtn, QgsLayoutObject::MapRotation ); registerDataDefinedButton( mXMinDDBtn, QgsLayoutObject::MapXMin ); registerDataDefinedButton( mYMinDDBtn, QgsLayoutObject::MapYMin ); registerDataDefinedButton( mXMaxDDBtn, QgsLayoutObject::MapXMax ); registerDataDefinedButton( mYMaxDDBtn, QgsLayoutObject::MapYMax ); registerDataDefinedButton( mAtlasMarginDDBtn, QgsLayoutObject::MapAtlasMargin ); registerDataDefinedButton( mStylePresetsDDBtn, QgsLayoutObject::MapStylePreset ); registerDataDefinedButton( mLayersDDBtn, QgsLayoutObject::MapLayers ); updateGuiElements(); loadGridEntries(); loadOverviewEntries(); connect( mMapRotationSpinBox, static_cast < void ( QgsDoubleSpinBox::* )( double ) > ( &QgsDoubleSpinBox::valueChanged ), this, &QgsLayoutMapWidget::rotationChanged ); blockAllSignals( false ); }
QgsComposerMapWidget::QgsComposerMapWidget( QgsComposerMap* composerMap ) : QgsComposerItemBaseWidget( nullptr, composerMap ) , mComposerMap( composerMap ) { setupUi( this ); setPanelTitle( tr( "Map properties" ) ); //add widget for general composer item properties QgsComposerItemWidget* itemPropertiesWidget = new QgsComposerItemWidget( this, composerMap ); mainLayout->addWidget( itemPropertiesWidget ); mScaleLineEdit->setValidator( new QDoubleValidator( mScaleLineEdit ) ); mXMinLineEdit->setValidator( new QDoubleValidator( mXMinLineEdit ) ); mXMaxLineEdit->setValidator( new QDoubleValidator( mXMaxLineEdit ) ); mYMinLineEdit->setValidator( new QDoubleValidator( mYMinLineEdit ) ); mYMaxLineEdit->setValidator( new QDoubleValidator( mYMaxLineEdit ) ); blockAllSignals( true ); mPreviewModeComboBox->insertItem( 0, tr( "Cache" ) ); mPreviewModeComboBox->insertItem( 1, tr( "Render" ) ); mPreviewModeComboBox->insertItem( 2, tr( "Rectangle" ) ); // follow preset combo mFollowVisibilityPresetCombo->setModel( new QStringListModel( mFollowVisibilityPresetCombo ) ); connect( mFollowVisibilityPresetCombo, SIGNAL( currentIndexChanged( int ) ), this, SLOT( followVisibilityPresetSelected( int ) ) ); connect( QgsProject::instance()->mapThemeCollection(), SIGNAL( presetsChanged() ), this, SLOT( onPresetsChanged() ) ); onPresetsChanged(); // keep layers from preset button QMenu* menuKeepLayers = new QMenu( this ); mLayerListFromPresetButton->setMenu( menuKeepLayers ); mLayerListFromPresetButton->setIcon( QgsApplication::getThemeIcon( "/mActionShowAllLayers.svg" ) ); mLayerListFromPresetButton->setToolTip( tr( "Set layer list from a map theme" ) ); connect( menuKeepLayers, SIGNAL( aboutToShow() ), this, SLOT( aboutToShowKeepLayersVisibilityPresetsMenu() ) ); if ( composerMap ) { mLabel->setText( tr( "Map %1" ).arg( composerMap->id() ) ); connect( composerMap, SIGNAL( itemChanged() ), this, SLOT( setGuiElementValues() ) ); QgsAtlasComposition* atlas = atlasComposition(); if ( atlas ) { connect( atlas, SIGNAL( coverageLayerChanged( QgsVectorLayer* ) ), this, SLOT( atlasLayerChanged( QgsVectorLayer* ) ) ); connect( atlas, SIGNAL( toggled( bool ) ), this, SLOT( compositionAtlasToggled( bool ) ) ); compositionAtlasToggled( atlas->enabled() ); } mOverviewFrameMapComboBox->setComposition( composerMap->composition() ); mOverviewFrameMapComboBox->setItemType( QgsComposerItem::ComposerMap ); mOverviewFrameMapComboBox->setExceptedItemList( QList< QgsComposerItem* >() << composerMap ); connect( mOverviewFrameMapComboBox, SIGNAL( itemChanged( QgsComposerItem* ) ), this, SLOT( overviewMapChanged( QgsComposerItem* ) ) ); } updateGuiElements(); loadGridEntries(); loadOverviewEntries(); populateDataDefinedButtons(); blockAllSignals( false ); }