diff options
-rw-r--r-- | PySide/QtGui/typesystem_gui_common.xml | 49 | ||||
-rw-r--r-- | PySide/typesystem_templates.xml | 7 |
2 files changed, 49 insertions, 7 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml index 872275a6c..05e57e21a 100644 --- a/PySide/QtGui/typesystem_gui_common.xml +++ b/PySide/QtGui/typesystem_gui_common.xml @@ -1030,14 +1030,51 @@ </value-type> <value-type name="QTextOption::Tab"/> <value-type name="QFontMetrics" > - <!-- TODO Replace inject code! --> - <modify-function signature="boundingRect(int,int,int,int,int,QString,int,int*)const" remove="all" /> + <modify-function signature="boundingRect(int,int,int,int,int,QString,int,int*)const"> + <modify-argument index="8"> + <remove-argument /> + <remove-default-expression /> + </modify-argument> + <modify-argument index="return"> + <replace-type modified-type="PyTuple" /> + </modify-argument> + <inject-code class="target" position="beginning"> + <insert-template name="fix_return_args,int*"> + <replace from="RETURNTYPE" to="QRect" /> + </insert-template> + </inject-code> + </modify-function> - <!-- TODO Replace inject code! --> - <modify-function signature="boundingRect(QRect,int,QString,int,int*)const" remove="all" /> + <modify-function signature="boundingRect(QRect,int,QString,int,int*)const"> + <modify-argument index="5"> + <remove-argument /> + <remove-default-expression /> + </modify-argument> + <modify-argument index="return"> + <replace-type modified-type="PyTuple" /> + </modify-argument> + <inject-code class="target" position="beginning"> + <insert-template name="fix_return_args,int*"> + <replace from="RETURNTYPE" to="QRect" /> + </insert-template> + </inject-code> + </modify-function> + + <modify-function signature="size(int,QString,int,int*)const"> + <modify-argument index="4"> + <remove-argument /> + <remove-default-expression /> + </modify-argument> + <modify-argument index="return"> + <replace-type modified-type="PyTuple" /> + </modify-argument> + <inject-code class="target" position="beginning"> + <insert-template name="fix_return_args,int*"> + <replace from="RETURNTYPE" to="QSize" /> + </insert-template> + </inject-code> + </modify-function> - <!-- TODO Replace inject code! --> - <modify-function signature="size(int,QString,int,int*)const" remove="all" /> <modify-function signature="operator=(QFontMetrics)" remove="all"/> </value-type> <value-type name="QGradient" force-abstract="yes" /> diff --git a/PySide/typesystem_templates.xml b/PySide/typesystem_templates.xml index f0c28c158..03a220326 100644 --- a/PySide/typesystem_templates.xml +++ b/PySide/typesystem_templates.xml @@ -109,6 +109,11 @@ else return %CONVERTTOPYTHON[QByteArray](QByteArray()); </template> - + <template name="fix_return_args,int*"> + RETURNTYPE _ret; + int _arg; + _ret = %CPPSELF.%FUNCTION_NAME(%ARGUMENT_NAMES, &_arg); + %PYARG_0 = Shiboken::makeTuple(_ret, _arg); + </template> </typesystem> |