diff options
author | Lauro Neto <lauro.neto@openbossa.org> | 2010-02-22 15:35:13 -0300 |
---|---|---|
committer | Lauro Neto <lauro.neto@openbossa.org> | 2010-02-22 15:35:13 -0300 |
commit | b5128919aaa92862dec02c268a2e94c742425a9f (patch) | |
tree | b32c606afe824da8ec13a3c7cc00c9dd5ffb87f9 /PySide/QtCore | |
parent | 82e214967cc048cee380c5e97d3c3ad78d3a923a (diff) |
Adding conversion file for QChar
Diffstat (limited to 'PySide/QtCore')
-rw-r--r-- | PySide/QtCore/qchar_conversions.h | 25 | ||||
-rw-r--r-- | PySide/QtCore/typesystem_core.xml | 1 |
2 files changed, 26 insertions, 0 deletions
diff --git a/PySide/QtCore/qchar_conversions.h b/PySide/QtCore/qchar_conversions.h new file mode 100644 index 000000000..2429926d1 --- /dev/null +++ b/PySide/QtCore/qchar_conversions.h @@ -0,0 +1,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 *SbkQChar_cptr(pyobj); +} +} diff --git a/PySide/QtCore/typesystem_core.xml b/PySide/QtCore/typesystem_core.xml index 34c46a6d8..5348d665c 100644 --- a/PySide/QtCore/typesystem_core.xml +++ b/PySide/QtCore/typesystem_core.xml @@ -1136,6 +1136,7 @@ <modify-function signature="operator=(const QString*)" remove="all" /> </value-type> <value-type name="QChar" hash-function="qHash"> + <conversion-rule file="qchar_conversions.h" /> <modify-function signature="QChar(uchar)" remove="all"/> <modify-function signature="QChar(short)" remove="all"/> <modify-function signature="QChar(ushort)" remove="all"/> |