1#ifndef _PYTHONQTSIGNALRECEIVER_H
2#define _PYTHONQTSIGNALRECEIVER_H
62 _methodInfo = methodInfo;
72 void call(
void** arguments)
const;
107 QObject*
sender()
const {
return _sender; }
119 int qt_metacall(QMetaObject::Call
c,
int id,
void** arguments)
override;
125 static int _slotCount;
128 bool _alreadyRemoved;
PyObject * PythonQtConvertPairToPython(const void *inPair, int metaTypeId)
a class that stores all required information about a Qt object (and an optional associated C++ class ...
stores information about a specific signal/slot/method
a smart pointer that stores a PyObject pointer and that handles reference counting automatically
base class for signal receivers
PythonQtSignalReceiverBase()=default
connects a signal to a callable
bool isSameCallable(PyObject *callable) const
Check if this object targets the callable given as argument.
void markAsRemoved()
Mark this object as already removed from the global list of signal receivers.
~PythonQtSignalReceiver() override
int qt_metacall(QMetaObject::Call c, int id, void **arguments) override
We implement this method to either call the callable, or react to the fact that the sender was destro...
static int getSignalIndex(QObject *sender, const char *signal)
Get the index of a sender's signal.
QObject * sender() const
Returns the signal sender for which this receiver was created.
int signalId() const
Returns the signal ID for which this receiver was created.
PythonQtSignalReceiver(QObject *sender, int signalId, PyObject *callable)
stores information about a signal target
PythonQtSignalTarget(const PythonQtMethodInfo *methodInfo, PyObject *callable)
bool isSame(PyObject *callable) const
check if this targets the same callable
static PyObject * call(PyObject *callable, const PythonQtMethodInfo *methodInfo, void **arguments, bool skipFirstArgumentOfMethodInfo=false)
call the given callable with arguments described by PythonQtMethodInfo, returns a new reference as re...
void call(void **arguments) const
call the python callable with the given arguments (as defined in methodInfo)
const PythonQtMethodInfo * methodInfo() const
get the signals parameter info