Allows for filling polygons with a tiled raster image. Options
include (data defined) file name, opacity, image size (in pixels,
mm or map units), coordinate mode (feature or view) and rotation.
The multirenderchecker allows to have several images, each with its own set of
anomalies distributed in several subdirectories.
With the help of multiple reference images, it is possible to apply a color
tolerance to each of these
This change adds a new descending vertical direction mode for
map grid annotations. Previously only ascending text was
supported for vertical annotations.
Previously, for rotated maps or reprojected grids, the composer would
draw all coordinates for every map side. This resulted in a mix of
latitude/y and longitude/x coordinates showing on a side. This change
allows users to control whether they want all coordinates, latitude
only or longitude only for each map frame side. Similar options have
also been added for controlling how a map grid frame is divided.
In related news... the composer map dialog is now the ugliest,
most cluttered and un-user friendly dialog in all of QGIS. I'd
love suggestions/mockups from the UX team for ways this could
be improved.
This allows users to hide the bounding boxes for selected items
within a composition. It's a handy feature for allowing interaction
with items while previewing exactly how they will look when the
composition is exported, without large boxes blocking the view.
If negative margins are set for a label, the label contents will
begin outside the bounds of the label. This is desirable for
aligning label items with other items while allowing for optical
margin alignment for the label type.
Previously only a single margin setting would apply to both
horizontal and vertical margins. This change allows users to specify
different horizontal and vertical margins.
The problem was that rule-based renderer allowed cloned rules to have the same unique rule key.
That in turn created the confusion with checkboxes in legend. Now rules always have new rule key
when cloned. The only exception is when the whole renderer is cloned - in such case we preserve
their rule keys, so that other components (legend / visibility presets) can still keep using
the original rule keys.
Projects where this problem appears need to be fixed - the easiest way is to select all rules,
copy&paste them and remove the previous rules.
I have managed to break that with implementation of #11369.
Obviously it is a bad idea to change selection in a slot connected to model's rowsInserted signals
because the drag'n'drop does not work properly anymore. Now registry bridge will emit a signal after
new layers have been added, so the selection change at that point should be safe.
As per previous commit, this is useful for plugin authors. It also
fixes a potential bad crash (itemRemoved emitted for group item after
the group item was already deleted) and adds unit tests.
Previously this code was located in QgsComposerView. Moving it to
QgsComposition simplifies grouping items for plugins. Also start
a new unit test for QgsComposerItemGroup.
Adds an argument to QgsExpression::replaceExpressionText to allow
passing an optional QgsDistanceArea to use during calculations.
Ensure that html and label composer items correctly specify this
argument.
Since multiframe changes can remove and create new frame items,
it's not safe to directly manipulate frame items in
QgsComposerItemCommand. Now, commands which apply to a frame always
fetch a reference to the correct frame item directly from the
parent multiframe. Also added unit tests for this crash.