18318 Commits

Author SHA1 Message Date
Nyall Dawson
4e94abc31f Rename QgsPointCloudRenderer to QgsPointCloudLayerRenderer
This follow the pattern of QgsVectorLayerRenderer, QgsRasterLayerRenderer,
etc and disambiguates the layer renderer from the 2d renderer
itself.
2020-10-27 05:29:14 +10:00
Nyall Dawson
b78583e940 Remove write/readXml from QgsPointCloudRenderer -- these don't belong in a QgsMapLayerRenderer subclass 2020-10-27 05:29:14 +10:00
Nyall Dawson
0a4266535e QStringLiteral 2020-10-27 05:29:14 +10:00
Nyall Dawson
40ff7127d0 Mark QgsPointCloudRendererConfig as private for now 2020-10-27 05:29:14 +10:00
Nyall Dawson
5a714372e3 Minor api cleanups 2020-10-27 05:29:14 +10:00
Nyall Dawson
b74f1d6983 Remove QgsPointCloudLayer3DRendererMetadata from sip 2020-10-27 05:29:14 +10:00
Peter Petrik
8ea34de8a2 restore accidentally deleted files 2020-10-27 05:29:14 +10:00
Peter Petrik
8536c564fb add ept provider 2020-10-27 05:29:14 +10:00
Martin Dobias
a86149b452 Fix qgis_core python and project loading with point cloud layer 2020-10-27 05:29:14 +10:00
Peter Petrik
b796dbb07b add some basic skelet for point cloud data providers 2020-10-27 05:29:14 +10:00
Peter Petrik
b7e8071831 some stubs for 3d classes 2020-10-27 05:29:14 +10:00
Martin Dobias
da969e8595 Fixed few bugs + minor rendering improvements
- using a color ramp to render points
- only rendering nodes that intersect the map extent
2020-10-27 05:29:14 +10:00
Peter Petrik
8a42c5759f port the basic renderer from Martin's prototype 2020-10-27 05:29:14 +10:00
Peter Petrik
13ecb8c452 add simple browser integration 2020-10-27 05:29:14 +10:00
Peter Petrik
9c27d4ae91 bunch of other file skeletons 2020-10-27 05:29:14 +10:00
Peter Petrik
de6f4d6ad8 hook point cloud layer type to the rest of the code 2020-10-27 05:29:14 +10:00
Denis Rouzaud
9db2d79244
fix duplication of feature being stopped at 1 level deep (#39550) 2020-10-26 15:34:21 +01:00
Nyall Dawson
add4fec46a Improve QgsRasterIdentifyResult docs 2020-10-26 13:26:43 +10:00
vcloarec
477e25058e level of detail for 3D mesh 2020-10-26 09:11:55 +10:00
signedav
9f2a41258e layer name suffix passed to convertToOfflineProject with ' (offline)' as default
it's written into custom property so in synchronize it can get it from the offline project
2020-10-26 09:08:52 +10:00
Juergen E. Fischer
5a2757729a translation string fix 2020-10-25 22:00:42 +01:00
Matthias Kuhn
ae565f180a Fix field type 2020-10-25 07:30:02 +10:00
Matthias Kuhn
be8a69fd9c Ad hoc check for ORDER_EXPRESSION parameter 2020-10-25 07:30:02 +10:00
Matthias Kuhn
84e2d78d7d [processing] Clean migration path to new order_expression parameter 2020-10-25 07:30:02 +10:00
Matthias Kuhn
e95b62d9fa [processing] PointsToPath allow expression for order fields
Allows using `$id` as expression for a csv with ordered values
2020-10-25 07:30:02 +10:00
Matthias Kuhn
a720a18006
Merge pull request #39540 from m-kuhn/test_doxy_layout
Test doxy layout
2020-10-24 16:45:21 +02:00
admire
2bcddfb4e1 Allow importing vector dimensions greater than 3 and other geometry types 2020-10-24 10:59:06 +10:00
Even Rouault
3ba4cb4214 QgsBlockingNetworkRequest: add head(), put() and deleteResource() methods 2020-10-24 10:57:32 +10:00
Salvatore Larosa
a65143e8bc [pyqgis-console] select last row of history: address @uclaros comment 2020-10-24 05:49:33 +10:00
Salvatore Larosa
2748215b20 [pyqgis-console] fix spell check 2020-10-24 05:49:33 +10:00
Salvatore Larosa
77c4823b50 [pyqgis-console] set focus to run button in history dialog and renaming label to run button 2020-10-24 05:49:33 +10:00
Salvatore Larosa
c0f09aa8e0 followup ae6ed7d: fix name of QPushButton 2020-10-24 05:49:33 +10:00
Salvatore Larosa
6eec68ad74 [pyqgis-console] run multiple items selected from command history dialogy 2020-10-24 05:49:33 +10:00
Nyall Dawson
e0321be23f Add iface method and new class for delegating all responsibility
and logic for activating a custom map tool and ensuring it can
only be enabled in the right circumstances to QGIS app

If a plugin has to do this, it's a nightmare of code and hacks (partly
because of the number of changing circumstances it needs to respond
to, and partly because a lot of the useful functions available
for handling this behavior is locked away in private methods
in qgisapp.cpp)

