diff options
author | Hugo Parente Lima <hugo.lima@openbossa.org> | 2010-06-10 19:57:18 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.lima@openbossa.org> | 2010-06-10 20:18:59 -0300 |
commit | 1b6337d8b4a65988dfbeb0eed67bc6584b25fdee (patch) | |
tree | e6efde3e5d00d4530f321894e62801ab8eac72e8 /libpyside/signalmanager.cpp | |
parent | d8a192b5e14e996992a98766cd39ca2028e6474e (diff) |
Removed QVariant from PySide.
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Marcelo Lira <marcelo.lira@openbossa.org>
Diffstat (limited to 'libpyside/signalmanager.cpp')
-rw-r--r-- | libpyside/signalmanager.cpp | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/libpyside/signalmanager.cpp b/libpyside/signalmanager.cpp index 80d7254b7..7ac3f3067 100644 --- a/libpyside/signalmanager.cpp +++ b/libpyside/signalmanager.cpp @@ -54,35 +54,22 @@ #define PYTHON_TYPE "PyObject" - -// Use this to wrap PyObject during the Signal/Slot handling -struct PyObjectWrapper -{ - PyObject* m_me; - PyObjectWrapper(const PyObjectWrapper &other) : m_me(other.m_me) {} - PyObjectWrapper(PyObject* me) : m_me(me) { Py_INCREF(m_me); } - PyObjectWrapper() : m_me(Py_None) {} - operator PyObject*() const { return m_me; } -}; - -Q_DECLARE_METATYPE(PyObjectWrapper) - namespace Shiboken { template<> -struct Converter<PyObjectWrapper> +struct Converter<PySide::PyObjectWrapper> { - static PyObjectWrapper toCpp(PyObject* obj) + static PySide::PyObjectWrapper toCpp(PyObject* obj) { - return PyObjectWrapper(obj); + return PySide::PyObjectWrapper(obj); } static PyObject* toPython(void* obj) { - return toPython(*reinterpret_cast<PyObjectWrapper*>(obj)); + return toPython(*reinterpret_cast<PySide::PyObjectWrapper*>(obj)); } - static PyObject* toPython(const PyObjectWrapper& obj) + static PyObject* toPython(const PySide::PyObjectWrapper& obj) { return obj; } @@ -202,6 +189,8 @@ SignalManager::SignalManager() : m_d(new SignalManagerPrivate) qRegisterMetaType<PyObjectWrapper>(PYTHON_TYPE); TypeResolver::createValueTypeResolver<PyObjectWrapper>(PYTHON_TYPE); + TypeResolver::createValueTypeResolver<PyObjectWrapper>("object"); + TypeResolver::createValueTypeResolver<PyObjectWrapper>("PySide::PyObjectWrapper"); } void SignalManager::clear() |