94 Commits

Author SHA1 Message Date
Nyall Dawson
632d196e62 Don't show useless "available in python as" notes in PyQGIS docs
Since the method name used in the docs is ALREADY the python version!
2025-02-28 18:32:09 +10:00
David Koňařík
4d86676c35 Fix SIP build errors by using /NoTypeName/
The typedef is only present in the .sip file, but without this
annotation SIP assumes it also exists in QGIS headers. This didn't
completely break the build, since we concatenate multiple SIP headers
into larger files, so the typedefs from one part "fixed" another. Run
sip-build without --concatenate to see the issue clearly.

This fix is currently sadly not fully effective due to a SIP bug:
https://github.com/Python-SIP/sip/issues/66
2025-01-06 21:31:40 +01:00
Julien Cabieces
0fdb3508a5 api(Deprecated): Remove strong requirement on \deprecated
Because some method (only QgsGeometry::set actually) can be deprecated
only in python, not in C++. But \deprecated triggers the need for Q_DECL_DEPRECATED
2024-12-17 09:06:44 +01:00
Julien Cabieces
51dc2ec2ac api(Deprecated): Generate always /Deprecated/ annotation with text
Use cmake to remove text when SIP version is less than 6.9.0
2024-12-17 09:06:44 +01:00
Julien Cabieces
92db5c2d82 feat(Deprecated): Add message to SIP deprecated annotation
Works only with SIP 6.9.0
2024-12-17 09:05:46 +01:00
Denis Rouzaud
5fdf6dd77a fix SIP_SKIP and SIP_FORCE being left alone 2024-12-07 05:16:00 +10:00
Denis Rouzaud
8c4b08dc07 fix windows build take 2 2024-12-07 05:16:00 +10:00
Denis Rouzaud
244a7c1bd1 [sipify] exit type header code 2024-12-05 13:19:50 +01:00
Denis Rouzaud
25ad1b8e38 [sipify] do not exit header code if commentting 2024-12-05 13:19:50 +01:00
Denis Rouzaud
2f2c54095c Revert "[sipify] close type header code earlier"
This reverts commit 0fe88cf945fd2da710453e2a55a4cdc4e2f82802.
2024-12-05 13:19:50 +01:00
Denis Rouzaud
7f4ae01b8c [sipify] better handling of type header includes (multiple) 2024-12-05 13:19:50 +01:00
Denis Rouzaud
05062c386f [sipify] better handling of type header includes 2024-12-05 13:19:50 +01:00
Denis Rouzaud
3a08533103 [sipify] close type header code earlier 2024-12-05 13:19:50 +01:00
Denis Rouzaud
ee8cc2c2ad comment methodcode 2024-12-05 13:19:50 +01:00
Denis Rouzaud
c12f94c316 [sipify] supports code in comment 2024-12-05 13:19:50 +01:00
Denis Rouzaud
4ddc236145
[sipify] Fix staticmethod (#59517)
* [sipify] Fix staticmethod 

When building bindings for Kadas, we get an AttributeError on startup and not a NameError.

* [pre-commit.ci lite] apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-12-03 08:43:55 +01:00
Denis Rouzaud
0f032e5f2d run pre-commit on all files 2024-11-29 15:38:02 +01:00
Denis Rouzaud
3ddf3917f6
follow-up 2024-11-18 15:38:52 +01:00
Denis Rouzaud
8a453a7bb5
fix nested enums 2024-11-18 15:22:24 +01:00
Denis Rouzaud
a135e21727
[sipify] allow namespace/class spec in static const declarations 2024-11-18 10:00:48 +01:00
Nyall Dawson
fe78267c66 'throw' is not used/required on sip >=6
And generates hundreds of deprecation warnings during build
2024-11-04 15:13:37 +10: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
Nyall Dawson
059a37f87d
Fix struct attributes descriptions missing from PyQGIS docs (#58672)
Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/177
2024-09-12 07:12:52 +02:00
Nyall Dawson
391b61544e
Handle SIP_OUT with void functions 2024-09-10 11:46:47 +10:00
Nyall Dawson
b39f760cbc
Correctly handle multiline SIP_OUT param documentation 2024-09-10 11:11:25 +10:00
Nyall Dawson
f21722a0f1 [sipify] Minor cleanup to auto additions
Condense injections into a single block instead of multiple
separate blocks
2024-09-09 16:56:29 +10:00
Nyall Dawson
cfd251e7f7 Capture signal arguments 2024-09-08 16:06:22 +10:00
Nyall Dawson
cbb741fb35 Use correct subheader underline 2024-09-04 13:54:39 +10:00
Nyall Dawson
af6919a36c Lint 2024-09-04 13:54:39 +10:00
Nyall Dawson
2e60236344 Fix list in return value 2024-09-04 13:54:39 +10:00
Nyall Dawson
94f6e9c71b Correctly handle \param[in,out] in sipify 2024-09-04 13:54:39 +10:00
Nyall Dawson
e1a1b064b2 Fix multiline return with SIP_OUT 2024-09-04 13:54:39 +10:00
Nyall Dawson
f2e4c3dfb7 Don't mangle http see links in PyQGIS docs 2024-09-04 06:32:03 +10:00
Nyall Dawson
534ca73c59 Fix missing see also trailing notes in PyQGIS documentation 2024-09-04 06:32:03 +10:00
Nyall Dawson
50408edac6
Fix PyQGIS docstrings for monkey patched enum values
We should be using the new name for the enum value instead
of the old one in the enum class docstring.

Move the old compatible name to an extra note
"Available as ``xx.yy`` in older QGIS releases."

Fixes #49171
2024-09-02 11:43:23 +10:00
Nyall Dawson
ef0289f3ec Fix formatting of Python ..deprecated annotations in docstrings
Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/174
2024-09-02 11:42:12 +10:00
Nyall Dawson
2af54ad057 Fix malformed python docstrings when enum value has \since annotation 2024-09-01 02:29:17 +10:00
Nyall Dawson
ef00e77537 [sipify] Die if copydoc is used in exposed method documentation
Sipify cannot handle this

Refs #54429
2024-08-30 10:07:04 +10:00
Nyall Dawson
e38d577980 Catch raw bold/italic tags in docs 2024-08-30 05:47:07 +10:00
Nyall Dawson
482311b668 Don't use raw html lists in documentation 2024-08-30 05:47:07 +10:00
Nyall Dawson
a44d7419a5 No dl 2024-08-30 05:47:07 +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
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
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
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
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
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
854b474dab Simplify regex 2024-08-14 13:05:46 +10:00