Exemple #1
0
QScriptValue QDeclarativeObjectMethodScriptClass::disconnect(QScriptContext *context, QScriptEngine *engine)
{
    QDeclarativeEnginePrivate *p = QDeclarativeEnginePrivate::get(engine);

    QScriptValue that = context->thisObject();
    if (&p->objectClass->methods != scriptClass(that))
        return engine->undefinedValue();

    MethodData *data = (MethodData *)object(that);

    if (!data->object || context->argumentCount() == 0)
        return engine->undefinedValue();

    QByteArray signal("2");
    signal.append(data->object->metaObject()->method(data->data.coreIndex).signature());

    if (context->argumentCount() == 1) {
        qScriptDisconnect(data->object, signal.constData(), QScriptValue(), context->argument(0));
    } else {
        qScriptDisconnect(data->object, signal.constData(), context->argument(0), context->argument(1));
    }

    return engine->undefinedValue();
}
static PyObject *func_qScriptDisconnect(PyObject *,PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        QObject* a0;
        char* a1;
        const QScriptValue* a2;
        const QScriptValue* a3;

        if (sipParseArgs(&sipParseErr, sipArgs, "J8GJ9J9", sipType_QObject, &a0, &a1, sipType_QScriptValue, &a2, sipType_QScriptValue, &a3))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = qScriptDisconnect(a0,a1,*a2,*a3);
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }