28#include "moc_qgssinglesymbolrendererwidget.cpp"
50 mRenderer = std::make_unique<QgsSingleSymbolRenderer>( symbol );
53 renderer->copyRendererData( mRenderer.get() );
58 mSingleSymbol.reset( mRenderer->symbol()->clone() );
65 QVBoxLayout *layout =
new QVBoxLayout(
this );
66 layout->setContentsMargins( 0, 0, 0, 0 );
67 layout->addWidget( mSelector );
70 QMenu *advMenu = mSelector->advancedMenu();
72 mActionLevels = advMenu->addAction( tr(
"Symbol Levels…" ) );
73 connect( mActionLevels, &QAction::triggered,
this, &QgsSingleSymbolRendererWidget::showSymbolLevels );
76 QAction *actionDdsLegend = advMenu->addAction( tr(
"Data-defined Size Legend…" ) );
77 connect( actionDdsLegend, &QAction::triggered,
this, &QgsSingleSymbolRendererWidget::dataDefinedSizeLegend );
83 mSingleSymbol.reset();
91 return mRenderer.get();
98 mSelector->setContext(
context );
110 delete mActionLevels;
111 mActionLevels =
nullptr;
116 mSingleSymbol.reset( levels.at( 0 ).symbol()->clone() );
123 mRenderer->setSymbol( mSingleSymbol->clone() );
124 mRenderer->setUsingSymbolLevels( enabled );
125 mSelector->loadSymbol( mSingleSymbol.get() );
129void QgsSingleSymbolRendererWidget::changeSingleSymbol()
132 mRenderer->setSymbol( mSingleSymbol->clone() );
135 mRenderer->setUsingSymbolLevels(
true );
140void QgsSingleSymbolRendererWidget::showSymbolLevels()
145void QgsSingleSymbolRendererWidget::dataDefinedSizeLegend()
147 QgsMarkerSymbol *s =
static_cast<QgsMarkerSymbol *
>( mSingleSymbol.get() );
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
@ RendererShouldUseSymbolLevels
If present, indicates that a QgsFeatureRenderer using the symbol should use symbol levels for best re...
Abstract base class for all 2D vector feature renderers.
static QgsSingleSymbolRenderer * convertFromRenderer(const QgsFeatureRenderer *renderer)
Creates a new single symbol renderer from an existing renderer.
A database of saved style entities, including symbols, color ramps, text formats and others.
Contains settings which reflect the context in which a symbol (or renderer) widget is shown,...
Abstract base class for all rendered symbols.
static QgsSymbol * defaultSymbol(Qgis::GeometryType geomType)
Returns a new default symbol for the specified geometry type.
Represents a vector layer which manages a vector based dataset.