9868 Commits

Author SHA1 Message Date
Nyall Dawson
f84a3bbd04 Merge pull request #4819 from nyalldawson/layout_gui
Layout GUI work (pt 1/?)
2017-07-14 10:22:38 +10:00
Nyall Dawson
0639264a4a Merge pull request #4852 from nyalldawson/heatmap_source
Use QgsFeatureSource instead of QgsVectorLayer for QgsKde
2017-07-14 10:19:15 +10:00
Harrissou Sant-anna
99ea2e8e8f Use Cartesian instead of cartesian 2017-07-13 17:40:55 +02:00
Nyall Dawson
4fa69643fc Fix heatmap widget wrapper, update to use source input 2017-07-13 20:52:16 +10:00
Nyall Dawson
b7ae44fb30 Move method to evaluate a variant to a feature source to QgsProcessingUtils 2017-07-13 20:51:47 +10:00
Nyall Dawson
8f19f74893 Fix reportError call 2017-07-13 20:11:37 +10:00
Nyall Dawson
653ef7b243 Update heatmap alg to use feature source instead of layer 2017-07-13 20:11:28 +10:00
Nyall Dawson
d9e29b9742 Use QgsFeatureSource instead of QgsVectorLayer for QgsKde
Allows generation of heatmaps from feature sources instead
of requiring vector layer inputs
2017-07-13 20:07:33 +10:00
Nyall Dawson
eb0c3015f9 Push minimumValues/maximumValues up to QgsFeatureSource base class
Allows these methods to be called on feature sources
2017-07-13 20:07:33 +10:00
Alexander Bruy
8285712d68 more test fixes 2017-07-13 12:11:42 +03:00
Alexander Bruy
b01ffa5cd4 [processing] add test for heatmap algorithm 2017-07-13 12:11:42 +03:00
Alexander Bruy
229d2f1add [processing] port heatmap algorithm 2017-07-13 12:11:42 +03:00
Alexander Bruy
a2b82bfc8e Merge pull request #4851 from alexbruy/processing-exception
[processing] use QgsProcessingException instead of old exception class
2017-07-13 10:52:40 +03:00
Mark Johnson
172e809181 [FEATURE] New unit type for rendering in map unit meters sizes
Allows setting symbols other map item sizes to Map Units in Meters. This allows setting the size always in meters, regardless of what the underlying map units are (e.g. they can be it geographic degrees). The size in meters is calculated based on the current project ellipsoid setting and a projection of the distances in meters at the center of the current map extent.
2017-07-13 16:26:41 +10:00
Alexander Bruy
56208540f9 [processing] remove GeoAlgorithmExecutionException 2017-07-13 09:02:24 +03:00
Alexander Bruy
97a5a3dcbd [processing] use QgsProcessingException in algorithms 2017-07-13 09:02:10 +03:00
Alexander Bruy
69dab42785 [processing] remove unused version() function 2017-07-13 08:38:22 +03:00
Mathieu Pellerin
d3ad9131f4 [processing] restore intersection algorithm (#4849) 2017-07-13 11:07:01 +07:00
Mathieu Pellerin
b46373b084 [processing] restore union algorithm 2017-07-12 20:54:51 +07:00
Alessandro Pasotti
d952ce11b1 Revert "SIP include"
This reverts commit f2b9a936d0938cf8f6afa364cc3a19c090fbd138.
2017-07-12 13:12:17 +02:00
Alessandro Pasotti
f2b9a936d0 SIP include 2017-07-12 11:46:13 +02:00
Nyall Dawson
a87cc53e96 Nicer debugging from boundary alg 2017-07-12 18:55:27 +10:00
Nyall Dawson
5c844a5cfb Really delete processing dialogs
The dialogs are parented to the main window, which means sip
transfers the ownership to the main window - and they are
never deleted as a result. This results in various error
messages caused by the widgets hanging around forever
and listening out for various signals they are connected to.
2017-07-12 18:52:53 +10:00
Nyall Dawson
77351fdba4 Update processing.algorithmHelp for new API 2017-07-12 18:33:01 +10:00
Nyall Dawson
91d6ac9537 Update script algorithms for auto output creation 2017-07-12 07:50:13 +10:00
Nyall Dawson
7bb1b7ade0 Cleanup some imports, remove use of dataobjects 2017-07-12 07:44:39 +10:00
Nyall Dawson
d92583c10e Take advantage of auto created outputs in ported algorithms 2017-07-12 07:39:43 +10:00
Nyall Dawson
058271b0c1 Auto create corresponding outputs when adding destination style
parameters to an algorithm

QgsProcessingAlgorithm::addParameter() has a new createOuput
argument (true by default).

If the createOutput argument is true, then a corresponding
output definition will also be created (and added to the
algorithm) where appropriate. E.g. when adding a
QgsProcessingParameterVectorDestination and createOutput is
true, then a QgsProcessingOutputVectorLayer output will be
created and added to the algorithm. There is no need to call
addOutput() to manually add a corresponding output for this
vector. If createOutput is false then this automatic output
creation will not occur.

This should simplify declaration of outputs for algorithms
as it avoids the need to manually declare these corresponding
outputs.
2017-07-12 07:18:53 +10:00
Mathieu Pellerin
18b52b22f1 [processing] restore difference algorithm 2017-07-11 17:00:44 +07:00
Nyall Dawson
1b93cdae71 Spelling update 2017-07-11 14:24:14 +10:00
Nyall Dawson
28cd9addab Restore rulers in layout designer 2017-07-11 14:21:35 +10:00
Nyall Dawson
c25aab16b0 Port display of cursor location from composer 2017-07-11 12:57:38 +10:00
Nyall Dawson
02d0a046f8 Add some shortcuts to zoom to layout/layout width in status bar combobox 2017-07-11 12:23:30 +10:00
Nyall Dawson
e27a32d41c Add status bar zoom control to layout designer 2017-07-11 11:48:22 +10:00
Nyall Dawson
ac83093570 Port zoom actions from composer to layout designer 2017-07-11 11:06:36 +10:00
Nyall Dawson
cf488d34a4 Split layout item registry into two separate registries
Instead of relying on forward declared c++ classes from
gui in QgsLayoutItemRegistry, instead create a
QgsLayoutItemGuiRegistry which handles registration
of all the GUI specific behavior relating to layout items.

Remove all GUI related code from QgsLayoutItemRegistry.

This creates a cleaner split between core/gui code, and
given that there'll be a lot of gui specific behavior
which needs to be handled by a registry it makes sense
to keep this isolated in gui.

It also plays nicer with the sip bindings, which can't
handle forward declared gui classes in core.
2017-07-11 11:06:36 +10:00
Nyall Dawson
0307cac325 Port ability to pan layouts with middle mouse button depressed 2017-07-11 11:06:36 +10:00
Nyall Dawson
b9bbd91754 Port ability to navigate layouts using space-pan and ctrl-space zoom 2017-07-11 11:06:36 +10:00
Nyall Dawson
179c51c953 Don't auto populate QgsLayoutItemRegistry
Initially create an empty registry, allow it to be populated
at a later stage.
2017-07-11 11:06:36 +10:00
Nyall Dawson
20ca51b59c Port ability to wheel zoom into/out of layout designer 2017-07-11 11:06:36 +10:00
Nyall Dawson
4065a7ff67 Add shell for non-functional layout select tool 2017-07-11 11:06:36 +10:00
Nyall Dawson
dc0425abee Update cursor on alt press/release for zoom tool 2017-07-11 11:06:36 +10:00
Nyall Dawson
7974597c08 Add a zoom tool to designer dialog 2017-07-11 11:06:36 +10:00
Nyall Dawson
41b98aa23c Add layout zoom tool 2017-07-11 11:06:36 +10:00
Nyall Dawson
867bdb6117 Move click-and-drag detection to QgsLayoutViewTool 2017-07-11 11:06:36 +10:00
Nyall Dawson
5cac2f71f0 Allow setting pen/brush for QgsLayoutViewRubberBand 2017-07-11 11:06:36 +10:00
Nyall Dawson
a346736df2 Handle tool changes mid press-release operation
Because it's possible for users to change the tool while a
press release operation is mid-way, e.g. by pressing a tool
shortcut key.
2017-07-11 11:06:36 +10:00
Nyall Dawson
3f66520828 Add layout panning tool 2017-07-11 11:06:36 +10:00
Nyall Dawson
db62a745eb Add a temporary layout item type for testing 2017-07-11 11:06:36 +10:00
Nyall Dawson
86bc8af216 Add some unit tests 2017-07-11 11:06:36 +10:00