Opened 17 years ago

Closed 17 years ago

Last modified 15 years ago

#565 closed patch (fixed)

Do not render features or their labels if their classification value doesn't match a symbol's lower/upper range.

Reported by: billy@… Owned by: mhugent
Priority: minor: annoyance Milestone:
Component: Marker Symbols Version: 0.8
Keywords: Cc:
Must Fix for Release: No Platform: All
Platform Version: Awaiting user input: no

Description

QgsVectorLayer calls the renderer to have it determine the pen, brush and/or marker to use to draw the feature. The Gradient renderer checks to see if the value falls in the certain value range and returns no pen and no brush, but returns a marker. This makes the symbol render using the default marker. Added a boolean function that sees if the feature falls in the range of any symbol. If not, bypass any drawFeature or drawLabel call for that feature.

The common code that gets the first symbol that the feature's value falls in I moved to a private function.

Attachments (1)

ranged_gradient_render.diff (6.3 KB ) - added by billy@… 17 years ago.

Download all attachments as: .zip

Change History (4)

by billy@…, 17 years ago

Attachment: ranged_gradient_render.diff added

comment:1 by mhugent, 17 years ago

Owner: changed from nobody to mhugent

comment:2 by mhugent, 17 years ago

Resolution: fixed
Status: newclosed

Thank you for this patch. I applied it to svn (r6502). I will also make similar changes to svn head where this change is also important for the unique value renderer (because in head it is possible to remove values from unique value renderers).

Marco

comment:3 by (none), 15 years ago

Milestone: Version 0.8

Milestone Version 0.8 deleted

Note: See TracTickets for help on using tickets.