aboutsummaryrefslogtreecommitdiffstats
path: root/PySide/QtGui
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2010-06-15 13:34:42 -0300
committerRenato Filho <renato.filho@openbossa.org>2010-06-17 14:04:11 -0300
commit4cca85f52585b17f53e26f81ca26504fe561e578 (patch)
treee97a82cc35ba1e785e6afe2aa8dd66978beea0e2 /PySide/QtGui
parentef7eb0fca443ca1df624034c6e6ede597f2dab3c (diff)
Implement inject-code to functions using QChar in QFontMetrics and
QFontMetricsF Reviewer: Luciano Wolf <luciano.wolf@openbossa.org> Marcelo Lira <marcelo.lira@openbossa.org>
Diffstat (limited to 'PySide/QtGui')
-rw-r--r--PySide/QtGui/typesystem_gui_common.xml48
1 files changed, 48 insertions, 0 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml
index 92856d9c3..7a6f2b0f4 100644
--- a/PySide/QtGui/typesystem_gui_common.xml
+++ b/PySide/QtGui/typesystem_gui_common.xml
@@ -1,5 +1,16 @@
<?xml version="1.0"?>
<typesystem package="PySide.QtGui">
+ <template name="QFontCharFix">
+ int size = PyString_GET_SIZE(%PYARG_1);
+ if (size == 1) {
+ char *str = PyString_AS_STRING(%PYARG_1);
+ QChar ch(str[0]);
+ %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](%CPPSELF.%FUNCTION_NAME(ch));
+ } else {
+ PyErr_SetString(PyExc_TypeError, "String must have only one character");
+ }
+ </template>
+
<function signature="qAlpha(uint)" />
<function signature="qBlue(uint)" />
<function signature="qGray(int,int,int)" />
@@ -1057,6 +1068,24 @@
</value-type>
<value-type name="QFontMetricsF" >
+ <modify-function signature="boundingRect(QChar)const" rename="boundingRectChar">
+ <modify-argument index="1">
+ <replace-type modified-type="PyString"/>
+ </modify-argument>
+ <inject-code class="target" position="beginning">
+ <insert-template name="QFontCharFix"/>
+ </inject-code>
+ </modify-function>
+
+ <modify-function signature="width(QChar)const" rename="widthChar">
+ <modify-argument index="1">
+ <replace-type modified-type="PyString"/>
+ </modify-argument>
+ <inject-code class="target" position="beginning">
+ <insert-template name="QFontCharFix"/>
+ </inject-code>
+ </modify-function>
+
<modify-function signature="boundingRect(QRectF,int,QString,int,int*)const">
<modify-argument index="5">
<replace-type modified-type="PyObject"/>
@@ -1118,6 +1147,25 @@
</value-type>
<value-type name="QTextOption::Tab"/>
<value-type name="QFontMetrics" >
+
+ <modify-function signature="boundingRect(QChar)const" rename="boundingRectChar">
+ <modify-argument index="1">
+ <replace-type modified-type="PyString"/>
+ </modify-argument>
+ <inject-code class="target" position="beginning">
+ <insert-template name="QFontCharFix"/>
+ </inject-code>
+ </modify-function>
+
+ <modify-function signature="width(QChar)const" rename="widthChar">
+ <modify-argument index="1">
+ <replace-type modified-type="PyString"/>
+ </modify-argument>
+ <inject-code class="target" position="beginning">
+ <insert-template name="QFontCharFix"/>
+ </inject-code>
+ </modify-function>
+
<modify-function signature="boundingRect(int,int,int,int,int,QString,int,int*)const">
<modify-argument index="8">
<replace-type modified-type="PyObject"/>