namespace Shiboken { inline bool Converter::checkType(PyObject* pyObj) { return ValueTypeConverter::checkType(pyObj); } inline bool Converter::isConvertible(PyObject* pyobj) { if (ValueTypeConverter::isConvertible(pyobj)) return true; SbkBaseWrapperType* shiboType = reinterpret_cast(SbkType()); bool isVariant = Converter::checkType(pyobj); if (isVariant) { QVariant var(Converter::toCpp(pyobj)); return var.type() == QVariant::Pixmap; } else if (Converter::checkType(pyobj) || Converter::checkType(pyobj)) { return true; } else if (shiboType->ext_isconvertible) { return shiboType->ext_isconvertible(pyobj); } return false; } inline QPixmap Converter::toCpp(PyObject* pyobj) { SbkBaseWrapperType* shiboType = reinterpret_cast(SbkType()); bool isVariant = Converter::checkType(pyobj); if (isVariant) { QVariant var(Converter::toCpp(pyobj)); return var.value(); } else if (Converter::checkType(pyobj)) { return QPixmap(Shiboken::Converter::toCpp(pyobj)); } else if (Converter::checkType(pyobj)) { return QPixmap(Shiboken::Converter::toCpp(pyobj)); } else if (shiboType->ext_isconvertible && shiboType->ext_tocpp && shiboType->ext_isconvertible(pyobj)) { QPixmap* cptr = reinterpret_cast(shiboType->ext_tocpp(pyobj)); std::auto_ptr cptr_auto_ptr(cptr); return *cptr; } return *Converter::toCpp(pyobj); } inline PyObject* Converter::toPython(const QPixmap& cppObj) { return ValueTypeConverter::toPython(cppObj); } }