aboutsummaryrefslogtreecommitdiffstats
path: root/PySide/QtCore/qchar_conversions.h
blob: 345befadea793561ade168e339a3c321a6334ca6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
namespace Shiboken {

inline bool Shiboken::Converter<QChar >::isConvertible(PyObject* pyobj)
{
    return SbkPySide_QtCore_QChar_SpecialCharacter_Check(pyobj)
         || SbkQLatin1Char_Check(pyobj)
         || (PyString_Check(pyobj) && (PyString_Size(pyobj) == 1))
         || PyInt_Check(pyobj);
}

inline QChar Shiboken::Converter<QChar >::toCpp(PyObject* pyobj)
{
    if (!Shiboken_TypeCheck(pyobj, QChar)) {
        if (SbkPySide_QtCore_QChar_SpecialCharacter_Check(pyobj))
            return QChar(Shiboken::Converter<QChar::SpecialCharacter >::toCpp(pyobj));
        else if (SbkQLatin1Char_Check(pyobj))
            return QChar(Shiboken::Converter<QLatin1Char >::toCpp(pyobj));
        else if (PyString_Check(pyobj) && PyString_Size(pyobj) == 1)
            return QChar(Shiboken::Converter<char >::toCpp(pyobj));
        else if (PyInt_Check(pyobj))
            return QChar(Shiboken::Converter<int >::toCpp(pyobj));
    }
    return *Converter<QChar*>::toCpp(pyobj);
}
}