773 Commits

Author SHA1 Message Date
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
3e1bf261b9 Add some useful methods for annotation item widgets 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
02d9cc2af2 Sipify 2024-08-15 06:25:08 +10:00
Nyall Dawson
c2529994aa Use rich text editor for annotation text item widgets
Makes it easier for users to style annotation items with rich
formatting, instead of forcing use of raw HTML
2024-08-15 06:25:08 +10:00
Nyall Dawson
e8724fa45e Add mode switch for QgsRichTextEditor
Allows using the widget in a QgsTextRenderer HTML subset mode,
where only functionality supported by QgsTextRenderer is
exposed in the widget. Also add a Plain Text mode.
2024-08-15 06:25:08 +10:00
Nyall Dawson
c23e35bb08 calculateStatistics is not unambiguously static 2024-08-14 22:08:41 +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
Nyall Dawson
ed19d996b2 Collect attribute docstrings for PyQGIS documentation 2024-08-14 13:05:46 +10:00
qgis-bot
a3751f5196 auto sipify 🍺 2024-08-13 11:56:33 +00:00
Nyall Dawson
774ad87251 Remove orphaned sip files
These headers are marked SIP_NO_FILE, these files are not
referenced anywhere
2024-08-13 20:28:55 +10:00
Nyall Dawson
182e30ab61 Simplify regex to avoid catastrophic backtracking 2024-08-13 20:28:55 +10:00
Nyall Dawson
3a578d6712 Header update 2024-08-13 20:28:55 +10:00
Nyall Dawson
e7b26478e2 Valid fixes 2024-08-13 20:28:55 +10:00
Nyall Dawson
63e81d8caf Valid improvement 2024-08-13 20:28:55 +10:00
Nyall Dawson
be8dce7d0d Valid improvements from new sipify 2024-08-13 20:28:55 +10:00
Nyall Dawson
886074c913 Rename 'None' enum members in public API
These clash with the Python bindings, where the enum value
becomes unusable
2024-08-06 19:49:10 +10:00
Nyall Dawson
dbafe6c702 Fix clang-tidy warning 2024-08-06 13:30:16 +10:00
Nyall Dawson
5b084d39f4 Add documentation 2024-08-06 13:30:16 +10:00
Nyall Dawson
547387037f [annotations] Add support for callouts to point text item
Allows creating of callout lines (or bubble callouts) which
link the text to a map location. To create a callout, users
select the text item and then drag out the central x node
to the desired callout end point.

Callout styles can be modified through the layer styling panel.
2024-08-06 13:30:16 +10:00
Nyall Dawson
00412a41d3 [annotations] Add linked layer option for annotation layers
Adds a new "Linked layer" setting to the render page for annotation
layers, which allows users to optionally set a linked visibility
layer for the annotation layer. If set, then the annotations will
only be drawn when the linked layer is visible in the map.

This is designed to mimic the similar linked layer option for
the older annotation framework, in order to close the feature
gap between old vs new annotations

Refs https://github.com/qgis/QGIS-Enhancement-Proposals/issues/269
2024-08-03 06:40:03 +10:00
Jacky Volpes
fa961c7b5b fix(geometry_checker): do not call crs() on layer from another thread 2024-08-02 06:00:46 +10:00
Nyall Dawson
627263ec0f Implement widget for symbol buffer settings 2024-08-02 05:09:03 +10:00
Nyall Dawson
efd700b9e1 Move geometry to QPolygonF list function to common static method 2024-08-02 05:09:03 +10:00
Nyall Dawson
b5437eef50 Add fill symbol for symbol buffers 2024-08-02 05:09:03 +10:00
Nyall Dawson
13c1a1b997 Force vector rendering of symbols when symbol has buffer enabled 2024-08-02 05:09:03 +10:00
Nyall Dawson
c6c3c77303 Populate buffer settings 2024-08-02 05:09:03 +10:00
Nyall Dawson
bf30f04d0a Make common function for copying QgsSymbol properties
Avoid fragile duplicate code in subclasses
2024-08-02 05:09:03 +10:00
Nyall Dawson
3d80ed996e Add thread safety notes for QgsFeaturePool documentation 2024-08-01 08:29:07 +10:00
qgis-bot
bcccc007f5 auto sipify 🍺 2024-07-31 10:08:30 +00:00
Mathieu Pellerin
6994d1c680
[advanced digitizing] Add circles intersection digitizing tool (#57648) 2024-07-31 17:05:58 +07:00
qgis-bot
c551352cdf auto sipify 🍺 2024-07-30 22:01:08 +00:00
Nyall Dawson
bae23c28a3 [FEATURE] Text inside rectangle annotation item
This adds a new annotation item type for rendering paragraphs
of text inside a rectangle

Options are present for:

- Text format
- Horizontal and vertical alignment
- Margins
- Background and frame symbol
2024-07-31 07:58:53 +10:00
David Koňařík
654b8bb985 Fix doc comments to align with code
The only previously implemented provider of these classes (for Cesium 3D
tiles) used values directly from the tiles, which are in meters per
spec.
2024-07-29 12:05:12 +02:00
qgis-bot
527c9eff1a auto sipify 🍺 2024-07-29 03:22:40 +00:00
Nyall Dawson
4a247373f0 [api] Split tolerance into separate values for red, green, blue channels
Makes the API more flexible for future use. We only expose a single
tolerance value in the UI, but in future we could expose the
separate tolerances if desired (but be wary of UI bloat!!)
2024-07-29 13:20:21 +10:00
Nyall Dawson
15128498e1 [feature] Support tolerances for QgsRasterTransparency pixel values
Allows pixels with color components just outside of the specified
RGB values to also be treated as transparent pixels

Useful for photographs or compressed rasters where a range of color
values must be made transparent
2024-07-29 13:20:21 +10:00