aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PySide6: Add QLocale::LanguageCodeTypeHEADdevFriedemann Kleint6 hours1-0/+1
| | | | | | | | Adapt to qtbase/4f53c703e40bea3203259c212c54dc4816c08b09. Task-number: QTBUG-98129 Change-Id: I312c19057fb5419a780e0b925a400008f766ebbb Reviewed-by: Christian Tismer <tismer@stackless.com>
* generate dev snapshot with 6.3.0Cristián Maureira-Fredes10 hours2-2/+2
| | | | | | | | | The snapshots were still using 6.0.0a even though we are currently planing 6.3.0 Change-Id: Idb06f7e623aa7a7dfc187795137ce35be0db5b17 Reviewed-by: Simo Fält <simo.falt@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix examples/widgets/dialogs/classwizard.pyShyamnath Premnadh10 hours1-1/+1
| | | | | | | | - Changed str to QPixmap Pick-to: 6.2 Change-Id: I591fee0bf254e2c0c5684fc5982d5a3d57695e6d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Allow empty PRE_RELEASE_VERSION for release wheelsSimo Fält13 hours2-7/+7
| | | | | | | Change-Id: If53fb034ee0c62b25e9a672ff687a0e1f4c592f4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 1966aae5401de5129f571fdb5bb1d9b1e69ab143) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Long live pyside6-metaobjectdump!Friedemann Kleint26 hours13-10/+549
| | | | | | | | | Add a tool to print out the metatype information in JSON to be used as input for qmltyperegistrar. Task-number: PYSIDE-1709 Change-Id: Ie57feeeecc09b1a01aadcc08f7e529a16609b3a4 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add changelog 6.2.3Friedemann Kleint31 hours1-0/+56
| | | | | | Pick-to: 6.2 Change-Id: Ic854dd073a728dfba89f0a217d26c61c46ea6e0a Reviewed-by: Christian Tismer <tismer@stackless.com>
* Use Opaque container for OpenGL in the hellogl2 exampleFriedemann Kleint36 hours2-23/+10
| | | | | | Task-number: PYSIDE-1605 Change-Id: Ieefae548195c19ba9968b48c57d48a8255ed9633 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Automatically generate opaque containers for the specified typesFriedemann Kleint36 hours2-0/+33
| | | | | | | | | | | | | | | | | Previously, shiboken6 would only generate opaque containers if the instantiation is actually used in the module API. Change that to always generate them for the instantiation types from the respective module. [ChangeLog][shiboken6] Opaque containers are now always generated for the specified types. Task-number: PYSIDE-1605 Task-number: PYSIDE-1790 Change-Id: I21ce637712f2d1e21b7c7a04151c3b67fa7b28c0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Add data()/constData() to opaque containersFriedemann Kleint40 hours3-0/+42
| | | | | | | | | | | | | | Generate bindings for data()/constData() returning a buffer if the container supports it. This is useful for example for OpenGL. [ChangeLog][shiboken6] Bindings for data()/constData() were added to contiguous opaque containers. Task-number: PYSIDE-1605 Task-number: PYSIDE-1790 Change-Id: I0a4c9feeaff0e2b74de946e09ac01d7eb4119b9c Reviewed-by: Christian Tismer <tismer@stackless.com>
* examples: Turn most QPainter instances into context managersChristian Tismer2 days31-464/+388
| | | | | | | | | | | | | | | After the new context manager is in place, most of the examples benefit from moving QPainter into a `with` statement. The comments concerning PyPy could be removed, again. [ChangeLog][PySide6] The examples are updated to use the new context manager for QPainter. Task-number: PYSIDE-535 Change-Id: Idf7e1f734d549ed663383ffbb2416297ebb1e0c7 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PyPySide: Implement a context manager for QPainterChristian Tismer2 days3-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | Context managers existed in Python since 2005 (PEP 343). They were invented to support resource management for different Python implementations that cannot rely on immediate object destruction. PyPy is the first alternate Python implementation that can run PySide. QPainter does not work in PyPy without an explicit end() call. For convenience, we supply a context manager that handles this. Like in file I/O, we now prefer instead of painter = QPainter(paintable) the new indented form with QPainter(paintable) as painter: [ChangeLog][PySide6] QPainter has become a context manager. Using a with statement saves the need to call painter.end() . Task-number: PYSIDE-535 Change-Id: Ib8bebbe121dc08334d31c9663a1e5bc8042c3b62 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Examples: Fix example URLs and documentation warningsFriedemann Kleint2 days4-8/+5
| | | | | | | | | | | | | Fix: sources/pyside6/doc/examples/example_corelib__mimetypesbrowser.rst:4: WARNING: Unknown target name: "mime type browser example https://doc.qt.io/qt-6/qtcore-mimetypes-mimetypebrowser-example.html". sources/pyside6/doc/examples/example_multimedia__audiosource.rst:4: WARNING: Unknown target name: "audio source example https://doc-snapshots.qt.io/qt6-dev/qtmultimedia-multimedia-audiosource-example.html". sources/pyside6/doc/examples/example_widgets_tools_regularexpression.rst:4: WARNING: Unknown target name: "qregularexpression example https://doc.qt.io/qt-6/qtwidgets-tools-regularexpression-example.html". sources/pyside6/doc/examples/example_widgets_tools_regularexpression.rst:: WARNING: image file not readable: examples/regularexpression.png Pick-to: 6.2 Task-number: PYSIDE-841 Change-Id: I541df87560227d4361823b2948890fb2bf949d8e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add editable tree model exampleJaime Resano2 days8-0/+680
| | | | | | | | | | Ported from C++. Done-with: Friedemann Kleint <Friedemann.Kleint@qt.io> Done-with: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Pick-to: 6.2 Change-Id: I9336016daec01b0b0486fcd39fac20c6bbd08970 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Output class name in AbstractMetaFunction::debugSignature()Friedemann Kleint3 days1-0/+2
| | | | | | Pick-to: 6.2 Change-Id: I62baa8100f3f5176f2f65c2c101be25ee5650733 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Port the threadedqopenglwidget exampleFriedemann Kleint3 days7-0/+681
| | | | | | | Task-number: PYSIDE-841 Pick-to: 6.2 Change-Id: Ia394ab350ab04281e2227dc3af950913f44c6564 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PyPySide: fix a few more cases of QPainter without end()Christian Tismer3 days2-1/+4
| | | | | | | | | | | This will be replaced by a context manager, soon. Also, begin and end should not simply return a boolean but raise an exception when something serious broke. Task-number: PYSIDE-535 Change-Id: Ieb2f845a01105381aab539e04b964de7a551d739 Pick-to: 6.2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken6: Propagate final attribute from C++Friedemann Kleint3 days1-2/+3
| | | | | | | | | [ChangeLog][shiboken6] Classes marked as final in C++ are now created as final Python classes. Task-number: PYSIDE-1790 Change-Id: I8ca84fa0b3c267afbe98e15d5b87e759c068b29a Reviewed-by: Christian Tismer <tismer@stackless.com>
* Keyword and Default Arguments - DocumentationShyamnath Premnadh4 days2-5/+16
| | | | | | | | | | | | This patch augments the <add-function/> node documentation with examples on how to enable function prameters to be used as keyword arguments with default values. It also adds a short sentence to use the "rename" attribute of the <modify-argument/> node to enable keyword arguments for existing functions. Change-Id: Id5ea7bf8a0f6e3edab20acef1738a30d5673c164 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Fix broken if statement when setting allow-threadFriedemann Kleint4 days2-3/+3
| | | | | | | | | | | | | | allow-thread is unrelated to exception handling. Amends 099f3f46ca9ec1362f211278df4b3e4949b0a339. As a drive-by, rearrange the allow-thread such that "Unspecified" is 0. Pick-to: 6.2 5.15 Task-number: PYSIDE-931 Change-Id: I8cea3e6428ec1feecc358042e54e5a8185ddfbfa Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* PyPySide: handle QPainter correctly with GCChristian Tismer4 days22-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | While testing the examples with PyPy, a number of examples used QPainter without explicitly calling painter.end() and crashed. This works in standard Python, but leaves the painter open in other implementations, because the implicit deletion of objects when going out of scope does not work in the wrapper when garbage collection is used. Fixed by providing the missing painter.end() calls. This problem should finally be fixed by making QPainter a context manager. The same approach was taken by Python.org and the file open/close functions. The context manager was needed for implementations like IronPython, Jython and PyPy. [ChangeLog][PySide6] The examples were adapted to PyPy's need to close QPainter, explicitly. Eventually, we may turn this into a context manager. Change-Id: I18eeeff7df800bafce91a1e5c98c469aa3bcc41b Pick-to: 6.2 Task-number: PYSIDE-535 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* QFileDialog: allow threads with modal dialogsCristián Maureira-Fredes4 days1-0/+2
| | | | | | | | | | | The snippets that were used to get the return from a QFileDialog modal call was blocking, so we explicitly allow threads around the C++ call. Fixes: PYSIDE-1792 Pick-to: 6.2 Change-Id: Ifb06e8726fece6a9b8248bc91e7616101a8a99a2 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6/Type system parser: Use a QHash for element type lookupsFriedemann Kleint4 days1-9/+52
| | | | | | | | | | This allows for the reverse lookup, helping with error messages and debugging. Pick-to: 6.2 Task-number: PYSIDE-1766 Change-Id: I8d2a9db246e306042af34522c245fb11c151e892 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Add __repr__ to QEventsFriedemann Kleint7 days4-11/+119
| | | | | | | | | | | | | | Add a basic __repr__ function to QEvent that shows the type enumeration value. For QtGui, use the debug operator from qevent.h for the relevant events. Add a generic template for using QDebug with module name. [ChangeLog][PySide6] __repr__ functions for some QEvent-derived classes were added. Task-number: PYSIDE-1788 Pick-to: 6.2 Change-Id: I02aca4c98cf3ebd69558103c7d23660d1eb840fb Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* examples: Fix examples/widgets/richtext/textedit/textedit.pyChristian Tismer7 days1-4/+4
| | | | | | | | | | | | | | The function setUnifiedTitleAndToolBarOnMac is called without self prefix. Several imports were missing. This is probably a macOS code path which was untested. Change-Id: Idf96aea668f3822377e4deda74b53b18db150038 Pick-to: 6.2 Task-number: PYSIDE-535 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* examples: Fix state-machine/rogue/rogue.pyChristian Tismer7 days1-1/+1
| | | | | | | | | A variable "database" had to be "QFontDatabase". Task-number: PYSIDE-535 Change-Id: I7ccc6c51bdc071cdcfba7cb77fa93773a059f14c Pick-to: 6.2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Examples: Remove remaining qmlRegisterType()Friedemann Kleint8 days9-21/+52
| | | | | | | Pick-to: 6.2 Task-number: PYSIDE-841 Change-Id: I2c3f9b22a3c1fdc6ddbdd7f08db38db613274cfd Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* examples: Fix widgets/screenshot.pyChristian Tismer8 days1-1/+2
| | | | | | | | | | This example contained the ":=" operator which is not allowed in Python 3.7 . Task-number: PYSIDE-535 Pick-to: 6.2 Change-Id: I848c16456807a7a56bdfd80f7cf74e3a86e24e94 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* examples: Fix conversion omission in settingseditor.pyChristian Tismer9 days1-1/+1
| | | | | | | | | | | | A list entry was used as-is in a join expression without converting it to a string. This was found while testing examples with PyPy. Pick-to: 6.2 Task-number: PYSIDE-535 Change-Id: I4fa2f1cc10f3eb8027966a1946a940458d1526d4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* examples: Fix f-string in corelib/mimetypesbrowser.pyChristian Tismer9 days1-1/+1
| | | | | | | | | This was found while testing the examples with PyPy. Pick-to: 6.2 Task-number: PYSIDE-535 Change-Id: I75296f314c4411427cfd8bc509f242cd754dde91 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* libpyside: Move helper isCompiledMethod() to pysideutils.hFriedemann Kleint9 days7-9/+12
| | | | | | | | | | | It appears to be a general use helper function which could be useful outside signalmanager as well. Amends 56f66f128566bd08f027fee46bb42a6c4f57a26e. Task-number: PYSIDE-1755 Change-Id: I449243bb5d800ba4d271b3079ad394810d468312 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Adapt to new Multimedia-APIFriedemann Kleint10 days1-0/+3
| | | | | | | | | | | | | | | | | | - Add enum Loops to QMediaPlayer (qtmultimedia/23333fb4be2293ceaf129fec134ea687a30596d9) - Add enum RotationAngle to QVideoFrame (qtmultimedia/7fa8e82f1dcef6e983fbf25d7c07a1bc86957fea) - Add enum AudioChannelPosition to QAudioFormat (qtmultimedia/83e9c2d8c3b278bae81a6060cc1657a95250f1ee) Since the changes appear in 6.2, too (due to Multimedia being a tech-preview), add a pick-to. Task-number: QTBUG-95010 Pick-to: 6.2 Change-Id: Ie91250de143e8a77c2251aa25ab4c7665e4e8843 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Enable checking by patch versionFriedemann Kleint10 days1-1/+1
| | | | | | | | | | | The multimedia module in 6.2 still receives new API (due to Multimedia being a tech-preview). This requires checking by patch version. Pick-to: 6.2 Change-Id: I49e2ae746fdae10893ab4155e464a25ae8fcef6c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add new 6.3 APIFriedemann Kleint10 days2-0/+2
| | | | | | | | | | - Add enum TransportMedium to QNetworkInformation (qtbase/7fb855e175df6aa5937b00ea05312cf7ed323afa) - Add enum AceProcessingOption to QUrl (qtbase/4bf3010378b41148c1bd7ded51b15ffc00fc8af3) Change-Id: I8dbc3b2de43ddf2ba19a06dec0f8afbf12010b26 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add qmltyperegistrar/qmllintFriedemann Kleint10 days5-4/+18
| | | | | | | | | | | Add entry points for the tools from libexec or bin, respectively. [ChangeLog][PySide6] The tools pyside6-qmltyperegistrar and pyside6-qmllint have been added. Task-number: PYSIDE-1709 Change-Id: If578255cc2a0fda4171b1ed54f3a2e612e849964 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix warnings about QOperatingSystemVersionBaseFriedemann Kleint10 days1-2/+2
| | | | | | | | | | | | | | | | | | Since QOperatingSystemVersion has static public fields of type QOperatingSystemVersionBase, since qtbase/3446313c7a5cd6005089866a7b20c9f28e132a0a, it should be handled as a value type. Partially revert d0771feb7d6815ad1f2611c1accaa92e4aad73b5, making QOperatingSystemVersionBase a value type again, which is now possible due to the fixed handling of value types with protected constructors. Fix warning <frozen importlib._bootstrap>:219: RuntimeWarning: CopyCppToPython(): SbkConverter::copyToPython is null for "PySide6.QtCore.QOperatingSystemVersionBase". Change-Id: I21970af1a023fc34108435bf8981ba3df3b80139 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* shiboken6: Fix handling of value types with protected constructorsFriedemann Kleint10 days6-4/+17
| | | | | | | | | | | | | | | | | | Value types with some protected constructors (like QOperatingSystemVersionBase in 6.3) caused compile errors on Windows where the protected hack is disabled since non-accessible constructors were used. The check for isValueTypeWithCopyConstructorOnly() needs to be fixed to exclude protected constructors in case AvoidProtectedHack is set. Similarly, the visibility of the minimal default constructor needs to be checked. Add the AvoidProtectedHack setting to ApiExtractorResult for this purpose since it influences the API in a way. Pick-to: 6.2 Change-Id: Ifeab320b9391aa21c5b1de4d21d2d8276fe44d3f Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6/Type system parser: Handle native-to-target and vv in argument ↵Friedemann Kleint10 days2-34/+80
| | | | | | | | | | | | | | conversion rules Introduce new parser states and handle it accordingly in </native-to-target> and </target-to-native>. Use it in the sample tests. Pick-to: 6.2 Fixes: PYSIDE-1766 Change-Id: Id00dd3ad65799c497b008499c02fbf7ee2e5f856 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6/Type system parser: Purge empty code snippetsFriedemann Kleint10 days3-0/+34
| | | | | | | | | | | Newline characters in conjunction with <insert-template> cause empty snippets to be added. Add functions to purge them. Pick-to: 6.2 Task-number: PYSIDE-1766 Change-Id: I534de369b45c4e785a643f6539a5c7fb395909f2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Improve documentation - Opaque ContainersShyamnath Premnadh10 days1-0/+203
| | | | | | | | | | | | | | The usage of opaque-containers through the <container-type/> attribute is hard to understand from https://doc.qt.io/qtforpython/shiboken6/typesystem_containers.html This patch adds an example to create an opaque container from std::vector<int> in C++, and use/modify this opaque container through Python. Task-number: PYSIDE-1776 Change-Id: Ieb86e38e2d666ea67194b129e16c5a9809ddb619 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Safe distinction of Nuitka compiled methodsShyamnath Premnadh10 days10-11/+79
| | | | | | | | | | | | | | | | | | Adds an extra check to see if __code__ is present. As mentioned in PYSIDE-1755, Mocks are callable objects without __code__ attribute, unlike Python Method or Functions. However, a Mock also has im_func__ and im__self attributes. We made the assumption __code__ would be present if im_func and im_self are present, and this makes it fall under the category of a compiled method. This patch makes an extra check to see if __code__ is present. If it is not, then the Slot (here Mock) is considered as a callable method. Task-number: PYSIDE-1755 Pick-to: 6.2 Change-Id: If7e8f52dfb2409cd856eec0d0b41891d751d8a69 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Silence signature warning about QByteArrayViewFriedemann Kleint11 days1-0/+1
| | | | | | | Declare it to be equivalent to QByteArray. Change-Id: I836335a3f3f231ad57460391e706d1749f7e05ae Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Pass more generator options to the api extractorFriedemann Kleint11 days11-26/+79
| | | | | | | | | | | Introduce flags representing generator options and pass AvoidProtectedHack besides UsePySideExtensions. Move AvoidProtectedHack to the Generator base class for this purpose. Pick-to: 6.2 Change-Id: I170b5ace30057c4074d73afce3f88d086eb54775 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add documentation to the plot exampleFriedemann Kleint11 days2-0/+36
| | | | | | | | | Amends bce1bfb3af99aeb24259df34d662e8fcf072d3fd. Task-number: PYSIDE-1605 Task-number: PYSIDE-1776 Change-Id: I28d081d718995e42c1b8fd5341d0ba59c5ed7ca0 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6/Type system parser: Introduce a helper for the code snippetsFriedemann Kleint13 days2-69/+107
| | | | | | | | | | | | | | | | | | | Introduce a helper returning a parser state depending on the element stack and building on that, a helper which returns the code snippet to append to. This is used for character handling and <insert-template>. It also allows for removing StackElement::InjectCodeInFunction, which was a fake element for remembering that the code injection targets a function. Also, add all type entry code snippets directly to the type entry instead of temporarily storing them in StackElementContext::codeSnips. Use the latter for conversions only and rename it accordingly. Pick-to: 6.2 Task-number: PYSIDE-1766 Change-Id: I291ec2db58687fdf63c124ddde26165f8eb09856 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6/Type system parser: Simplify codeFriedemann Kleint13 days3-11/+10
| | | | | | | | | | Returning a reference from TypeEntry::codeSnips() allows for some simplification. Pick-to: 6.2 Task-number: PYSIDE-1766 Change-Id: I85bdd57ef3523083a95dbbafb36d8caf84282e03 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Regenerate the example ui filesFriedemann Kleint2022-01-148-33/+57
| | | | | | | | | Remove some star imports. Pick-to: 6.2 Task-number: PYSIDE-1773 Change-Id: I42e3034ae91bdc5779b6ed632fe4f5d234f060b0 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add a tool to regenerate the ui files of the PySide examplesFriedemann Kleint2022-01-141-0/+73
| | | | | | | | | Similar to ebf0259817956bf8932fb8f25e7ac90e6a7d7501. Pick-to: 6.2 Task-number: PYSIDE-1773 Change-Id: I93f36fc3203936d0617aa25085f3513df79ac97b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6/Type system parser: Remove class StackElementFriedemann Kleint2022-01-132-212/+211
| | | | | | | | | | | | | Change the ElementType enum to be a global enum class and replace the linked list of StackElement in the parser by a stack of the enum. Fix a broken parent check for inject documentation. Pick-to: 6.2 Task-number: PYSIDE-1766 Change-Id: I0d80713bcff3f6a7077998aae91841bb0785a7e5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6/Type system parser: Remove m_currentDroppedEntry pointerFriedemann Kleint2022-01-132-13/+6
| | | | | | | | | It is not needed since the parent pointer is preserved in m_current. Pick-to: 6.2 Task-number: PYSIDE-1766 Change-Id: Iafe1f55e413f04b59b77c3c337dd913e14d22f86 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6/Type system parser: Move type entry from StackElement into ↵Friedemann Kleint2022-01-132-104/+114
| | | | | | | | | | | | | | | | | | | StackElementContext The type system parser currently has 2 stacks (StackElement (per XML element)/Context stack (per type entry, for most types except function and smart pointer)). Aiming to change StackElement into a simple stack of XML element enum values, move the type entry member into the StackElementContext. This requires some changes ensuring a StackElementContext element is pushed for all type entries. As a drive-by, use a QSharedPointer for the context stack, removing the need to delete entries. Pick-to: 6.2 Task-number: PYSIDE-1766 Change-Id: I2dce728184c1f51e4ee17bef1d77083deabccfde Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>