29 Commits

Author SHA1 Message Date
Martin Dobias
f153e19168 Fix saving of "obstacle only" state + misc fixes to unit tests 2017-05-16 14:25:32 +08:00
Martin Dobias
bfdc84fc69 Fixes to unit tests 2017-05-16 14:25:32 +08:00
Martin Dobias
25ed76b86e Move labeling engine config to a new class + QgsPalLabeling cleanup
Another bit to make core library independent from QgsProject::instance().
Until now labeling engine configuration was taken from project singleton.

Removed legacy methods from QgsPalLabeling - the class now does not have
any more member variables/methods, it is just a bunch of helper functions.

(PR #4384)
2017-04-21 18:04:09 +08:00
Juergen E. Fischer
c77172ed3d fix more flake8 warnings 2017-03-05 10:21:24 +01:00
Nyall Dawson
e06192ec3f Use consistent names for data defined property collections 2017-01-23 12:45:22 +10:00
Nyall Dawson
2966a16530 Cleanups, fix tests 2017-01-23 12:45:22 +10:00
Nyall Dawson
f0f01709bc Fix failing test 2017-01-23 12:45:22 +10:00
Nyall Dawson
f1b2940623 Fix tests 2017-01-23 12:45:22 +10:00
nirvn
769c82b579 [pal] fix curved labels failure with zero-width characters
(fixes 15801)
2016-11-03 13:35:51 +07:00
Nyall Dawson
d49b656055 Permantly convert python tests to python 3 2016-09-21 09:12:54 +10:00
Juergen E. Fischer
39c4409c6a remove deprecated stuff from QgsVectorLayer and editor widgets 2016-08-10 12:12:28 +02:00
Juergen E. Fischer
0688621046 scripts/replacev2.sh run 2016-08-10 12:08:52 +02:00
Nyall Dawson
95ecdaf438 Reset layers for each pal placement test, avoids all tests failing
because of one
2016-08-09 16:55:12 +10:00
Nyall Dawson
dc0cc32046 Further tweaks to line labeling, add tests
Sponsored by Andreas Neumann
2016-08-09 16:55:11 +10:00
Nyall Dawson
3b940fbbd0 [pal] Also prefer above -> below for parallel line placement 2016-08-09 16:55:11 +10:00
Nyall Dawson
01e6c04980 Labeling tests 2016-08-09 16:55:11 +10:00
Denis Rouzaud
8071acd064 move PyQt compat folder to python/qgis 2016-04-29 14:10:26 +02:00
Juergen E. Fischer
f41304637c switch tests to pyqt wrappers 2016-03-21 17:00:26 +01:00
Juergen E. Fischer
c6d921729e python fixes:
* issues identified by pyflakes (star and unused imports)
* pyqtwrapper: add QtSvg
* some exceptions e.message => unicode(e)
* some translations tr("..." % foo) => tr("...") % foo
* TODO:
  python/console/console_sci.py:547 QsciScintillaCompat?
  python/plugins/db_manager/dlg_query_builder.py:304 pop_up_error?
2016-03-15 17:25:23 +01:00
Matthias Kuhn
c21889f945 Add qgis.testing module for generic qgis test helpers 2016-02-04 13:36:13 +01:00
Nyall Dawson
8b28c040d1 [FEATURE] Add mode to apply label distance from symbol bounds
(only works with Cartographic point label placement). When this
setting is active, the label distance applies from the bounds
of the rendered symbol for a point, instead of the point itself.
It's especially useful when the symbol size isn't fixed, eg if
it's set by a data defined size or when using different symbols
in a categorised renderer.

Sponsored by Andreas Neumann
2016-01-12 08:24:39 +11:00
Nyall Dawson
6499439cc5 Fix failing tests, add tests for ordered placement
Sponsored by Andreas Neumann
2016-01-12 08:24:38 +11:00
Matthias Kuhn
8a9399095b Indentation update 2015-12-11 00:07:37 +01:00
Nyall Dawson
7d600bdaed [FEATURE] Use rendered symbol size as obstacle for point feature labels
Previously, only the point feature itself was treated as an obstacle
for label candidates. If a large or offset symbol was used for the
point, then labels were allowed to overlap this symbol without
incurring the obstacle cost.

Sponsored by City of Uster
2015-11-22 21:30:42 +11:00
Nyall Dawson
9cc10e2a21 [labeling] Allow different obstacle geometry to feature geometry
This change makes it possible to have a different geometry used
for labeling obstacle detection to the geometry used for generating
label position candidates.

Also fixes parts of multipolygon features were not treated as
obstacles when "label only largest part" of polygon was checked.
Some inefficiencies in pal were also fixed (eg avoiding adding
features/obstacles to pal rtree indexes when they will never
be used).

Sponsored by City of Uster
2015-11-21 22:23:16 +11:00
Nyall Dawson
03f9e1b351 [pal] Never treat features as obstacles for their own labels
Fixes issues like rule based labelling registering two labels for
a single feature which was resulting in each label colliding
with the feature's geometry registered by the other label. This
resulted in poor placement for these labels.

Sponsored by City of Uster
2015-11-21 20:49:28 +11:00
Nyall Dawson
86ad564ef5 Add (disabled) test for labels around large symbols 2015-11-21 20:02:21 +11:00
Nyall Dawson
f9fa9793f0 [pal] Improved test for candidate against polygon obstacles
Previous test was just checking point in polygon for the corner,
mid points and center. This test was not sufficient for narrow
or small polygons which were not covered by these points
but were still covering parts of the label candidate.

Now, the area of the intersection between the obstacle polygon
and the label candidate is used to calculate the obstacle
cost.
2015-08-31 12:20:14 +10:00
Nyall Dawson
253e13154e Start on placement test suite for labeling
Sponsored by City of Uster
2015-08-28 12:47:56 +10:00