aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpysideqml
Commit message (Collapse)AuthorAgeFilesLines
...
* libpysideqml: Use a shared pointer in the QmlTypeInfo hashFriedemann Kleint2022-02-114-17/+25
| | | | | | | | | | Preparing for the introduction of the @QmlForeign decorator, where another type is created by the QmlEngine, which requires an alias entry in the hash. Task-number: PYSIDE-1709 Change-Id: If0391e2f4cf629a1bead57d945d0effae3a3020a Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add the @QmlNamedElement decoratorFriedemann Kleint2022-02-096-5/+187
| | | | | | | | | | | Add the decorator and split the registration functions in order to be able to pass a different type name. [ChangeLog][PySide6] The @QmlNamedElement decorator has been added. Task-number: PYSIDE-1709 Change-Id: I081cd33313d7b9c19cb6403ee56ac9d8b1d9e606 Reviewed-by: Christian Tismer <tismer@stackless.com>
* libpyside: Factor out helpers for class decorators with parametersFriedemann Kleint2022-02-092-81/+38
| | | | | | | | | | | | | | | | | | | | Class decorators with parameters (as opposed to parameterless decorators which are simple functions) requires Python types with call operators to be registered. Add Decorator C struct with a pointer to a class derived from DecoratorPrivate that has virtual functions for the tp_init()/tp_call() functions. Provide templates that help to create the slot arrays for the type registration. Provide predefined types for decorators with string/type parameters. Task-number: PYSIDE-1709 Change-Id: I2946b4505c01b49532af534adcedff7a51634929 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* libpysideqml: Use SingletonInstanceFunctor instead of SingletonFunctorFriedemann Kleint2022-02-041-1/+1
| | | | | | | | | Adapt to qtdeclarative/9dc7a22b212c18215942b9a4bfa17bd16dd5151b. Task-number: QTBUG-95788 Change-Id: I024f27d8d20f4bc8376f6f4be5ee2dc23218e889 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PyPySide: Rename interface functions and classes to simplify debuggingChristian Tismer2022-02-033-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | The names of certain interface functions are not always following a simple scheme. Especially it is not easy to see immediately if we are dealing with a method of SbkObjectType or SbkObject Do a few renamings to simplify debugging and make the code easier to understand. When a function is used in a type spec and there is no other important reason, it should be named like {Py_<tpname>: reinterpret_cast<void *>(<TypeName>_<tpname>)}, Rename also all type functions ending on "TypeF()" to end in "_TypeF()". This is not always the case. Examples: SbkObjectTpNew -> SbkObject_tp_new SbkObjecttypeTpNew -> SbkObjectType_tp_new PyClassPropertyTypeF -> PyClassProperty_TypeF Task-number: PYSIDE-535 Change-Id: Icbd118852f2ee732b55d944ed57c7a8ef7d26139 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* libpysideqml: Introduce a hash for extra QML type infoFriedemann Kleint2022-02-026-38/+172
| | | | | | | | | | More information will be needed for further decorators, so, replace the existing global lists and hashes by a struct in a global-static hash per type object. Task-number: PYSIDE-1709 Change-Id: Ia8b46c461b8630463ac6b7113c6d64f851d6e2e3 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Move the mutex for locking QObject allocation helpers to libpysideFriedemann Kleint2021-12-081-5/+2
| | | | | | | | | | Qml and Quick were using 2 different mutexes, which does not make sense. Task-number: PYSIDE-1709 Change-Id: Id0ec0f780c1d24e40a7f072dea62964ecf92e9d2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Pyside6: Move the QuickRegisterItem helpers into libpysideqmlFriedemann Kleint2021-12-082-1/+28
| | | | | | | | | libpyside had some variables that were only used by Qt Qml/Quick. Move them into libpysideqml. Task-number: PYSIDE-1709 Change-Id: I8d794c1149bc35f5bd0d8c6aec9b222bb7f73bf5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpysideqml6: Use the namespace PySide::Qml consistentlyFriedemann Kleint2021-12-089-32/+46
| | | | | | Task-number: PYSIDE-1709 Change-Id: I03458bf72c2b2d37e71d16755c6a32470fb5f5e3 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Move the QML registration code into a libraryFriedemann Kleint2021-12-0816-0/+1672
This makes the code easier to maintain. Task-number: PYSIDE-1709 Change-Id: Idb75143a7e6d218637ab75463db88b6135cd4086 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>