void QgsComposerHtmlWidget::setGuiElementValues() { if ( !mHtml ) { return; } blockSignals( true ); mUrlLineEdit->setText( mHtml->url().toString() ); mResizeModeComboBox->setCurrentIndex( mResizeModeComboBox->findData( mHtml->resizeMode() ) ); mEvaluateExpressionsCheckbox->setChecked( mHtml->evaluateExpressions() ); mUseSmartBreaksCheckBox->setChecked( mHtml->useSmartBreaks() ); mMaxDistanceSpinBox->setValue( mHtml->maxBreakDistance() ); mAddFramePushButton->setEnabled( mHtml->resizeMode() == QgsComposerMultiFrame::UseExistingFrames ); mHtmlEditor->setText( mHtml->html() ); mRadioUrlSource->setChecked( mHtml->contentMode() == QgsComposerHtml::Url ); mUrlLineEdit->setEnabled( mHtml->contentMode() == QgsComposerHtml::Url ); mFileToolButton->setEnabled( mHtml->contentMode() == QgsComposerHtml::Url ); mRadioManualSource->setChecked( mHtml->contentMode() == QgsComposerHtml::ManualHtml ); mHtmlEditor->setEnabled( mHtml->contentMode() == QgsComposerHtml::ManualHtml ); mInsertExpressionButton->setEnabled( mHtml->contentMode() == QgsComposerHtml::ManualHtml ); populateDataDefinedButtons(); blockSignals( false ); }
void QgsComposerMapGridWidget::updateGuiElements() { if ( !mComposerMapGrid || !mComposerMap ) { return; } blockAllSignals( true ); populateDataDefinedButtons(); setGridItems(); blockAllSignals( false ); }
void QgsLayoutItemPropertiesWidget::setValuesForGuiElements() { if ( !mItem ) { return; } mBackgroundColorButton->setColorDialogTitle( tr( "Select Background Color" ) ); mBackgroundColorButton->setAllowOpacity( true ); mBackgroundColorButton->setContext( QStringLiteral( "composer" ) ); mFrameColorButton->setColorDialogTitle( tr( "Select Frame Color" ) ); mFrameColorButton->setAllowOpacity( true ); mFrameColorButton->setContext( QStringLiteral( "composer" ) ); setValuesForGuiPositionElements(); setValuesForGuiNonPositionElements(); populateDataDefinedButtons(); }
void QgsComposerItemWidget::setValuesForGuiElements() { if ( !mItem ) { return; } mBackgroundColorButton->setColorDialogTitle( tr( "Select background color" ) ); mBackgroundColorButton->setAllowAlpha( true ); mBackgroundColorButton->setContext( "composer" ); mFrameColorButton->setColorDialogTitle( tr( "Select frame color" ) ); mFrameColorButton->setAllowAlpha( true ); mFrameColorButton->setContext( "composer" ); setValuesForGuiPositionElements(); setValuesForGuiNonPositionElements(); populateDataDefinedButtons(); }
void QgsComposerPictureWidget::setGuiElementValues() { //set initial gui values if ( mPicture ) { mPictureRotationSpinBox->blockSignals( true ); mPictureLineEdit->blockSignals( true ); mComposerMapComboBox->blockSignals( true ); mRotationFromComposerMapCheckBox->blockSignals( true ); mResizeModeComboBox->blockSignals( true ); mAnchorPointComboBox->blockSignals( true ); mPictureLineEdit->setText( mPicture->picturePath() ); mPictureRotationSpinBox->setValue( mPicture->pictureRotation() ); refreshMapComboBox(); if ( mPicture->useRotationMap() ) { mRotationFromComposerMapCheckBox->setCheckState( Qt::Checked ); mPictureRotationSpinBox->setEnabled( false ); mComposerMapComboBox->setEnabled( true ); QString mapText = tr( "Map %1" ).arg( mPicture->rotationMap() ); int itemId = mComposerMapComboBox->findText( mapText ); if ( itemId >= 0 ) { mComposerMapComboBox->setCurrentIndex( itemId ); } } else { mRotationFromComposerMapCheckBox->setCheckState( Qt::Unchecked ); mPictureRotationSpinBox->setEnabled( true ); mComposerMapComboBox->setEnabled( false ); } mResizeModeComboBox->setCurrentIndex(( int )mPicture->resizeMode() ); //disable picture rotation for non-zoom modes mRotationGroupBox->setEnabled( mPicture->resizeMode() == QgsComposerPicture::Zoom || mPicture->resizeMode() == QgsComposerPicture::ZoomResizeFrame ); mAnchorPointComboBox->setCurrentIndex(( int )mPicture->pictureAnchor() ); //disable anchor point control for certain zoom modes if ( mPicture->resizeMode() == QgsComposerPicture::Zoom || mPicture->resizeMode() == QgsComposerPicture::Clip ) { mAnchorPointComboBox->setEnabled( true ); } else { mAnchorPointComboBox->setEnabled( false ); } mRotationFromComposerMapCheckBox->blockSignals( false ); mPictureRotationSpinBox->blockSignals( false ); mPictureLineEdit->blockSignals( false ); mComposerMapComboBox->blockSignals( false ); mResizeModeComboBox->blockSignals( false ); mAnchorPointComboBox->blockSignals( false ); populateDataDefinedButtons(); } }
void QgsComposerPictureWidget::setGuiElementValues() { //set initial gui values if ( mPicture ) { mPictureRotationSpinBox->blockSignals( true ); mPictureLineEdit->blockSignals( true ); mComposerMapComboBox->blockSignals( true ); mRotationFromComposerMapCheckBox->blockSignals( true ); mNorthTypeComboBox->blockSignals( true ); mPictureRotationOffsetSpinBox->blockSignals( true ); mResizeModeComboBox->blockSignals( true ); mAnchorPointComboBox->blockSignals( true ); mFillColorButton->blockSignals( true ); mStrokeColorButton->blockSignals( true ); mStrokeWidthSpinBox->blockSignals( true ); mPictureLineEdit->setText( mPicture->picturePath() ); mPictureRotationSpinBox->setValue( mPicture->pictureRotation() ); const QgsComposerMap *map = mPicture->composition()->getComposerMapById( mPicture->rotationMap() ); if ( map ) mComposerMapComboBox->setItem( map ); else mComposerMapComboBox->setCurrentIndex( 0 ); if ( mPicture->useRotationMap() ) { mRotationFromComposerMapCheckBox->setCheckState( Qt::Checked ); mPictureRotationSpinBox->setEnabled( false ); mComposerMapComboBox->setEnabled( true ); mNorthTypeComboBox->setEnabled( true ); mPictureRotationOffsetSpinBox->setEnabled( true ); } else { mRotationFromComposerMapCheckBox->setCheckState( Qt::Unchecked ); mPictureRotationSpinBox->setEnabled( true ); mComposerMapComboBox->setEnabled( false ); mNorthTypeComboBox->setEnabled( false ); mPictureRotationOffsetSpinBox->setEnabled( false ); } mNorthTypeComboBox->setCurrentIndex( mNorthTypeComboBox->findData( mPicture->northMode() ) ); mPictureRotationOffsetSpinBox->setValue( mPicture->northOffset() ); mResizeModeComboBox->setCurrentIndex( ( int )mPicture->resizeMode() ); //disable picture rotation for non-zoom modes mRotationGroupBox->setEnabled( mPicture->resizeMode() == QgsComposerPicture::Zoom || mPicture->resizeMode() == QgsComposerPicture::ZoomResizeFrame ); mAnchorPointComboBox->setCurrentIndex( ( int )mPicture->pictureAnchor() ); //disable anchor point control for certain zoom modes if ( mPicture->resizeMode() == QgsComposerPicture::Zoom || mPicture->resizeMode() == QgsComposerPicture::Clip ) { mAnchorPointComboBox->setEnabled( true ); } else { mAnchorPointComboBox->setEnabled( false ); } updateSvgParamGui( false ); mFillColorButton->setColor( mPicture->svgFillColor() ); mStrokeColorButton->setColor( mPicture->svgStrokeColor() ); mStrokeWidthSpinBox->setValue( mPicture->svgStrokeWidth() ); mRotationFromComposerMapCheckBox->blockSignals( false ); mPictureRotationSpinBox->blockSignals( false ); mPictureLineEdit->blockSignals( false ); mComposerMapComboBox->blockSignals( false ); mNorthTypeComboBox->blockSignals( false ); mPictureRotationOffsetSpinBox->blockSignals( false ); mResizeModeComboBox->blockSignals( false ); mAnchorPointComboBox->blockSignals( false ); mFillColorButton->blockSignals( false ); mStrokeColorButton->blockSignals( false ); mStrokeWidthSpinBox->blockSignals( false ); populateDataDefinedButtons(); } }
QgsCompositionWidget::QgsCompositionWidget( QWidget* parent, QgsComposition* c ): QWidget( parent ), mComposition( c ) { setupUi( this ); blockSignals( true ); createPaperEntries(); //unit mPaperUnitsComboBox->addItem( tr( "mm" ) ); mPaperUnitsComboBox->addItem( tr( "inch" ) ); //orientation mPaperOrientationComboBox->insertItem( 0, tr( "Landscape" ) ); mPaperOrientationComboBox->insertItem( 1, tr( "Portrait" ) ); mPaperOrientationComboBox->setCurrentIndex( 0 ); //read with/height from composition and find suitable entries to display displayCompositionWidthHeight(); if ( mComposition ) { mNumPagesSpinBox->setValue( mComposition->numPages() ); connect( mComposition, SIGNAL( nPagesChanged() ), this, SLOT( setNumberPages() ) ); updatePageStyle(); //read printout resolution from composition mResolutionSpinBox->setValue( mComposition->printResolution() ); //print as raster mPrintAsRasterCheckBox->setChecked( mComposition->printAsRaster() ); // world file generation mGenerateWorldFileCheckBox->setChecked( mComposition->generateWorldFile() ); // populate the map list mWorldFileMapComboBox->clear(); QList<const QgsComposerMap*> availableMaps = mComposition->composerMapItems(); QList<const QgsComposerMap*>::const_iterator mapItemIt = availableMaps.constBegin(); for ( ; mapItemIt != availableMaps.constEnd(); ++mapItemIt ) { mWorldFileMapComboBox->addItem( tr( "Map %1" ).arg(( *mapItemIt )->id() ), qVariantFromValue(( void* )*mapItemIt ) ); } int idx = mWorldFileMapComboBox->findData( qVariantFromValue(( void* )mComposition->worldFileMap() ) ); if ( idx != -1 ) { mWorldFileMapComboBox->setCurrentIndex( idx ); } // Connect to addition / removal of maps connect( mComposition, SIGNAL( composerMapAdded( QgsComposerMap* ) ), this, SLOT( onComposerMapAdded( QgsComposerMap* ) ) ); connect( mComposition, SIGNAL( itemRemoved( QgsComposerItem* ) ), this, SLOT( onItemRemoved( QgsComposerItem* ) ) ); mSnapToleranceSpinBox->setValue( mComposition->snapTolerance() ); //snap grid mGridResolutionSpinBox->setValue( mComposition->snapGridResolution() ); mOffsetXSpinBox->setValue( mComposition->snapGridOffsetX() ); mOffsetYSpinBox->setValue( mComposition->snapGridOffsetY() ); QgsAtlasComposition* atlas = &mComposition->atlasComposition(); if ( atlas ) { // repopulate data defined buttons if atlas layer changes connect( atlas, SIGNAL( coverageLayerChanged( QgsVectorLayer* ) ), this, SLOT( populateDataDefinedButtons() ) ); connect( atlas, SIGNAL( toggled( bool ) ), this, SLOT( populateDataDefinedButtons() ) ); } } connect( mPaperSizeDDBtn, SIGNAL( dataDefinedChanged( const QString& ) ), this, SLOT( updateDataDefinedProperty() ) ); connect( mPaperSizeDDBtn, SIGNAL( dataDefinedActivated( bool ) ), this, SLOT( updateDataDefinedProperty() ) ); connect( mPaperSizeDDBtn, SIGNAL( dataDefinedActivated( bool ) ), mPaperSizeComboBox, SLOT( setDisabled( bool ) ) ); connect( mPaperWidthDDBtn, SIGNAL( dataDefinedChanged( const QString& ) ), this, SLOT( updateDataDefinedProperty() ) ); connect( mPaperWidthDDBtn, SIGNAL( dataDefinedActivated( bool ) ), this, SLOT( updateDataDefinedProperty() ) ); connect( mPaperWidthDDBtn, SIGNAL( dataDefinedActivated( bool ) ), mPaperWidthDoubleSpinBox, SLOT( setDisabled( bool ) ) ); connect( mPaperHeightDDBtn, SIGNAL( dataDefinedChanged( const QString& ) ), this, SLOT( updateDataDefinedProperty() ) ); connect( mPaperHeightDDBtn, SIGNAL( dataDefinedActivated( bool ) ), this, SLOT( updateDataDefinedProperty() ) ); connect( mPaperHeightDDBtn, SIGNAL( dataDefinedActivated( bool ) ), mPaperHeightDoubleSpinBox, SLOT( setDisabled( bool ) ) ); connect( mNumPagesDDBtn, SIGNAL( dataDefinedChanged( const QString& ) ), this, SLOT( updateDataDefinedProperty() ) ); connect( mNumPagesDDBtn, SIGNAL( dataDefinedActivated( bool ) ), this, SLOT( updateDataDefinedProperty() ) ); connect( mNumPagesDDBtn, SIGNAL( dataDefinedActivated( bool ) ), mNumPagesSpinBox, SLOT( setDisabled( bool ) ) ); connect( mPaperOrientationDDBtn, SIGNAL( dataDefinedChanged( const QString& ) ), this, SLOT( updateDataDefinedProperty() ) ); connect( mPaperOrientationDDBtn, SIGNAL( dataDefinedActivated( bool ) ), this, SLOT( updateDataDefinedProperty() ) ); connect( mPaperOrientationDDBtn, SIGNAL( dataDefinedActivated( bool ) ), mPaperOrientationComboBox, SLOT( setDisabled( bool ) ) ); //initialize data defined buttons populateDataDefinedButtons(); blockSignals( 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 ); }