15715 Commits

Author SHA1 Message Date
Sandro Santilli
8cc683061c Update TopoViewer layer style templates
From 1.9 version to 2.18 version

Closes #31471
2019-08-29 16:36:55 +02:00
Denis Rouzaud
2a9f215f98
fix missing SIP_OUT (#31470) 2019-08-29 10:38:03 +02:00
Denis Rouzaud
ee6f8c580c const correctness, fix deprecated methods,
qVariantListIsNull returns true for an empty list
2019-08-29 10:31:55 +02:00
Denis Rouzaud
93a82f883a use composite keys in relation reference widget wrapper 2019-08-29 08:17:00 +02:00
Denis Rouzaud
c8f16fc955 use composite keys in relation reference widget 2019-08-29 08:17:00 +02:00
Nyall Dawson
ddbb1b175f [FEATURE] Allow array values as a valid result for data defined offset
or size properties

Previously only string values of the format 'x,y' would be permitted. But
I've seen MANY bug reports and questions about this, so also allow
arrays of doubles as a valid result. E.g. "array(3,5)". In any case, it's
just nicer.

Fixes #31444
2019-08-29 13:18:58 +10:00
Denis Rouzaud
44acec6b8a
move QgsRenderRange and QgsRendererRangeLabelFormat to their own file (#31464) 2019-08-28 14:22:07 +02:00
Nyall Dawson
e0411e608d Refactor out scalebar code for calculating pretty interval sizes
into reusable function
2019-08-28 14:12:28 +10:00
Nyall Dawson
b90529b4c2 UI and API setup for dynamically calculated grid intervals 2019-08-28 14:12:28 +10:00
Nyall Dawson
e6a93e25c6 Add missing data defined properties 2019-08-28 14:12:28 +10:00
Nyall Dawson
0900831c8a Use map expression context as basis for map grid expression context
Allows use of map related variables like @map_scale, @map_extent_width,
etc in layout map grid data defined expressions
2019-08-28 14:12:28 +10:00
Nyall Dawson
658cb0c740 [FEATURE][layouts] Data defined control over grid properties
Adds data defined control over layout map grid:
- enabled state
- interval X/Y
- offset X/Y
- frame size and margin
- annotation distance from frame
- cross size
- frame line thickness

Fixes #30246, fixes #27737
2019-08-28 14:12:28 +10:00
Harrissou Sant-anna
63f5fa9c86 Fix code sample rendering in pyqgis doc 2019-08-28 12:07:27 +10:00
Harrissou Sant-anna
58cc42a747 [needs-docs]Set the service area algorithms speed to 50km/h
using the same value as the "Shortest Path" algorithms
2019-08-28 03:53:54 +10:00
nirvn
f801d1716d [FEATURE] Add possibility to export metadata when saving map canvas as PDF 2019-08-27 20:35:33 +07:00
Ismail Sunni
b9978d53d1 [FEATURE][3D] Billboard Rendering for Points (#31308)
* Add button to change billboard symbol.

* Add shaders for billboards.

* Add billboard material class.

* Add sample billboard image.

* Add dummy handler for billboard.

* Add billboard geometry class.

* First working version of 3D point as billboard.

* Make selected feature bigger.

* Use default symbol preview as billboard.

* Update billboard when changes the viewport size.

* Use QgsTerrainTextureImage for adding image to texture.

* Show better quality of billboard default symbol.

* Promote QgsSymbolButton not working.

* Add QgsSymbolButton properly.

* Add seTexture2DFromSymbol.

* Use default symbol

* [On Progress] Get symbol from the QgsSymbolButton.

* [On progress] failed to change the symbol

* Fix billboard fragment shader for macOS

* Better transparency handling.

* Use size from the symbol.

* Add set layer for 3d billboard symbol.

* Set billboard size from the symbol pixel size * 20

* Use size from the image.

* [Debug] set white symbol to success kid, it work when previous billboard is success kid.

* Use store and restore symbol from Nyall.

* Remove unrelated code.

* Apply random extent to fix the bug, from Martin.

* Remove add mesh entities for billboard.

* Hide material and transformation widget for billboard.

* Remove add scene entities for billboard.

* Add selected as parameter in drawPreviewIcon.

* Add QgsMarkerSymbol to store the symbol in billboard

* Put billboard symbol in point3dsymbol serialization.

* Add billboard height in the UI.

* Set height for billboard.

* Store billboard height separately. Perhaps better to use existing transform.

* Set height of billboard to TY.

* Flipped image for billboard symbol.

* Add helper function to set billboard function.

* Generate billboard transform from general transform.

* Use static dpi for context size.

* Remove debug message.

* Use Qgs3DRenderContext for selection color and dpi from QgsApplication.

* Remove unnecessary file and code.

* Remove commented iut code.

* Add documentation of new classes.

* Fix banned keywords.

* Add missing parameter's documentation.

* Address PR review.

* Use context from readXML.

* Remove one line function.

* Fix billboard size.

* Make some functions private, remove unused function.

* Use unique_ptr for the ownership.

* Use unique_ptr for default symbol to avoid memory leak.

* Add parent to texture2D.

* Fix documentation.

* Add copy constructor.

* Fix documentation.

* Remove documentation warning.

* Fix sip error.

* Add unit test for billboard rendering.

* Set ambient to not transparent for measurement line.

* Add dpi in the Qgs3DMapSetting

* Update billboard rendering unit test.

* Remove layer from 3d point widget since it's not supported yet.

* Addressing PR review from Martin.

* Attach dom directly for the billboard symbol.

* Remove unused constructor for point3dsymbol.

* Use stroke width ratio for solving big stroke width.

* Update unit test for rendering with some stroke color.

* Fix typo.
2019-08-27 10:04:56 +02:00
Denis Rouzaud
81eb4eebff const correction 2019-08-26 16:32:40 +02:00
nirvn
07c871de5f Add dox note on symbol ownership in QgsSymbolSelectorWidget class 2019-08-26 18:31:15 +07:00
nirvn
d26b7abc57 QgsSymbolSelector{Widget,Dialog} class cleanup 2019-08-26 18:31:15 +07:00
nirvn
648af3ed89 [ui] Fix single feat. renderer symbol levels reset when changing style (fixes #26547) 2019-08-26 18:31:15 +07:00
Denis Rouzaud
f578216919
modify editor widget wrappers to handle additional fields (#31270) 2019-08-26 08:53:37 +02:00
Julien Cabieces
5b71e21613 [FEATURE] [needs-docs] Add circular data dependencies (#30947)
* [FEATURE] [needs-docs] Add circular data dependencies
2019-08-26 08:36:07 +02:00
Denis Rouzaud
2dc1f9f3c4
Merge pull request #31355 from 3nids/featurelist_compoundkeys
allow QgsFeatureListComboBox to handle multiple keys
2019-08-26 08:25:46 +02:00
Nyall Dawson
538946ad08 Avoid deprecation warning from third party module
Fixes #31391
2019-08-26 06:25:46 +10:00
gacarrillor
7cf2e97aad Fix docstring of QgsVectorDataProvider.empty() method. 2019-08-25 11:39:01 +10:00
Jürgen Fischer
596ffd06fd
Fix layout picture item test (alternate fix to #31382) (#31383)
* Fix layout picture item test (alternate fix to #31382)
* doxygen: add pointer to QgsProperty::value() to QgsAbstractPropertyCollection::value()
2019-08-24 23:49:22 +02:00
Denis Rouzaud
cab11fe919 add method to set extra identifier values to Null and embryon of test 2019-08-23 16:17:37 +02:00
Denis Rouzaud
a5574eb96b allow QgsFeatureListComboBox to handle multiple keys 2019-08-23 08:17:14 +02:00
Nyall Dawson
24fb1196c5 [needs-docs] Revise QgsPathResolver::setPathPreprocessor API
Allow path preprocessors to be chained and don't force replace
any existing ones.

Processors can be removed via a call to QgsPathResolver::removePathPreprocessor,
using the unique ID returned by the original call to setPathPreprocessor
2019-08-23 06:35:12 +10:00
Alessandro Pasotti
631ac63e57 Call QgsRasterBlock destructor from SIP (add factory)
Fixes #31343 memory leak
2019-08-23 06:32:32 +10:00
Matthias Kuhn
2e5e009445
Merge pull request #31280 from DelazJ/addtoolbarsWidgets
Allow more actions from toolbar to be listed/managed in the customization dialog
2019-08-22 10:48:46 +02:00
Nyall Dawson
77191597ff Spelling 2019-08-22 17:36:43 +10:00
Nyall Dawson
3583e7ad0c More explicit documentation of geometry classes, with warnings
that calculations are Cartesian only and point users to QgsDistanceArea
for ellipsoidal calculations

Fixes #31275
2019-08-22 17:36:43 +10:00
Alessandro Pasotti
fad258e37a
Merge pull request #31319 from elpaso/db_interface_new_constructors
New ctors for connections interface
2019-08-22 09:03:17 +02:00
Sandro Santilli
ae0721891b Restore TopoViewer functionality
This was broken in commit d7166404030292b9536e649795e9efec49225dfd
2019-08-21 17:27:48 +02:00
Alessandro Pasotti
a092a82b52 New ctors for connections interface
Tries to make it clearer what are the use cases for the two
constructors (name and uri).
2019-08-21 15:45:21 +02:00
Nyall Dawson
d014d63ede Don't show canvas specific formatting settings in layer tree model
used outside of main canvas

E.g. we shouldn't show scale based visibility text format changes
or the editable toggle in models used for snapping dialog, project
properties, etc.

These properties are only associated with the main map canvas.
2019-08-21 20:33:02 +10:00
Nyall Dawson
2ca302999d [FEATURE] "Center of segment" placement mode for marker and hash line symbol layers
Adds a new placement option to place markers/hash lines at the center
point of individual line segments

Refs #29785
2019-08-21 19:41:58 +10:00
Nyall Dawson
dbf9d917dd [FEATURE][layouts] Option to export multiple map themes while
creating GeoPDF documents from layouts
2019-08-21 05:15:04 +10:00
Nyall Dawson
3bb93fc00f Correctly georeference layout geopdf exports 2019-08-21 05:15:04 +10:00
Nyall Dawson
417f8d97a4 Hookup other pdf export settings to settings dialog 2019-08-21 05:15:04 +10:00
Alessandro Pasotti
0897b4e7fe
Merge pull request #31299 from elpaso/server-python-catch-plugins-exceptions
Server: catch Python exceptions from plugins
2019-08-20 13:50:19 +02:00
Peter Petrik
07841c4e2e fix sip 2019-08-20 13:40:26 +02:00
Alessandro Pasotti
c9c2d3ed27 Server API: simplify contentTypes handling and allow overrides 2019-08-20 12:22:32 +02:00
Nyall Dawson
b47dea0cc6 Spelling 2019-08-20 14:58:14 +10:00
Nyall Dawson
5a252a3b81 Expose map theme info to export layer details 2019-08-20 14:58:14 +10:00
Nyall Dawson
f49389d751 [layouts] API framework to allow rendering multiple map themes to layered exports 2019-08-20 14:58:14 +10:00
Alessandro Pasotti
dab7481083 More Python exception bubbling and SIP enum fix 2019-08-19 20:50:01 +02:00
Alessandro Pasotti
4cc7a0ffa6 Server: catch Python exceptions from plugins
Make sure Python exceptions are converted into
QgsServerException and catched by the main
service executor.

Without this patch, the server process is terminated
(aborted).
2019-08-19 18:32:03 +02:00
Nyall Dawson
446eb066d5 [needs-docs] Expose choice of GeoPDF export format to users
Either "ISO3200 extension" or "OGC 'best practice'" options are availab.e

ISO3200 format is recommended, and results in Geospatial PDF files compatible
with the built-in Acrobat geospatial tools.

The OGC Best Practice format results in GeoPDF files compatible with the TerraGo
suite of tools, but can break compatibility with the built-in Acrobat
geospatial tools (yes, GeoPDF format is a mess!).
2019-08-19 15:23:53 +10:00