QPixmap conversion from QVariant.
Reviewed by Hugo Parente <hugo.lima@openbossa.org>
This commit is contained in:
parent
e4919faa31
commit
e864bdf57e
2 changed files with 28 additions and 0 deletions
27
PySide/QtGui/qpixmap_conversion.h
Normal file
27
PySide/QtGui/qpixmap_conversion.h
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
inline bool Converter< QPixmap >::isConvertible(PyObject* pyobj)
|
||||||
|
{
|
||||||
|
bool isVariant = SbkQVariant_Check(pyobj);
|
||||||
|
if (isVariant) {
|
||||||
|
QVariant var(Converter<QVariant>::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<QVariant>::toCpp(pyobj));
|
||||||
|
return var.value<QPixmap>();
|
||||||
|
} else if (SbkQSize_Check(pyobj)) {
|
||||||
|
return QPixmap(Shiboken::Converter<QSize& >::toCpp(pyobj));
|
||||||
|
} else if (SbkQString_Check(pyobj)) {
|
||||||
|
return QPixmap(Shiboken::Converter<QString& >::toCpp(pyobj));
|
||||||
|
}
|
||||||
|
|
||||||
|
return *SbkQPixmap_cptr(pyobj);
|
||||||
|
}
|
||||||
|
|
@ -628,6 +628,7 @@
|
||||||
</value-type>
|
</value-type>
|
||||||
<value-type name="QAbstractTextDocumentLayout::Selection" />
|
<value-type name="QAbstractTextDocumentLayout::Selection" />
|
||||||
<value-type name="QPixmap" >
|
<value-type name="QPixmap" >
|
||||||
|
<conversion-rule file="qpixmap_conversion.h" />
|
||||||
<extra-includes>
|
<extra-includes>
|
||||||
<include file-name="QVariant" location="global"/>
|
<include file-name="QVariant" location="global"/>
|
||||||
</extra-includes>
|
</extra-includes>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue