7106 Commits

Author SHA1 Message Date
Nyall Dawson
c39088bace Remove deprecated QgsAttributeAction from sip bindings 2016-08-10 17:55:06 +10:00
Nyall Dawson
7da8110536 Remove deprecated methods from QgsExpression
Now all evaluate/prepare/etc methods must be called using QgsExpressionContexts

Also remove most remaining traces of special variables. This brings some
user facing changes, such that existing expressions may need to be
updated if they used these old special variables (eg $scale,
$feature). These changes are noted in doc/qgis3_user_changes.dox
so that we can include them in the release notes.
2016-08-10 17:55:06 +10:00
Anita Graser
754ccefabc fixed failure to insert only one point
Previously, if pointsNumber was 1, it wouldn't insert a new point in the middle.
2016-08-10 09:22:50 +02:00
Nyall Dawson
142de7cb08 [FEATURE][processing] Point on surface algorithm 2016-08-10 16:57:38 +10:00
Nyall Dawson
ab022451a5 [FEATURE][processing] New algorithm for geometry boundary 2016-08-10 16:32:31 +10:00
Nyall Dawson
9e66e1593b [processing] Fix broken output of multipoint since WKB type merge 2016-08-10 16:19:29 +10:00
Nyall Dawson
bd8db5d156 [FEATURE][processing] New algorithm for calculating feature bounding boxes 2016-08-10 15:41:44 +10:00
Nyall Dawson
37ef6b8007 Add missing sip binding 2016-08-09 16:55:10 +10:00
Martin Dobias
b4fe9002d8 [FEATURE] API to allow drag'n'drop of custom browser items
QgsDataItem implementations may provide hasDragEnabled(), mimeUri()
and QgsCustomDropHandler implementation to deal with drop of custom items.
2016-08-09 08:49:42 +02:00
Alexander Bruy
23c83b1e93 [processing] fix available inputs selection for multiple input 2016-08-08 13:53:55 +03:00
Alexander Bruy
3461c7e1a7 [processing] add missed multiple input parameter to modeler 2016-08-08 13:40:07 +03:00
Denis Rouzaud
772f59349e rename QgsComposerLegend::modelV2() to model() 2016-08-08 09:50:33 +02:00
Denis Rouzaud
820cc560b2 remove deprecated private helpers QgsMapToolIdentify::convertMeasurement and displayUnits 2016-08-08 09:10:57 +02:00
Denis Rouzaud
6f51a13cd6 remove QgisInterface::actionLayerSelectionSaveAs
this has been deprecated since 2.4 and returns null pointer since then.
did not write this in api_break to not overload the document
2016-08-08 09:10:57 +02:00
Denis Rouzaud
aa82141df7 remove deprecated QgisInterface::fileMenu 2016-08-08 08:34:53 +02:00
Nyall Dawson
26c1e09a58 Remove QgsColorDialog, rename QgsColorDialogV2 to QgsColorDialog
The last bits of missing functionality (handling native dialogs
and live updates) were ported across.
2016-08-06 13:24:36 +10:00
Denis Rouzaud
1db19ce8c0 Merge pull request #3356 from 3nids/remove_legendmodel
remove QgsLegendModel
2016-08-05 20:54:52 +02:00
Denis Rouzaud
bbb9b5322d remove QgsLegendModel 2016-08-05 20:53:58 +02:00
Alexander Bruy
885cc82c3c [processing] more clean in QGIS algs 2016-08-05 16:48:59 +03:00
Alexander Bruy
acdde31b3d [processing] more cleanups (follow up 06c4b07222) 2016-08-05 15:05:36 +03:00
Alexander Bruy
45c8a09439 Merge pull request #3353 from nyalldawson/processing
[Processing] QGIS alg cleanups
2016-08-05 14:51:00 +03:00
Alexander Bruy
4c39bd12e8 [processing] introduce OutputCrs output and add algorithms to get layer CRS in modeler 2016-08-05 12:55:26 +03:00
Alexander Bruy
40de15cc56 [processing] add missed CRS parameter to modeler (refs #11781) 2016-08-05 12:55:25 +03:00
Denis Rouzaud
acbf5cddb4 renamed QgsSymbologyV2Conversion to QgsSymbologyConversion 2016-08-05 08:32:13 +02:00
Denis Rouzaud
f2c3fb003e renamed QgsSymbolLevelsV2Dialog to QgsSymbolLevelsDialog 2016-08-05 08:22:43 +02:00
Denis Rouzaud
275736de92 removed V2 from QgsSymbolV2* 2016-08-05 08:22:21 +02:00
Denis Rouzaud
c16d1393a2 removed V2 from QgsSymbolLayerV2* 2016-08-05 08:18:01 +02:00
Nyall Dawson
c1649ebef4 [processing] pendingFields() -> fields()
Does the same thing, but pendingFields() is ugly
2016-08-05 06:31:07 +10:00
Nyall Dawson
06c4b07222 [processing] Use layer crs/fields instead of provider crs/fields
Since the layer has more complete knowledge of the crs (ie, when
provider could not determine crs and user has selected it from
the list), and also better knowledge of layer fields (virtual
fields, joined fields) we should use these rather than the
provider methods.
2016-08-05 06:28:49 +10:00
Nyall Dawson
c40d6d3f28 Add missing docs 2016-08-05 06:08:07 +10:00
Nyall Dawson
ed4d34fdbc QgsFields returns QgsField value instead of const references
(since QgsField is implicitly shared)
2016-08-05 06:08:07 +10:00
Nyall Dawson
967d37adc7 QgsFeature::fields() returns a value, not a pointer
Also remove all other QgsFields pointers and replace with
references/values, since QgsFields objects are implicitly shared
2016-08-05 06:07:02 +10:00
Denis Rouzaud
3e197ae74a remove QgsColorButton in favor of V2 2016-08-04 14:27:31 +02:00
Matthias Kuhn
bb79d13e82 Remove deprecated Qgis::WKBType and API cleanup (#3325)
* Remove deprecated Qgis::WKBType and API cleanup

Renames QgsWKBTypes to QgsWkbTypes

Replaces usage of the enums:

* Qgis::WKBType with QgsWkbTypes::Type
* Qgis::GeometryType with QgsWkbTypes::GeometryType

Their values should be forward compatible (a fact that was already
explited up to now by casting between the types)

Renames some SSLxxx to SslXxx and URIxxx to UriXxx

* Fix build warnings and simplify type handling

* Add a fixer to rewrite imports

* The forgotten rebase conflictThe forgotten rebase conflicts

* QgsDataSourcURI > QgsDataSourceUri

* QgsWKBTypes > QgsWkbTypes

* Qgis.WKBGeom > QgsWkbTypes.Geom

* Further python fixes

* Guess what... Qgis::wkbDimensions != QgsWkbTypes::wkbDimensions

* Fix tests

* Python 3 updates

* [travis] pull request caching cannot be disabled

so at least use it in r/w mode

* Fix python3 print in plugins
2016-08-04 09:10:08 +02:00
Nyall Dawson
d1aa03a09b Better clip for very separate features 2016-08-03 13:41:22 +10:00
Nyall Dawson
71ebdb8f69 [FEATURE] Optimise processing clip algorithm
Before the algorithm was written to optimise clipping a few
features against thousands of mask features. The revised algorithm
is optimised for clipping thousands of input features against
a few mask features.

Given that this second operation is much more likely, it makes
sense to optimise for this use case.

I've also applied some other optimisations like taking advantage
of spatial indexes on the providers, using prepared geometries
and also only applying an intersection operation if the geometry
isn't wholly contained by the mask geometry.

Benchmarks:

clipping roads layer with 1 million lines against 2 polygons

before: 5 mins 30 seconds
after: 10 seconds

clipping address layer with 5 million points against 2 polygons

before: 50 minutes
after: 30 seconds
2016-08-03 13:15:03 +10:00
Matthias Kuhn
8182f2970f QgsFeatureRendererV2::Capabilities to flags 2016-08-02 17:24:38 +02:00
Matthias Kuhn
2cf9243edb Split displayField into displayExpression and mapTipTemplate (#1973)
Previously there was the expressionField (a field name or an expression)
mainly used for the feature list in the form view of the dual view.
On the other hand there was the displayField which could contain either
a simple field name or a complex HTML structure with embedded expressions.
And to know what it was you could compare it's content with the field names, if
a field name matched, you used it as a displayField (original purpose) and
if not... well, you could deal with HTML if you had a use for it.

The main problem is that there are two different usages for this kind of
thing

 * plain text identifier (field or expression)
 * pretty, rich text feature info

This commit cleans up with this. You want rich text and a lot of info:
go for mapTipTemplate.
You want a plain text string to identify features: go for
the displayExpression.
2016-08-02 16:58:58 +02:00
Alexander Bruy
2134112aab [dbmanager] fix signal/slot connection 2016-08-02 16:50:27 +03:00
Denis Rouzaud
f5b11d9130 Merge pull request #3352 from 3nids/rubberband_ispolygon
QgsRubberBand: remove constructor and method with bool isPolygon
2016-08-02 15:11:13 +02:00
Denis Rouzaud
b7f4fe36e7 QgsRubberBand: remove constructor and method with bool isPolygon
use methods with Qgis::GeometryType instead
2016-08-02 13:56:02 +02:00
Martin Dobias
2482a6bbd0 Small cleanup in data items 2016-08-02 13:04:45 +02:00
Alexander Bruy
517f4e1f7f [processing] fix import 2016-08-02 12:14:16 +03:00
Alexander Bruy
02e846ab5e expand all groups if filter applied 2016-08-02 11:23:51 +03:00
Alexander Bruy
592c33f41e [FEATURE][processing] add search to Get Scripts and Models dialog (fix #12067) 2016-08-02 11:23:25 +03:00
Martin Dobias
9db9304627 Raster MTR improvements - part one (PR #3334) 2016-08-02 08:22:29 +02:00
Nyall Dawson
4bfdcf0927 Fix expected test data 2016-08-02 13:50:59 +10:00
Nyall Dawson
60147e8147 Remove use of constGeometry 2016-08-02 13:50:59 +10:00
Nyall Dawson
bb54b4f41a [FEATURE] Make processing dissolve algorithm accept multiple fields
This allows you to dissolve based on more than one field value
2016-08-02 11:54:02 +10:00
Nyall Dawson
f449bf2361 Make test layer comparison handle different order of features 2016-08-02 11:53:11 +10:00