Fixes#15373 - refine current rule not working when symbol widgets
are not used in the style dock
This fixes a behavioural difference when new panels are opened
in a QgsPanelWidget when in docked/undocked mode. When in
docked mode, the newly opened panel will emit panelAccepted
when it is accepted. But for undocked mode, the parent
panel was emitting the panelAccepted signal and so the
connection to update the renderer was never
triggered. Now both docked/undocked panels will always
emit panelAccepted ONLY from the newly opened panel itself.
This also fixes memory leaks as the clean up code was never
run in undocked mode.
I've updated the docs to clarify this behaviour.
instead of individually setting map canvas, expression context, etc
Will make it more easy in future to add additional parameters
to the widget context
Allows use of a color ramp consisting of a list of selected colors.
Currently there's no way in QGIS to classify a renderer using
some list of colors you've previously selected. So you can modify
the colors manually after classifying, but that's a pain
if you're regularly using the same color scheme.
Basically, it's like the color brewer color ramp options but
allowing users to pick their own preset list of colors to use*
(Because Cynthia Brewer isn't the only cartographic color expert!)
Fixes issues with the current approach:
- poor appearance on certain environments (esp OSX)
- large area on spin boxes' right which "swallows" clicks
and blocks interactivity
Fix#12920
Now the widgets factories can give a score on how good they could handle
a widget.
Additionaly, plugins can be added to choose a widget factory in function
of an external information. One of them uses a table in PostgresQL to
allow specification of the widget type and configuration.
I took the opportunity to remove a few deprecated method in relation to
this.
Now the widgets factories can give a score on how good they could handle
a widget.
Additionaly, plugins can be added to choose a widget factory in function
of an external information. One of them uses a table in PostgresQL to
allow specification of the widget type and configuration.
I took the opportunity to remove a few deprecated method in relation to
this.
Now the dialogs use a copy of the ramp, and the edited
ramp is retrieved by calling ramp() on the dialog after
it is executed.
Avoids pointer lifetime issues by storing and working
on a ramp pointer which the dialog does not have ownership
on.
Also fix a bunch of leaks relating to cloning color ramps.
QgsVectorColorRamp -> QgsColorRamp
QgsVectorGradientColorRamp -> QgsGradientColorRamp
QgsRandomColors -> QgsRandomColorRamp
QgsRandomColorRamp -> QgsLimitedRandomColorRamp
QgsVectorColorBrewerColorRamp -> QgsColorBrewerColorRamp
These color ramps are used throughout all of QGIS (not
just in vector symbology) and the current names are
misleading.
Consists of a filter line edit + button to open expression builder
This widget is a bit like the existing QgsFieldExpressionWidget,
but for cases where a combo box does not make sense. Eg, when
no fields are available for the expression to use.
It also has an optional multiline mode, which allows it to be
used in place of the full-blown QgsExpressionBuilderWidget when
space is a problem.
Now clicking color buttons inside the layer style panel causes
the color picker dialog to be opened inside the style panel itself
rather than as a separate dialog