| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
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_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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Referencing inner classes like QByteArray::FromBase64Result did not
properly work due to the inner classes being generated to separate
documentation pages.
Change this such that inner classes are nested into the documentation
of the outer class.
The problem though is that this causes excessively long pages for Qt
modules with namespaces like Qt3D/QtDataVisualization (all
deprecated). For them, a type system attribute is added to keep the
old behavior.
Pick-to: 6.8
Task-number: PYSIDE-1106
Change-Id: I51330afa739027c28930af3902b83b1e762b92ef
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
The warning was printed for each module including the class;
print it only when code is to be generated.
Amends c512b506b565578770c671b11afb78427ca8d012 .
Change-Id: Ie5e3683a646a9634caaaa0a5e90a6f147174485e
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Strip parameters of type Qt::Disambiguated_t similar to
QPrivateSignal (see qtbase/0a3ff697380555538a0d035b768ddf10f772b55a).
As this becomes more and more common, it saves
the work of declaring those functions.
Change-Id: I973b47ddcfa3ac40795885da0f4001a95ad108fd
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make it possible to specify an alternate doc-package for locating the
WebXML files generated by qdoc. For example the documentation of the
QtMultimediaWidgets module is generated into the QtMultimedia module.
This became a problem after the module split
qttools/c51980bb0d9658f2ade4de1900d07b08e88cb52d.
Task-number: QTBUG-77650
Task-number: PYSIDE-2620
Task-number: PYSIDE-1106
Change-Id: I09ab50f7e3b56c0a7d0f2e94e593a8d5e83b2001
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Complements 752c1161d75f8c01e2c6c6b07ba02e9a62e65b10.
Task-number: QTBUG-77650
Task-number: PYSIDE-2620
Task-number: PYSIDE-1106
Change-Id: If6865f2db8ebc8fb40894603c57ec13e7b26bced
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
This is useful for resolving images. Use it for the module
documentation.
Task-number: QTBUG-77650
Task-number: PYSIDE-2620
Task-number: PYSIDE-1106
Change-Id: Ib7843541af75aa179ac7d862fc30351f69f550ed
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After the split of the WebXML output directories by
qttools/c51980bb0d9658f2ade4de1900d07b08e88cb52d, the images of the
overviews were no longer found by the previous algorithm.
To fix this, move the copying of images from the WebXML output
directories to doc/base from QtXmlToSphinx to QtDocGenerator.
QtXmlToSphinx now merely collects image hrefs and the context and
QtDocGenerator later resolves them in one go, first trying to resolve
relative to the source documents. The old algorithm resolving by
context/module is then only a fallback for rare cases of injected
documents.
Complements 752c1161d75f8c01e2c6c6b07ba02e9a62e65b10.
Task-number: QTBUG-77650
Task-number: PYSIDE-2620
Task-number: PYSIDE-1106
Change-Id: Icd192bf2a9e235c923e3f90a3a5554c2314f94f2
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
(doxygen/qdoc)
As a drive-by skip private fields in doxygen instead of quitting.
Task-number: PYSIDE-2620
Task-number: PYSIDE-1106
Change-Id: Ieb488e6168d736aa1b11e2737eb118fdb3f485cd
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
It should now be disabled in qtbase by
2f4680d14308e02bd52abbb81b6c9ae68febe818.
Task-number: QTBUG-128675
Task-number: PYSIDE-2620
Change-Id: I2a3052bd22a208e91a1eb2cc5f46f5131459b7cb
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
- Remove inline from inlined functions, fixing [readability-redundant-inline-specifier]
- Do not call parameterless base constructors, fixing [readability-redundant-member-init]
- Use nullptr [modernize-use-nullptr]
- Remove unneeded reinterpret_cast<>()
- Fix some warnings about uninitialized variables [cppcoreguidelines-init-variables]
Change-Id: I38e9ddc192556cf0d5770bd858b240f013c97c79
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Adapt to qttools/c51980bb0d9658f2ade4de1900d07b08e88cb52d.
Task-number: QTBUG-77650
Task-number: PYSIDE-2620
Change-Id: Icc083c9b3d768093f45caa5d7a3c54aec5eb2d4f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: PYSIDE-2620
Task-number: QTBUG-125719
Change-Id: I6efeb1770c9bd7cddc3dbd91ca6294b9fddc9cc9
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fullname field has been removed, and the signature
structures can be optionally compressed.
Add a build option for switching these and future compiler
features off.
Combinable flags:
--unoptimize=fullname
--unoptimize=compression
--unoptimize=folding (to be implemented)
or just
--unoptimize=all
Task-number: PYSIDE-2701
Change-Id: I605dc810542ce99f99d9a6b6432e5feae09273b4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Do not add space before parameter names in case of
pointers/references, for example: "foo(const QString & name)". This
mainly affects error messages and comments in generated code.
Pick-to: 6.7
Change-Id: I1c00d9b731206e1a24b3d25689851276596121be
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
| |
The condition was apparently the wrong way around.
Change-Id: I93c489d48206cffbf7fe023ef2defe1ae861b53e
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Fixes non-unity build compilation error in anystringview_helpers.h
(missing qsizetype). Amends 16098891ad21c2ba984582a1de770e49f961f22b.
Pick-to: 6.7
Task-number: PYSIDE-2792
Fixes: PYSIDE-2804
Change-Id: Ia6d08ce162c66464da5325f53fa564c7a3c6cce6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Move the functionality to register partially qualified names
(previously in helper registerConverterInScopes() and elsewhere), to
register names with indirections, and to use typeid() into the
streamable class controlled by flags. Simplify the code accordingly.
This requires adding indexOf() to the helpers for QAnyStringView.
Task-number: PYSIDE-2792
Change-Id: I7af0d8333e3c417e03f6615b471dc7220c95d388
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
| |
Change-Id: Ic85973e29870456bf422a3ac75fd9d68524ad886
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Initialize variables
- Use auto *
- Use const references to prevent copies
- Remove const from function returns
- Remove repeated return types
- Fix else after return/throw
- Make functions const/static where appropriate
- Add missing override
- Fix some invocations of static methods
- Fix some int types (qsizetype) to avoid lossy conversions
- Minor cleanups
- Remove some macros
Change-Id: I414b8451703b136f135383289de49e743e84fb3a
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Return a shared ptr to function from
AbstractMetaBuilderPrivate::traverseFunction(), avoiding
leaks when a function is not used.
Pick-to: 6.7
Change-Id: I2fd215a25301fa6773f589bb3f085cf4c1febdd7
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Amends c7c7dc9ba6da83f26d2ecda33a9af58d3f8f5f20,
11afd18d34c17a345315d226b6124dc1fd31d12c and
28d04cae204881392ddc0826a570d05ba82c5ee0.
Pick-to: 6.7
Task-number: PYSIDE-2404
Task-number: PYSIDE-2768
Change-Id: I7caed5c4bddfaa594dfb692d5e087e0c88208e3e
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
namespace
Previously, named instances of smart pointers from the std namespace
would always end up in namespace std, too. Make it possible to prefix
the names by "::", indicating global namespace.
Change-Id: I45d7d7defa156730ed80c4b21bcc3c515b5ece74
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Move PySide6-related logic to the doc generator.
Prepares for adapting to
qttools/c51980bb0d9658f2ade4de1900d07b08e88cb52d.
Task-number: QTBUG-119500
Task-number: PYSIDE-2620
Change-Id: I994bd3c159654e133d71ee7fac3725ffed47c52c
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the smart pointer specialization name if one can be found.
Move findSmartPointerInstantiation() from CppGenerator to
ApiExtractorResult and add a CppGenerator::pythonSignature() wrapping
around AbstractMetaType:::pythonSignature() (which does not know
about instantiations).
[ChangeLog][shiboken6] Signatures of smart pointer parameters have
been fixed.
Task-number: PYSIDE-2768
Pick-to: 6.7
Change-Id: I99c54067366dd98c2e23f94192ee220f05f14e23
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Set the correct parent entry on the smart pointer instantiation type entry.
This allows for removing a special case in the source generator and
namespaces will be correctly reflected. It is also the prerequisite
for a follow-up change making it possible to use global namespaces for
smart pointers in namespaces.
Also remove the setting of the enclosing class and the associated flag
InheritTemplateFlag::SetEnclosingClass from
AbstractMetaBuilderPrivate::inheritTemplate(). Instead, always set the
enclosing class in ApiExtractorPrivate::addInstantiatedSmartPointer()
instead, depending on the type of the parent entry.
Task-number: PYSIDE-2404
Task-number: PYSIDE-2768
Pick-to: 6.7
Change-Id: I921e255c2ceaeb9eaf84e5ac1c4953bcf7d09b57
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
manylinux_2_28_x86_64
llvm-config --libdir reports /usr/lib64 on manylinux_2_28_x86_64
whereas the includes are under /usr/lib/clang/../include.
Fixes: PYSIDE-2769
Pick-to: 6.7
Change-Id: I217d6bf62bbd2e63258b91d64fb9c0fe5f1ff052
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: PYSIDE-2769
Pick-to: 6.7
Change-Id: I73fee8b893d8167ee3acd99ef39ae25f8d388de1
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
| |
Change-Id: If7dafe4e23727f822e26307bedbb46bfaf9c0655
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sequence
Enums have an __iter__ attribute, which causes them to match in
Shiboken::checkIterable(). For example, when passing
a string and QDir::Filters to
QDirListing(QString,QDir::Filters)
QDirListing(QString,QStringList,QDir::Filters={})
the second overload will be picked. Since this is not intended,
introduce a new check function Shiboken::checkIterableArgument(),
which excludes enums.
[ChangeLog][shiboken6] Enumerations will no longer match
in function argument checks for "PySequence".
Task-number: PYSIDE-2620
Change-Id: I6285b6fa1f4f7f8b19e162c5031409f4c3fe3983
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
template
Change qtbase/ab0b2a490eb98f3216403e87e4ea108a10fbeed2 removes
QObject inheritance from QSignalSpy, making the QList<QVariantList>
the first base class. Do not specialize this as it leads to errors
later on when determining the instantiated templates.
Split out the code for template parameters from inheritTemplate()
to a separate helper function inheritTemplateParameter() and add
error messages.
Task-number: PYSIDE-2620
Pick-to: 6.7
Change-Id: I6b45d0293036b7a9177fab4d26d3e7e79d5799e6
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When calling introduceWrapperType(), the generated
code creates and leaks a tuple of base types if there
are base classes. When there are no base classes, a
tuple (containing SbkObjectType) is created and leaked
within introduceWrapperType().
To fix this, generate the complete tuple including
SbkObjectType in the generated code and remove the
base type parameter to introduceWrapperType().
Pick-to: 6.7
Task-number: PYSIDE-1617
Change-Id: Ib3bec8e6b94bea14a46df826667373d3f859dfd5
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Introduce "Python override" as a special type of user-added function
which will cause a function calling a Python override into the native
wrapper. This can then be called from a virtual that has a signature
which cannot be handled in Python.
Fixes: PYSIDE-2602
Pick-to: 6.7
Change-Id: I5fc44ebe3f585078e87d3230d5e6f4faa67a4ee1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Make it possible to inject code before the Python override is called.
Task-number: PYSIDE-2602
Pick-to: 6.7
Change-Id: I0e5b4ced34ae8b41df5acdb34912b853f60b372f
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Amends 5b8ce393310ed9b6ffa4b0add29d1bb164e37baa, which broke
a condition setting AbstractMetaClass::hasNonPrivateConstructor
which needs to take into account copy constructors.
Pick-to: 6.7
Task-number: PYSIDE-2602
Change-Id: Iba4a8070a984a5306fe5c73bf77bee0777719bb3
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
| |
Check the return value.
Pick-to: 6.7
Change-Id: Iccbdbc033e25ee997c3d0904d8af0903c0dc319e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|