So instead make an abstract base class for map tool handlers and
an iface method for register/unregistering them.

From the dox:

An abstract base class for map tool handlers which automatically handle all the necessary
logic for toggling the map tool and enabling/disabling the associated action
when the QGIS application is in a state permissible for the tool.

Creating these handlers avoids a lot of complex setup code and manual connections
which are otherwise necessary to ensure that a map tool is correctly activated and
deactivated when the state of the QGIS application changes (e.g. when the active
layer is changed, when edit modes are toggled, when other map tools are switched
to, etc).

- ### Example

\code{.py}
  class MyMapTool(QgsMapTool):
     ...

  class MyMapToolHandler(QgsAbstractMapToolHandler):

     def __init__(self, tool, action):
         super().__init__(tool, action)

     def isCompatibleWithLayer(self, layer, context):
         # this tool can only be activated when an editable vector layer is selected
         return isinstance(layer, QgsVectorLayer) and layer.isEditable()

  my_tool = MyMapTool()
  my_action = QAction('My Map Tool')

  my_handler = MyMapToolHandler(my_tool, my_action)
  iface.registerMapToolHandler(my_handler)
\endcode
2020-10-23 19:03:51 +10:00
Matthias Kuhn
1cbfb35b23 Escape # in doxy 2020-10-23 08:28:21 +02:00
Nyall Dawson
395718f0cb Fix PyQGIS docs for colorFromMimeData 2020-10-23 12:55:26 +10:00
Nyall Dawson
8c623b268e Revert "DB manager: PG read enum value for sslmode"
This reverts commit 26e9ec98e76591286576d2dde098578877bef9c0.

It results in unfixable crashes on many platforms, likely due to some
issue in sip itself

Fixes #38393, reopens #38245

The original bug (being asked twice for credentials) is preferable
over a hard crash
2020-10-23 08:22:15 +10:00
Matthias Kuhn
6ec342b4c0 Fix dox 2020-10-22 21:09:49 +02:00
Matthias Kuhn
42af1efa18 Fix a bunch of doc issues 2020-10-22 20:42:14 +02:00
Richard Duivenvoorde
a59de0658d Add temporalFrameDurationChanged signal, and make view more aware of changes
This commit adds a new signal to the QgsTemporalNavigationObject, which is
emitted when the frameDuration (of current QgsTemporalNavigationObject) is
change.

It also fixes the issue that changing the frame in the Temporal
Navigation-WIDGET was not reflected in the widget itself.
2020-10-23 03:59:09 +10:00
Nyall Dawson
abacccb7e9 Add mapToolActionGroup to iface object
Any actions added by plugins for toggling a map tool should also
be added to this action group so that they behave identically
to the native, in-built map tool actions.
2020-10-23 03:57:34 +10:00
Matthias Kuhn
6bd2b79b8f Fix doxygen command order 2020-10-22 11:31:55 +02:00
Ivan Ivanov
6237ec0d41 Remove irrelevant test 2020-10-22 09:13:11 +10:00
Nyall Dawson
49c508921d Allow conversion of QgsFeatureStoreList results to Python objects
Fixes #39479
2020-10-22 02:45:17 +10:00
Nyall Dawson
4f4b286d3d Add flag to turn off rendering crosshairs in the background of preview
images generated for markers by QgsSymbol::bigSymbolPreviewImage()
2020-10-22 02:44:45 +10:00
Denis Rouzaud
22b622b163
also use SVG selector in SVG fill symbology (#39524) 2020-10-21 13:46:27 +02:00
Denis Rouzaud
2d82ef91d3
fix buttons in SVG source line edit (#39519) 2020-10-21 12:17:01 +02:00
Denis Rouzaud
139be61b29
Merge pull request #39421 from 3nids/svg-browser
make the SVG selector collapsible (+ remove duplicated code)
2020-10-21 06:10:06 +02:00
Nyall Dawson
7e64d74f76 Add method to silence noisy GEOS error logging handling when not
desirable.

By default these errors are logged to the console and in the QGIS UI.
But for some operations errors are expected and logging these just results
in noise.
2020-10-21 11:08:35 +10:00
Nyall Dawson
5565a6858d Some doxygen grammar fixes 2020-10-21 09:32:15 +10:00