void QgsComposerAttributeTableWidget::refreshMapComboBox() { //save the current entry in case it is still present after refresh QString saveCurrentComboText = mComposerMapComboBox->currentText(); mComposerMapComboBox->blockSignals( true ); mComposerMapComboBox->clear(); if ( mComposerTable ) { const QgsComposition* tableComposition = mComposerTable->composition(); if ( tableComposition ) { QList<const QgsComposerMap*> mapList = tableComposition->composerMapItems(); QList<const QgsComposerMap*>::const_iterator mapIt = mapList.constBegin(); for ( ; mapIt != mapList.constEnd(); ++mapIt ) { int mapId = ( *mapIt )->id(); mComposerMapComboBox->addItem( tr( "Map %1" ).arg( mapId ), mapId ); } } } mComposerMapComboBox->blockSignals( false ); if ( mComposerMapComboBox->findText( saveCurrentComboText ) == -1 ) { //the former entry is no longer present. Inform the scalebar about the changed composer map on_mComposerMapComboBox_activated( mComposerMapComboBox->currentIndex() ); } else { //the former entry is still present. Make it the current entry again mComposerMapComboBox->setCurrentIndex( mComposerMapComboBox->findText( saveCurrentComboText ) ); } }
QgsComposerTableWidget::QgsComposerTableWidget( QgsComposerAttributeTable* table ): QWidget( 0 ), mComposerTable( table ) { setupUi( this ); //add widget for general composer item properties QgsComposerItemWidget* itemPropertiesWidget = new QgsComposerItemWidget( this, mComposerTable ); mainLayout->addWidget( itemPropertiesWidget ); blockAllSignals( true ); mLayerComboBox->setFilters( QgsMapLayerProxyModel::VectorLayer ); connect( mLayerComboBox, SIGNAL( layerChanged( QgsMapLayer* ) ), this, SLOT( changeLayer( QgsMapLayer* ) ) ); refreshMapComboBox(); updateGuiElements(); on_mComposerMapComboBox_activated( mComposerMapComboBox->currentIndex() ); if ( mComposerTable ) { QObject::connect( mComposerTable, SIGNAL( maximumNumberOfFeaturesChanged( int ) ), this, SLOT( setMaximumNumberOfFeatures( int ) ) ); QObject::connect( mComposerTable, SIGNAL( itemChanged() ), this, SLOT( updateGuiElements() ) ); } }
QgsComposerAttributeTableWidget::QgsComposerAttributeTableWidget( QgsComposerAttributeTableV2* table, QgsComposerFrame* frame ) : QgsComposerItemBaseWidget( 0, table ) , mComposerTable( table ) , mFrame( frame ) { setupUi( this ); //add widget for general composer item properties QgsComposerItemWidget* itemPropertiesWidget = new QgsComposerItemWidget( this, mFrame ); mainLayout->addWidget( itemPropertiesWidget ); blockAllSignals( true ); mResizeModeComboBox->addItem( tr( "Use existing frames" ), QgsComposerMultiFrame::UseExistingFrames ); mResizeModeComboBox->addItem( tr( "Extend to next page" ), QgsComposerMultiFrame::ExtendToNextPage ); mResizeModeComboBox->addItem( tr( "Repeat until finished" ), QgsComposerMultiFrame::RepeatUntilFinished ); mLayerComboBox->setFilters( QgsMapLayerProxyModel::VectorLayer ); connect( mLayerComboBox, SIGNAL( layerChanged( QgsMapLayer* ) ), this, SLOT( changeLayer( QgsMapLayer* ) ) ); refreshMapComboBox(); mHeaderFontColorButton->setColorDialogTitle( tr( "Select header font color" ) ); mHeaderFontColorButton->setAllowAlpha( true ); mHeaderFontColorButton->setContext( "composer" ); mContentFontColorButton->setColorDialogTitle( tr( "Select content font color" ) ); mContentFontColorButton->setAllowAlpha( true ); mContentFontColorButton->setContext( "composer" ); mGridColorButton->setColorDialogTitle( tr( "Select grid color" ) ); mGridColorButton->setAllowAlpha( true ); mGridColorButton->setContext( "composer" ); updateGuiElements(); on_mComposerMapComboBox_activated( mComposerMapComboBox->currentIndex() ); if ( mComposerTable ) { QObject::connect( mComposerTable, SIGNAL( changed() ), this, SLOT( updateGuiElements() ) ); } }
void QgsComposerPictureWidget::refreshMapComboBox() { mComposerMapComboBox->blockSignals( true ); //save the current entry in case it is still present after refresh QString saveCurrentComboText = mComposerMapComboBox->currentText(); mComposerMapComboBox->clear(); if ( mPicture ) { //insert available maps into mMapComboBox const QgsComposition* composition = mPicture->composition(); if ( composition ) { QList<const QgsComposerMap*> availableMaps = composition->composerMapItems(); QList<const QgsComposerMap*>::const_iterator mapItemIt = availableMaps.constBegin(); for ( ; mapItemIt != availableMaps.constEnd(); ++mapItemIt ) { mComposerMapComboBox->addItem( tr( "Map %1" ).arg(( *mapItemIt )->id() ), ( *mapItemIt )->id() ); } } } if ( !saveCurrentComboText.isEmpty() ) { if ( mComposerMapComboBox->findText( saveCurrentComboText ) == -1 ) { //the former entry is no longer present. Inform the scalebar about the changed composer map on_mComposerMapComboBox_activated( mComposerMapComboBox->currentText() ); } else { //the former entry is still present. Make it the current entry again mComposerMapComboBox->setCurrentIndex( mComposerMapComboBox->findText( saveCurrentComboText ) ); } } mComposerMapComboBox->blockSignals( false ); }
QgsComposerAttributeTableWidget::QgsComposerAttributeTableWidget( QgsComposerAttributeTableV2* table, QgsComposerFrame* frame ) : QgsComposerItemBaseWidget( 0, table ) , mComposerTable( table ) , mFrame( frame ) { setupUi( this ); blockAllSignals( true ); mResizeModeComboBox->addItem( tr( "Use existing frames" ), QgsComposerMultiFrame::UseExistingFrames ); mResizeModeComboBox->addItem( tr( "Extend to next page" ), QgsComposerMultiFrame::ExtendToNextPage ); mResizeModeComboBox->addItem( tr( "Repeat until finished" ), QgsComposerMultiFrame::RepeatUntilFinished ); mEmptyModeComboBox->addItem( tr( "Draw headers only" ), QgsComposerTableV2::HeadersOnly ); mEmptyModeComboBox->addItem( tr( "Hide entire table" ), QgsComposerTableV2::HideTable ); mEmptyModeComboBox->addItem( tr( "Show set message" ), QgsComposerTableV2::ShowMessage ); bool atlasEnabled = atlasComposition() && atlasComposition()->enabled(); mSourceComboBox->addItem( tr( "Layer features" ), QgsComposerAttributeTableV2::LayerAttributes ); toggleAtlasSpecificControls( atlasEnabled ); //update relations combo when relations modified in project connect( QgsProject::instance()->relationManager(), SIGNAL( changed() ), this, SLOT( updateRelationsCombo() ) ); mLayerComboBox->setFilters( QgsMapLayerProxyModel::VectorLayer ); connect( mLayerComboBox, SIGNAL( layerChanged( QgsMapLayer* ) ), this, SLOT( changeLayer( QgsMapLayer* ) ) ); refreshMapComboBox(); mHeaderFontColorButton->setColorDialogTitle( tr( "Select header font color" ) ); mHeaderFontColorButton->setAllowAlpha( true ); mHeaderFontColorButton->setContext( "composer" ); mContentFontColorButton->setColorDialogTitle( tr( "Select content font color" ) ); mContentFontColorButton->setAllowAlpha( true ); mContentFontColorButton->setContext( "composer" ); mGridColorButton->setColorDialogTitle( tr( "Select grid color" ) ); mGridColorButton->setAllowAlpha( true ); mGridColorButton->setContext( "composer" ); mGridColorButton->setDefaultColor( Qt::black ); mBackgroundColorButton->setColorDialogTitle( tr( "Select background color" ) ); mBackgroundColorButton->setAllowAlpha( true ); mBackgroundColorButton->setContext( "composer" ); mBackgroundColorButton->setShowNoColor( true ); mBackgroundColorButton->setNoColorString( tr( "No background" ) ); updateGuiElements(); on_mComposerMapComboBox_activated( mComposerMapComboBox->currentIndex() ); if ( mComposerTable ) { QObject::connect( mComposerTable, SIGNAL( changed() ), this, SLOT( updateGuiElements() ) ); QgsAtlasComposition* atlas = atlasComposition(); if ( atlas ) { // repopulate relations combo box if atlas layer changes connect( atlas, SIGNAL( coverageLayerChanged( QgsVectorLayer* ) ), this, SLOT( updateRelationsCombo() ) ); connect( atlas, SIGNAL( toggled( bool ) ), this, SLOT( atlasToggled() ) ); } } //embed widget for general options if ( mFrame ) { //add widget for general composer item properties QgsComposerItemWidget* itemPropertiesWidget = new QgsComposerItemWidget( this, mFrame ); mainLayout->addWidget( itemPropertiesWidget ); } }