40373 Commits

Author SHA1 Message Date
rldhont
7cbf9df21a [Server] Tests update mask image 2017-07-12 16:01:55 +02:00
Mathieu Pellerin
b46373b084 [processing] restore union algorithm 2017-07-12 20:54:51 +07:00
Alessandro Pasotti
846abe7104 Skip bindings for classes migrated from app 2017-07-12 14:13:28 +02: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
Alessandro Pasotti
f66c19b9d3 Merge pull request #4769 from boundlessgeo/unified-button-movetogui-2
Move all app/ogr and datasource manager dialog to GUI
2017-07-12 11:10:21 +02:00
Nyall Dawson
6067d514dc Fix crash when using line pattern fills
Line pattern fill was not calling stopRender on the line symbol!
2017-07-12 19:01:42 +10: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
c59aeab544 Initialise algorithms when they are added to a provider
By initializing the prototype of the algorithm stored in the
provider we allow shortcuts like directly querying the parameter
definitions from the provider's prototype (instead of having
to create a new instance and manually initialize it first)
2017-07-12 18:33:01 +10:00
Nyall Dawson
0b737ff1f4 Merge pull request #4840 from nyalldawson/processing_next
[processing] Simplify output creation
2017-07-12 15:25:46 +10:00
mj10777
b7ff59c064 changes to QgsDateTimeEdit to support the minimal Date supported by QDateTimeEdit (0100-01-01) 2017-07-12 07:18:32 +02: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
1c8b17fea4 Port ability to switch designer to full screen 2017-07-11 14:52:40 +10:00
Nyall Dawson
76beef42c8 Add toolbar menu 2017-07-11 14:41:01 +10:00
Nyall Dawson
9b9126cdce Port ability to show/hide rulers 2017-07-11 14:33:02 +10: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
1bc0b365d6 Partially revert "categorized renderer: also setup symbol render context for hashed symbols"
This partially reverts commit c7c52442f71a6a17ea1ad97e741b2b4b6d51f698.

Causes a race condition which results in random crashes while
using the categorised symbol renderer.

The intent behind the original commit is unknown
2017-07-11 14:13:03 +10:00
Nyall Dawson
fabf32efc5 Add an assert to protect multiple calls to QgsSymbolV2::startRender()
while rendering has already been started for a particular symbol instance

Relates to a random but frequent crash which occurs when using the
categorised symbol renderer - tracked down to a race condition
in which multiple concurrent calls to startRender() are performed
on a single symbol instance.
2017-07-11 14:12:02 +10:00
Nyall Dawson
06976d0ec2 Add zoom to width as menu item too 2017-07-11 12:59:45 +10:00
Nyall Dawson
c25aab16b0 Port display of cursor location from composer 2017-07-11 12:57:38 +10:00
Nyall Dawson
6ca6423005 Also add a slider for easier zoom changing to status bar 2017-07-11 12:41:37 +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
4b89f5e474 Respect events which has been set to ignore in QgsLayoutViewTools
If ignored, default handling occurs
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
Nyall Dawson
3843b5ef37 Create rubber band classes for layout views
c++ QgsLayoutItem metadata classes can directly register
a function which creates a QgsLayoutViewRubberBand for the item
subclass.

Python code cannot utilise this shortcut (due to inaccessibility
of forward declared gui classes from core Python classes), so
there's a separate gui registry utility class added for registering
prototypes for rubber bands for already registered item types.
2017-07-11 11:06:36 +10:00
Nyall Dawson
4ebea75e6a Subclass QMouseEvent to QgsLayoutViewMouseEvent
For easy access to mouse event coordinates in layout coordinate
space (and future use with snapped item coordinates)
2017-07-11 11:06:35 +10:00
Nyall Dawson
a6ccd63bc8 Start implementing an add item tool 2017-07-11 11:06:35 +10:00