10147 Commits

Author SHA1 Message Date
Mathieu Pellerin
3037f22482 Non-blocking save as image/PDF dialogs (#4874) 2017-07-18 10:47:06 +07:00
Nyall Dawson
4e0e038aab Dox updates 2017-07-18 13:04:03 +10:00
Nyall Dawson
7f066672b3 Add method to specify item groups for item classes in QgsLayoutItemGuiRegistry
This allows the designer dialog to group the corresponding item
actions together (i.e. grouping all basic shape creation actions
together), but without any hardcoded special handling so that
plugin based items can also be grouped.
2017-07-18 12:42:06 +10:00
Nyall Dawson
de2626d65c Add unit types to new item properties dialog, handle different reference
point settings
2017-07-18 12:42:06 +10:00
Nyall Dawson
19a7863ea4 Add methods to construct layout size/point from QSizeF/QPointF 2017-07-18 12:42:06 +10:00
Nyall Dawson
d14f3b9c13 Add QComboBox subclass widget for selecting layout units 2017-07-18 12:42:06 +10:00
Nyall Dawson
cdec70babe [needs-docs] Add a new item properties dialog
When adding a new item to a layout, if the user just does a single
click of the mouse (vs a click and drag to set the new item
position/size), then a dialog is shown asking to user for
the new item size/position/reference point.

This allows easy creation of items with an exact position/size
and is common behavior in most proper DTP/illustration apps.
2017-07-18 12:42:06 +10:00
Nyall Dawson
b4f5025d4f Port shape items to layouts 2017-07-18 12:42:06 +10:00
Nyall Dawson
436710a177 Ensure that item painter is correctly scaled so that painter units are pixels 2017-07-18 12:42:06 +10:00
Nyall Dawson
56bb65709d Change QgsLayoutItem::draw to use a renderContext instead of
direct QPainter argument

This will make use of other rendering code within layout items
much easier - since symbology/text renderer/diagrams/etc all
require QgsRenderContexts for use, it makes sense for
layout item rendering to also use this approach.

This also avoids lots of duplicate code which was scattered
throughout different composer item types to manually handle
creation of QgsRenderContexts when required.
2017-07-18 12:42:06 +10:00
Nyall Dawson
c282024748 Partially port some layout utils for render context creation 2017-07-18 12:42:06 +10:00
Nyall Dawson
7a0851c2ce Shell class for QgsLayoutItemMap 2017-07-18 12:42:06 +10:00
Nyall Dawson
00405fd6b5 Start porting item rotation 2017-07-18 12:42:06 +10:00
Nyall Dawson
c3456133dc Add QgsLayoutUtils 2017-07-18 12:42:06 +10:00
Nyall Dawson
6fd06983a6 Port data defined item position and size 2017-07-18 12:42:06 +10:00
Nyall Dawson
3f0a0cb063 Ensure that moving/resizing items respects reference point 2017-07-18 12:42:06 +10:00
Nyall Dawson
d0c844ed67 Implement item size and positioning using layout units 2017-07-18 12:42:06 +10:00
Nyall Dawson
dd370373be Port a bunch of low-level methods to layouts
Relating to expression contexts and variables
2017-07-18 12:42:06 +10:00
Nyall Dawson
15b65fa6d4 Port some basic functionality from QgsComposerObject 2017-07-18 12:42:06 +10:00
Nyall Dawson
a6156d9221 Layouts have a name 2017-07-18 12:42:05 +10:00
Nyall Dawson
ab79b1560c [layout] Add measurement unit handling to QgsLayout
Allows layouts to convert from various units to their
own native units

Also added a QgsLayoutContext to QgsLayout.
2017-07-18 12:42:05 +10:00
Nyall Dawson
cd380f616c Add measurement converter and dpi to layout context 2017-07-18 12:42:05 +10:00
Nyall Dawson
b2b35dd084 Add a context class for layouts
Stores information relating to the current context (such as
associated feature and layer) and rendering settings for a layout.
2017-07-18 12:42:05 +10:00
Juergen E. Fischer
9bae832753 add (unemitted) signals to provider source selectors to silence data
source manager connection warnings
2017-07-18 00:09:32 +02:00
Juergen E. Fischer
bae6d56388 consider datum transformation when pasting features (fixes #16846) 2017-07-17 22:22:49 +02:00
rldhont
f926033699 [Server] WMS GetFeatureInfo refactoring 2017-07-17 12:39:34 +02:00
Alexander Bruy
f3f74a9ddf [processing] adapt network analysis algorithms to latest API changes 2017-07-17 11:32:12 +03:00
Alexander Bruy
4a6ceffc54 [processing] make service area outputs optional 2017-07-17 11:09:28 +03:00
Alexander Bruy
bee5683643 [processing] allow diferent CRS for point layers and network layer 2017-07-17 11:09:28 +03:00
Alexander Bruy
95de3a414a [processing] add cancellation support where possible 2017-07-17 11:09:28 +03:00
Alexander Bruy
5af177e963 [processing] restore Service area from layer 2017-07-17 11:09:28 +03:00
Alexander Bruy
abd14e8b94 [processing] restore Service area from point 2017-07-17 11:09:28 +03:00
Alexander Bruy
1e795960b6 [processing] restore Shortest path from layer to point 2017-07-17 11:09:28 +03:00
Alexander Bruy
494ceff3b4 [processing] restore Shortest path from point to layer 2017-07-17 11:09:28 +03:00
Alexander Bruy
c5ed53942c [processing] restore Shortest path from point to point 2017-07-17 11:09:28 +03:00
Alexander Bruy
6c0cb2f5c0 Merge pull request #4872 from alexbruy/network-api
[API] small improvements for network analysis API
2017-07-17 11:08:04 +03:00
Matthias Kuhn
246685b0cb [processing] Better error reporting in point on surface 2017-07-17 08:38:01 +02:00
Matthias Kuhn
2b2d5e3637 [FEATURE] Give access to geometry errors
When methods are called that use GEOS to create new geometries, the
result geometries now contain information about what has gone wrong in
case of an error.

In practice, this means it's possible to give more detailed information
in place (and not only in the message log) when things like processing
algorithms fail.
2017-07-17 08:38:01 +02:00
Nyall Dawson
db11185d24 Make doc test happy 2017-07-17 13:24:14 +10:00
Nyall Dawson
4e5597ab72 Merge pull request #4848 from nyalldawson/virtual_agg
Fix aggregate calculation in virtual fields
2017-07-17 12:49:47 +10:00
Nyall Dawson
3a2710efe5 Merge pull request #4870 from nyalldawson/algs3
Port 4 more algs to new API
2017-07-17 07:51:47 +10:00
Nyall Dawson
6487fbb2d1 Port Reverse Line Direction to new API, add test 2017-07-17 07:24:33 +10:00
Alexander Bruy
09bb55a895 initialize QgsFeedback with nullptr by default 2017-07-16 17:02:20 +03:00
Tom Kralidis
97c1def8b5 Merge pull request #4857 from jcomas/patch-1
[MetaSearch] Update connections-default.xml
2017-07-16 07:53:25 -04:00
Alexander Bruy
f3d42a2cda [network analysis] use QgsFeedback for progress reporting and
cancelation
2017-07-16 14:36:04 +03:00
Alexander Bruy
126a27425a [network analysis] use QgsFeatureSource instead of QgsVectorLayer in
QgsVectorLayerDirector
2017-07-16 14:31:52 +03:00
Nyall Dawson
9cbc8cc20f Port Offset line, Orthogonalize and Pole of Inaccessibility to new API
Improvements:
- Fix handling of multiline outputs for Offset Line algorithm
2017-07-16 20:39:43 +10:00
Nyall Dawson
23a4d6028a Merge pull request #4868 from nyalldawson/nn
Port Remove Null Geometries algorithm to c++/new API
2017-07-16 20:20:23 +10:00
Matthias Kuhn
261391d499 Handle geos errors 2017-07-16 10:35:47 +02:00
Matthias Kuhn
102188aca4 Port PointOnSurface QGIS algorithm 2017-07-16 10:35:47 +02:00