3163 Commits

Author SHA1 Message Date
Nyall Dawson
ce063b8691 Add QgsFeatureSource interface as interface for classes which
provide feature iterators via a getFeatures method
2017-05-25 12:31:06 +10:00
Nyall Dawson
5b0bc93834 Rename QgsJSONExporter/Utils to QgsJsonExporter/Utils
Follows proper QGIS/Qt capitalization convention
2017-05-25 07:43:03 +10:00
Nyall Dawson
a5e3f1931b Use field formatter when exporting feature attributes to JSON
This means that field values which utilise widget setups like
value maps will correctly show the "friendly" value
for the field, instead of the raw values.
2017-05-25 07:29:53 +10:00
Denis Rouzaud
f63adfe145 [sipify] keep external forward declaration 2017-05-24 15:39:46 +02:00
Denis Rouzaud
09d3e2ff3a sipify core effects 2017-05-24 15:39:46 +02:00
Denis Rouzaud
5f6d020b13 add default constructors to QgsFieldFormatter inherited classes 2017-05-24 09:57:52 +02:00
Denis Rouzaud
cf68aed755 sipify core field formatter 2017-05-24 09:57:52 +02:00
Denis Rouzaud
dd40a3dfe1 sipify diagram classes 2017-05-24 07:24:31 +02:00
Denis Rouzaud
a14ad32b67 sipify QgsVectorLayerFeatureIterator 2017-05-23 15:02:55 +02:00
Denis Rouzaud
00fcc6e0cd sipify auth classes 2017-05-23 11:43:34 +02:00
Denis Rouzaud
e99f54854b sipify batch 2017-05-23 10:35:12 +02:00
Alexander Bruy
fa6b5b0a16 rename new method to createMultiBandRaster to make it more obvious
reorganize arguments
2017-05-23 09:06:03 +03:00
Alexander Bruy
9272dc0f7c [API] convenience API call to create empty raster file with given
number of bands. Will be useful for porting raster analysis code
to use QgsRasterBlock instead of GDAL calls.

Follow up ff8d91214748e0363010e263401212d0b4e0e491
2017-05-23 09:02:54 +03:00
Denis Rouzaud
1df3c51606 sipify batch 2017-05-22 10:12:08 +02:00
Denis Rouzaud
f0ed77ee18 fix sip coverage test 2017-05-19 15:35:47 +02:00
Denis Rouzaud
fb8edea112 [sipify] implement template inheritance 2017-05-19 15:35:47 +02:00
Hugo Mercier
0a82ab51fe Merge pull request #4432 from pblottiere/bugfix_sld
[bugfix] Fix unit of sizes when reading a SLD file (uom attribute from SLD 1.1 version is supported)
2017-05-19 08:54:14 +02:00
Matthias Kuhn
b0bb873360 Fix build 2017-05-19 07:16:03 +02:00
Matthias Kuhn
ad7ce981fb Update sip files 2017-05-19 07:13:11 +02:00
Matthias Kuhn
1e4c1595c0 Adapt “@qgsfunction" decorator to new expression structure 2017-05-19 07:13:11 +02:00
Matthias Kuhn
9b77006592 Add missing include 2017-05-19 07:13:11 +02:00
Matthias Kuhn
80533faaf5 Reorganize code from qgsexpression.cpp 2017-05-19 07:13:11 +02:00
Matthias Kuhn
ec40199862 Modularize expressions
The file qgsexpressions.h has grown to one monolithic piece over the
years. This makes it hard to maintain and slows down compilation because
even small changes at one end will result in recompiling big parts of
the source tree. It also requires the compiler to keep track of all
these implementation details for said big parts of the source tree.

