Skip to content
Permalink
Browse files
Avoid even more loss of renderer properties when changing renderer type
  • Loading branch information
nyalldawson committed Jun 28, 2021
1 parent 0565c3f commit bb002d4ec2abd6f20f748eef84d5d54f4d8c01c4
@@ -91,6 +91,7 @@ QString QgsNullSymbolRenderer::dump() const
QgsFeatureRenderer *QgsNullSymbolRenderer::clone() const
{
QgsNullSymbolRenderer *r = new QgsNullSymbolRenderer();
copyRendererData( r );
return r;
}

@@ -509,6 +509,8 @@ QgsCategorizedSymbolRendererWidget::QgsCategorizedSymbolRendererWidget( QgsVecto
if ( !mRenderer )
{
mRenderer = std::make_unique< QgsCategorizedSymbolRenderer >( QString(), QgsCategoryList() );
if ( renderer )
renderer->copyRendererData( mRenderer.get() );
}

QString attrName = mRenderer->classAttribute();
@@ -65,6 +65,8 @@ QgsEmbeddedSymbolRendererWidget::QgsEmbeddedSymbolRendererWidget( QgsVectorLayer
{
// use default embedded renderer
mRenderer.reset( new QgsEmbeddedSymbolRenderer( QgsSymbol::defaultSymbol( type ) ) );
if ( renderer )
renderer->copyRendererData( mRenderer.get() );
}

mDefaultSymbolToolButton->setSymbol( mRenderer->defaultSymbol()->clone() );
@@ -459,6 +459,8 @@ QgsGraduatedSymbolRendererWidget::QgsGraduatedSymbolRendererWidget( QgsVectorLay
if ( !mRenderer )
{
mRenderer = std::make_unique< QgsGraduatedSymbolRenderer >( QString(), QgsRangeList() );
if ( renderer )
renderer->copyRendererData( mRenderer.get() );
}

// setup user interface
@@ -110,6 +110,8 @@ QgsHeatmapRendererWidget::QgsHeatmapRendererWidget( QgsVectorLayer *layer, QgsSt
if ( !mRenderer )
{
mRenderer = std::make_unique< QgsHeatmapRenderer >();
if ( renderer )
renderer->copyRendererData( mRenderer.get() );
}

btnColorRamp->setShowGradientOnly( true );
@@ -64,6 +64,8 @@ QgsInvertedPolygonRendererWidget::QgsInvertedPolygonRendererWidget( QgsVectorLay
if ( ! mRenderer )
{
mRenderer.reset( new QgsInvertedPolygonRenderer() );
if ( renderer )
renderer->copyRendererData( mRenderer.get() );
}
mMergePolygonsCheckBox->blockSignals( true );
mMergePolygonsCheckBox->setCheckState( mRenderer->preprocessingEnabled() ? Qt::Checked : Qt::Unchecked );
@@ -63,6 +63,8 @@ QgsMergedFeatureRendererWidget::QgsMergedFeatureRendererWidget( QgsVectorLayer *
{
// use default embedded renderer
mRenderer.reset( new QgsMergedFeatureRenderer( QgsFeatureRenderer::defaultRenderer( type ) ) );
if ( renderer )
renderer->copyRendererData( mRenderer.get() );
}

int currentEmbeddedIdx = 0;
@@ -34,6 +34,8 @@ QgsNullSymbolRendererWidget::QgsNullSymbolRendererWidget( QgsVectorLayer *layer,
if ( !mRenderer )
{
mRenderer = std::make_unique< QgsNullSymbolRenderer >();
if ( renderer )
renderer->copyRendererData( mRenderer.get() );
}

QGridLayout *layout = new QGridLayout( this );
@@ -68,6 +68,8 @@ QgsPointClusterRendererWidget::QgsPointClusterRendererWidget( QgsVectorLayer *la
if ( !mRenderer )
{
mRenderer = std::make_unique< QgsPointClusterRenderer >();
if ( renderer )
renderer->copyRendererData( mRenderer.get() );
}

blockAllSignals( true );
@@ -76,6 +76,8 @@ QgsPointDisplacementRendererWidget::QgsPointDisplacementRendererWidget( QgsVecto
if ( !mRenderer )
{
mRenderer = std::make_unique< QgsPointDisplacementRenderer >();
if ( renderer )
renderer->copyRendererData( mRenderer.get() );
}

blockAllSignals( true );
@@ -69,6 +69,8 @@ QgsRuleBasedRendererWidget::QgsRuleBasedRendererWidget( QgsVectorLayer *layer, Q
QgsSymbol *symbol = QgsSymbol::defaultSymbol( mLayer->geometryType() );

mRenderer = std::make_unique< QgsRuleBasedRenderer >( symbol );
if ( renderer )
renderer->copyRendererData( mRenderer.get() );
}

setupUi( this );
@@ -49,6 +49,9 @@ QgsSingleSymbolRendererWidget::QgsSingleSymbolRendererWidget( QgsVectorLayer *la

if ( symbol )
mRenderer = std::make_unique< QgsSingleSymbolRenderer >( symbol );

if ( renderer )
renderer->copyRendererData( mRenderer.get() );
}

// load symbol from it

0 comments on commit bb002d4

Please sign in to comment.