aboutsummaryrefslogtreecommitdiffstats
path: root/PySide/QtGui/typesystem_gui_common.xml
diff options
context:
space:
mode:
Diffstat (limited to 'PySide/QtGui/typesystem_gui_common.xml')
-rw-r--r--PySide/QtGui/typesystem_gui_common.xml35
1 files changed, 26 insertions, 9 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml
index 7194e643c..711993940 100644
--- a/PySide/QtGui/typesystem_gui_common.xml
+++ b/PySide/QtGui/typesystem_gui_common.xml
@@ -509,25 +509,25 @@
The iterator methods (__iter__, next) replace this functionality. -->
<modify-function signature="operator++()" remove="all"/>
<modify-function signature="operator--()" remove="all"/>
- <modify-function signature="operator++(int)" remove="all"/>
- <modify-function signature="operator--(int)" remove="all"/>
<!-- ### -->
<add-function signature="__iter__()" return-type="PyObject*">
<inject-code class="target" position="beginning">
- Py_INCREF(%PYSELF);
- %PYARG_0 = %PYSELF;
+ <insert-template name="__iter__" />
</inject-code>
</add-function>
<add-function signature="__next__()" return-type="PyObject*">
<inject-code class="target" position="beginning">
- if (!%CPPSELF.atEnd())
- %PYARG_0 = %CONVERTTOPYTHON[QTextBlock::iterator]((*%CPPSELF)++);
+ <insert-template name="__next__">
+ <replace from="%CPPSELF_TYPE" to="QTextBlock::iterator" />
+ </insert-template>
</inject-code>
</add-function>
</value-type>
<add-function signature="__iter__()" return-type="PyObject*">
<inject-code class="target" position="beginning">
- %PYARG_0 = %CONVERTTOPYTHON[QTextBlock::iterator](%CPPSELF.begin());
+ <insert-template name="__iter_parent__">
+ <replace from="%CPPSELF_TYPE" to="QTextBlock::iterator" />
+ </insert-template>
</inject-code>
</add-function>
<modify-function signature="setUserData(QTextBlockUserData*)">
@@ -3917,12 +3917,29 @@
<!-- ### These operators where removed because they don't make sense in Python.
Instead iterator methods (__iter__, next) should be implemented.
See bug 688 -->
- <modify-function signature="operator++(int)" remove="all"/>
- <modify-function signature="operator--(int)" remove="all"/>
<modify-function signature="operator++()" remove="all"/>
<modify-function signature="operator--()" remove="all"/>
<!-- ### -->
+ <add-function signature="__iter__()" return-type="PyObject*">
+ <inject-code class="target" position="beginning">
+ <insert-template name="__iter__" />
+ </inject-code>
+ </add-function>
+ <add-function signature="__next__()" return-type="PyObject*">
+ <inject-code class="target" position="beginning">
+ <insert-template name="__next__">
+ <replace from="%CPPSELF_TYPE" to="QTextFrame::iterator" />
+ </insert-template>
+ </inject-code>
+ </add-function>
</value-type>
+ <add-function signature="__iter__()" return-type="PyObject*">
+ <inject-code class="target" position="beginning">
+ <insert-template name="__iter_parent__">
+ <replace from="%CPPSELF_TYPE" to="QTextFrame::iterator" />
+ </insert-template>
+ </inject-code>
+ </add-function>
</object-type>
<object-type name="QImageIOHandler">
<extra-includes>