18524 Commits

Author SHA1 Message Date
Nyall Dawson
0c7df50126 Add framework for calculating the overall elevation/z range of a QgsProject 2020-11-28 16:45:54 +10:00
Nyall Dawson
2632627d39 Add point cloud implementation of QgsMapLayerElevationProperties 2020-11-28 16:45:54 +10:00
Nyall Dawson
89a7e3c7f7 Implement responsive map refresh when canvas z range changes 2020-11-28 16:45:54 +10:00
Nyall Dawson
17cc0d4aab Add style flag for elevation properties, and serialize layer
elevation properties
2020-11-28 16:45:54 +10:00
Nyall Dawson
7c964f1d41 Add base class for QgsMapLayerElevationProperties
Base class for storage of map layer elevation properties.
2020-11-28 16:45:54 +10:00
Nyall Dawson
775320e095 Implement z range filtering for point clouds 2020-11-28 16:45:54 +10:00
Nyall Dawson
d95820bac7 [FEATURE] Add new "View Settings" tab to project properties,
and add option to manually set the full extent for a project

This extent will be used instead of the extent of all layers
when zooming to full map extent. It's useful when a project contains
web layers/national layers/global layers yet the actual area of
interest for the project is a smaller geographic area
2020-11-28 08:13:50 +10:00
Loïc Bartoletti
25e14ee766 add python binding 2020-11-28 08:11:54 +10:00
Loïc Bartoletti
eaa0642bab indent QtCore.py 2020-11-28 05:24:54 +10:00
Nyall Dawson
c0a579c719
Merge pull request #40223 from nyalldawson/vrt_separate
Don't default to placing each input file in a separate  band in build vrt algorithm
2020-11-27 14:45:57 +10:00
Alexander Bruy
5c87f705da
Merge pull request #40293 from alexbruy/fix-39326
fix row number calculation when reporting errors in the Processing batch mode (fix #39326)
2020-11-26 15:18:47 +02:00
Alexander Bruy
220cb56421 fix row number calculation when reporting errors in the Processing batch
mode (fix #39326)
2020-11-26 11:27:48 +02:00
Nyall Dawson
62f751e103 Working key interaction
In horizontal mode left/right,pageup/pagedown changes active slider position
while up/down flips between selecting the upper, lower or range control

In vertical mode up/down/pageup/pagedown changes the active slider position
while left/right flips between the subcontrols
2020-11-26 13:11:00 +10:00
Nyall Dawson
b41a9a8441 Add step properties to widget 2020-11-26 13:11:00 +10:00
Nyall Dawson
20b0491c0f Rename inverted appearance methods to flippedDirection in order to
clarify that they aren't quite the same as their QSlider counterparts.
2020-11-26 13:11:00 +10:00
Nyall Dawson
c5e0513ba7 Fix size hints (sync with QSlider) 2020-11-26 13:11:00 +10:00
Nyall Dawson
2683a57142 Add alternative constructor 2020-11-26 13:11:00 +10:00
Nyall Dawson
f0cbbae2ae Port hover/pressed state handling from QSlider 2020-11-26 13:11:00 +10:00
Nyall Dawson
580ab84bf8 Add a dual handle range slider widget
This widget implements a slider which allows users to set a value
range, with a lower and upper value.
2020-11-26 13:11:00 +10:00
Nyall Dawson
928c969e82 More appropriate equality operator for QgsDoubleRange 2020-11-26 04:18:01 +10:00
Nyall Dawson
f6f03cd8e1 [api] Add z range filtering option to QgsMapSettings/QgsRenderContext/QgsMapCanvas
Allows for map renders to be filtered by a z or elevation range,
such that only parts of the layer which are considered within
this range will be rendered.

Implements https://github.com/qgis/QGIS-Enhancement-Proposals/issues/201

*Requires support for respecting the QgsRenderContext zRange to be added
to the relevant map layer renderers
2020-11-26 04:18:01 +10:00
Nyall Dawson
95fa338264 Add repr for QgsIntRange/QgsDoubleRange 2020-11-26 04:18:01 +10:00
Nyall Dawson
752746d494 Add equality operators for QgsRange 2020-11-26 04:18:01 +10:00
Nyall Dawson
5ae0453064 Add isInfinite function to QgsIntRange/QgsDoubleRange 2020-11-26 04:18:01 +10:00
Nyall Dawson
347885b58c Astyle 2020-11-24 13:14:08 +10:00
Nyall Dawson
b89d7fd088 [processing][gdal] Don't default to placing each input file in a separate
band in build vrt algorithm

Creating a multi-band vrt is much less common vs creating a mosaic
style vrt, so set the default to the most common use case
and most predictable outcome.
2020-11-24 13:11:37 +10:00
Nyall Dawson
83ccb6554e [processing] Add method to set an explicit override for the default
value of a parameter for the GUI only

This allows us freedom to change the default settings for an algorithm
shown when opening the algorithm in the toolbox/batch/model without
changing the underlying default value used for the parameter in the
raw API (which we can't do easily without potentially breaking 3rd
party scripts/plugins)
2020-11-24 13:11:37 +10:00
Nyall Dawson
99fa35cdd4 Fix dox 2020-11-24 12:59:42 +10:00
Nyall Dawson
a035f434f4 Dox++ 2020-11-24 10:19:32 +10:00
Nyall Dawson
13e8d45fed Add signal for when project preset full extent is changed 2020-11-24 04:44:19 +10:00
Nyall Dawson
483cb8dfb1 Add api to set the maximal extent for a project
If set, this extent will be used when zooming to full extent (or for the
full extent for a map overview frame) instead of the extent calculated
from all map layers.

The intention is to eventually allow users a way to manually set their
desired "area of interest" for a project, so that zooming to full extent
won't zoom all the way out when the project contains global or national
datasets...
2020-11-24 04:44:19 +10:00
Matthias Kuhn
5bd0058bae
Merge pull request #38032 from troopa81/feat_gen_field_readonly
Display generated fields as read-only in editors
2020-11-23 11:24:49 +01:00
Nyall Dawson
b6ee3e66a3 [feature][processing] Add new algorithm to retain only selected fields
Allows users to select a list of fields to keep, and all other fields
will be dropped from the layer. Helps with making flexible models where
input datasets may have a range of different fields and you need to drop
all but a certain subset of these
2020-11-23 19:20:40 +10:00
Nyall Dawson
b07a58c028 [processing] Port delete fields algorithm to c++
1:1 port for speed/compile time safety, no user-facing changes

Also add tests
2020-11-23 19:20:40 +10:00
Nyall Dawson
6a86642c78
Merge pull request #40220 from nyalldawson/papercut_dd_grid
Don't show degrees based annotation format options for non-geographic map grids
2020-11-23 12:09:06 +10:00
Nyall Dawson
3234489d87 Add a __repr__ method to QgsDataSourceUri 2020-11-23 11:39:35 +10:00
Nyall Dawson
494bf24bc0 Add signals for when layout item map crs or grid crs are changed 2020-11-23 07:03:37 +10:00
Nyall Dawson
d47a65474a Use notify instead 2020-11-22 04:58:42 +10:00
Nyall Dawson
13951b2be4 Make it easier to use the correct timeout for messages in message bars,
and ensure that correct timeouts are used for all created messages
2020-11-22 04:58:42 +10:00
Alexander Bruy
b010d88694
Merge pull request #39695 from alexbruy/enum-as-string
[processing] add parameterAsEnumString() method to retrieve the string value of the enum
2020-11-21 11:13:54 +02:00
Julien Cabieces
87f8e1514e Display generated field as read-only is editors 2020-11-20 14:54:30 +01:00
Mathieu Pellerin
502f42006c
Merge pull request #40181 from nirvn/ortho_gift
[FEATURE][3d] Orthographic projection support for 3D scenes
2020-11-20 15:05:18 +07:00
Alessandro Pasotti
c7bdc47465
Merge pull request #40185 from elpaso/server-landingpage-project-from-cache
Server landing page: use cached projects
2020-11-19 19:26:06 +01:00
Alexander Bruy
cc98fe30d9 support static (non-translated) strings as enum values in Processing 2020-11-19 19:33:18 +02:00
Nyall Dawson
acbeebe32a [pointclouds] Expose option to set point size for 2d point cloud renders 2020-11-19 15:49:43 +01:00
Alessandro Pasotti
1cc55f99c4 Server landing page: use cached projects 2020-11-19 12:32:00 +01:00
nirvn
9dee613a2a [FEATURE][3d] Orthographic projection support for 3D scenes 2020-11-19 15:30:30 +07:00
Richard Duivenvoorde
6797118e2f
On timestep-size change, Set timeslider to best possible fit (instead of resetting to start)
Try to remember/set last timeframe (upon timestep- or timeframe-changes).

Setting the stepsize to a different size, did reset the slider to start
(aka timeframe 0).
Same when you changed the range (data time) extent.

This commit tries to set the slider to the same position as before the
step change, if possible). Else it will take the position of the timeframe
in which the start of the old timeframe fits.

fixes #39994
2020-11-19 11:20:42 +10:00
Nyall Dawson
bf8075ced6 [FEATURE] Allow symbol opacity to be data defined
While it was possible to set the opacity for individual symbol layer
colors via data defined expressions, it's so far been impossible to
set a data defined expression to control the overall symbol opacity.

This commit fixes that omission...
2020-11-18 17:45:45 +10:00
Nyall Dawson
af162a8c70
Merge pull request #40030 from NEDJIMAbelgacem/point-clouds-3d-gui
point-cloud 3D GUI
2020-11-18 16:53:46 +10:00