523 Commits

Author SHA1 Message Date
qgis-bot
a37fec4fc9 auto sipify 🍺 2024-08-28 02:01:25 +00:00
Nyall Dawson
519959154a Fix some overly verbose class "brief" descriptions 2024-08-28 11:58:21 +10:00
Nyall Dawson
a478545108 Fix bad docs 2024-08-28 11:58:21 +10:00
Nyall Dawson
bc52832b47 Lazily hack around markdown title underline not being long enough
Causes a bunch of warnings when building the PyQGIS docs
2024-08-28 11:58:21 +10:00
Nyall Dawson
088aea0d0d Fix incorrect use of inline returns 2024-08-28 11:58:21 +10:00
qgis-bot
b553b04ae9 auto sipify 🍺 2024-08-25 02:37:44 +00:00
Nyall Dawson
79283e18b4 Use resize handles for corner nodes
Fixes #58427
2024-08-25 12:34:51 +10:00
Nyall Dawson
370f74803f Only upgrade annotations on desktop 2024-08-25 12:34:51 +10:00
Nyall Dawson
6127088395 Make common base class for annotation items which render in rect
And avoid a bunch of duplicate code
2024-08-25 12:34:51 +10:00
Nyall Dawson
e64bd80ff2 Add auto-upgrade for old text annotations 2024-08-25 12:34:51 +10:00
Nyall Dawson
1ce2940d2c Add framework to upgrade older annotations to annotation layer items on project load 2024-08-25 12:34:51 +10:00
Nyall Dawson
5c1427c807 Add QgsLineString::lineLocationPointByM
This method attempts to interpolate the point on a linestringM
where a specified m value falls. It does this by interpolating
M values along the line string segments, finding the first
segment at which the target M value falls. If the M value
corresponds to a part of the line with constant m values, then
the center point of this constant m value portion will be
returned.
2024-08-25 12:34:38 +10:00
Nyall Dawson
374f0a5fcc Fix bug with inverted polygon renderer vs OTF simplification
The simplification MUST be applied prior to transforming geometries,
or the precalculated simplification tolerance will no be correct
and may be excessive (eg when the simplification tolerance
was calculated for a map in meters, yet the rendered layer is
in degrees -- in this case we would simplify the inverted geometry
with a tolerance of ~1 degree!)