This splits this implementation into smaller pieces. There are soe API
changes connected to this, but since these can be considered
implementation details, on which not many plugins rely, this shouldn't
have a big impact on the ecosystem outside the source tree.
2017-05-19 07:13:11 +02:00
Matthias Kuhn
95ac7d0f7b Merge pull request #4567 from pblottiere/clone
Add clone() methods for layers
2017-05-19 07:10:49 +02:00
Denis Rouzaud
40972f06fa sipify batch 2017-05-18 21:34:21 +02:00
Blottiere Paul
aa2739c975 Update sip binding 2017-05-18 12:14:28 +02:00
Blottiere Paul
bb1738dcbb Update documentation and sip binding 2017-05-18 11:09:42 +02:00
Blottiere Paul
f92a38cf54 Clone more members in vector layer 2017-05-18 11:09:42 +02:00
Blottiere Paul
414068101d Update documentation for setCustomProperties 2017-05-18 11:09:41 +02:00
Blottiere Paul
8a6137247a Remove the deep copy functionality 2017-05-18 11:09:41 +02:00
Blottiere Paul
42a967904a Update sip binding 2017-05-18 11:09:23 +02:00
Denis Rouzaud
68b990b3bb sipify batch
python/core/qgspaintenginehack.sip
python/core/qgspainting.sip
python/core/qgspallabeling.sip
python/core/qgspathresolver.sip
python/core/qgspluginlayer.sip
python/core/qgspluginlayerregistry.sip
python/core/qgspointlocator.sip
python/core/qgsproject.sip
python/core/qgsprojectbadlayerhandler.sip
python/core/qgsprojectproperty.sip
python/core/qgsprojectversion.sip
python/core/qgssnappingconfig.sip
2017-05-18 09:41:16 +02:00
Martin Dobias
e001d5c70a Add QgsGeometry::isSimple() - useful for self-intersection checks 2017-05-18 09:02:41 +08:00
Nyall Dawson
b4de0acef5 Merge pull request #4512 from nyalldawson/locator
[FEATURE] Implement a QtCreator style locator bar in the QGIS status bar
2017-05-18 07:06:53 +10:00
Denis Rouzaud
8231d7528b sipify QgsExpressionContext, QgsFeatureRequest, QgsOptionalExpression 2017-05-17 15:20:31 +02:00
Nyall Dawson
1174b335dc Add inbuilt filters for project layers and compositions
The project layer filter allows you to quickly select a layer
from the current project and highlight it in the layer tree.
It's useful for complex project with lots of groups, where
it's easy to "lose" layers somewhere in the tree...

The composition filter allows searching for and opening
compositions from the current project
2017-05-17 21:33:47 +10:00
Martin Dobias
591c3ab995 Remove QgsPoint::onSegment() method
This is a completely wrong use of an algorithm that is meant to be used with *integer* values,
e.g. when dealing with pixels on screen, but not for coordinates that are floating point numbers.
The algorithm has a fixed tolerance of 1 unit.

QgsPoint(5,0.9).onSegment(QgsPoint(0,0), QgsPoint(10,0)) would return 2 (i.e. point is on line segment)

See the original code: https://github.com/erich666/GraphicsGems/blob/master/gems/PntOnLine.c
2017-05-17 17:38:29 +08:00
Blottiere Paul
e2ee1534ed Update sip binding 2017-05-16 13:00:38 +02:00
Juergen E. Fischer
2f70b426e9 sip bindings: exclude QgsCompositionChecker when not building tests 2017-05-16 09:04:08 +02:00
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
ee9fabbec1 Fix for style loading and clean up of used labeling custom properties 2017-05-16 14:25:32 +08:00
Martin Dobias
21f03bc11c Clean up reading/writing of labeling configuration in vector layers
Historically the configuration used to be stored in layer's custom properties, but that does not scale
beyond simple rendering and so rule-based labeling introduced storage of configuration natively in XML elements.
That left us with two different ways of reading/writing labeling configurations. This work makes all configuration
to use native XML elements.

To keep compatibility of 2.x projects, reading of configuration from custom properties is preserved.

This commit also adds Python APIs for direct manipulation of labeling configuration through vector layer's
setLabeling() and labeling() calls.
2017-05-16 14:25:32 +08:00
Denis Rouzaud
e455b157b5 [sipify] do not comment global operators
fix class/struct level detection
sipify qgsmargins.qgs
2017-05-15 21:55:10 +02:00
Matthias Kuhn
3f85b050dc fix bad copy paste 2017-05-15 21:55:10 +02:00
Matthias Kuhn
d15bd8dd22 No docstrings for out-of-class functions 2017-05-15 21:55:10 +02:00
Matthias Kuhn
5c2deb4010 Doxymentation 2017-05-15 21:55:10 +02:00
Matthias Kuhn
d4edbc0fdb Unsipify QgsMargins 2017-05-15 21:55:10 +02:00
Matthias Kuhn
7ac276e713 No copy of QgsLabelSearchTree is allowed 2017-05-15 21:55:10 +02:00
Matthias Kuhn
df6d60fcc1 Fix sip errors 2017-05-15 21:55:10 +02:00