// The mapping subscript slot. static PyObject *pyqtBoundSignal_mp_subscript(PyObject *self, PyObject *subscript) { qpycore_pyqtBoundSignal *bs = (qpycore_pyqtBoundSignal *)self; int idx = qpycore_signal_index((qpycore_pyqtSignal *)bs->unbound_signal, subscript, "a bound signal type argument"); if (idx < 0) return 0; // Create a new bound signal. return qpycore_pyqtBoundSignal_New(bs->unbound_signal, bs->bound_pyobject, bs->bound_qobject, idx); }
// The mapping subscript slot. static PyObject *pyqtSignal_mp_subscript(PyObject *self, PyObject *subscript) { qpycore_pyqtSignal *ps = (qpycore_pyqtSignal *)self; int idx = qpycore_signal_index(ps->master, subscript, "an unbound signal type argument"); if (idx < 0) return 0; // Create a copy of the signal with only the overload requested. PyObject *copy = PyType_GenericNew(Py_TYPE(ps), 0, 0); if (copy) { qpycore_pyqtSignal *ps_copy = (qpycore_pyqtSignal *)copy; ps_copy->master = ps->master; ps_copy->master_index = idx; ps_copy->overloads = ps->overloads; } return copy; }