aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpyside/pysidesignal.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-07-25 14:50:32 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2023-07-26 11:45:32 +0200
commit942768a87eaaf4c0ea6a60a1eda06a7aa93859fc (patch)
treed62d9870d24058334124bd85c4bb2802a0bbe82d /sources/pyside6/libpyside/pysidesignal.cpp
parent12ba61a242312edb3fe6a19f9f03f578d55336a5 (diff)
PySide6: Add a convenience function for retrieving signal emitters
Task-number: PYSIDE-2384 Change-Id: I38cd611439a882e65f9f3bc6ca47dedd0a4fc66c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/pyside6/libpyside/pysidesignal.cpp')
-rw-r--r--sources/pyside6/libpyside/pysidesignal.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp
index fc630153c..7625cb4d6 100644
--- a/sources/pyside6/libpyside/pysidesignal.cpp
+++ b/sources/pyside6/libpyside/pysidesignal.cpp
@@ -4,6 +4,7 @@
#include <sbkpython.h>
#include "pysidesignal.h"
#include "pysidesignal_p.h"
+#include "pysideqobject.h"
#include "pysideutils.h"
#include "pysidestaticstrings.h"
#include "pysideweakref.h"
@@ -1163,6 +1164,17 @@ const char *getSignature(PySideSignalInstance *signal)
return signal->d->signature;
}
+EmitterData getEmitterData(PySideSignalInstance *signal)
+{
+ EmitterData result;
+ result.emitter = PySide::convertToQObject(getObject(signal), false);
+ if (result.emitter != nullptr) {
+ auto *mo = result.emitter->metaObject();
+ result.methodIndex = mo->indexOfMethod(getSignature(signal));
+ }
+ return result;
+}
+
QStringList getArgsFromSignature(const char *signature, bool *isShortCircuit)
{
QString qsignature = QString::fromLatin1(signature).trimmed();