From e864bdf57e2c549ad5f8f6f8b966dadca6f1ee68 Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Mon, 1 Feb 2010 15:29:09 -0300 Subject: QPixmap conversion from QVariant. Reviewed by Hugo Parente --- PySide/QtGui/qpixmap_conversion.h | 27 +++++++++++++++++++++++++++ PySide/QtGui/typesystem_gui_common.xml | 1 + 2 files changed, 28 insertions(+) create mode 100644 PySide/QtGui/qpixmap_conversion.h (limited to 'PySide/QtGui') diff --git a/PySide/QtGui/qpixmap_conversion.h b/PySide/QtGui/qpixmap_conversion.h new file mode 100644 index 000000000..18e3ce910 --- /dev/null +++ b/PySide/QtGui/qpixmap_conversion.h @@ -0,0 +1,27 @@ +inline bool Converter< QPixmap >::isConvertible(PyObject* pyobj) +{ + bool isVariant = SbkQVariant_Check(pyobj); + if (isVariant) { + QVariant var(Converter::toCpp(pyobj)); + return var.type() == QVariant::Pixmap; + } else if (SbkQSize_Check(pyobj) || SbkQString_Check(pyobj)) { + return true; + } + return false; + +} + +inline QPixmap Converter< QPixmap >::toCpp(PyObject* pyobj) +{ + bool isVariant = SbkQVariant_Check(pyobj); + if (isVariant) { + QVariant var(Converter::toCpp(pyobj)); + return var.value(); + } else if (SbkQSize_Check(pyobj)) { + return QPixmap(Shiboken::Converter::toCpp(pyobj)); + } else if (SbkQString_Check(pyobj)) { + return QPixmap(Shiboken::Converter::toCpp(pyobj)); + } + + return *SbkQPixmap_cptr(pyobj); +} diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml index d322c95b1..ee46d2b82 100644 --- a/PySide/QtGui/typesystem_gui_common.xml +++ b/PySide/QtGui/typesystem_gui_common.xml @@ -628,6 +628,7 @@ + -- cgit v1.2.3