namespace Shiboken { inline bool Converter::checkType(PyObject* pyObj) { return ValueTypeConverter::checkType(pyObj); } inline bool Converter::isConvertible(PyObject* pyobj) { if (ValueTypeConverter::isConvertible(pyobj)) return true; SbkObjectType* shiboType = reinterpret_cast(SbkType()); bool isVariant = Shiboken::Converter::checkType(pyobj); if (isVariant) { QVariant var(Shiboken::Converter::toCpp(pyobj)); return var.type() == QVariant::Pixmap; } else if (Shiboken::Converter::checkType(pyobj) || Shiboken::Converter::checkType(pyobj)) { return true; } else { return Shiboken::ObjectType::isExternalConvertible(shiboType, pyobj); } return false; } inline QPixmap Converter::toCpp(PyObject* pyobj) { SbkObjectType* 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 (Shiboken::ObjectType::isExternalConvertible(shiboType, pyobj) && Shiboken::ObjectType::hasExternalCppConversions(shiboType)) { QPixmap* cptr = reinterpret_cast(Shiboken::ObjectType::callExternalCppConversion(shiboType, 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); } }