And rename to QgsUnitTypes::RenderUnits. This enum is used in
much more contexts than just symbols, so QgsUnitTypes is a
better fit for it.
All methods which previously accepted QgsSymbolV2::OutputUnit
parameters or QgsSymbolV2::OutputUnitList parameters now take
QgsUnitTypes::RenderUnit or QgsUnitTypes::RenderUnitList
parameters respectively.
The qgssizescalewidget as been modified to handle line symbols as well
as markers.
The scale expression has been enhanced to support general exponentials
(i.e. eponents different from Flanery .57 and Area .5a)
The assistant as been modified to disply the exponent when Exponential
scaling is required.
Rationale:
- there was a lot of large objects passed by value, so potentially
there's a speed bump from this
- even for implicitly shared classes like QString/QList there's still
a (small) cost for copying the objects when there's no reason to
- it's the right thing to do!
The line symbol layer as been refactored to avoid code duplication and
expose the offset and offset units in the base class. Note that
the added functions in the base class where already defined in all
child classes.
- update methods of existing classes
- add comment to methods missing in the sip bindings
- split up collective sip files into single files and use
same directory structure in python/ as in src/
- add a lot of missing classes (some might not make sense because of
missing python methods in those classes)
- remove some non-existing methods from the header files
- add scripts/sipdiff
- replace some usages of std::vector and std::set with QVector/QSet