void QgsComposerMapGridWidget::on_mGridMarkerStyleButton_clicked() { if ( !mComposerMapGrid || !mComposerMap ) { return; } // use the atlas coverage layer, if any QgsVectorLayer *coverageLayer = atlasCoverageLayer(); QgsMarkerSymbol *newSymbol = static_cast<QgsMarkerSymbol *>( mComposerMapGrid->markerSymbol()->clone() ); QgsExpressionContext context = mComposerMap->createExpressionContext(); QgsSymbolSelectorWidget *d = new QgsSymbolSelectorWidget( newSymbol, QgsStyle::defaultStyle(), coverageLayer, nullptr ); QgsSymbolWidgetContext symbolContext; symbolContext.setExpressionContext( &context ); d->setContext( symbolContext ); connect( d, &QgsPanelWidget::widgetChanged, this, &QgsComposerMapGridWidget::updateGridMarkerStyleFromWidget ); connect( d, &QgsPanelWidget::panelAccepted, this, &QgsComposerMapGridWidget::cleanUpGridMarkerStyleSelector ); openPanel( d ); mComposerMap->beginCommand( tr( "Grid markers style changed" ) ); }
void QgsComposerShapeWidget::on_mShapeStyleButton_clicked() { if ( !mComposerShape ) { return; } // use the atlas coverage layer, if any QgsVectorLayer* coverageLayer = atlasCoverageLayer(); QgsFillSymbol* newSymbol = mComposerShape->shapeStyleSymbol()->clone(); QgsExpressionContext context = mComposerShape->createExpressionContext(); QgsSymbolSelectorWidget* d = new QgsSymbolSelectorWidget( newSymbol, QgsStyle::defaultStyle(), coverageLayer, nullptr ); QgsSymbolWidgetContext symbolContext; symbolContext.setExpressionContext( &context ); d->setContext( symbolContext ); connect( d, SIGNAL( widgetChanged() ), this, SLOT( updateSymbolFromWidget() ) ); connect( d, SIGNAL( panelAccepted( QgsPanelWidget* ) ), this, SLOT( cleanUpSymbolSelector( QgsPanelWidget* ) ) ); openPanel( d ); mComposerShape->beginCommand( tr( "Shape style changed" ) ); }
void QgsPointDisplacementRendererWidget::on_mCenterSymbolPushButton_clicked() { if ( !mRenderer || !mRenderer->centerSymbol() ) { return; } QgsMarkerSymbol* markerSymbol = mRenderer->centerSymbol()->clone(); QgsSymbolSelectorWidget* dlg = new QgsSymbolSelectorWidget( markerSymbol, QgsStyle::defaultStyle(), mLayer, this ); dlg->setPanelTitle( tr( "Center symbol" ) ); QgsSymbolWidgetContext context = mContext; QgsExpressionContextScope scope; scope.addVariable( QgsExpressionContextScope::StaticVariable( QgsExpressionContext::EXPR_CLUSTER_COLOR, "", true ) ); scope.addVariable( QgsExpressionContextScope::StaticVariable( QgsExpressionContext::EXPR_CLUSTER_SIZE, 0, true ) ); QList< QgsExpressionContextScope > scopes = context.additionalExpressionContextScopes(); scopes << scope; context.setAdditionalExpressionContextScopes( scopes ); dlg->setContext( context ); connect( dlg, SIGNAL( widgetChanged() ), this, SLOT( updateCenterSymbolFromWidget() ) ); connect( dlg, SIGNAL( panelAccepted( QgsPanelWidget* ) ), this, SLOT( cleanUpSymbolSelector( QgsPanelWidget* ) ) ); openPanel( dlg ); }
void QgsComposerArrowWidget::updateLineStyleFromWidget() { QgsSymbolSelectorWidget *w = qobject_cast<QgsSymbolSelectorWidget *>( sender() ); mArrow->setLineSymbol( dynamic_cast< QgsLineSymbol * >( w->symbol()->clone() ) ); mArrow->update(); }
void QgsComposerPolygonWidget::updateStyleFromWidget() { QgsSymbolSelectorWidget* w = qobject_cast<QgsSymbolSelectorWidget*>( sender() ); mComposerPolygon->setPolygonStyleSymbol( dynamic_cast< QgsFillSymbol* >( w->symbol() ) ); mComposerPolygon->update(); }
void QgsComposerShapeWidget::updateSymbolFromWidget() { QgsSymbolSelectorWidget* w = qobject_cast<QgsSymbolSelectorWidget*>( sender() ); mComposerShape->setShapeStyleSymbol( dynamic_cast< QgsFillSymbol* >( w->symbol() ) ); }