5605 Commits

Author SHA1 Message Date
Nyall Dawson
5e4c14cd40 [FEATURE] Control over label rendering order
A new control for setting a label's "z-index" has been added to
the labeling properties dialog. This control (which also accepts
data-defined overrides for individual features) determines the order
in which label are rendered. Label layers with a higher z-index
are rendered on top of labels from a layer with lower z-index.

Additionally, the logic has been tweaks so that if 2 labels have
matching z-indexes, then:
- if they are from the same layer, a smaller label will be drawn
above a larger label
- if they are from different layers, the labels will be drawn in
the same order as the layers themselves (ie respecting the order
set in the legend)

Diagrams can also have their z-index set (but not data defined)
so that the order of labels and diagrams can be controlled.

Note that this does *NOT* allow labels to be drawn below the
features from other layers, it just controls the order in which
labels are drawn on top of all the layer's features.

Fix #13888, #13559
2016-01-05 22:27:22 +11:00
Nyall Dawson
d10680c5fc Followup 881074 2016-01-05 12:18:02 +11:00
Nyall Dawson
881074b194 Boost coverage of SIP bindings
Now all classes and members are either exposed to bindings or marked
as "not available in Python bindings" in the docs.

Drop test thresholds to 0. Now it should be much easier to determine
what missing members have been added which are causing test
failures.
2016-01-05 11:16:15 +11:00
Matthias Kuhn
73945c0c56 Merge pull request #2631 from spatialthoughts/patch-1
Change comparison back to NULL
2016-01-04 09:51:29 +01:00
Matthias Kuhn
49eaf16f52 Merge pull request #2623 from cjmayo/no-pyqtconfig
[pyqgis-console] Don't import pyqtconfig
2016-01-04 09:50:42 +01:00
Ujaval Gandhi
899c57a91f Change comparison back to NULL
filter_null method previously filtered the NULL values using NULL type in qgis.core which is a QPyNullVariant. 
f9e0093ce7

This was subsequently changed to 'is not None' comparison which is incorrect. The current version fails to filter out the null values.
2016-01-04 11:01:06 +05:30
Nyall Dawson
4cc590c929 Cleanup labeling, avoid some duplicate enums, add docs 2016-01-04 07:23:58 +11:00
Chris Mayo
6b42bad753 [pyqgis-console] Don't import pyqtconfig
pyqtconfig may not have been installed by PyQt4, leading to an error.

Was used to test for qt_version >= 0x40700 but CMakeLists.txt now checks
for QT_MIN_VERSION 4.8.0
2015-12-30 20:32:07 +00:00
Nyall Dawson
766bfa1a7f Fix some more old style cast and float comparison warnings 2015-12-31 07:27:58 +11:00
Nyall Dawson
566dd4bd43 Always pass QgsFeatureId by value, not reference
Since it's just a int64, it's faster to pass by value
2015-12-30 22:51:32 +11:00
Juergen E. Fischer
71dc339106 more stl to qt ports and size_t => int fixups 2015-12-26 00:59:09 +01:00
Salvatore Larosa
88a197b20f [processing] fix missing import for Union and Clip algs 2015-12-24 16:26:58 +01:00
rldhont
cc2fb2efda [Processing] Update gui 2015-12-24 15:14:02 +01:00
rldhont
9da4a76e6f [Processing] update parameters test 2015-12-24 15:14:02 +01:00
Michael Kirk
afcf567ebb [Processing] fixup parameters test
- Broke into per class testcase
- Each method tries to test only one aspect of behavior
- Use unittest assertions for better error output
- Removed non-existant serialize functionality from tests
- Test BooleanParameter

Conflicts:
	python/plugins/processing/core/parameters.py
2015-12-24 15:14:02 +01:00
rldhont
8798c42339 [Processing] Parameter default value is None 2015-12-24 15:14:02 +01:00
rldhont
7754f17a0b [Processing] Manage default value for parameter
To finalize commit 3472ac80d8bdd030090ce81cb686f3cfcbd913cd update processing to well manage default value
2015-12-24 15:14:02 +01:00
Juergen E. Fischer
8f29f28d5c fix windows build and some warnings 2015-12-24 02:17:59 +01:00
Denis Rouzaud
b0bbfc7c86 Merge pull request #2584 from SebDieBln/MapCanvas_EnterLeave
UI improvement for digitizing maptools
2015-12-23 15:47:28 +01:00
rldhont
a32587bcd1 [FEATURE][QGIS Server] Add short name to layers, groups and project
A number of elements have both a <Name> and a <Title>. The Name is a text string used for machine-to-machine
communication while the Title is for the benefit of humans. For example, a dataset might have the descriptive Title
“Maximum Atmospheric Temperature” and be requested using the abbreviated Name “ATMAX”.

User can already set title for layers, groups and project. OWS name is based on the name used in layer tree. This name is more a label for humans than a name for machine-to-machine communication.

