6488 Commits

Author SHA1 Message Date
volaya
bfa90a9125 [processing] fixed toolbox updates 2016-05-18 12:08:34 +02:00
volaya
fc08535429 Merge pull request #3044 from arnaud-morvan/processing_output_vectortable
Processing - Output tables with no geometry through OutputVector
2016-05-18 11:05:23 +02:00
Martin Dobias
a9c1996bbc Merge pull request #3064 from wonder-sk/composer-map-follow-preset
Composer map to follow a visibility preset
2016-05-18 11:08:43 +08:00
arnaud.morvan@camptocamp.com
7847f971d4 Processing - Adapt RefactorFields to work on tables as well as vector layers 2016-05-17 14:16:16 +02:00
arnaud.morvan@camptocamp.com
afbe914114 Processing - Support OutputVector with no geometry in GUI 2016-05-17 14:16:16 +02:00
arnaud.morvan@camptocamp.com
fc5f70c6f5 Processing - Support tables with no geometry in OutputVector 2016-05-17 14:16:15 +02:00
arnaud.morvan@camptocamp.com
63d23d2905 Processing - Support no geometry in VectorWriter 2016-05-17 14:16:15 +02:00
volaya
a7f41dc4c5 [processing] do not reject string parameters if they contain an unparsable expresion 2016-05-17 08:06:56 +02:00
Martin Dobias
deee8e290e [FEATURE] Composer map to follow a visibility preset (fixes #13418)
This adds a new option in composer map properties:
"Follow visibility preset" with a combo box to choose the active preset.

This is an alternative to "lock layers" (and "lock layer styles") functionality
which would just copy preset's configuration, while the new option links to preset.

The difference is that when a preset is updated, composer map will automatically
pick the new configuration when following the preset, while there is no update
if "lock layers" (and "lock layer styles") option is used.
2016-05-17 12:52:32 +08:00
Matthias Kuhn
8c402bcf42 Remove child features when parent's add feature form is cancelled 2016-05-17 06:35:55 +02:00
Nyall Dawson
307aabd66a [FEATURE] Aggregates for expressions
This commit adds a number of different forms of aggregates to
the expression engine.

1. Aggregates within the current layer, eg sum("passengers")
Supports sub expressions (ie sum("passengers"/2) ), group by
( sum("passengers", group_by:="line_segment") ), and optional
filters ( sum("passengers", filter:= "station_class" > 3 ) )

2. Relational aggregates, which calculate an aggregate over
all matching child features from a relation, eg
relation_aggregate( 'my_relation', 'mean', "some_child_field" )

3. A summary aggregate function, for calculating aggregates
on other layers. Eg aggregate('rail_station_layer','sum',"passengers")
The summary aggregate function supports an optional filter,
making it possible to calculate things like:

aggregate('rail_stations','sum',"passengers",
  intersects(@atlas_geometry, $geometry ) )

for calculating the total number of passengers for the stations
inside the current atlas feature

In all cases the calculations are cached inside the expression
context, so they only need to be calculated once for each
set of expression evaluations.

Sponsored by Kanton of Zug, Switzerland
2016-05-17 10:53:25 +10:00
Nyall Dawson
ea066599a1 [relations] Add method to manager to retrieve relations by name
Also
- Begin unit tests for QgsRelationManager
- Make project optional when constructing QgsRelationManager
2016-05-17 10:53:25 +10:00
Nyall Dawson
84fc3c3b3d Implement method for caching values within expression contexts
Can be used to store the results of expensive sub-expression
calculations (eg layer aggregates), so that future expression
evaluation using the same context does not have to recalculate
the cached values.
2016-05-17 10:53:24 +10:00
Nyall Dawson
821134ca91 Add method to convert string to aggregate type 2016-05-17 10:53:24 +10:00
Nyall Dawson
dcc047af49 Add possibility to handle aggregate calculation at data provider
(not implemented for any providers yet)
2016-05-17 10:53:24 +10:00
Nyall Dawson
50e41c8133 New utility class QgsAggregateCalculator, simplifies calculating
aggregates from vector layer fields and expressions
2016-05-17 10:53:24 +10:00
Nyall Dawson
1c45b940a8 Add calculation of number of null values to QgsStatisticalSummary 2016-05-17 10:53:04 +10:00
Nyall Dawson
4dea723cae Add methods to stats calculators to accept values one at a time
This can be more efficient for large quantities of values, since
it avoids the need to create a list of all values in advance
2016-05-17 10:52:06 +10:00
Matthias Kuhn
9080aa1988 Don't require a parent for QgsExpressionBuilderWidget 2016-05-16 11:16:13 +02:00
Matthias Kuhn
d07d9edda6 Allow sorting attribute table by expression 2016-05-16 11:16:13 +02:00
Nyall Dawson
11ee2fc809 Fix running unsaved script in console 2016-05-16 18:14:58 +10:00
Even Rouault
abd182c50c Merge pull request #3061 from rouault/saveas_human_readable_values
[FEATURE] Export vector layer with "human-readable" values from edit widgets
2016-05-14 14:23:10 +02:00
Even Rouault
038b3b7950 QgsVectorFileWriter: add capability to export displayed values of fields (typically coming from edit widgets) instead of their raw values 2016-05-14 12:33:10 +02:00
Sebastian Dietrich
c5308754eb [DbManager] allow to refresh materialized views
(fixes #13697)
2016-05-14 00:41:20 +02:00
Matthias Kuhn
27aca5c341 Fix typo 2016-05-14 00:21:50 +02:00
Matthias Kuhn
7dfc69657f Migrate provider test to python 3 2016-05-13 22:23:03 +02:00
Matthias Kuhn
25f2e637c0 Remove references to QPyNullVariant 2016-05-13 22:23:03 +02:00
Matthias Kuhn
89b7a4aaa2 Introduce NULL QVariant to PyQt5 2016-05-13 22:23:03 +02:00
Alexander Bruy
ab3fef97aa fix import (take 2) 2016-05-13 13:17:48 +03:00
Alexander Bruy
7c122a3a93 [processing] fix import 2016-05-13 11:11:33 +03:00
Even Rouault
d4d13a4a0a Merge pull request #3018 from rouault/wfs_sql
[FEATURE] [WFS provider] Add support for WFS 2.0 joins and other improvements
2016-05-13 09:55:38 +02:00
volaya
19f80601bf [processing] remove toolbox dock widget when unloading plugin 2016-05-13 08:58:47 +02:00
Alexander Bruy
555fe3d911 [processing] simplify variables handling in scripts 2016-05-13 09:34:25 +03:00
Alexander Bruy
0c8f6f7fbb fix indentation and typo 2016-05-13 09:32:13 +03:00
Alexander Bruy
730c5806aa Merge branch 'processing_exps' of https://github.com/volaya/QGIS into processing_exps
Conflicts:
	python/plugins/processing/gui/NumberInputPanel.py
	python/plugins/processing/gui/OutputSelectionPanel.py
2016-05-13 09:26:55 +03:00
Even Rouault
9df19e0133 Add QgsSQLStatement class to parse SELECT statements 2016-05-12 23:24:39 +02:00
Alexander Bruy
583eaeff7f [processing] don't crash if user canceled script loading 2016-05-12 16:27:24 +03:00
Nyall Dawson
6886ea0d0c [FEATURE] Redesigned interactive gradient editor
Uses new gradient editor widget and color controls for easier
manipulation of gradients. Also adds an interactive plot
for modifying gradient stops via the color HSV or RGB values.

Fix #8383

Sponsored by North Road
2016-05-12 21:03:59 +10:00
Nyall Dawson
881be0f365 [FEATURE] New reusable interactive widget for editing gradient ramps
Supports:

- drag to move color stops
- double clicking to add a new stop
- pressing delete will remove the selected stop
- pressing arrow keys will move the selected stop, shift+arrow= larger
  move
- drag and drop a color onto the widget to add a new stop

Sponsored by North Road
2016-05-12 21:03:51 +10:00
Nyall Dawson
79f3d4221b Add equality operator for gradients, ensure stops are always in order 2016-05-12 20:55:27 +10:00
Nyall Dawson
77fc122bed Move internals of QgsColorDialogV2 to new QgsCompoundColorWidget widget
This allows reuse of the full options from the color dialog when
required in a widget form.
2016-05-12 20:52:16 +10:00
Nyall Dawson
0332157d8a Partial revert 18b69d 2016-05-12 10:22:22 +10:00
Nyall Dawson
18b69d26ef Indentation 2016-05-11 23:02:34 +10:00
Nyall Dawson
b053ad8769 New class QgsDateTimeStatisticalSummary
Calculates summary statistics on lists of datetime values, such
as count, count distinct, min, max and range
2016-05-11 23:02:33 +10:00
Matthias Kuhn
0d165e5621 Merge pull request #3058 from arnaud-morvan/processing_postgis_errors
Processing - Fix unicode/str error in postgis_utils
2016-05-11 12:30:14 +02:00
arnaud.morvan@camptocamp.com
66b1416dfe Processing - Fix unicode/str error in postgis_utils 2016-05-11 11:27:58 +02:00
Matthias Kuhn
1e9a40fb62 Fix python bindings for QgsAttributeAction 2016-05-11 10:04:00 +02:00
Matthias Kuhn
d088fe072d Fix action widget on attribute table 2016-05-11 09:22:49 +02:00
Matthias Kuhn
86ccaff49a Merge pull request #3063 from DelazJ/fields
use same icons as in other dialogs for this task
2016-05-11 07:57:45 +02:00
Nyall Dawson
5177d93b5a Add time field filter option for QgsFieldComboWidget (also add docs) 2016-05-11 11:59:39 +10:00