38221 Commits

Author SHA1 Message Date
Matthias Kuhn
c28e344853 Move ci to .ci 2017-04-27 07:50:06 +02:00
Matthias Kuhn
60accc96a4 Reorganize travis scripts 2017-04-27 07:50:06 +02:00
Nyall Dawson
ae2c06c1fe Followup 20197c2, fix orphaned highlights remaining on maps 2017-04-27 14:38:21 +10:00
Nyall Dawson
cb0a1f8408 Fix some broken utf strings on Windows 2017-04-27 14:06:10 +10:00
Nyall Dawson
1012f25875 Better tooltips for map layers
Including CRS information
2017-04-27 12:33:52 +10:00
Nyall Dawson
06743617a6 Merge pull request #4425 from nyalldawson/qwt
Remove old code for handling QWT < 6.1
2017-04-27 12:32:42 +10:00
Nyall Dawson
348b65b12c Remove old code for handling QWT < 6.1
Versions < 6.1 are not compatible with Qt5
2017-04-27 11:55:45 +10:00
Nyall Dawson
f1d4ac33e7 Merge pull request #4282 from nyalldawson/sel
Rename QgsVectorLayer::selectedFeaturesIterator to getSelectedFeatures
2017-04-27 11:24:42 +10:00
Nyall Dawson
0b0ccc9e9d Rename QgsVectorLayer::selectedFeaturesIterator to getSelectedFeatures
It's more in line with QgsVectorLayer::getFeatures, hence a more
discoverable API
2017-04-27 11:16:10 +10:00
lbartoletti
84471f2e6d New classes for circle and ellipse. 2017-04-27 10:25:29 +10:00
Nyall Dawson
ccb4ac98b4 Merge pull request #4417 from nyalldawson/processing_writer
Refactor processing writer to use QgsFeatureSink
2017-04-27 10:14:33 +10:00
Nyall Dawson
d7181105b5 [composer] Fix selection drawn in maps if renderer has symbol level order 2017-04-27 09:01:06 +10:00
Matthias Kuhn
b40742867e Calculate travis timeout dynamically 2017-04-26 16:19:09 +02:00
Matthias Kuhn
23cb825c24 Enable osx tests 2017-04-26 16:19:09 +02:00
Denis Rouzaud
4cc4a27068 [sipify] operators, remove argument
* skip some operators
 * allow to remove an argument with SIP_PYARGREMOVE
2017-04-26 15:06:16 +02:00
Denis Rouzaud
0f9ddc29b4 fix doxgen test 2017-04-26 13:20:52 +02:00
Denis Rouzaud
9688b81874 followup 45266cd03ef8037fd657b992357b0d2d716522da 2017-04-26 11:04:25 +02:00
Denis Rouzaud
45266cd03e [sipify] improvements
* add In annotation
 * remove struct forward declarations
 * fix members initialization list in header
 * merge removal code for function bodies and constructor definition
2017-04-26 10:25:50 +02:00
Nyall Dawson
fd2c18ee16 Refactor processing writer to use QgsFeatureSink, and to store
temporary output layers in the provided processing context

Should fix loss of intermediate memory layers when running
a multi-step model
2017-04-26 17:38:40 +10:00
Nyall Dawson
946f0fac22 Merge pull request #4418 from nyalldawson/take_layer
Allow taking layers from QgsProject
2017-04-26 17:37:43 +10:00
Nyall Dawson
a5e33fa93c Add method to take layer and ownership from a project 2017-04-26 16:48:27 +10:00
Denis Rouzaud
9bb076295e [sipify] improvements
* add Array and ArraySize annotations
 * also handle multiline skipped bodies
 * handle #if 0 blocks
2017-04-26 08:15:18 +02:00
Nyall Dawson
7c71ea6257 Add missing docs 2017-04-26 15:29:30 +10:00
Nyall Dawson
7c9b00c331 Merge pull request #4400 from nyalldawson/processing_log
[processing] Move some log handling to c++ class
2017-04-26 14:12:36 +10:00
Nyall Dawson
6b4ddb3b0d Add temporary layer store to processing context
This temporary layer store (a QgsProject) is used as a
store for layers that are added if a parameter that
is evaluated to a layer requires that a new, non-active-project
layer is loaded. It means that these layers will remain accessible
for the duration of the algorithm's execution (or models
execution if an algorithm is run as part of a model), before
being automatically discarded when the QgsProcessingContext
used to run the algorithm/model goes out of scope.

