In C++ we do not support QgsProviderMetadata(key, description, createFunc) anymore,
but for python code we can have a patched class that still supports createFunc.
Why not keep the variant with createFunc in C++ as well? Because... SIP!
With newly added virtual methods in QgsProviderMetadata, SIP started to generate
a sip-specific subclass to handle derived classes in Python, however due to the variant
with PyObject* and custom MethodCode it was getting confused about what constructors
are available in C++ and failing to compile.
Just like the earlier change which allows for text formats to
be managed in style manager, this change allows for layer-wide
label settings to be stored and managed in styles.
So while a text format includes just the font settings and other
appearance related settings, Label Settings also includes layer-type
specific settings such as label placement, priority, rendering
settings.
Allows users to override the line placement settings (e.g.
above/below/on line options) on a per-feature basis. Somehow
this one was the only(?) setting from labeling which
was missing a data defined control...
- grass data item provider fixes
- removed QgsProviderMetadata constructor (with std::function / PyObject) due to sip errors (api break)
- reverted DataCapability move to Qgis - back to QgsDataProvider (avoiding api breaks)
- WidgetMode enum documentation
- sipify monkey patching fix
- renamed WidgetMode's "None" to "Normal" value - in python None has special meaning (api break)
This accomplishes several things:
- Offers an indication to user that there are layer-related actions
- Single click access to contextual menu
- Offers an indication to user where layers are located when viewport is
horizontally scrolled to right, and layer names are not visible
Since last column is resized to content (instead of stretched), the
active selection rectangle ends at width of widest visible item in tree,
regardless of which item is selected. This causes layer indicators to
become 'inactive' (not clickable and no tool tip) unless their rectangle
enters the view item's selection (active) rectangle. Always resetting
the minimum section size relative to the viewport ensures the view
item's selection rectangle extends to the right edge of the viewport,
which allows indicators to become active again.