| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Adapt CMake files, build scripts, tests and examples.
Task-number: PYSIDE-904
Change-Id: I845f7b006e9ad274fed5444ec4c1f9dbe176ff88
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
This change affects mostly only my own sources which were
prepared for the migration to Python 3.6 .
Task-number: PYSIDE-904
Change-Id: I0c2cd59f6f625f51f876099c33005ac70ca39db9
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: Ia59b552467a58c1e7b791f5cafee571cd3c867bb
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
Following 430d02db24b95a56ae0acc6a9df6a0effe49da0d,
base them on libminimal.
Change-Id: I722a73e6f45344cbc91fb044bdf1f015bdff5ec2
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
After 62c21af778b7bff6c86e7f89ef03a87efa6c51cb,
the annotation defines for Qt are no longer required.
Change-Id: Ib3746257992073850a324fb1de77a484aa36d6b6
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tools directory was brought back as sources/pyside-tools
and currently only holds the pyside_tool.py script to create
the entry points for rcc and uic.
Since the submodule is not present anymore, we remove also
the reference from the testing step.
Change-Id: I0bfa4509d44c9bd2a3e5fbf4ddb7fff7a2750f4d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QList<T> member functions taking a T parameter are no longer
seen by the code parser since they take a parameter_type which
is specialized to be T or const T & depending on T.
Declare them instead. Similar, change QPolygon::operator<<(T)
to add-function.
This fixes several PySide tests that rely on those functions
(qpolygon and others).
Task-number: PYSIDE-904
Task-number: PYSIDE-1339
Change-Id: Ic1157f384f86b796cc5c7bc06a934a63649d74be
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Give the type a parse stack entry. Previously, they ended
up in the global functions.
Task-number: PYSIDE-904
Task-number: PYSIDE-1339
Change-Id: Ie62dbc0e21ff4c81ef22f98973ab20c3cd85e03a
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Make it possible to simply declare functions that the code
parser cannot see.
Task-number: PYSIDE-904
Task-number: PYSIDE-1339
Change-Id: If50bc0f1fc77a63e753b6fa440e6f08dd312ce4c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the same functionality that is used for argument type parsing of
functions from the code model, which has a more powerful type search.
This will for example enable specifying class template arguments
(like QList::append(T)).
Move the error handling from translateTypeStatic(TypeInfo,...)
to the findTypeEntries() function, extracting a helper
for the search, and use this in
translateType(AddedFunction::TypeInfo,...).
Task-number: PYSIDE-904
Task-number: PYSIDE-1339
Change-Id: I34428d76e811c3b1444a4d2ded0606e67c4dcf57
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
QT_INCLUDE_DIR obtained from Qt6::Core's INTERFACE_INCLUDE_DIRECTORIES
contains a ';'-separated list of directories, which caused the shiboken
doc run to fail. Iterate over the list to determine the root
include directory.
Change-Id: I5c639b59fc614e92430999fdbb800063131f7d6d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ife968831c695f1982f9d0ed1157f9128331a700e
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qtbase/f7f1a71ea41579c1ff86c08c16b82e4c84bc891f changed some operators
to be hidden friends, which causes them to become invisible.
Detecting them requires parsing friend declarations and turning on
parsing of function bodies for clang_isCursorDefinition() being able
to tell a definition.
Fixes a number of tests failing (qlinef_test, qsize_test, repr_test,
unaryoperator_test).
Change-Id: I4d3107181b942efebd785cfae7c3fd1b6f0963ac
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
Adapt CMake files, build scripts, tests and examples.
Task-number: PYSIDE-904
Change-Id: I4cb5ee4c8df539546014b08202a7b1e98ed3ff07
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: I39210642a96e98328d193f4e81ecad82b496d6c9
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It will be assumed that Python is always Python 3.
All checks for Python 2 are removed.
This is the second part of cleaning up the C code
from references to Python 2.
Task-number: PYSIDE-904
Change-Id: I3006412c2a5bb65402101b0aac5a5f2fc79ce2f8
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It will be assumed that Python is always Python 3.
All checks for Python 2 are removed.
This is the first part of cleaning up the Python code.
We will then also clean the C code.
Task-number: PYSIDE-904
Change-Id: I06050a8c1a18a19583f551b61775833a91673f4e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
Usage of the enum causes deprecation warnings. In addition,
it is not clear why the type was there given that QVariant
is not exposed. Remove the converters.
Change-Id: I5b1f12ee0f869a63e6b7d82afdcb58a5d7062ce6
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: I0e84b56ce354f3c88cb05a5818e80a28210d888b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After implementing property objects for PySide, the static
properties (properties for static functions) were quite missing,
for instance from QtCore.QCoreApplication and
QtWidgets.QApplication .
This implementation uses the normal Python properties and derives
a PySide.ClassProperty class which works almost the same on classes.
The static methods had to be mutated to class methods explicitly.
That would be automated by PyType_Ready, but here we are doing this
after class initialization.
Task-number: PYSIDE-1019
Change-Id: Iabe00be18e25881cc7a97507b6fdae3e2d57ff7a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
Make it possible to disable the generation of a C++ wrapper
in case that poses some problem.
Task-number: PYSIDE-1202
Change-Id: Id0d557e4d4a57cf537be8fb398161aea3a16e174
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
It does not make sense to move it around in each major version.
Task-number: PYSIDE-904
Change-Id: If83b1dcaf04ed5a76f35073aa63c7ef6b456936a
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to AbstractMetaType, AbstractMetaArgument was previously
kept as a raw pointer. The data were copied numerous times by
AbstractMetaArgument::copy() when adding the inherited functions to a
AbstractMetaClass.
Similar to what was done for AbstractMetaType in
6cad0686101b252cfdbd1a6768a2b02c39aa1d8a, change the type to be based
on QSharedData[Pointer]. It can then be passed around and treated like
a C++ value type, with Qt sharing the data when possible behind the
scenes.
* Remove inheritance from AbstractMetaVariable by moving
the fields over.
* Remove the unused field m_originalName.
Change-Id: Ic9e476ca71e163de131fbecc267d0a4e336cb0b9
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
a type id
Rewrite the helper QVariant_resolveMetaType() to return a QMetaType.
Change-Id: Ifa3994ea0c23149bd925e4a422f19e98e742d97f
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
Build the QVariant from the QMetaType, fixing warning like:
libpyside/pysidemetafunction.cpp:186:64: warning: ‘Type’ is deprecated: Use QMetaType::Type instead. [-Wdeprecated-declarations]
/libpyside/pysidemetafunction.cpp:186:77: warning: ‘QVariant::QVariant(QVariant::Type)’ is deprecated: Use the constructor taking a QMetaType instead. [-Wdeprecated-declarations]
Change-Id: I5c9c4d775ef58ecf17326c112c5130c43fe1a09b
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
| |
It is required for further refactorings.
Change-Id: Ied5c73494546f3345cc76d2c9f1a808b7c5ee1e0
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
| |
Bail out on invalid types whose type entry is 0.
Change-Id: I088c6f2d3374603266c3804279152e468a754312
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
| |
Return a struct instead of a plain list from
Graph::topologicalSort() which contains the offending indexes and
output the elements in case of failure.
Task-number: PYSIDE-1202
Change-Id: Ib7f70c78be0e84272f31d802677c7fc333aa32f4
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Typedefs of template parameters like
template <class T> class QList
{
using reference = T&;
are reported as "type-parameter-0-0" by clang. Resolve that to the
proper name of the template parameter in the clang builder. Also,
these typeinfo results must not be cached since the same CXType is
used for parameters of unrelated templates. Rename the
createTypeInfoHelper() function to createTypeInfoUncached() for
clarity and introduce a cacheable parameter.
Change-Id: I2b21a4dfdd8d86cf36497832837c21f37cb86518
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
Return the functions directly, fixing (g++ 9.3.0):
sources/pyside2/libpyside/pysideproperty.cpp:331:42: warning: offsetof within non-standard-layout type ‘PySidePropertyPrivate’ is conditionally-supported [-Winvalid-offsetof]
Pick-to: 5.15
Change-Id: I98f57d05c4c4163e06431c579537b4db01c656e6
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, shiboken2 kept AbstractMetaType by a raw pointer. The data
were copied numerous times by AbstractMetaType::copy() when adding the
inherited functions to a AbstractMetaClass or specializing templates,
sometimes with a bool flag indicating ownership.
To get rid of the copies and ownership issues, change the type
to be based on QSharedData[Pointer]. It can then be passed
around and treated like a C++ value type, with Qt sharing the
data when possible behind the scenes.
- Extract AbstractMetaType to a separate header/source
- Remove unused AbstractMetaType::setInstantiationInCpp()
- Remove unused member m_package
- Rewrite the comparison of AbstractMetaType which
becomes relevant for checking/detaching to do a complete
comparison. It was previously unused, intended for
a different implementation of view types with special cases.
- Rework debug formatting
- Invalid meta types are indicated by the "Invalid" usage pattern
instead of null pointers
Change-Id: Ic4b1feecafb4f0355f39e178c2703b104e45cf6c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
Equivalent to QML_ELEMENT in C++, this enables users to register classes
for use in QML by using the QmlElement decorator.
Change-Id: I697e486ef58b18cce4c310e4b556e28735a16d45
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|\
| |
| |
| | |
Change-Id: I68ec1e4b80fcc8c395eacb7d5046fdd8e00535e0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Updated test to accept base types derived using std::shared_ptr;
* Generate new coode to be able to convert smart pointers into shared
pointers of base class.
Functions that accepts SharedPointer<A> as argument should be able to
accept SharedPointer<B> if B is derived from A.
Task-number: PYSIDE-1397
Change-Id: I7e5235980daaf4651dad3ab1c880373f1c64e134
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I8831b840fa7816b8919ecbaab17b41822a0a6012
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-487
Change-Id: Ic5d15d67b821eff5cb59727ce2d749e6aa848441
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Register the correct name for smart pointers.
Change-Id: If12701901319b0578602ff5b5ab8eecad820d969
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Add the missing call to decideUsagePattern().
Change-Id: Ibfe07afa3f830cefc953b8702aeca57e2b615f36
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* add new way of building rst-only documentation
* Updating recommended libclang for 5.15
* recommending python 3.5+
* link commercial license
* Show videos as grid
* changing title of a tutorial to be more specific
* add missing step to build only shiboken
* add venv as an option before virtualenv
* add problem on windows and python 3.8.0
* add section to create a virtual environment
* only show titles of tutorials to avoid having a long page
Change-Id: Iebb99d2cd776c3d5b72dc44153f325f74a1626cc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure that we have copy constructor for SharedPtr with derived
types.
This will be necessary for test SharedPtr implicit conversions.
Task-number: PYSIDE-1397
Change-Id: Ic970c84bef025403a0fbef79dce97433254d2f56
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Iaabea628351fac9da88b5779b537f62262ff82a7
|
| |
| |
| |
| |
| |
| |
| | |
Use constFirst/Last() instead of first()/last().
Change-Id: I3e7c72e3ab72b86565eea087b470f2a51b2999f8
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The test uses "ushort" as a type name, which is apparently
pulled from some header with increased language level.
Use a real custom name to circumvent this.
Change-Id: I6f3ba16d8f25f5b12edcfd53b1397de9f7c1d583
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do not consider RValue-references as invalid types;
this causes an assert crash by 556c13f39244b4eb75638cd8f4434167eadf0c98.
They are filtered out later.
Change-Id: I6c477bb8319aa99ad73ff9a002ec11992a9ac538
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce new values for the pattern enum representing
template parameters, which were previously invalid and add
a missing call to decideUsagePattern().
Change-Id: I7edeb80a67ab1edfe895e96311d54c9128fad5a3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This lays the foundation for adding further specializations
of QFuture and QFutureWatcher to dependent modules.
Task-number: PYSIDE-1202
Change-Id: I82f9940db9d50ced95d4e1388c6460c6efc0469b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qtbase/d4b206b246caf9b49110526585693ab629609d99 split QMutex and
QRecursiveMutex which inherited from each other in Qt 5 into
separate classes and changed QMutexLocker into a template.
This could only be represented by separate types in Python.
To work around this, reconstruct a QMutexLocker with the common API
into an invisible namespace for generating the bindings.
Task-number: PYSIDE-1339
Task-number: PYSIDE-904
Change-Id: I776250f91dfed9985f2a8a5705b26f782a20bbd9
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I27beffe4a6e2fc2f818960c3b9f5ffbfaac4a670
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adding a specialization of template type ValueWithUnit from libsample
to libother would fail since the SBK index array of libsample would
be used with the index from libother for it.
Build up the inheritance for typesystem typedefs early on and add
a lookup which matches the template specializations found during
traversing functions to the type def and the class that is
generated for it so that it can be used.
As a side effect, special case entries for template
specializations can be deleted from the signature mappings since
they change to the class name and thus are normal types.
Task-number: PYSIDE-1202
Change-Id: I5cc9650f70e9dc975171c80919685ebf5e752749
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Split the code adding the specialized template functions from
AbstractMetaBuilderPrivate::inheritTemplate() into a separate function.
The part setting up the base classes can then be called at an
earlier stage so that it is known when traversing the functions.
Task-number: PYSIDE-1202
Change-Id: I958d357b78572c9b5130dbe1bf517d2af82a6f1a
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|