5998 Commits

Author SHA1 Message Date
Germán Carrillo
37de287f7c [core] Addres review: skip SIP for some static const diagram names 2024-09-26 09:48:19 -05:00
Denis Rouzaud
590232d70a
add template method to return specific type of layers in map canvas (#58878)
* add template method to return specific type of layers in map canvas

* Apply suggestions from code review

Co-authored-by: Matthias Kuhn <matthias@opengis.ch>

---------

Co-authored-by: Matthias Kuhn <matthias@opengis.ch>
2024-09-26 14:17:36 +02:00
Germán Carrillo
463bf249bb [core] Address review: switch from define to static const 2024-09-25 19:46:58 -05:00
qgis-bot
da1f55b7d1 auto sipify 🍺 2024-09-25 05:09:28 +00:00
Denis Rouzaud
6d4e343792
[mvt] fix line dash arrays using literals (#58857)
* [mvt] fix line dash arrays using literals

* Update src/core/vectortile/qgsmapboxglstyleconverter.h

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>

---------

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2024-09-25 07:05:36 +02:00
Even Rouault
dc1583bd7c
QgsJsonUtils: add a way to disable use of field formatters
Fixes #58861
2024-09-24 22:49:08 +02:00
Even Rouault
588e8d430b QgsRasterInterface::colorInterpretationName(): return a translated string 2024-09-23 10:11:03 +02:00
Even Rouault
eb981cd979 Update RasterColorInterpretation enumeration with constants added in GDAL 3.10
per https://github.com/OSGeo/gdal/pull/10721
2024-09-23 10:11:03 +02:00
Julien Cabieces
bcaea01703
Merge pull request #58790 from elpaso/bugfix-gh57422-server-cascading-legend-size
[server] WMS GetLegendGr.. cascading size
2024-09-23 10:04:26 +02:00
Nyall Dawson
cde770edc6 QgsDistanceArea methods should raise QgsCsException when errors occur
Instead of just silently return "0", which is misleading and
can result in data corruption/incorrect analysis results. Better
to be safe and force callers to handle transformation errors
appropriately.

In this case we:

- raise QgsProcessingExceptions when the failed measurement is coming
from a processing tool, so that the user is forced to deal with the
issue and we aren't providing meaningless/misleading measurements
- report evaluation errors if the measurement is coming from a
QGIS expression, so the user must appropriately handle the situation
- for all other cases we currently just write a console error and
maintain the current behavior of treating the measurement length
as 0. TODO notes have been added to handle this cases better.
2024-09-22 08:23:05 +10:00
Alessandro Pasotti
1f86ad11b7 Add a blocking variant 2024-09-20 16:03:14 +02:00
Nyall Dawson
f61e33da4e Doxygen comments should use "NULLPTR", not "NULL"
NULLPTR will get correctly formatted in both c++ and Python docs
2024-09-19 09:55:44 +10:00
Alessandro Pasotti
90622beb53 [server] WMS GetLegendGr.. cascading size
Fix #57422 by adjusting the legend size considering the
cascaded legend imag size.
2024-09-18 18:13:31 +02:00
Nyall Dawson
08eb9c1049 Populate subset string metadata for provider subclasses 2024-09-18 17:27:06 +10:00
Nyall Dawson
b8669d693d Add methods to QgsDataProvider for subset string dialect/help URL
To be used in dialogs for advising users of the subset string dialect
2024-09-18 17:27:06 +10:00
Germán Carrillo
f81df2876c [gui] Move Diagrams properties to a panel widget, showing tabs instead of a list when docked; harmonize stacked diagram configuration with rule-based labeling; allow QgsDiagramProperties to sync to renderers and diagram layer settings, in addition to syncing to layers; when editing a subdiagram of a stacked diagram, only show widgets for diagram layer settings if the subdiagram is the first one, for the rest, hide those widgets and show a note informing users; make sure stacked diagrams handle enabled and disabled subdiagrams (i.e., don't take into account disabled subdiagrams) and add a test for it; switching from single to stacked diagram: take the single diagram definition as the first stacked diagram; fix #58782 (calling twice the apply method for label rendering) 2024-09-17 23:57:00 -05:00
Germán Carrillo
e855941a34 [core] Introduce QgsStackedDiagramRenderer for rendering stacked diagrams. This allows subdiagrams to define their own sizes and legends; add tests for a stacked diagram composed of mixed renderers (single category and linearly interpolated categories), as well as nested stacked diagrams. 2024-09-17 23:56:31 -05:00
Germán Carrillo
d12d661a4e [gui] Write/read stacked diagram state to/from XML (QGIS project) 2024-09-17 23:56:31 -05:00
Germán Carrillo
7e886a5b0c [gui] Implement syncToLayer for QgsStackedDiagramproperties, delegating to subdiagrams' syncToLayer when needed 2024-09-17 23:56:31 -05:00
Germán Carrillo
614ce76156 [gui] Introduce StackedDiagramProperties and use it as dialog and as vector properties page. For the moment, it works with single diagrams, hiding controls for stacked diagrams 2024-09-17 23:56:22 -05:00
Germán Carrillo
5b35dbaa63 [tests] Subdiagram position in vertically stacked diagrams (iterating subdiagrams backwards) 2024-09-17 23:55:38 -05:00
Germán Carrillo
2d7b81c3c9 Adjust documentation links 2024-09-17 23:55:37 -05:00
Germán Carrillo
4432797778 Const method; improve new QgsStackedDiagram's docs 2024-09-17 23:55:37 -05:00
Germán Carrillo
3a264b4e4b Replace outdated unused in docs; remove outdated unused in code 2024-09-17 23:55:37 -05:00
Germán Carrillo
75483703cf Introduce QgsStackedDiagram to create compound diagrams like population pyramids. Use Stacked as internal name for stacked diagrams and StackedBar for stacked bar diagrams. Add subDiagram parameter to QgsDiagramRenderer::diagramSize() and QgsDiagramRenderer::diagramSettings() (single and interpolated) to get subdiagrams info. 2024-09-17 23:55:33 -05:00
Nyall Dawson
3e63b9a4fd Use plural for consistency 2024-09-17 14:00:35 +10:00
Nyall Dawson
0777e7683f Complete EPSG distance unit mapping by adding historic distance units
Ensures we don't perform a lossy conversion of units from the EPSG
CRS database to QGIS units
2024-09-17 14:00:35 +10:00
qgis-bot
e9798f0796 auto sipify 🍺 2024-09-16 18:05:27 +00:00
Nyall Dawson
a492cb22fb [feature] Support horizontal alignment in HTML labels
For multi-line labels, this allows use of either:

- HTML <p align="xxx"> attributes
- CSS "text-align: xxx"
- HTML <center>some text</center> tags

Supported alignments are left, right, center and justify

Horizontal alignment can be used in all contexts where
HTML text is rendered, EXCEPT for curved labels (since they
are restricted to single-line text)

Sponsored by City of Freiburg im Breisgau
2024-09-16 17:26:24 +10:00
Nyall Dawson
1fc5ae33aa Add missing sip cast for QgsFilledLineSymbolLayer 2024-09-16 16:52:20 +10:00
Nyall Dawson
b7d18c009a Fix dox 2024-09-14 13:25:59 +10:00
Nyall Dawson
566b2f7286 Ensure label cache is invalidated when a vector layer renderer
affects the labeling and is re-drawn
2024-09-14 13:25:59 +10:00
Nyall Dawson
c50c923261 Add API to determine if feature renderer affects labeling results 2024-09-14 13:25:59 +10:00
Nyall Dawson
957de0c311 Expose private QgsTextRenderer method for drawing document at point
This allows more efficient rendering when the document and metrics
have already been calculated
2024-09-14 13:25:59 +10:00
Ivan Barsukov
d0dedde547 Fixed typo in allowCommitChanged 2024-09-14 06:01:01 +10:00
Denis Rouzaud
281726250f
Merge pull request #58354 from gacarrillor/save_functions_in_project
[feature] Allow users to save expression functions in QGIS project file
2024-09-13 17:39:40 +02:00
Denis Rouzaud
304f9642b4
[locator] add priority per group (#58542)
* [locator] add priority per group

* fix test

---------

Co-authored-by: signedav <david@opengis.ch>
2024-09-13 16:52:45 +02:00
Alessandro Pasotti
987c38eda6
[auth][api] QgsAuthConfigurationStorage classes and tests (#57992)
Implementation of QEP 
Authentication System: allow Database storage for authentication DB
https://github.com/qgis/QGIS-Enhancement-Proposals/issues/248
2024-09-12 09:18:15 +02:00
Mathieu Pellerin
73ab085bbc
Merge pull request #58584 from nirvn/processing_openstreetmap_policy
Further safeguards from (perceived or actual) bulk download of OpenStreetMap tiles
2024-09-12 08:12:17 +07:00
Mathieu Pellerin
5bcc310768 Address review 2024-09-12 08:34:13 +10:00
Mathieu Pellerin
48b98def64 [geos] Add mechanism for empty interior rings to be skipped 2024-09-12 08:34:13 +10:00
Nyall Dawson
5734116a10 Support h1/h2/.../h6 formatting in html labels 2024-09-11 13:43:00 +10:00
Nyall Dawson
90524634f9 [feature] Add support for word-spacing CSS in html labels
...and other places HTML text formatting is accepted.

This allows use of CSS "word-spacing: 12" to increase the word
spacing in a section of HTML text. The word spacing is always
treated as being in point units.
2024-09-11 08:24:39 +10:00
Nyall Dawson
569da98cd8 If a rule is not available on the system (eg geos too old):
- grey out the rule in the rules list
- show an explanatory tooltip
- don't allow users to create copies of that rule
2024-09-11 02:06:41 +10:00
Nyall Dawson
6c2055fc1e Generate user-friendly tooltips 2024-09-11 02:06:41 +10:00
Nyall Dawson
2d3e6aac43 Allow labeling rules to be de-activated 2024-09-11 02:06:41 +10:00
Nyall Dawson
3ec7665fec Add gui for configuring project advanced labeling rules 2024-09-11 02:06:41 +10:00
Nyall Dawson
98bd60e4ba Add __repr__ 2024-09-11 02:06:41 +10:00
Nyall Dawson
940949cbf9 Rules can have user-configurable names 2024-09-11 02:06:41 +10:00
Nyall Dawson
538cec5970 Fix seealso 2024-09-11 02:06:41 +10:00