aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpysideremoteobjects/pysidedynamicclass.cpp
Commit message (Collapse)AuthorAgeFilesLines
* libpyside: Introduce a helper function for creating propertiesFriedemann Kleint2025-11-141-16/+12
| | | | | | | For use in QtRemoteObjects and Python bridges. Change-Id: Ica4d3c36cc87db958353d7d6de25806acdf5d8b7 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpyside: Add qobjectType() to return the Python type QObjectFriedemann Kleint2025-10-011-10/+3
| | | | | | | | | | Set it directly instead of looking it up via converters, which is a step towards decoupling the converters from the per-interpreter types and saves dict lookups. Task-number: PYSIDE-3155 Change-Id: I31a71d1a9d02f1247e04c57de2c2901746221b4f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Replace PepType_GetSlot() by PyType_GetSlot()Friedemann Kleint2025-09-181-5/+7
| | | | | | | | | [ChangeLog][shiboken6] The helper function PepType_GetSlot() has been removed. PyType_GetSlot() should be used instead. Task-number: PYSIDE-2786 Change-Id: I72ba347588d720aecd5185adad6c503fde0c86b8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libshiboken: Split out PEP functions from sbkpython.hFriedemann Kleint2025-09-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libshiboken provides replacement functions prefixed "Pep" for functions missing from the limited API or appearing in future Python versions (pep384impl.h, bufferprocs_py37.h, pep384ext.h). This used to be included in the sbkpython.h header, which provides a sanitized Python.h. This patch removes the PEP headers from sbkpython.h header, requiring code using the replacement functions to explicitly include new headers (sbkpep.h, sbkpepbuffer.h). The generator automatically includes sbkpep.h for code snippet compatibility. The aim is to be able to identify code using the replacement functions. It is expected that the usage decreases over time as the Limited API versions are raised and more eplacement functions become obsolete. [ChangeLog][shiboken6] libshiboken's replacement functions providing functions missing from the limited API or appearing in future Python versions have been moved from sbkpython.h (providing a sanitized Python.h) to separate headers sbkpep.h and sbkpepbuffer.h (providing buffer API). This should not affect binding code as the generator includes the new headers, but may require adaption in client code using libshiboken/libpyside directly. Task-number: PYSIDE-3171 Change-Id: I5d79a40ba6755a80c8da99e4ddd6ef93463b4ddf Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Reduce usage of PyTypeObject::tp_nameFriedemann Kleint2025-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | In the Limited API, PyTypeObject is an opaque struct, for which libshiboken provides a dummy definition. PyType_GetFullyQualifiedName() (stable API since 3.13) can be used as a replacement, but it returns a PyObject. Add a convenience function PepType_GetFullyQualifiedNameStr() similar to the existing PepType_GetNameStr() to return a C-string. Leave the 3.13 code commented out for the moment since it causes a crash. This does not cover occurrences of tp_name passed as strings to Python formatting functions using the %s placeholder since that can be replaced by the new %N/%T placeholder starting from 3.13. Task-number: PYSIDE-3171 Change-Id: I4a073872cd0d138b8d8c6aafb08ccb33451812ca Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Remote Objects: Fix valgrind warning about accessing freed memory (Python ↵Friedemann Kleint2025-09-031-1/+1
| | | | | | | | | | | | | <=3.10) The type name should be a global, static string. Amends 19abd816e73bebdd489408d0a3b7676822bff39c. Task-number: PYSIDE-862 Pick-to: 6.9 Change-Id: Id1c3de06fff71f35aa6d86be7759e3403204f7e6 Reviewed-by: Brett Stottlemyer <brett.stottlemyer@gmail.com>
* Use the C-string functions from namespace std, consistentlyFriedemann Kleint2025-09-021-3/+6
| | | | | | | | | Complements 5608c60f47f6c39a6c1dee5fb165c6d70bd1ee3f. Task-number: PYSIDE-3171 Pick-to: 6.9 6.8 Change-Id: I57f0d8bbd8d0f82367f03d0f55297e74361c44da Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Make Remote Objects usable beyond ModelsBrett Stottlemyer2025-03-131-0/+506
While present, the Qt Remote Objects bindings to Python have not been very useful. The only usable components were those based on QAbstractItemModel, due to the lack of a way to interpret .rep files from Python. This addresses that limitation. Fixes: PYSIDE-862 Change-Id: Ice57c0c64f11c3c7e74d50ce3c48617bd9b422a3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Brett Stottlemyer <brett.stottlemyer@gmail.com>