This approach has several benefits:
- it means that algorithms (including c++ algorithms) are able
to use both project and non-project layers without needing
to handle any memory management themselves.
- it means that layers are guaranteed to last for the duration
of a model execution. This is currently an issue where models
which use memory layers as intermediate outputs do not
function correctly as the memory layers are destroyed before
the model has finished executing
- there should be no leakage of layers remaining open
after an algorithm exits
2017-04-26 14:06:59 +10:00
Nyall Dawson
e9f13d1ea3 Just use standard QgsMessageLog functionality instead of a dedicated
method for processing
2017-04-26 13:57:06 +10:00
Nyall Dawson
93c32e68ef Fix logging from GDAL 2017-04-26 13:56:30 +10:00
Nyall Dawson
1394c28d13 [processing] Move some log handling to c++ class 2017-04-26 13:56:29 +10:00
Nyall Dawson
5169e0db65 Merge pull request #4412 from nyalldawson/processing_get_features
Port processing vector.features to c++
2017-04-26 13:48:41 +10:00
Nyall Dawson
a4cd66f8d8 Port some more code to new API 2017-04-26 13:13:08 +10:00
Nyall Dawson
13f081359e Fix failing test 2017-04-26 13:05:56 +10:00
Nyall Dawson
f247a7cda3 Add c++ optimised uniqueValues method which respects processing context
Remove processing vector.uniqueValues/vector.getUniqueValues
and port usage to c++ method

Should be much faster than the python method, as the c++ method takes
advantage of handing off the unique values calculation to the
provider source whenever possible
2017-04-26 12:53:35 +10:00
Nyall Dawson
91679b3cbd [processing] Don't use config values for invalid geometry handling in tests 2017-04-26 12:53:35 +10:00
Nyall Dawson
a28bc086eb Indentation/sipify 2017-04-26 12:53:35 +10:00
Nyall Dawson
845027d0a3 Fix failing tests 2017-04-26 12:53:35 +10:00
Nyall Dawson
86002f3b6f Move createContext to dataobjects 2017-04-26 12:53:35 +10:00
Nyall Dawson
b067bd786a Rename UseSelection -> UseSelectionIfPresent, clarify docs 2017-04-26 12:53:35 +10:00
Nyall Dawson
1c6f165ff5 Add missing doc 2017-04-26 12:53:35 +10:00
Nyall Dawson
427c3b1684 Remove vector.features
Use QgsProcessingUtils.getFeatures instead
2017-04-26 12:53:35 +10:00
Nyall Dawson
6397386fda Remove len method from vector.features
Use QgsProcessingUtils::featureCount instead
2017-04-26 12:53:35 +10:00
Nyall Dawson
f4f4ca3d83 Raise GeoAlgorithmExecutionException when encountering invalid
geometries in QgsProcessingUtils::getFeatures
2017-04-26 12:53:35 +10:00
Nyall Dawson
e6a33e876c Allow setting the invalid geometry callback in processing context 2017-04-26 12:53:35 +10:00
Nyall Dawson
b32b39501e Add methods for getting vector iterators to QgsProcessingUtils 2017-04-26 12:53:35 +10:00
Nyall Dawson
8cf1617f5d Use context to control vector.features() 2017-04-26 12:53:35 +10:00
Nyall Dawson
3f137e123d Add context argument to other vector methods 2017-04-26 12:53:35 +10:00
Nyall Dawson
adc7cf0ec2 Add context argument to vector.features 2017-04-26 12:53:35 +10:00
Nyall Dawson
f3cfb8b759 Add invalid geometry handling method to processing context 2017-04-26 12:53:35 +10:00
Nyall Dawson
06a20b935d Add UseSelection flag to QgsProcessingContext
Indicates whether only selected features should be used in
algorithms
2017-04-26 12:53:35 +10:00
Nyall Dawson
dd4f530cfb [processing] Pass context argument to processAlgorithm 2017-04-26 12:53:35 +10:00
Nyall Dawson
241d283bb8 Create a context object for processing algorithm execution 2017-04-26 12:53:35 +10:00