Ensure that we apply the simplification FIRST, then transform,
and disable further simplification when rendering the calculated
inverted feature. This is also a performance boost, because we
are simplifying geometries prior to transforming + calculating
the inversion, so usually end up with a lot less vertices
to handle in those operations...
2024-08-25 12:34:18 +10:00
Nyall Dawson
f90a7c04b1 Raw code block should use 'text', not 'raw'
'raw' gives an error when building the PyQGIS docs
2024-08-23 09:26:18 +10:00
merydian
1b892d683f Add suggestions 2024-08-21 09:05:41 +10:00
merydian
21a276fff2 Implement QgsRasterLayer.as_numpy 2024-08-21 09:05:41 +10:00
Nyall Dawson
41f8db6503 Don't leak typing into qgis.core 2024-08-20 16:40:32 +02:00
qgis-bot
38c4637547 auto sipify 🍺 2024-08-20 06:34:37 +00:00
Nyall Dawson
262ade625e Don't leak LinePlacementFlags 2024-08-19 11:16:01 +02:00
Nyall Dawson
98f3ca0650 Don't leak mapping functions into core 2024-08-19 11:16:01 +02:00
Nyall Dawson
1c119bde15 Avoid leaking processing repr into core 2024-08-19 11:16:01 +02:00
Nyall Dawson
fa518f6795 Don't leak fromFunction into core 2024-08-19 11:16:01 +02:00
Nyall Dawson
3dbbb16aa6 Don't leak range repr functions into qgis.core 2024-08-19 11:16:01 +02:00
Nyall Dawson
85df8609c5 Don't leak dummy DirectionSymbols class into core 2024-08-19 11:16:01 +02:00
Nyall Dawson
de01eec1d7 Fix formatting of QgsTask.fromFunction docs
Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/11
2024-08-19 11:16:01 +02:00
Nyall Dawson
3f481b568e Record header subfolders as __group__ attribute in PyQGIS classes
This will allow us to logically create subgroups for PyQGIS modules
in the API reference guide
2024-08-17 20:13:12 +10:00
qgis-bot
1d361eda2a auto sipify 🍺 2024-08-16 07:03:08 +00:00
Denis Rouzaud
9d87ecf6ec
Merge pull request #58233 from 3nids/mvt-sprites
[mvt] implement step expressions + improve conversion of sprites
2024-08-16 08:59:56 +02:00
qgis-bot
8b60f0bb80 auto sipify 🍺 2024-08-15 21:31:53 +00:00
Nyall Dawson
deeada9a54 Avoid leaking more helper functions into qgis.core 2024-08-16 07:28:46 +10:00
Nyall Dawson
428a1cd405 Add missing files 2024-08-16 07:28:29 +10:00
Nyall Dawson
989e62a80f Handle docstrings for c++ structs
sip doesn't support the docstring directive for structs (only classes),
so patch these back in via sipify magic
2024-08-16 07:28:29 +10:00
Nyall Dawson
cc6b83449d Add some missing class docstrings 2024-08-16 07:28:29 +10:00
Nyall Dawson
0bca48ddca Add docs for exception classes 2024-08-16 07:28:29 +10:00
qgis-bot
ef4b67d963 auto sipify 🍺 2024-08-15 04:30:37 +00:00
Nyall Dawson
8465cce48d Minor tweaks to annotation edit operations 2024-08-15 14:27:35 +10:00
Nyall Dawson
c37f3d1960 Make naming more flexible 2024-08-15 14:27:35 +10:00
Nyall Dawson
e06b9f243e Rework how callouts work with picture item with fixed sizes
When a picture annotation item is set to the fixed size mode,
and has a callout anchor set, always place the annotation itself
at a fixed offset from the callout anchor. This mimics the
behavior of the old SVG annotation decoration.
2024-08-15 14:27:35 +10:00
Nyall Dawson
deb506b5db Make translation in pixels available for annotation edit operations 2024-08-15 14:27:35 +10:00
Nyall Dawson
958d534965 Add convertFromPainterUnits method 2024-08-15 14:27:35 +10:00
Nyall Dawson
ef2528bfd8 Add render context to QgsAnnotationItemEditContext 2024-08-15 14:27:35 +10:00
Nyall Dawson
faa4670f4c Add docs for as_numpy 2024-08-15 13:38:54 +10:00
Nyall Dawson
83c58995b3 Don't leak numpy import into qgis.core 2024-08-15 13:38:54 +10:00
qgis-bot
9b6602e129 auto sipify 🍺 2024-08-14 20:28:38 +00:00
Nyall Dawson
76adc371ac Ensure marker halos are drawn in legends, symbol preview icons 2024-08-15 06:25:41 +10:00
Nyall Dawson
d5511a50d8 [feature] Allow end point marker symbols for balloon callout style
Allows rendering a marker symbol below the endpoint of the balloon
callout. Designed to allow balloon callouts to reproduce the same
visual appearance as the older annotation framework items.
2024-08-15 06:25:24 +10:00
Nyall Dawson
1f27fc627a [pyqgis] Wrap unambiguously static methods in staticmethod
sip doesn't use the standard Python staticmethod type for defining
static methods, which means that standard means of testing
for a static method (like `isinstance(..., staticmethod)`) fail
with any PyQGIS static methods.

This causes issues with lint tools, which incorrectly flag
calls to QGIS static methods as missing self arguments. It also
breaks detection of static methods in the sphinx PyQGIS docs,
so all static methods are shown as non-static.

Work around this in sipify, by wrapping unambiguously static
methods in staticmethod wrappers.
2024-08-14 22:08:41 +10:00
Till Frankenbach
93770eca37
Add Method to Convert QgsRasterBlock to NumPy Array (#58232) 2024-08-14 10:16:40 +02:00
Nyall Dawson
dc68f03f88 Be tolerant against optional sip modules 2024-08-14 13:05:46 +10:00
Nyall Dawson
8b04562ba7 Avoid fragile reg for argument removal 2024-08-14 13:05:46 +10:00