2794 Commits

Author SHA1 Message Date
Denis Rouzaud
defb091c48 add missing dox 2021-01-07 15:52:23 +01:00
Denis Rouzaud
9161a8c8b5 gui for dynamic SVGs 2021-01-07 15:02:26 +01:00
Nyall Dawson
cf3bee384e Cleanups 2021-01-06 07:56:51 +10:00
TurboGraphxBeige
69154c2bb8 Code cleanup 2021-01-06 07:56:51 +10:00
Nyall Dawson
7fba697bf3 [FEATURE] New "Merged feature" renderer for polygon and line layers
This renderer merges (or unions/dissolves) the line or polygon features
from a layer prior to rendering them. It's useful for rendering
a polygon layer with overlapping features as one single "coverage" feature,
or a line layer consisting of many smaller component line features
using a regularly spaced marker line or similar.

Internally, this just moves the guts of the existing inverted polygons
renderer to a new base class, as that renderer already had an option
to merge features prior to rendering. Basically it just exposes a new
renderer to users which is the inverted polygon renderer without
the inversion step!
2021-01-04 13:52:18 +10:00
NEDJIMAbelgacem
61ee203283 Initial implementation of selection tool for point cloud 2021-01-04 10:20:04 +10:00
Nyall Dawson
0d33fe4c99 Documentation improvements, add SIP_DEPRECATED annotations 2021-01-02 15:48:54 +10:00
TurboGraphxBeige
e25d857a50 Re-add actionZoomToLayer 2021-01-02 07:04:48 +10:00
Nyall Dawson
16f9083562 Spelling 2020-12-26 09:51:34 +10:00
Nyall Dawson
e32c5cdd1a Add source widget for XYZ layers, allowing users to change properties
like the min/max zoom levels and authentication settings for any
XYZ layer in a project on a layer-by-layer basis
2020-12-26 09:51:34 +10:00
Nyall Dawson
d5c3b4b8a5 Add API to allow creation of widgets for customising a layer's source
This adds api in the provider gui to allow a provider to create a custom
widget which exposes options to customise and change the layer's source.

E.g. a file based layer provider could expose a widget for selecting
a new file path, and an online one could expose widgets for changing
the host, authentication, etc.
2020-12-26 09:51:34 +10:00
Nyall Dawson
890491976c Replace ArcGIS REST data source manager list with a view based on the browser model
This has MANY benefits:
- Shows the merged feature service/map service view we use in browser
- Avoids the HUGE main thread ui hang when connecting to servers with
many layers (could be 20 mins+ for some services)
- Avoids bombing out and showing incomplete lists when a server reports
an error when connecting to any of the services it advertises (happens
often)
2020-12-23 16:10:05 +10:00
Juergen E. Fischer
b28d820b0c fix typos 2020-12-22 00:03:34 +01:00
Nyall Dawson
da59316fb5 Use /TransferBack/ instead of /Factory/ in layout registry factory methods
For same reason as we do in Processing registry:

(from the comments included in this commit)
"
While it seems like /Factory/ would be the correct annotations here, that's not
the case.
As per Phil Thomson's advice on https://www.riverbankcomputing.com/pipermail/pyqt/2017-July/039450.html:

"
/Factory/ is used when the instance returned is guaranteed to be new to Python.
In this case it isn't because it has already been seen when being returned by QgsProcessingAlgorithm::createInstance()
(However for a different sub-class implemented in C++ then it would be the first time it was seen
by Python so the /Factory/ on create() would be correct.)

