aboutsummaryrefslogtreecommitdiffstats
path: root/PySide2
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2016-12-22 14:42:06 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2016-12-22 13:48:01 +0000
commit87d28b2fabbe06568bf323db2d7b5ea12be9e0ce (patch)
tree249c8f429284cdc2a0d63c986136be486bda456f /PySide2
parenteb28469e920696a1d0833c55b5c20c5c5a6f9d5e (diff)
Handle WId as primitive type PyLong
Remove the platform-specific conversions from Qt 4 and add new conversion to PyLong via void *. Task-number: PYSIDE-439 Change-Id: I9826741de7b397b38631bdbb6bf12710c95fab40 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'PySide2')
-rw-r--r--PySide2/QtGui/typesystem_gui_common.xml14
-rw-r--r--PySide2/QtGui/typesystem_gui_win.xml29
-rw-r--r--PySide2/QtWidgets/typesystem_widgets_win.xml29
3 files changed, 16 insertions, 56 deletions
diff --git a/PySide2/QtGui/typesystem_gui_common.xml b/PySide2/QtGui/typesystem_gui_common.xml
index 2f14ba17..b7ff59a6 100644
--- a/PySide2/QtGui/typesystem_gui_common.xml
+++ b/PySide2/QtGui/typesystem_gui_common.xml
@@ -188,6 +188,20 @@
<rejection class="QPolygon" function-name="point"/>
<rejection class="QActionGroup" function-name="selected"/>
<rejection class="QPaintEngine" function-name="fix_neg_rect"/>
+
+ <primitive-type name="WId" target-lang-api-name="PyLong">
+ <conversion-rule>
+ <native-to-target>
+ return PyLong_FromVoidPtr(reinterpret_cast&lt;void *&gt;(%in));
+ </native-to-target>
+ <target-to-native>
+ <add-conversion type="PyLong">
+ %out = reinterpret_cast&lt;%OUTTYPE&gt;(PyLong_AsVoidPtr(%in));
+ </add-conversion>
+ </target-to-native>
+ </conversion-rule>
+ </primitive-type>
+
<value-type name="QTransform">
<enum-type name="TransformationType"/>
<add-function signature="__repr__" return-type="PyObject*">
diff --git a/PySide2/QtGui/typesystem_gui_win.xml b/PySide2/QtGui/typesystem_gui_win.xml
index 60c25852..eb8631cc 100644
--- a/PySide2/QtGui/typesystem_gui_win.xml
+++ b/PySide2/QtGui/typesystem_gui_win.xml
@@ -39,31 +39,4 @@
**
****************************************************************************/
-->
-<typesystem package="PySide2.QtGui">
- <primitive-type name="WId" target-lang-api-name="PyObject">
- <conversion-rule>
- <native-to-target>
- #ifdef IS_PY3K
- return PyCapsule_New(reinterpret_cast&lt;void*&gt;(%in), 0, 0);
- #else
- return PyCObject_FromVoidPtr(reinterpret_cast&lt;void*&gt;(%in), 0);
- #endif
- </native-to-target>
- <target-to-native>
- <add-conversion type="PyNone">
- %out = 0;
- </add-conversion>
- <add-conversion check="checkPyCapsuleOrPyCObject(%in)" type="PyObject">
- #ifdef IS_PY3K
- %out = (%OUTTYPE)PyCapsule_GetPointer(%in, 0);
- #else
- %out = (%OUTTYPE)PyCObject_AsVoidPtr(%in);
- #endif
- </add-conversion>
- </target-to-native>
- </conversion-rule>
- </primitive-type>
- <inject-code class="native" position="beginning">
- <insert-template name="checkPyCapsuleOrPyCObject_func"/>
- </inject-code>
-</typesystem>
+<typesystem package="PySide2.QtGui"/>
diff --git a/PySide2/QtWidgets/typesystem_widgets_win.xml b/PySide2/QtWidgets/typesystem_widgets_win.xml
index 4a07ef15..d15ec819 100644
--- a/PySide2/QtWidgets/typesystem_widgets_win.xml
+++ b/PySide2/QtWidgets/typesystem_widgets_win.xml
@@ -39,31 +39,4 @@
**
****************************************************************************/
-->
-<typesystem package="PySide2.QtWidgets">
- <primitive-type name="WId" target-lang-api-name="PyObject">
- <conversion-rule>
- <native-to-target>
- #ifdef IS_PY3K
- return PyCapsule_New(reinterpret_cast&lt;void*&gt;(%in), 0, 0);
- #else
- return PyCObject_FromVoidPtr(reinterpret_cast&lt;void*&gt;(%in), 0);
- #endif
- </native-to-target>
- <target-to-native>
- <add-conversion type="PyNone">
- %out = 0;
- </add-conversion>
- <add-conversion check="checkPyCapsuleOrPyCObject(%in)" type="PyObject">
- #ifdef IS_PY3K
- %out = (%OUTTYPE)PyCapsule_GetPointer(%in, 0);
- #else
- %out = (%OUTTYPE)PyCObject_AsVoidPtr(%in);
- #endif
- </add-conversion>
- </target-to-native>
- </conversion-rule>
- </primitive-type>
- <inject-code class="native" position="beginning">
- <insert-template name="checkPyCapsuleOrPyCObject_func"/>
- </inject-code>
-</typesystem>
+<typesystem package="PySide2.QtWidgets"/>