[Qgis-developer] [WIP] Data defined rework to a flexible properties system + data defined diagram properties

Nyall Dawson nyall.dawson at gmail.com
Mon Mar 14 18:05:28 PDT 2016

(Apologies in advance for spamming the list!)

Given the recent decision by the PSC to have developers announce work
they are doing to avoid overlap or clashes, here's the first of my
current work announcements:

Please see https://github.com/qgis/QGIS/pull/2857 and
https://github.com/qgis/QGIS-Enhancement-Proposals/issues/38 regarding
work which is underway in reworking how QGIS handles data defined

This work intends to deprecate the existing QgsDataDefined class (+all
the multiply duplicated code for handling collections of data defined
objects) in a more structured, flexible and powerful manner.

Benefits will include:

- setting the framework for inheritable property collections (eg live
layout templates, labeling presets).
- much simpler code for handling data defined properties (current code
has many issues, is very complex, not many tests)
- upgrades QgsScaleExpression and adds an easy interface for creating
other assistants like the current size assistant (the PR includes the
framework (no GUI yet) for a "color assistant" which interpolates
colors from a ramp).
- sets a framework where parts of time manager can be ported to core
(eg, an "animate property" assistant)

Please touch base with me if you have any work planned involving
QgsDataDefined, QgsScaleExpression, QgsDataDefinedAssistant, diagrams
in the near future.

I'm hoping to land this for 2.16, and start by introducing it to
diagrams. API break will be required to port it to labeling, symbology
and composer so that will be deferred to 3.0.


More information about the Qgis-developer mailing list