aboutsummaryrefslogtreecommitdiffstats
path: root/PySide
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2010-02-04 19:53:37 -0300
committerHugo Lima <hugo.lima@openbossa.org>2010-02-05 14:09:22 -0200
commit63a3be90057cef5578ec75a6d7ec6cf2fbc5e66b (patch)
tree76d9bac532fed986668364941df3db39f93ee238 /PySide
parentfc5718611845daa2ff51de16db63920c226da067 (diff)
Inject code for QFontMetrics.
Reviewed by Hugo Parente <hugo.lima@openbossa.org>
Diffstat (limited to 'PySide')
-rw-r--r--PySide/QtGui/typesystem_gui_common.xml49
-rw-r--r--PySide/typesystem_templates.xml7
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, &amp;_arg);
+ %PYARG_0 = Shiboken::makeTuple(_ret, _arg);
+ </template>
</typesystem>