5910 Commits

Author SHA1 Message Date
David Signer
e44d54842a stored expressions comments 2019-08-29 08:24:15 +02:00
David Signer
aec08c7dcc read write storedexpressions 2019-08-29 08:24:15 +02:00
David Signer
5c38b4bdc8 stored expression base class with read write methods 2019-08-29 08:24:15 +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
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
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
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
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
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
Peter Petrik
07841c4e2e fix sip 2019-08-20 13:40:26 +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
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
Nyall Dawson
8d89dd99cd [FEATURE] Add option on whether to include RDF metadata during
save map to GeoPDF operations
2019-08-19 15:23:53 +10:00
Juergen E. Fischer
19220b9e06 fix windows build including some warnings 2019-08-17 11:58:04 +02:00
Nyall Dawson
93342a33ce [FEATURE] GeoPDF export in map renderer task (e.g. save as canvas)
Not exposed to UI yet
2019-08-17 14:53:11 +10:00
Nyall Dawson
b1e3d047d6 Make QgsMapRendererStagedRenderJob thread safe 2019-08-17 14:53:11 +10:00
Nyall Dawson
a4d1b293a0 QgsMapRendererTask was NOT thread safe! ouch 2019-08-17 14:53:11 +10:00
Nyall Dawson
1a294df22a Start on GeoPDF exporter class 2019-08-17 14:53:11 +10:00
Alessandro Pasotti
a3c4eb9947
Providers connections interface API
This is the implementation of the new DB connections API (grant proposal 2019).
Summary

The new API makes it available to QGIS core a new interface for provider connections and will allow to:

    replace the provider specific QgsSettings management in QGIS4 (save/load connections from the settings) NOT IN SCOPE FOR NOW.
    provide a unified API for common operations on DB connections:
        executeSql and get the results
        list tables names and properties and schemas
        create a new vector table (no rasters for now)
        create/rename/drop schemas and tables
        vacuum
       ....
2019-08-16 20:44:05 +02:00
Matthias Kuhn
3245376e64
Merge pull request #31167 from signedav/default-values-update
Update widgets with default values on attribute form
2019-08-16 16:42:39 +02:00
nirvn
bdf18ee0fd Add a QgsStringUtils function to substitute characters with vertical representation counterparts 2019-08-16 13:56:19 +07:00
David Signer
38e4bacb7d missing sip 2019-08-15 11:03:19 +02:00
lbartoletti
8ff30072da topological editing: fix copy/move feature 2019-08-14 09:03:51 +10:00
lbartoletti
e5cd1aa913 Topological editing: fix vertex tool (Z support) (#31163) 2019-08-14 09:00:58 +10:00
Nyall Dawson
2074f2c9fc Warnings 2019-08-14 06:46:19 +10:00
Nyall Dawson
be4e7b1088 More attempt to fix doxygen warning 2019-08-14 06:46:19 +10:00
Nyall Dawson
b4a172f87e Dox fixes 2019-08-14 06:46:19 +10:00
Nyall Dawson
f0d60952bf Dox++ 2019-08-14 06:46:19 +10:00