From 53b60c6b11ebbce26c0257a32271414ab433be0d Mon Sep 17 00:00:00 2001 From: Lauro Neto Date: Thu, 18 Feb 2010 17:38:37 -0300 Subject: Update QFontMetrics(f) tabArray handling Instead of expecting a value, tabArray is used to pass an array of ints to C++. This commit uses libshiboken sequenceToIntArray function to build the array. Reviewed by Marcelo Lira --- PySide/QtGui/typesystem_gui_common.xml | 146 ++++++++++++++++++++++++--------- 1 file changed, 106 insertions(+), 40 deletions(-) (limited to 'PySide/QtGui') diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml index 379dd8d98..fb1490872 100644 --- a/PySide/QtGui/typesystem_gui_common.xml +++ b/PySide/QtGui/typesystem_gui_common.xml @@ -972,31 +972,57 @@ - - - - - + - - - + int* array = NULL; + bool errorOccurred = false; + + if (numArgs == 5) { + array = Shiboken::sequenceToIntArray(%PYARG_5, true); + if (PyErr_Occurred()) { + if (array) + delete array; + errorOccurred = true; + } + } + + if (!errorOccurred) { + %RETURN_TYPE retval = %CPPSELF.%FUNCTION_NAME(%1, %2, %3, %4, array); + + if (array) + delete array; + + %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](retval); + } - - - - - + - - - + int* array = NULL; + bool errorOccurred = false; + + if (numArgs == 4) { + array = Shiboken::sequenceToIntArray(%PYARG_4, true); + if (PyErr_Occurred()) { + if (array) + delete array; + errorOccurred = true; + } + } + + if (!errorOccurred) { + %RETURN_TYPE retval = %CPPSELF.%FUNCTION_NAME(%1, %2, %3, array); + + if (array) + delete array; + + %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](retval); + } @@ -1007,46 +1033,86 @@ - - - - - + - - - + int* array = NULL; + bool errorOccurred = false; + + if (numArgs == 8) { + array = Shiboken::sequenceToIntArray(%PYARG_8, true); + if (PyErr_Occurred()) { + if (array) + delete array; + errorOccurred = true; + } + } + + if (!errorOccurred) { + %RETURN_TYPE retval = %CPPSELF.%FUNCTION_NAME(%1, %2, %3, %4, %5, %6, %7, array); + + if (array) + delete array; + + %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](retval); + } - - - - - + - - - + int* array = NULL; + bool errorOccurred = false; + + if (numArgs == 5) { + array = Shiboken::sequenceToIntArray(%PYARG_5, true); + if (PyErr_Occurred()) { + if (array) + delete array; + errorOccurred = true; + } + } + + if (!errorOccurred) { + %RETURN_TYPE retval = %CPPSELF.%FUNCTION_NAME(%1, %2, %3, %4, array); + + if (array) + delete array; + + %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](retval); + } - - - - - + - - - + int* array = NULL; + bool errorOccurred = false; + + if (numArgs == 4) { + array = Shiboken::sequenceToIntArray(%PYARG_4, true); + if (PyErr_Occurred()) { + if (array) + delete array; + errorOccurred = true; + } + } + + if (!errorOccurred) { + %RETURN_TYPE retval = %CPPSELF.%FUNCTION_NAME(%1, %2, %3, array); + + if (array) + delete array; + + %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](retval); + } + -- cgit v1.2.3