You might try using /TransferBack/ on create() instead - that might be the best compromise.
"
2020-12-22 06:27:17 +10:00
Nyall Dawson
787f62fee2 Add a widget for customizing color ramp legend settings 2020-12-18 12:03:26 +10:00
nirvn
e1933c85c0 [FEATURE][map overview] Support zooming in/out by scrolling mouse wheel over map overview panel 2020-12-10 16:47:36 +07:00
nirvn
04b9c6ab00 [processing] Add a warning-level information message feedback 2020-12-07 14:15:35 +07:00
Matthias Kuhn
e1d4cf9f44
Merge pull request #40248 from vcloarec/selectContextMenu
select feature context menu
2020-12-03 09:29:34 +01:00
Nyall Dawson
762ee09e81 Spelling, sip 2020-12-03 07:23:44 +01:00
vcloarec
ac19bd3212 typo, lambda and other minor fixes 2020-12-03 01:25:41 -04:00
vcloarec
c79123bcb8 cppcheck-suppress memleak and fix typo 2020-12-02 11:08:15 -04:00
Nyall Dawson
c4f2892bbc Ensure point cloud renderer widgets correctly open inline in panels 2020-12-02 15:54:24 +10:00
Alessandro Pasotti
4d26e109a1
Merge pull request #40321 from elpaso/bugfix-gh40316-filtering-error
Do not silently fail while filtering on exp error
2020-11-29 16:05:38 +01:00
Nyall Dawson
89a7e3c7f7 Implement responsive map refresh when canvas z range changes 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
Alessandro Pasotti
d79e1a9795 Do not silently fail while filtering on exp error
Fixes #40316
2020-11-27 16:07:14 +01: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
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
vcloarec
62125514b0 change to a parallel thread approach 2020-11-24 20:59:33 -04:00
vcloarec
39b111615f select feature context menu 2020-11-23 23:06:45 -04: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
Nyall Dawson
1951489f25 Working gui for setting point cloud opacity and blend mode 2020-11-16 19:38:07 +10:00
Nyall Dawson
1758ca143f Add shell for 2d renderer config to layer styling dock 2020-11-16 19:38:07 +10:00
Nyall Dawson
055716064f More point cloud renderer widget framework 2020-11-16 19:38:07 +10:00
Nyall Dawson
090afdd636 Initial shell for QgsPointCloudRendererWidget 2020-11-16 19:38:07 +10:00
Even Rouault
a1c09b3eea qgsquerybuilder.h: add missing documentation on existing methods 2020-11-16 11:09:06 +10:00
Even Rouault
24eb319af2 [FEATURE] Add a subset string editor provider concept and registry
The aim of this work is to be able to provide custom subset string editor
GUI according to the layer. Typically, so that a WFS layer uses the same
editor than in its select source, or that a plugin can provide a custom
editor.

* Add QgsSubsetStringEditorInterface: abstract interface to define a dialog
  that can edit a subset string
* Make QgsQueryBuilder implement QgsSubsetStringEditorInterface
* Add QgsSubsetStringEditorProvider: interface for thos who want to provide
  a dialog to edit a subset string.
* Add QgsSubsetStringEditorProviderRegistry: keeps a list of subset string
  editor providers. Transposed from QgsDataItemGuiProviderRegistry
* Add QgsGui::subsetStringEditorProviderRegistry()
2020-11-16 11:09:06 +10:00
Even Rouault
b878ac9c85
QgsQueryBuilder: improvements for easier subclassing
- Make test() method virtual so it can be overriden in a derived class
- Make enabling/disabling of "use unfiltered layer" checkbox automatic
  when layer's subsetString is changed (for example by an overriden
  test() implementation)
- Add a codeEditorWidget() method that returns the sql editor widget,
  so that custom behavior can be added.
2020-11-14 13:22:36 +01:00
Alessandro Pasotti
3f11294dfd
Merge pull request #39778 from elpaso/bugfix-gh39757-shared-locale-sort
Bugfix gh39757 shared locale sort
2020-11-13 10:38:49 +01:00
Nyall Dawson
3798f14673 Add filtering by attribute type to QgsPointCloudAttributeComboBox 2020-11-12 17:33:37 +10:00
Luigi Pirelli
c4306e18e8 Fix crash due to style cache issue in QT<5.12.4. Fixes #39693 #39725 2020-11-12 08:14:57 +07:00
Nyall Dawson
00b9da6474 Private 2020-11-10 02:17:10 +10:00
Nyall Dawson
59601bf17d Add QgsPointCloudAttributeComboBox widget
A reusable widget for selecting an attribute from a point cloud layer
2020-11-10 02:17:10 +10:00