diff options
author | Hugo Parente Lima <hugo.pl@gmail.com> | 2011-07-20 17:48:15 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:54:37 -0300 |
commit | e3539a09a8c6fdcea1ad3029c8f85f81e303e6ff (patch) | |
tree | 8916f47636f08603d5f907c6f2c7ac1204c9e939 | |
parent | ef45b5a924b921628c1bc3fd7fce18c994430208 (diff) |
Fix bug 821 - "Mapping interface for QPixmapCache"
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>
Luciano Wolf <luciano.wolf@openbossa.org>
-rw-r--r-- | PySide/QtGui/typesystem_gui_common.xml | 12 | ||||
-rw-r--r-- | tests/QtGui/qpixmapcache_test.py | 7 |
2 files changed, 18 insertions, 1 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml index 66fe96b46..8e2eec97c 100644 --- a/PySide/QtGui/typesystem_gui_common.xml +++ b/PySide/QtGui/typesystem_gui_common.xml @@ -2382,8 +2382,18 @@ </object-type> <object-type name="QPixmapCache"> <value-type name="Key"/> + <add-function signature="find(QPixmapCache::Key)"> + <inject-code> + QPixmap p; + if (%CPPSELF.%FUNCTION_NAME(%1, &p)) { + %PYARG_0 = %CONVERTTOPYTHON[QPixmap](p); + } else { + %PYARG_0 = Py_None; + Py_INCREF(%PYARG_0); + } + </inject-code> + </add-function> <!-- ### Obsolete. --> - <modify-function signature="find(QString)" remove="all"/> <modify-function signature="find(QString,QPixmap&)" remove="all"/> <!--### End of obsolete section --> </object-type> diff --git a/tests/QtGui/qpixmapcache_test.py b/tests/QtGui/qpixmapcache_test.py index 33d631b92..68b4d928f 100644 --- a/tests/QtGui/qpixmapcache_test.py +++ b/tests/QtGui/qpixmapcache_test.py @@ -10,6 +10,8 @@ class QPixmapCacheTest(UsesQApplication): ok = QPixmapCache.find('img', pm1) self.assertFalse(ok) + self.assertEqual(QPixmapCache.find('img'), None) + pm2 = QPixmap() ok = QPixmapCache.insert('img', pm2) self.assertTrue(ok) @@ -18,11 +20,15 @@ class QPixmapCacheTest(UsesQApplication): ok = QPixmapCache.find('img', pm3) self.assertTrue(ok) + self.assertEqual(QPixmapCache.find('img').toImage().bits(), pm3.toImage().bits()) + def testWithKey(self): pm1 = QPixmap() ok = QPixmapCache.find(QPixmapCache.Key(), pm1) self.assertFalse(ok) + self.assertEqual(QPixmapCache.find(QPixmapCache.Key()), None) + pm2 = QPixmap() key = QPixmapCache.insert(pm2) @@ -30,6 +36,7 @@ class QPixmapCacheTest(UsesQApplication): ok = QPixmapCache.find(key, pm3) self.assertTrue(ok) + self.assertEqual(QPixmapCache.find(key).toImage().bits(), pm3.toImage().bits()) if __name__ == '__main__': unittest.main() |