On Tue, May 14, 2013 at 11:34 AM, Alexander Bruy
<[email protected]> wrote:
> Hi all,
>
> seems something broken in raster subsystem. Method drawingStyle() of
> QgsRasterLayer class always returns 1 despite which rendering style
> is set via properties or qml file.
>
> Steps to reproduce:
>  1. load singleband gray raster
>  2. open layer properties and in Style tab set "Render type" to
>     Singleband pseudocolor
>  3. add several classes and assign colors for them, apply changes
>  4. close layer properties
>  5. open Python console and run next code (raster layer should be
>     active):
>
>     l = iface.mapCanvas().currentLayer()
>     l.drawingStyle()
>
> This always returns value 1, but for Singleband pseudocolor it
> must be 2.

Drawing style was left in raster layer from 1.8 where rendering was
done by raster layer and each DrawingStyle had rendering method in
raster layer. In master, rendering is done by renderers set by
setRenderer() and you can set even your custom renderer. There is no 1
to 1 mapping between renderer and drawing style.

My suggestion is to remove mDrawingStyle, drawingStyle() and
setDrawingStyle() completely and keep only
setRendererForDrawingStyle() for simple renderer setting. OK Marco?

How / why do you need to use drawing style getter? Can you use the
renderer directly?

Radim

> Should I file ticket?
>
> --
> Alexander Bruy
> _______________________________________________
> Qgis-developer mailing list
> [email protected]
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to