diff options
author | Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> | 2019-01-07 12:46:13 +0100 |
---|---|---|
committer | Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> | 2019-01-08 11:47:47 +0000 |
commit | c8970b29d76415d41fa383cbe5eb77eefb191fa1 (patch) | |
tree | 3cadb0b721f8bd9778a07589fe693bc6e0a00210 /sources/pyside2/PySide2/QtCore/typesystem_core_common.xml | |
parent | 1bd279b01d06eba0abbbb5fea0c12a6de2600cdd (diff) |
[reg] Remove createIndex method that uses PyObject*
Even though we have support for Void*, having to import
it as an additional class to be able to call a separate
function, is adding too much complexity so something
that should be easy to do, like creating an index
for an itemmodel.
The regression is a change that replaced the way of doing:
QAbstractItemModel.createIndex(0, 0, PyObject*)
to
QAbstractItemModel.createIndex(0, 0, VoidPtr(PyObject*))
which is not really intuitive, and is generating other issues.
Included modification in the registries too.
Change-Id: Ie6112c6baeb4fc3b22fc78e7edeb66aa4a17c22b
Fixes: PYSIDE-883
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'sources/pyside2/PySide2/QtCore/typesystem_core_common.xml')
-rw-r--r-- | sources/pyside2/PySide2/QtCore/typesystem_core_common.xml | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/sources/pyside2/PySide2/QtCore/typesystem_core_common.xml b/sources/pyside2/PySide2/QtCore/typesystem_core_common.xml index c70049d8e..7531b33b8 100644 --- a/sources/pyside2/PySide2/QtCore/typesystem_core_common.xml +++ b/sources/pyside2/PySide2/QtCore/typesystem_core_common.xml @@ -1210,6 +1210,11 @@ </add-function> </value-type> <value-type name="QPersistentModelIndex" hash-function="qHash"> + <modify-function signature="internalPointer()const"> + <inject-code class="target" position="beginning"> + <insert-template name="return_internal_pointer" /> + </inject-code> + </modify-function> <modify-function signature="operator const QModelIndex&()const"> <modify-argument index="return"> <parent index="this" action="add"/> @@ -1460,12 +1465,38 @@ <object-type name="QAbstractItemModel"> <enum-type name="CheckIndexOption" flags="CheckIndexOptions" since="5.11"/> <enum-type name="LayoutChangeHint"/> + <!-- This function was replaced by a added function --> + <modify-function signature="createIndex(int,int,void*)const" remove="all"/> <!-- This function is the same as createIndex(int, int, int)const --> <modify-function signature="createIndex(int,int,quintptr)const"> <modify-argument index="3"> <replace-default-expression with="0"/> </modify-argument> </modify-function> + <add-function signature="createIndex(int,int,PyObject*)const" return-type="QModelIndex"> + <modify-argument index="1"> + <rename to="row"/> + </modify-argument> + <modify-argument index="2"> + <rename to="column"/> + </modify-argument> + <modify-argument index="3"> + <rename to="ptr"/> + </modify-argument> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qabstractitemmodel-createindex"/> + <inject-documentation mode="append" format="target"> + Creates a model index for the given row and column with the internal pointer ptr. + When using a QSortFilterProxyModel, its indexes have their own internal pointer. + It is not advisable to access this internal pointer outside of the model. + Use the data() function instead. + This function provides a consistent interface that model subclasses must use to create model indexes. + + .. warning:: Because of some Qt/Python itegration rules, the ptr argument do not get the reference + incremented during the QModelIndex life time. So it is necessary to keep the object used + on ptr argument alive during the whole process. + Do not destroy the object if you are not sure about that. + </inject-documentation> + </add-function> <inject-code class="target" position="end" file="../glue/qtcore.cpp" snippet="qabstractitemmodel"/> <modify-function signature="mimeData(QModelIndexList)const"> <modify-argument index="return"> @@ -2774,6 +2805,11 @@ </modify-function> </object-type> <value-type name="QModelIndex" hash-function="qHash"> + <modify-function signature="internalPointer()const"> + <inject-code class="target" position="beginning"> + <insert-template name="return_internal_pointer" /> + </inject-code> + </modify-function> <modify-function signature="model()const"> <modify-argument index="return"> <define-ownership class="target" owner="default"/> |