To add the capability to users to define Name as a text string for machine-to-machine communication, this pull-request adds:
* short name line edits to layers properties
* WMS data dialog to layer tree group (short name, title, abstract)
* short name line edits to project properties
* add a regexp validator "^[A-Za-z][A-Za-z0-9\._-]*" to short name line edit accessible through a static method
* add a TreeName element in the fullProjectSettings

If a short name has been set for layers, groups and project it is used by QGIS Sever as the layer name.
2015-12-23 10:03:04 +01:00
Matthias Kuhn
e6a265c103 Merge pull request #2600 from m-kuhn/orderby-renderer
Allow definition of feature rendering order
2015-12-22 17:45:01 +01:00
Matthias Kuhn
52a39fc286 QgsSymbolV2 may not be copied 2015-12-22 16:39:22 +01:00
Matthias Kuhn
168c6f70bc Rename OrderBys -> OrderBy and OrderBy -> OrderByClause
And some sip fixes
2015-12-22 09:12:32 +01:00
Matthias Kuhn
73ba0e805a [FEATURE] Allow definition of rendering order for renderers
This allows defining the order in which features are processed by
renderers.
2015-12-22 09:12:32 +01:00
Matthias Kuhn
a5f88181f6 Fix fallback orderby and attribute subset
Also properly closes the iterator when a fallback orderby is used
2015-12-22 09:12:32 +01:00
Nyall Dawson
6122f0462d Remove unimplemented QgsSurfaceV2::pointOnSurface method
Was always returning a point not on the surface! (0,0). Use the
GEOS method instead.
2015-12-22 16:50:37 +11:00
rldhont
f7566710af [Doc] Update QgsMapLayer documentation
Add documentation string to 10 QgsMapLayer methods.
2015-12-21 17:33:47 +01:00
Matthias Kuhn
80de178d9e Indentation fix 2015-12-20 10:12:18 +01:00
Juergen E. Fischer
02696c71d4 include virtual layer provider in packaging 2015-12-19 15:19:36 +01:00
Hugo Mercier
9e14f09862 Add a plugin to DB Manager to support virtual layers 2015-12-18 19:45:58 +02:00
Hugo Mercier
e60712e7cf Add a provider for virtual layers 2015-12-18 19:45:58 +02:00
Matthias Kuhn
d96a2748b6 Add Order By Clause 2015-12-18 18:36:43 +01:00
Nyall Dawson
4511cc474e Fix doxygen warning 2015-12-18 16:03:05 +11:00
Sebastian Dietrich
e8ef77e781 Hide temporary rubberband when maptool is not active. 2015-12-16 20:19:26 +01:00
elpaso
66061e0ef2 Uninstall custom excepthook for server 2015-12-16 15:13:11 +01:00
Matthias Kuhn
4f2da483ac Indentation update 2015-12-15 16:24:12 +01:00
volaya
95b92c7960 [processing] correctly export multiline strings as python parameters from modeler
fixes #13830
2015-12-15 14:57:29 +01:00
Matthias Kuhn
de1c319bf6 Implicit sharing for QgsExpression 2015-12-15 13:39:07 +01:00
volaya
4fbf4cf3ad Merge pull request #2566 from radosuav/processing_fixes
[Processing] Three small fixes
2015-12-15 12:43:26 +01:00
volaya
08a8b6095f [processing] modified how user folder is defined
This should have no effect on a normal QGIS desktop installation, but improve using Processing when not running on top of a regular QGIS instance.
2015-12-15 12:38:05 +01:00
Nyall Dawson
85eebff69b Avoid some unnecessary object conversion during point rendering 2015-12-15 22:36:49 +11:00
Nyall Dawson
4e18d54555 Tests and fixes for QgsPolygonV2
- Setting exterior ring will force all interior rings to match
dimensionality of exterior ring
- add equality operator
- use correct WKB types for rings when creating polygon from WKB
- segmentize curves when setting exterior ring with curved segments
- fix export to GML2/3 (should use LinearRing, not LineString as
ring element tag)
2015-12-15 22:36:41 +11:00
radosuav
9096a64a6c [Processing] Use default value of boolean parameter in the modeler and fix typo in outputs.py 2015-12-15 10:57:02 +01:00
volaya
a53ba16934 Merge pull request #2451 from spono/patch-5
[Processing] Update GridMetrics.py
2015-12-15 08:14:43 +01:00
volaya
9c0ee36c49 Merge pull request #2469 from spono/patch-13
[Processing] Update FilterData.py
2015-12-15 08:14:10 +01:00
volaya
7f3cc35b10 Merge pull request #2467 from spono/patch-11
[Processing] Update Cover.py
2015-12-15 08:10:57 +01:00
nirvn
84d2e954bc [projection selector] apply selected projection on double click 2015-12-15 08:36:59 +07:00
Nyall Dawson
19ff7de06d Fix indentation 2015-12-15 11:22:39 +11:00
Nyall Dawson
2982082f12 Merge pull request #2537 from SebDieBln/ReprojectAnnotations
Make annotations aware of CRS (fixes #3618)
2015-12-13 12:10:34 +11:00
Sebastian Dietrich
66a83bd205 make annotations aware of crs (fixes #3618) 2015-12-13 00:22:33 +01:00