| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
Considering we are not compatible with Python 2 anymore,
we can drop the 'object' explicit inheritance in the class
declaration.
Pick-to: 6.8
Change-Id: Iac3a95aa9721c3ff1a755f457c0936ca157a8470
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
module descriptions
Complements 9bd0967d9b3f38ea7959fb00aa28a5ee1a1d0932.
Task-number: PYSIDE-1106
Pick-to: 6.8
Change-Id: I414d4bf672a61f4e54720ea7ef6f6706a4e09329
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
descriptions
Read the description into a QByteArray and remove C++ -specific
sections. This applies to modules for which PySide does not have
a description file.
Task-number: PYSIDE-1106
Pick-to: 6.8
Change-Id: I170fc155a94f45778331b820614dd2e34f10867f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the link to the QML types list (Qt web documentation) was
automatically inserted into the last paragraph of the module
description. This only had an effect when no PySide module description
was present. Otherwise, it had to be manually added to the module
description which was overlooked for some modules.
To fix this, extend the module documentation obtained from the doc
parsers by the URL to page and format it as a separate section
preceding the class list.
Remove the QML types from the PySide module descriptions.
Pick-to: 6.8
Task-number: PYSIDE-1106
Change-Id: I0b107a81b239405c0258ecff924aef87472f13b0
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.8
Task-number: PYSIDE-1106
Change-Id: Ib276e2cb6c6d3db14e7c65e7e464dae4a5be3d8b
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.8
Change-Id: I1a5964463f703ade0657816cb974206355a5ae5b
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
DocModification
DocModification only used 2 values from TypeSystem::Language
(native/target), which match the native/target values of enum
Documentation::Format. Move the enumerations from class Documentation
to a global header and use them in DocModification for consistency.
Pick-to: 6.8
Change-Id: I154f2208b4d834fed569555ef4c0579502bb32f7
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Prepend the module unless it is already present. This has no impact on
sphinx linking.
Task-number: PYSIDE-1106
Pick-to: 6.8
Change-Id: I59edf97b7c39bfec02e8b7c949c316aebca39017
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
PepCFunction_GET_NAMESTR previously expected a PyCFunctionObject*,
which was broken by 09e0acbad03601158a252a4c5d7f15585d6b52ce.
Fix the function to take a PyObject *, which seems more in-line
with the other PyCFunction functions.
Change-Id: I464451e42054c19126c11d4ba04b127c0a772bc3
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
For a smart pointer to a derived class, the smart pointer to the base
class needs to be generated first for the conversion to the base class
to work.
Topologically sort instantiated smart pointers by base classes.
Fixes: PYSIDE-2946
Task-number: PYSIDE-454
Pick-to: 6.8
Change-Id: If7be39e72312f8fe61ef7fbc0b351e070894d22e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
without operator==()
The graph used an array of Node to represent edges, which is
suitable only for small classes that have operator==().
Change the internal representation to use indexes for edges instead of
the node classes and add an API for adding edges by index. Rewrite the
visit() algorithm to create an index list instead of a node list. Move
the Node from NodeEntry to a separate node list, which allows for
copying it directly from the node list passed in.
Task-number: PYSIDE-2946
Task-number: PYSIDE-454
Pick-to: 6.8
Change-Id: I7becd5caef226f50b77f5def2a62a2620d39ef8e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
PyCFunction_GET_FLAGS
Removing old compatibility macros from the initial limited api
implementation.
Change-Id: I3044609ade36b5b378de05934eab8a098450f42f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By turning over to positional-only parameters, some signatures
should be preferred to remove over others.
QMessage.warning had two signatures that became equal when
ignoring the names.
Use the version which has more default values in that case.
Some forgotten return types were added.
Change-Id: I200f10eb5742a595fafc3106a8e5fbc9a932c75b
Pick-to: 6.8
Task-number: PYSIDE-2846
Fixes: PYSIDE-2939
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Move finding of the smart pointer pointee class from the generator
into ApiExtractor.
Pick-to: 6.8
Task-number: PYSIDE-2946
Task-number: PYSIDE-1397
Change-Id: I622ce628f46bbcf07fa9690bc4438d8726fc5594
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Avoid topologically sorting lists < 2 elements
- Use algorithm
- Assign enumeration type (Qt guide lines)
Pick-to: 6.8
Task-number: PYSIDE-2946
Task-number: PYSIDE-1397
Change-Id: I3b45ff7fc6782b920d3192a11fab5b3dac133a6f
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The function QWidget.window() introduced by db81f0cb861bec320104e2ec4b312d973e0700fa was treated as optional, but
it isn't. Correction by the author.
Change-Id: Ie52cf2d3326d7b79f0b64c2b5e04ff182ae7977c
Pick-to: 6.8
Task-number: PYSIDE-2846
Task-number: PYSIDE-2440
Fixes: PYSIDE-2941
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
| |
Amends 262e2a6c2742eb9bb0887ae5cb7c2fb0a975f373.
Change-Id: I9bb17b0ed53982fccacbef5b78687491899c3f06
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Debian, Python 3.10 introduced some changes to the scheme
in the system, defaulting to 'posix_local' instead of the 'posix_user'
which was previously used, and is currently used in other Linux
distributions.
For example, these values got changed from (posix_user):
data = '/usr'
platlib = '/usr/lib/python3.10/site-packages'
purelib = '/usr/lib/python3.10/site-packages'
to (posix_local):
data = '/usr/local'
platlib = '/usr/lib/python3.10/dist-packages'
purelib = '/usr/lib/python3.10/dist-packages'
This change forces the usage of the 'posix_user' scheme.
Fixes: PYSIDE-2003
Pick-to: 6.8
Change-Id: Ice0ca9adc37c2652f5ef6ce9e0aec0f2f324206b
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.8
Change-Id: I35beb0cd1869df890238f8a0f011c05455a704a3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix some oversights of previous changes:
- Bump limited API
- Fix CMake files
- Remove outdated version checks from Python code
- Adapt some documentation
Pick-to: 6.8
Task-number: PYSIDE-2943
Change-Id: Id8d9c4c6bb0629948de28beb3c4274991f84ff08
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.8
Task-number: PYSIDE-2943
Change-Id: Iaf02a21112e3d8b89fa6396481afd584a14bd952
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Complements ad5eb64daaaa1b927bcbf9e568738f417fef845f.
Add a doc-file attribute to complex type entries
(object/value/namespaces) like it was done for enums and free
functions by ad5eb64daaaa1b927bcbf9e568738f417fef845f.
This is mainly intended for namespaces that can be extended by other
modules.
Change the functions to parse WebXML to accept lists of files. Improve
the error message about not finding qdoc files.
Pick-to: 6.8
Task-number: PYSIDE-2918
Task-number: PYSIDE-1106
Change-Id: I2811e0715b7f44a4461876019580295f5af4ea06
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
- Use nullptr
- Remove C-style casts
- Streamline code, using AutoDecRef
Pick-to: 6.8
Change-Id: Ib583269f75bce7a2bd44758a3b75842197f5ea97
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support properties by allowing keyword-only parameters
in the __init__ functions. The support for snake case
properties is now implemented.
As a drive-by: The dictionary access to type_map was
re-optimized by using a string-only dict again.
Snake case computation was optimized to use C++, only.
Change-Id: I9285c6d51e1129126f799ca7523028de32c9e6f3
Pick-to: 6.8
Task-number: PYSIDE-1019
Task-number: PYSIDE-2846
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Tighten the check for virtual overrides by checking for virtual
methods instead of just a virtual destructor. Make the AttroCheck flag
the authoritative flag to check for the method cache,
used in the helper useOverrideCaching().
Task-number: PYSIDE-2701
Pick-to: 6.8
Change-Id: Id8714c32fa1af748f288b4868d242993500c84ae
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Move the entire flag instead of the previously used boolean flag
indicating a mixture of static and normal methods into the cache
structure.
Pick-to: 6.8
Task-number: PYSIDE-2701
Change-Id: Iac4f86678fccf5bd30ce6a943cb07abdf3f5660c
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support properties by allowing keyword-only parameters
in the __init__ functions.
Mapping was not extended but even reduced by a
new parser.py algorithm that solves unknown imports.
[ChangeLog][PySide6] Type hints now show property
support in the constructors.
Change-Id: If7f2c342fafa106f405201a0ba96503fe495a314
Pick-to: 6.8
Task-number: PYSIDE-1019
Task-number: PYSIDE-2846
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
This change would have been very simple (basically one constant)
if there were not mypy which needed more effort to stay correct.
Change-Id: I464b0522f9d174c5a302f85caf2fcbe202dcaed2
Pick-to: 6.8
Fixes: PYSIDE-2624
Task-number: PYSIDE-2846
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
missing
In some cases, the Qt headers do not have parameter names.
Use the ones from the WebXML documents in that case.
Pick-to: 6.8
Task-numer: PYSIDE-1106
Change-Id: I719a4fb09b9fbef9fc734036e3f53c02376a5d5f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
While working on property support in PYI files, an error occurred
when trying module Qt3DRender interactively.
It turned out that there is a wrong assumption in basewrapper.cpp
that leads to a crash when trying the interactive shell.
Change-Id: Ie8afbbb5fb8105010774c6824e7d01aaaf2d8e27
Pick-to: 6.8
Task-number: PYSIDE-2846
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
| |
It brings some clarity to the documentation.
Pick-to: 6.8
Change-Id: I8787e5d6a3ceedcd91442e0e1f9561dbea657d7c
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Initialize m_PyMethodCache by member initialization rather
than in the constructor since the header generator also
generates a fully inlined constructor from the original object
where the call was forgotten.
As a drive-by, drop the comment meant to separate snippets.
Pick-to: 6.8
Change-Id: Ia9af5d9227cc40d40b61bd6b3a716169442964a7
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is a continuation of the previous patches that were
replacing the usage of macros for: lists, tuple, bytes, and float
in the code, by the equivalent functions.
[ChangeLog][PySide6] For the limited api builds (wheels) PySide had in
place aliases from Python macros to their function equivalent. This is
now removed, in favor of using the functions directly.
Change-Id: I838bebac80067e3094b2a0dfadd1614f9644f7ca
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Avoid duplicated wrapper map lookups and repeated calls to
BindingManager::instance().
Pick-to: 6.8
Task-number: PYSIDE-2854
Change-Id: I10445102d9cb3c2c8b9159b715b6e8cca49971a8
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
| |
functions
Pick-to: 6.8
Task-number: PYSIDE-2701
Change-Id: Ic31029586fd2265bbab99777a54d6fd247581c26
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit ee017da5e5848ac82fbf427b479641b16e68a225.
The offending test is now skipped.
Pick-to: 6.8
Task-number: PYSIDE-2854
Change-Id: Ia6886ba911c191943f199dc4c3a72b71c6708f48
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The clang parser on macOS was not seeing namespace std for
std::optional. Add the system include <optional> to fix this.
This however unveils a problem with "T &std::optional::value()", which
returns a reference to the contained value instead of the value as
done by the synthesized function. The reference is handled as a
pointer conversion for object types and the std::optional itself
instead of the value is returned since it is found in the instance map
at the address (unhandled in findColocatedChild()).
Skip the test for the time being.
Pick-to: 6.8
Task-number: PYSIDE-2854
Change-Id: Ifcb65643ff0a39c060fb329933a1e6949ed8777c
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
| |
Change-Id: I7d22571e97e9bbbca663783aaa480b21e1bc991c
Pick-to: 6.8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
| |
Change-Id: Ic1e0760f6db430934fed93a931304b0151638dab
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some signatures should return optional which are marked
as such, others are not marked at all.
Maintain a set of functions with missing Optional[result]
signature.
Change-Id: Ia27f07cf295bc216c3545ed6f735983cf7324317
Fixes: PYSIDE-2440
Task-number: PYSIDE-2846
Pick-to: 6.8
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The other missing things are sequence and mapping methods
which need some more support from cppgenerator. Will be
added later.
typing.Self is only known since Python 3.11 .
We emulate that by patching it into typing and adjusting
the Python version for mypy.
Task-number: PYSIDE-2846
Change-Id: Icb1060c7bba355061d8f134c8e76fb14369d7dda
Pick-to: 6.8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
| |
Removing temporary macro used for limited api compatibility.
Change-Id: If55d21805f4c05a149af5fb432dd24edbf2fea03
Pick-to: 6.8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Remove old macros usages for the Limited API compatibility,
and doing some refactorings to their usages.
Change-Id: I10d675a1831d26b3fc878151e3a6ec40c5caddb1
Pick-to: 6.8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
macros
Removing old macros for compatibility with the limited api,
and refactoring some of their usages
Change-Id: I33954199d2ef9884c64b963863b97aed851c440f
Pick-to: 6.8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Removing old compatibility macros for the initial limited api
implementation.
Change-Id: Iced149450bd9bda18e43ac0acea0061cdcdb211e
Pick-to: 6.8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PySequence_Fast_GET_SIZE is defined as:
(PyList_Check(o) ? PyList_GET_SIZE(o) : PyTuple_GET_SIZE(o))
and when using the Limited API we re-define the _GET_SIZE macro
to be the _Size function, and considering this is our standard
use case, the macro could be replaced directly by the function.
Replacing also some cases were int was used instead of Py_ssize_t
when using PySequence_Size.
Pick-to: 6.8
Change-Id: I31aecd571a1d8ea82a3441f0b9e16ee19f026b05
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PySequence_Fast_GET_ITEM is defined as:
(PyList_Check(o) ? PyList_GET_ITEM(o, i) : PyTuple_GET_ITEM(o, i))
and when using the Limited API we re-define the _GET_ITEM macro
to be the _GetItem function, and considering this is our standard
use case, the macro could be replaced directly by the function.
However, the function returns a new reference, so we need to manually
drecrease a reference after the usage, to avoid reference counting
issues.
Change-Id: If361e80b9e40b033e009ad46b2b9430e5b4c8eaa
Pick-to: 6.8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
They were not supported, like some other dunder methods as well.
Support for them will be added in another step.
Remarkable: The mypy error handling worked without change.
Change-Id: Ia384742ef0c5063ddfbf14257a0503fccff67099
Fixes: PYSIDE-2915
Task-number: PYSIDE-2846
Pick-to: 6.8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Remove some unneeded reinterpret_cast<>, localize variables,
fix integer type.
Pick-to: 6.8
Task-number: PYSIDE-2916
Change-Id: Ie6e2504b138c7910195850cd6a5283eee43f42f1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Addressing a few comments from tests that were related
to the Python 2 compatibility.
Pick-to: 6.8
Change-Id: I88c614549cfb91f879fe3e0d82a6988362e0ce19
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|