From bdfb36b880cecc40fa4b15ed963ee3e1c033d469 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 2 May 2022 14:49:01 +0200 Subject: libpyside: Add a __repr__ for PySideSignalInstance PySideSignal already has a str operator, which takes precedence. Pick-to: 6.2 6.3 Fixes: PYSIDE-1911 Change-Id: I98365e75068ce4db661b3293d1336b43a94807a0 Reviewed-by: Christian Tismer --- sources/pyside6/libpyside/pysidesignal.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp index 08fbd667d..65ee650f3 100644 --- a/sources/pyside6/libpyside/pysidesignal.cpp +++ b/sources/pyside6/libpyside/pysidesignal.cpp @@ -170,6 +170,14 @@ PyTypeObject *PySideSignal_TypeF(void) return type; } +static PyObject *signalInstanceRepr(PyObject *self) +{ + auto *data = reinterpret_cast(self); + auto *typeName = Py_TYPE(self)->tp_name; + return Shiboken::String::fromFormat("<%s %s at %p>", typeName, + data->d->signature.constData(), self); +} + static PyMethodDef SignalInstance_methods[] = { {"connect", reinterpret_cast(signalInstanceConnect), METH_VARARGS|METH_KEYWORDS, nullptr}, @@ -182,6 +190,7 @@ static PyType_Slot PySideSignalInstanceType_slots[] = { {Py_mp_subscript, reinterpret_cast(signalInstanceGetItem)}, {Py_tp_call, reinterpret_cast(signalInstanceCall)}, {Py_tp_methods, reinterpret_cast(SignalInstance_methods)}, + {Py_tp_repr, reinterpret_cast(signalInstanceRepr)}, {Py_tp_new, reinterpret_cast(PyType_GenericNew)}, {Py_tp_free, reinterpret_cast(signalInstanceFree)}, {Py_tp_dealloc, reinterpret_cast(Sbk_object_dealloc)}, -- cgit v1.2.3