void QgsComposerMapWidget::updateGuiElements() { if ( mComposerMap ) { blockAllSignals( true ); //width, height, scale QRectF composerMapRect = mComposerMap->rect(); mWidthLineEdit->setText( QString::number( composerMapRect.width() ) ); mHeightLineEdit->setText( QString::number( composerMapRect.height() ) ); mScaleLineEdit->setText( QString::number( mComposerMap->scale(), 'f', 0 ) ); //preview mode QgsComposerMap::PreviewMode previewMode = mComposerMap->previewMode(); int index = -1; if ( previewMode == QgsComposerMap::Cache ) { index = mPreviewModeComboBox->findText( tr( "Cache" ) ); mUpdatePreviewButton->setEnabled( true ); } else if ( previewMode == QgsComposerMap::Render ) { index = mPreviewModeComboBox->findText( tr( "Render" ) ); mUpdatePreviewButton->setEnabled( true ); } else if ( previewMode == QgsComposerMap::Rectangle ) { index = mPreviewModeComboBox->findText( tr( "Rectangle" ) ); mUpdatePreviewButton->setEnabled( false ); } if ( index != -1 ) { mPreviewModeComboBox->setCurrentIndex( index ); } //composer map extent QgsRectangle composerMapExtent = mComposerMap->extent(); mXMinLineEdit->setText( QString::number( composerMapExtent.xMinimum(), 'f', 3 ) ); mXMaxLineEdit->setText( QString::number( composerMapExtent.xMaximum(), 'f', 3 ) ); mYMinLineEdit->setText( QString::number( composerMapExtent.yMinimum(), 'f', 3 ) ); mYMaxLineEdit->setText( QString::number( composerMapExtent.yMaximum(), 'f', 3 ) ); mRotationSpinBox->setValue( mComposerMap->rotation() ); //keep layer list check box if ( mComposerMap->keepLayerSet() ) { mKeepLayerListCheckBox->setCheckState( Qt::Checked ); } else { mKeepLayerListCheckBox->setCheckState( Qt::Unchecked ); } //draw canvas items if ( mComposerMap->drawCanvasItems() ) { mDrawCanvasItemsCheckBox->setCheckState( Qt::Checked ); } else { mDrawCanvasItemsCheckBox->setCheckState( Qt::Unchecked ); } //overview frame int overviewMapFrameId = mComposerMap->overviewFrameMapId(); mOverviewFrameMapComboBox->setCurrentIndex( mOverviewFrameMapComboBox->findData( overviewMapFrameId ) ); //grid if ( mComposerMap->gridEnabled() ) { mGridCheckBox->setChecked( true ); } else { mGridCheckBox->setChecked( false ); } mIntervalXSpinBox->setValue( mComposerMap->gridIntervalX() ); mIntervalYSpinBox->setValue( mComposerMap->gridIntervalY() ); mOffsetXSpinBox->setValue( mComposerMap->gridOffsetX() ); mOffsetYSpinBox->setValue( mComposerMap->gridOffsetY() ); QgsComposerMap::GridStyle gridStyle = mComposerMap->gridStyle(); if ( gridStyle == QgsComposerMap::Cross ) { mGridTypeComboBox->setCurrentIndex( mGridTypeComboBox->findText( tr( "Cross" ) ) ); } else { mGridTypeComboBox->setCurrentIndex( mGridTypeComboBox->findText( tr( "Solid" ) ) ); } mCrossWidthSpinBox->setValue( mComposerMap->crossLength() ); //grid frame mFrameWidthSpinBox->setValue( mComposerMap->gridFrameWidth() ); QgsComposerMap::GridFrameStyle gridFrameStyle = mComposerMap->gridFrameStyle(); if ( gridFrameStyle == QgsComposerMap::Zebra ) { mFrameStyleComboBox->setCurrentIndex( mFrameStyleComboBox->findText( tr( "Zebra" ) ) ); } else //NoGridFrame { mFrameStyleComboBox->setCurrentIndex( mFrameStyleComboBox->findText( tr( "No frame" ) ) ); } //grid annotation position initAnnotationPositionBox( mAnnotationPositionLeftComboBox, mComposerMap->gridAnnotationPosition( QgsComposerMap::Left ) ); initAnnotationPositionBox( mAnnotationPositionRightComboBox, mComposerMap->gridAnnotationPosition( QgsComposerMap::Right ) ); initAnnotationPositionBox( mAnnotationPositionTopComboBox, mComposerMap->gridAnnotationPosition( QgsComposerMap::Top ) ); initAnnotationPositionBox( mAnnotationPositionBottomComboBox, mComposerMap->gridAnnotationPosition( QgsComposerMap::Bottom ) ); //grid annotation direction initAnnotationDirectionBox( mAnnotationDirectionComboBoxLeft, mComposerMap->gridAnnotationDirection( QgsComposerMap::Left ) ); initAnnotationDirectionBox( mAnnotationDirectionComboBoxRight, mComposerMap->gridAnnotationDirection( QgsComposerMap::Right ) ); initAnnotationDirectionBox( mAnnotationDirectionComboBoxTop, mComposerMap->gridAnnotationDirection( QgsComposerMap::Top ) ); initAnnotationDirectionBox( mAnnotationDirectionComboBoxBottom, mComposerMap->gridAnnotationDirection( QgsComposerMap::Bottom ) ); mDistanceToMapFrameSpinBox->setValue( mComposerMap->annotationFrameDistance() ); if ( mComposerMap->showGridAnnotation() ) { mDrawAnnotationCheckBox->setCheckState( Qt::Checked ); } else { mDrawAnnotationCheckBox->setCheckState( Qt::Unchecked ); } mCoordinatePrecisionSpinBox->setValue( mComposerMap->gridAnnotationPrecision() ); QPen gridPen = mComposerMap->gridPen(); mLineWidthSpinBox->setValue( gridPen.widthF() ); mLineColorButton->setColor( gridPen.color() ); blockAllSignals( false ); } }
void QgsComposerMapWidget::updateGuiElements() { if ( mComposerMap ) { blockAllSignals( true ); //width, height, scale // QRectF composerMapRect = mComposerMap->rect(); mScaleLineEdit->setText( QString::number( mComposerMap->scale(), 'f', 0 ) ); //preview mode QgsComposerMap::PreviewMode previewMode = mComposerMap->previewMode(); int index = -1; if ( previewMode == QgsComposerMap::Cache ) { index = mPreviewModeComboBox->findText( tr( "Cache" ) ); mUpdatePreviewButton->setEnabled( true ); } else if ( previewMode == QgsComposerMap::Render ) { index = mPreviewModeComboBox->findText( tr( "Render" ) ); mUpdatePreviewButton->setEnabled( true ); } else if ( previewMode == QgsComposerMap::Rectangle ) { index = mPreviewModeComboBox->findText( tr( "Rectangle" ) ); mUpdatePreviewButton->setEnabled( false ); } if ( index != -1 ) { mPreviewModeComboBox->setCurrentIndex( index ); } //composer map extent QgsRectangle composerMapExtent = *( mComposerMap->currentMapExtent() ); mXMinLineEdit->setText( QString::number( composerMapExtent.xMinimum(), 'f', 3 ) ); mXMaxLineEdit->setText( QString::number( composerMapExtent.xMaximum(), 'f', 3 ) ); mYMinLineEdit->setText( QString::number( composerMapExtent.yMinimum(), 'f', 3 ) ); mYMaxLineEdit->setText( QString::number( composerMapExtent.yMaximum(), 'f', 3 ) ); mMapRotationSpinBox->setValue( mComposerMap->mapRotation() ); //keep layer list check box if ( mComposerMap->keepLayerSet() ) { mKeepLayerListCheckBox->setCheckState( Qt::Checked ); } else { mKeepLayerListCheckBox->setCheckState( Qt::Unchecked ); } //draw canvas items if ( mComposerMap->drawCanvasItems() ) { mDrawCanvasItemsCheckBox->setCheckState( Qt::Checked ); } else { mDrawCanvasItemsCheckBox->setCheckState( Qt::Unchecked ); } //overview frame int overviewMapFrameId = mComposerMap->overviewFrameMapId(); mOverviewFrameMapComboBox->setCurrentIndex( mOverviewFrameMapComboBox->findData( overviewMapFrameId ) ); //overview frame blending mode mOverviewBlendModeComboBox->setBlendMode( mComposerMap->overviewBlendMode() ); //overview inverted mOverviewInvertCheckbox->setChecked( mComposerMap->overviewInverted() ); //center overview mOverviewCenterCheckbox->setChecked( mComposerMap->overviewCentered() ); //grid if ( mComposerMap->gridEnabled() ) { mGridCheckBox->setChecked( true ); } else { mGridCheckBox->setChecked( false ); } mIntervalXSpinBox->setValue( mComposerMap->gridIntervalX() ); mIntervalYSpinBox->setValue( mComposerMap->gridIntervalY() ); mOffsetXSpinBox->setValue( mComposerMap->gridOffsetX() ); mOffsetYSpinBox->setValue( mComposerMap->gridOffsetY() ); QgsComposerMap::GridStyle gridStyle = mComposerMap->gridStyle(); if ( gridStyle == QgsComposerMap::Cross ) { mGridTypeComboBox->setCurrentIndex( mGridTypeComboBox->findText( tr( "Cross" ) ) ); } else { mGridTypeComboBox->setCurrentIndex( mGridTypeComboBox->findText( tr( "Solid" ) ) ); } mCrossWidthSpinBox->setValue( mComposerMap->crossLength() ); //grid frame mFrameWidthSpinBox->setValue( mComposerMap->gridFrameWidth() ); mGridFramePenSizeSpinBox->setValue( mComposerMap->gridFramePenSize() ); mGridFramePenColorButton->setColor( mComposerMap->gridFramePenColor() ); mGridFrameFill1ColorButton->setColor( mComposerMap->gridFrameFillColor1() ); mGridFrameFill2ColorButton->setColor( mComposerMap->gridFrameFillColor2() ); QgsComposerMap::GridFrameStyle gridFrameStyle = mComposerMap->gridFrameStyle(); if ( gridFrameStyle == QgsComposerMap::Zebra ) { mFrameStyleComboBox->setCurrentIndex( mFrameStyleComboBox->findText( tr( "Zebra" ) ) ); toggleFrameControls( true ); } else //NoGridFrame { mFrameStyleComboBox->setCurrentIndex( mFrameStyleComboBox->findText( tr( "No frame" ) ) ); toggleFrameControls( false ); } //grid blend mode mGridBlendComboBox->setBlendMode( mComposerMap->gridBlendMode() ); //grid annotation format QgsComposerMap::GridAnnotationFormat gf = mComposerMap->gridAnnotationFormat(); mAnnotationFormatComboBox->setCurrentIndex(( int )gf ); //grid annotation position initAnnotationPositionBox( mAnnotationPositionLeftComboBox, mComposerMap->gridAnnotationPosition( QgsComposerMap::Left ) ); initAnnotationPositionBox( mAnnotationPositionRightComboBox, mComposerMap->gridAnnotationPosition( QgsComposerMap::Right ) ); initAnnotationPositionBox( mAnnotationPositionTopComboBox, mComposerMap->gridAnnotationPosition( QgsComposerMap::Top ) ); initAnnotationPositionBox( mAnnotationPositionBottomComboBox, mComposerMap->gridAnnotationPosition( QgsComposerMap::Bottom ) ); //grid annotation direction initAnnotationDirectionBox( mAnnotationDirectionComboBoxLeft, mComposerMap->gridAnnotationDirection( QgsComposerMap::Left ) ); initAnnotationDirectionBox( mAnnotationDirectionComboBoxRight, mComposerMap->gridAnnotationDirection( QgsComposerMap::Right ) ); initAnnotationDirectionBox( mAnnotationDirectionComboBoxTop, mComposerMap->gridAnnotationDirection( QgsComposerMap::Top ) ); initAnnotationDirectionBox( mAnnotationDirectionComboBoxBottom, mComposerMap->gridAnnotationDirection( QgsComposerMap::Bottom ) ); mAnnotationFontColorButton->setColor( mComposerMap->annotationFontColor() ); mDistanceToMapFrameSpinBox->setValue( mComposerMap->annotationFrameDistance() ); if ( mComposerMap->showGridAnnotation() ) { mDrawAnnotationCheckableGroupBox->setChecked( true ); } else { mDrawAnnotationCheckableGroupBox->setChecked( false ); } mCoordinatePrecisionSpinBox->setValue( mComposerMap->gridAnnotationPrecision() ); //atlas controls mAtlasCheckBox->setChecked( mComposerMap->atlasDriven() ); mAtlasMarginSpinBox->setValue( static_cast<int>( mComposerMap->atlasMargin() * 100 ) ); if ( mComposerMap->atlasFixedScale() ) { mAtlasFixedScaleRadio->setChecked( true ); mAtlasMarginSpinBox->setEnabled( false ); } else { mAtlasMarginRadio->setChecked( true ); mAtlasMarginSpinBox->setEnabled( true ); } if ( !mComposerMap->atlasDriven() ) { mAtlasMarginSpinBox->setEnabled( false ); mAtlasMarginRadio->setEnabled( false ); mAtlasFixedScaleRadio->setEnabled( false ); } else { mAtlasFixedScaleRadio->setEnabled( true ); toggleAtlasMarginByLayerType(); } blockAllSignals( false ); } }
void QgsComposerMapGridWidget::setGridItems() { if ( !mComposerMapGrid ) { return; } mIntervalXSpinBox->setValue( mComposerMapGrid->intervalX() ); mIntervalYSpinBox->setValue( mComposerMapGrid->intervalY() ); mOffsetXSpinBox->setValue( mComposerMapGrid->offsetX() ); mOffsetYSpinBox->setValue( mComposerMapGrid->offsetY() ); mCrossWidthSpinBox->setValue( mComposerMapGrid->crossLength() ); mFrameWidthSpinBox->setValue( mComposerMapGrid->frameWidth() ); mGridFramePenSizeSpinBox->setValue( mComposerMapGrid->framePenSize() ); mGridFramePenColorButton->setColor( mComposerMapGrid->framePenColor() ); mGridFrameFill1ColorButton->setColor( mComposerMapGrid->frameFillColor1() ); mGridFrameFill2ColorButton->setColor( mComposerMapGrid->frameFillColor2() ); QgsComposerMapGrid::GridStyle gridStyle = mComposerMapGrid->style(); switch ( gridStyle ) { case QgsComposerMapGrid::Cross: mGridTypeComboBox->setCurrentIndex( mGridTypeComboBox->findText( tr( "Cross" ) ) ); mCrossWidthSpinBox->setVisible( true ); mCrossWidthLabel->setVisible( true ); mGridLineStyleButton->setVisible( true ); mLineStyleLabel->setVisible( true ); mGridMarkerStyleButton->setVisible( false ); mMarkerStyleLabel->setVisible( false ); mGridBlendComboBox->setVisible( true ); mGridBlendLabel->setVisible( true ); break; case QgsComposerMapGrid::Markers: mGridTypeComboBox->setCurrentIndex( mGridTypeComboBox->findText( tr( "Markers" ) ) ); mCrossWidthSpinBox->setVisible( false ); mCrossWidthLabel->setVisible( false ); mGridLineStyleButton->setVisible( false ); mLineStyleLabel->setVisible( false ); mGridMarkerStyleButton->setVisible( true ); mMarkerStyleLabel->setVisible( true ); mGridBlendComboBox->setVisible( true ); mGridBlendLabel->setVisible( true ); break; case QgsComposerMapGrid::Solid: mGridTypeComboBox->setCurrentIndex( mGridTypeComboBox->findText( tr( "Solid" ) ) ); mCrossWidthSpinBox->setVisible( false ); mCrossWidthLabel->setVisible( false ); mGridLineStyleButton->setVisible( true ); mLineStyleLabel->setVisible( true ); mGridMarkerStyleButton->setVisible( false ); mMarkerStyleLabel->setVisible( false ); mGridBlendComboBox->setVisible( true ); mGridBlendLabel->setVisible( true ); break; case QgsComposerMapGrid::FrameAnnotationsOnly: mGridTypeComboBox->setCurrentIndex( mGridTypeComboBox->findText( tr( "Frame and annotations only" ) ) ); mCrossWidthSpinBox->setVisible( false ); mCrossWidthLabel->setVisible( false ); mGridLineStyleButton->setVisible( false ); mLineStyleLabel->setVisible( false ); mGridMarkerStyleButton->setVisible( false ); mMarkerStyleLabel->setVisible( false ); mGridBlendComboBox->setVisible( false ); mGridBlendLabel->setVisible( false ); break; } //grid frame mFrameWidthSpinBox->setValue( mComposerMapGrid->frameWidth() ); QgsComposerMapGrid::FrameStyle gridFrameStyle = mComposerMapGrid->frameStyle(); switch ( gridFrameStyle ) { case QgsComposerMapGrid::Zebra: mFrameStyleComboBox->setCurrentIndex( 1 ); toggleFrameControls( true, true, true ); break; case QgsComposerMapGrid::InteriorTicks: mFrameStyleComboBox->setCurrentIndex( 2 ); toggleFrameControls( true, false, true ); break; case QgsComposerMapGrid::ExteriorTicks: mFrameStyleComboBox->setCurrentIndex( 3 ); toggleFrameControls( true, false, true ); break; case QgsComposerMapGrid::InteriorExteriorTicks: mFrameStyleComboBox->setCurrentIndex( 4 ); toggleFrameControls( true, false, true ); break; case QgsComposerMapGrid::LineBorder: mFrameStyleComboBox->setCurrentIndex( 5 ); toggleFrameControls( true, false, false ); break; default: mFrameStyleComboBox->setCurrentIndex( 0 ); toggleFrameControls( false, false, false ); break; } mCheckGridLeftSide->setChecked( mComposerMapGrid->testFrameSideFlag( QgsComposerMapGrid::FrameLeft ) ); mCheckGridRightSide->setChecked( mComposerMapGrid->testFrameSideFlag( QgsComposerMapGrid::FrameRight ) ); mCheckGridTopSide->setChecked( mComposerMapGrid->testFrameSideFlag( QgsComposerMapGrid::FrameTop ) ); mCheckGridBottomSide->setChecked( mComposerMapGrid->testFrameSideFlag( QgsComposerMapGrid::FrameBottom ) ); initFrameDisplayBox( mFrameDivisionsLeftComboBox, mComposerMapGrid->frameDivisions( QgsComposerMapGrid::Left ) ); initFrameDisplayBox( mFrameDivisionsRightComboBox, mComposerMapGrid->frameDivisions( QgsComposerMapGrid::Right ) ); initFrameDisplayBox( mFrameDivisionsTopComboBox, mComposerMapGrid->frameDivisions( QgsComposerMapGrid::Top ) ); initFrameDisplayBox( mFrameDivisionsBottomComboBox, mComposerMapGrid->frameDivisions( QgsComposerMapGrid::Bottom ) ); //line style updateGridLineSymbolMarker(); //marker style updateGridMarkerSymbolMarker(); mGridBlendComboBox->setBlendMode( mComposerMapGrid->blendMode() ); mDrawAnnotationGroupBox->setChecked( mComposerMapGrid->annotationEnabled() ); initAnnotationDisplayBox( mAnnotationDisplayLeftComboBox, mComposerMapGrid->annotationDisplay( QgsComposerMapGrid::Left ) ); initAnnotationDisplayBox( mAnnotationDisplayRightComboBox, mComposerMapGrid->annotationDisplay( QgsComposerMapGrid::Right ) ); initAnnotationDisplayBox( mAnnotationDisplayTopComboBox, mComposerMapGrid->annotationDisplay( QgsComposerMapGrid::Top ) ); initAnnotationDisplayBox( mAnnotationDisplayBottomComboBox, mComposerMapGrid->annotationDisplay( QgsComposerMapGrid::Bottom ) ); initAnnotationPositionBox( mAnnotationPositionLeftComboBox, mComposerMapGrid->annotationPosition( QgsComposerMapGrid::Left ) ); initAnnotationPositionBox( mAnnotationPositionRightComboBox, mComposerMapGrid->annotationPosition( QgsComposerMapGrid::Right ) ); initAnnotationPositionBox( mAnnotationPositionTopComboBox, mComposerMapGrid->annotationPosition( QgsComposerMapGrid::Top ) ); initAnnotationPositionBox( mAnnotationPositionBottomComboBox, mComposerMapGrid->annotationPosition( QgsComposerMapGrid::Bottom ) ); initAnnotationDirectionBox( mAnnotationDirectionComboBoxLeft, mComposerMapGrid->annotationDirection( QgsComposerMapGrid::Left ) ); initAnnotationDirectionBox( mAnnotationDirectionComboBoxRight, mComposerMapGrid->annotationDirection( QgsComposerMapGrid::Right ) ); initAnnotationDirectionBox( mAnnotationDirectionComboBoxTop, mComposerMapGrid->annotationDirection( QgsComposerMapGrid::Top ) ); initAnnotationDirectionBox( mAnnotationDirectionComboBoxBottom, mComposerMapGrid->annotationDirection( QgsComposerMapGrid::Bottom ) ); mAnnotationFontColorButton->setColor( mComposerMapGrid->annotationFontColor() ); mAnnotationFormatComboBox->setCurrentIndex( mAnnotationFormatComboBox->findData( mComposerMapGrid->annotationFormat() ) ); mAnnotationFormatButton->setEnabled( mComposerMapGrid->annotationFormat() == QgsComposerMapGrid::CustomFormat ); mDistanceToMapFrameSpinBox->setValue( mComposerMapGrid->annotationFrameDistance() ); mCoordinatePrecisionSpinBox->setValue( mComposerMapGrid->annotationPrecision() ); //Unit QgsComposerMapGrid::GridUnit gridUnit = mComposerMapGrid->units(); if ( gridUnit == QgsComposerMapGrid::MapUnit ) { mMapGridUnitComboBox->setCurrentIndex( mMapGridUnitComboBox->findText( tr( "Map unit" ) ) ); } else if ( gridUnit == QgsComposerMapGrid::MM ) { mMapGridUnitComboBox->setCurrentIndex( mMapGridUnitComboBox->findText( tr( "Millimeter" ) ) ); } else if ( gridUnit == QgsComposerMapGrid::CM ) { mMapGridUnitComboBox->setCurrentIndex( mMapGridUnitComboBox->findText( tr( "Centimeter" ) ) ); } //CRS button QgsCoordinateReferenceSystem gridCrs = mComposerMapGrid->crs(); QString crsButtonText = gridCrs.isValid() ? gridCrs.authid() : tr( "change..." ); mMapGridCRSButton->setText( crsButtonText ); }