diff options
author | Renato Filho <renato.filho@openbossa.org> | 2010-06-15 13:34:42 -0300 |
---|---|---|
committer | Renato Filho <renato.filho@openbossa.org> | 2010-06-17 14:04:11 -0300 |
commit | 4cca85f52585b17f53e26f81ca26504fe561e578 (patch) | |
tree | e97a82cc35ba1e785e6afe2aa8dd66978beea0e2 /PySide/QtGui | |
parent | ef7eb0fca443ca1df624034c6e6ede597f2dab3c (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.xml | 48 |
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"/> |