aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PySide/QtGui/typesystem_gui_common.xml30
-rw-r--r--tests/QtGui/CMakeLists.txt1
-rw-r--r--tests/QtGui/qimage_test.py20
3 files changed, 45 insertions, 6 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml
index cf4b6744c..485d5425b 100644
--- a/PySide/QtGui/typesystem_gui_common.xml
+++ b/PySide/QtGui/typesystem_gui_common.xml
@@ -665,11 +665,33 @@
<modify-function signature="QImage(const char *, const char *)" remove="all" />
<modify-function signature="QImage(const char **)" remove="all" />
- <modify-function signature="QImage(const uchar*,int,int,int,QImage::Format)" remove="all" />
+
+ <template name="QImageStringBufferConversionRule">
+ const uchar* %out = reinterpret_cast&lt;const uchar*>(PyString_AS_STRING(%PYARG_1));
+ </template>
+
+ <modify-function signature="QImage(uchar *,int,int,int,QImage::Format)" remove="all"/>
+ <modify-function signature="QImage(const uchar*,int,int,int,QImage::Format)">
+ <modify-argument index="1">
+ <replace-type modified-type="const char*"/>
+ <conversion-rule class="native">
+ <insert-template name="QImageStringBufferConversionRule"/>
+ </conversion-rule>
+ </modify-argument>
+ </modify-function>
<modify-function signature="bits()const" remove="all" />
<modify-function signature="scanLine(int)const" remove="all" />
- <modify-function signature="QImage(const uchar *, int, int, QImage::Format)" remove="all" />
+
<modify-function signature="QImage(uchar*,int,int,QImage::Format)" remove="all" />
+ <modify-function signature="QImage(const uchar *, int, int, QImage::Format)">
+ <modify-argument index="1">
+ <replace-type modified-type="const char*"/>
+ <conversion-rule class="native">
+ <insert-template name="QImageStringBufferConversionRule"/>
+ </conversion-rule>
+ </modify-argument>
+ </modify-function>
+
<modify-function signature="loadFromData(const uchar*,int,const char*)" remove="all" />
<modify-function signature="setText(const char*,const char*,QString)" remove="all" />
<modify-function signature="text(const char*,const char*)const" remove="all" />
@@ -678,10 +700,6 @@
<modify-function signature="textLanguages()const" remove="all"/>
<!--### Obsolete in 4.3-->
<modify-function signature="QImage(const char**)" remove="all"/>
- <modify-function signature="QImage(const uchar *,int,int,QImage::Format)" remove="all"/>
- <modify-function signature="QImage(const uchar *,int,int,int,QImage::Format)" remove="all"/>
- <modify-function signature="QImage(uchar *,int,int,QImage::Format)" remove="all"/>
- <modify-function signature="QImage(uchar *,int,int,int,QImage::Format)" remove="all"/>
<modify-function signature="setColorTable(const QVector&lt;uint&gt;)" remove="all"/>
<modify-function signature="loadFromData(const uchar *,int,const char *)" remove="all"/>
<modify-function signature="fromData(const uchar *,int,const char *)" remove="all"/>
diff --git a/tests/QtGui/CMakeLists.txt b/tests/QtGui/CMakeLists.txt
index 2ad8269a9..49e9f5ab6 100644
--- a/tests/QtGui/CMakeLists.txt
+++ b/tests/QtGui/CMakeLists.txt
@@ -43,6 +43,7 @@ PYSIDE_TEST(qgraphicsitem_isblocked_test.py)
PYSIDE_TEST(qgraphicsitem_test.py)
PYSIDE_TEST(qgraphicsproxywidget_test.py)
PYSIDE_TEST(qgraphicsscene_test.py)
+PYSIDE_TEST(qimage_test.py)
PYSIDE_TEST(qinputdialog_get_test.py)
PYSIDE_TEST(qitemselection_test.py)
PYSIDE_TEST(qlayout_ref_test.py)
diff --git a/tests/QtGui/qimage_test.py b/tests/QtGui/qimage_test.py
new file mode 100644
index 000000000..d8aa545af
--- /dev/null
+++ b/tests/QtGui/qimage_test.py
@@ -0,0 +1,20 @@
+
+'''Test cases for QImage'''
+
+import unittest
+
+from PySide.QtGui import QImage
+
+from helper import UsesQApplication
+
+class QImageTest(UsesQApplication):
+ '''Test case for calling setPixel with float as argument'''
+
+ def testQImageStringBuffer(self):
+ '''Test if the QImage signatures receiving string buffers exist.'''
+ img0 = QImage('', 100, 100, QImage.Format_ARGB32)
+ img1 = QImage('', 100, 100, 0, QImage.Format_ARGB32)
+
+if __name__ == '__main__':
+ unittest.main()
+