QScriptValue qtscript_create_QTextImageFormat_class(QScriptEngine *engine)
{
    engine->setDefaultPrototype(qMetaTypeId<QTextImageFormat*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QTextImageFormat*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QTextCharFormat*>()));
    for (int i = 0; i < 7; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QTextImageFormat_prototype_call, qtscript_QTextImageFormat_function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QTextImageFormat_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    engine->setDefaultPrototype(qMetaTypeId<QTextImageFormat>(), proto);
    engine->setDefaultPrototype(qMetaTypeId<QTextImageFormat*>(), proto);

    QScriptValue ctor = engine->newFunction(qtscript_QTextImageFormat_static_call, proto, qtscript_QTextImageFormat_function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    return ctor;
}
QScriptValue qtscript_create_QCommonStyle_class(QScriptEngine *engine)
{
    static const int function_lengths[] = {
        0
        // static
        // prototype
        , 0
    };
    engine->setDefaultPrototype(qMetaTypeId<QCommonStyle*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QCommonStyle*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QStyle*>()));

    qScriptRegisterMetaType<QCommonStyle*>(engine, qtscript_QCommonStyle_toScriptValue, 
        qtscript_QCommonStyle_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_QCommonStyle_static_call, proto, function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    return ctor;
}
template<> inline QScriptValue qscriptQMetaObjectConstructor<UniversalInputDialogScript>(QScriptContext *ctx, QScriptEngine *eng, UniversalInputDialogScript *) 
{ 
	UniversalInputDialogScript * t = new UniversalInputDialogScript(eng, 0); 
	
	if (ctx->argumentCount()) {
		if (!ctx->argument(0).isArray() || !(ctx->argument(1).isArray() || ctx->argument(1).isUndefined())) 
			t->add(ctx->argument(0),ctx->argument(1),ctx->argument(2));
		else for (int i=0;i<ctx->argumentCount();i++){
			const QScriptValue& sv = ctx->argument(i);
			if (!sv.isArray()) { ctx->throwError("Expected array instead of " + sv.toString()); continue; }
			t->add(sv.property(0), sv.property(1), sv.property(2));
		}
	}
	
	if (ctx->isCalledAsConstructor()) 
		return eng->newQObject(ctx->thisObject(), t, QScriptEngine::AutoOwnership); 
	QScriptValue o = eng->newQObject(t, QScriptEngine::AutoOwnership); 
	o.setPrototype(ctx->callee().property(QString::fromLatin1("prototype"))); 
	return o; 
}
QScriptValue qtscript_create_QAbstractProxyModel_class(QScriptEngine *engine)
{
    engine->setDefaultPrototype(qMetaTypeId<QAbstractProxyModel*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QAbstractProxyModel*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QAbstractItemModel*>()));
    for (int i = 0; i < 7; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QAbstractProxyModel_prototype_call, qtscript_QAbstractProxyModel_function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QAbstractProxyModel_function_names[i+1]),
                          fun, QScriptValue::SkipInEnumeration);
    }

    qScriptRegisterMetaType<QAbstractProxyModel*>(engine, qtscript_QAbstractProxyModel_toScriptValue,
            qtscript_QAbstractProxyModel_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_QAbstractProxyModel_static_call, proto, qtscript_QAbstractProxyModel_function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    return ctor;
}
QScriptValue qtscript_create_QNetworkReply_class(QScriptEngine *engine)
{
    static const int function_lengths[] = {
        0
        // static
        // prototype
        , 0
        , 1
        , 0
        , 1
        , 1
        , 0
        , 0
        , 1
        , 0
        , 0
        , 0
        , 1
        , 0
        , 0
    };
    engine->setDefaultPrototype(qMetaTypeId<QNetworkReply*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QNetworkReply*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QIODevice*>()));
    for (int i = 0; i < 14; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QNetworkReply_prototype_call, function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QNetworkReply_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    qScriptRegisterMetaType<QNetworkReply*>(engine, qtscript_QNetworkReply_toScriptValue, 
        qtscript_QNetworkReply_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_QNetworkReply_static_call, proto, function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    ctor.setProperty(QString::fromLatin1("NetworkError"),
        qtscript_create_QNetworkReply_NetworkError_class(engine, ctor));
    return ctor;
}
QScriptValue qtscript_create_QWebPluginFactory_class(QScriptEngine *engine)
{
    engine->setDefaultPrototype(qMetaTypeId<QWebPluginFactory*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QWebPluginFactory*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QObject*>()));
    for (int i = 0; i < 6; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QWebPluginFactory_prototype_call, qtscript_QWebPluginFactory_function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QWebPluginFactory_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    qScriptRegisterMetaType<QWebPluginFactory*>(engine, qtscript_QWebPluginFactory_toScriptValue, 
        qtscript_QWebPluginFactory_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_QWebPluginFactory_static_call, proto, qtscript_QWebPluginFactory_function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    ctor.setProperty(QString::fromLatin1("Extension"),
        qtscript_create_QWebPluginFactory_Extension_class(engine, ctor));
    return ctor;
}
QScriptValue qtscript_create_QGraphicsSceneWheelEvent_class(QScriptEngine *engine)
{
    static const int function_lengths[] = {
        1
        // static
        // prototype
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 0
    };
    engine->setDefaultPrototype(qMetaTypeId<QGraphicsSceneWheelEvent*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QGraphicsSceneWheelEvent*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QGraphicsSceneEvent*>()));
    for (int i = 0; i < 15; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QGraphicsSceneWheelEvent_prototype_call, function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QGraphicsSceneWheelEvent_function_names[i+1]),
                          fun, QScriptValue::SkipInEnumeration);
    }

    engine->setDefaultPrototype(qMetaTypeId<QGraphicsSceneWheelEvent*>(), proto);

    QScriptValue ctor = engine->newFunction(qtscript_QGraphicsSceneWheelEvent_static_call, proto, function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    return ctor;
}
QScriptValue qtscript_create_QStyleOptionMenuItem_class(QScriptEngine *engine)
{
    engine->setDefaultPrototype(qMetaTypeId<QStyleOptionMenuItem*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QStyleOptionMenuItem*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QStyleOption*>()));

    engine->setDefaultPrototype(qMetaTypeId<QStyleOptionMenuItem>(), proto);
    engine->setDefaultPrototype(qMetaTypeId<QStyleOptionMenuItem*>(), proto);

    QScriptValue ctor = engine->newFunction(qtscript_QStyleOptionMenuItem_static_call, proto, qtscript_QStyleOptionMenuItem_function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    ctor.setProperty(QString::fromLatin1("StyleOptionVersion"),
        qtscript_create_QStyleOptionMenuItem_StyleOptionVersion_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("StyleOptionType"),
        qtscript_create_QStyleOptionMenuItem_StyleOptionType_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("CheckType"),
        qtscript_create_QStyleOptionMenuItem_CheckType_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("MenuItemType"),
        qtscript_create_QStyleOptionMenuItem_MenuItemType_class(engine, ctor));
    return ctor;
}
Example #9
0
QScriptValue ScriptLoader::scriptFunctionSimulationConstructor(QScriptContext * context, QScriptEngine * engine)
{
    using namespace Strings::Script;

    QScriptValue thisObject;

    if(context->isCalledAsConstructor()) {
        thisObject = context->thisObject();
    } else {
        thisObject = engine->newObject();
        thisObject.setPrototype(context->callee().prototype());
    }

    // Bind C++ function to Simulation.run
    thisObject.setProperty(Simulation::Run, engine->newFunction(ScriptLoader::scriptFunctionSimulationRun));

    // TODO: move this to setup.js
    //Default values
    thisObject.setProperty(Simulation::Frequency, QScriptValue(engine, "0"));
    thisObject.setProperty(Simulation::Exchange, QScriptValue(engine, "0"));
    thisObject.setProperty(Simulation::Damping, QScriptValue(engine, "0"));

    QScriptValue atomLoss = engine->newObject();
    atomLoss.setProperty(AtomLoss::FromF1, QScriptValue(engine, "0"));
    atomLoss.setProperty(AtomLoss::FromF2, QScriptValue(engine, "0"));
    thisObject.setProperty(Simulation::AtomLoss, atomLoss);

    QScriptValue intialSpin = engine->newArray();
    intialSpin.setProperty(0, QScriptValue(engine, "1"));
    intialSpin.setProperty(1, QScriptValue(engine, "0"));
    intialSpin.setProperty(2, QScriptValue(engine, "0"));
    thisObject.setProperty(Simulation::InitialSpin, intialSpin);

    thisObject.setProperty(Simulation::Operations, engine->newArray());
    thisObject.setProperty(Simulation::Name, engine->undefinedValue());

    return thisObject;
}
QScriptValue qtscript_create_QApplication_class(QScriptEngine *engine)
{
    engine->setDefaultPrototype(qMetaTypeId<QApplication*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QApplication*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QGuiApplication*>()));

    qScriptRegisterMetaType<QApplication*>(engine, qtscript_QApplication_toScriptValue, 
        qtscript_QApplication_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_QApplication_static_call, proto, qtscript_QApplication_function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));
    for (int i = 0; i < 22; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QApplication_static_call,
            qtscript_QApplication_function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i+1)));
        ctor.setProperty(QString::fromLatin1(qtscript_QApplication_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    ctor.setProperty(QString::fromLatin1("ColorSpec"),
        qtscript_create_QApplication_ColorSpec_class(engine, ctor));
    return ctor;
}
QScriptValue qtscript_create_QStyleHintReturnVariant_class(QScriptEngine *engine)
{
    static const int function_lengths[] = {
        0
        // static
        // prototype
        , 0
    };
    engine->setDefaultPrototype(qMetaTypeId<QStyleHintReturnVariant*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QStyleHintReturnVariant*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QStyleHintReturn*>()));

    engine->setDefaultPrototype(qMetaTypeId<QStyleHintReturnVariant*>(), proto);

    QScriptValue ctor = engine->newFunction(qtscript_QStyleHintReturnVariant_static_call, proto, function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    ctor.setProperty(QString::fromLatin1("StyleOptionVersion"),
        qtscript_create_QStyleHintReturnVariant_StyleOptionVersion_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("StyleOptionType"),
        qtscript_create_QStyleHintReturnVariant_StyleOptionType_class(engine, ctor));
    return ctor;
}
Example #12
0
QScriptValue qtscript_create_MediaObject_class(QScriptEngine *engine)
{
    engine->setDefaultPrototype(qMetaTypeId<Phonon::MediaObject*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((Phonon::MediaObject*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QObject*>()));
    proto.setProperty(QString::fromLatin1("__MediaNode__"),
        engine->defaultPrototype(qMetaTypeId<Phonon::MediaNode*>()),
        QScriptValue::SkipInEnumeration);
    for (int i = 0; i < 18; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_MediaObject_prototype_call, qtscript_MediaObject_function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_MediaObject_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    qScriptRegisterMetaType<Phonon::MediaObject*>(engine, qtscript_MediaObject_toScriptValue, 
        qtscript_MediaObject_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_MediaObject_static_call, proto, qtscript_MediaObject_function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    return ctor;
}
Example #13
0
QScriptValue
BRectGenerator::engineFunction(QScriptContext* aContext,
                               QScriptEngine* aEngine)
{
  BScriptEngine* engine = static_cast<BScriptEngine*>(aEngine);

  if (aContext->argumentCount() < 1) {
    return aContext->throwError(QScriptContext::SyntaxError,
                                "Rect(frequency [, duty=0.5]) used wrongly.");
  }

  BGeneratorRef frequency = BGenerator::numberToGenerator(aContext->argument(0));
  BGeneratorRef duty;
  if (aContext->argumentCount() > 1) {
    duty = BGenerator::numberToGenerator(aContext->argument(1));
  } else {
    duty = new BNumberGenerator(0.5);
  }

  if (!frequency || !duty) {
    return aContext->throwError(QScriptContext::SyntaxError,
                                "Rect(frequency [, duty=0.5]) used wrongly.");
  }

  BRectGenerator* generator = new BRectGenerator(frequency, duty);
  engine->app()->registerGenerator(generator);

  QScriptValue object = generator->objGenerator(engine);

  if (aContext->isCalledAsConstructor()) {
    aContext->setThisObject(object);
    return QScriptValue();
  }

  object.setPrototype(aContext->callee().property("prototype"));
  return object;
}
Example #14
0
QScriptValue qtscript_create_QLCDNumber_class(QScriptEngine *engine)
{
    engine->setDefaultPrototype(qMetaTypeId<QLCDNumber*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QLCDNumber*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QFrame*>()));
    for (int i = 0; i < 2; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QLCDNumber_prototype_call, qtscript_QLCDNumber_function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QLCDNumber_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    qScriptRegisterMetaType<QLCDNumber*>(engine, qtscript_QLCDNumber_toScriptValue, 
        qtscript_QLCDNumber_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_QLCDNumber_static_call, proto, qtscript_QLCDNumber_function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    ctor.setProperty(QString::fromLatin1("SegmentStyle"),
        qtscript_create_QLCDNumber_SegmentStyle_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("Mode"),
        qtscript_create_QLCDNumber_Mode_class(engine, ctor));
    return ctor;
}
QScriptValue qtscript_create_QStyleOptionToolBar_class(QScriptEngine *engine)
{
    engine->setDefaultPrototype(qMetaTypeId<QStyleOptionToolBar*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QStyleOptionToolBar*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QStyleOption*>()));

    engine->setDefaultPrototype(qMetaTypeId<QStyleOptionToolBar>(), proto);
    engine->setDefaultPrototype(qMetaTypeId<QStyleOptionToolBar*>(), proto);

    QScriptValue ctor = engine->newFunction(qtscript_QStyleOptionToolBar_static_call, proto, qtscript_QStyleOptionToolBar_function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    ctor.setProperty(QString::fromLatin1("StyleOptionVersion"),
        qtscript_create_QStyleOptionToolBar_StyleOptionVersion_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("ToolBarFeature"),
        qtscript_create_QStyleOptionToolBar_ToolBarFeature_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("ToolBarFeatures"),
        qtscript_create_QStyleOptionToolBar_ToolBarFeatures_class(engine));
    ctor.setProperty(QString::fromLatin1("StyleOptionType"),
        qtscript_create_QStyleOptionToolBar_StyleOptionType_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("ToolBarPosition"),
        qtscript_create_QStyleOptionToolBar_ToolBarPosition_class(engine, ctor));
    return ctor;
}
Example #16
0
QScriptValue qtscript_create_QDrag_class(QScriptEngine *engine)
{
    static const int function_lengths[] = {
        1
        // static
        // prototype
        , 2
        , 0
        , 0
        , 0
        , 2
        , 1
        , 1
        , 1
        , 0
        , 0
        , 0
    };
    engine->setDefaultPrototype(qMetaTypeId<QDrag*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QDrag*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QObject*>()));
    for (int i = 0; i < 11; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QDrag_prototype_call, function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QDrag_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    qScriptRegisterMetaType<QDrag*>(engine, qtscript_QDrag_toScriptValue, 
        qtscript_QDrag_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_QDrag_static_call, proto, function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    return ctor;
}
QScriptValue qtscript_create_QDockWidget_class(QScriptEngine *engine)
{
    engine->setDefaultPrototype(qMetaTypeId<QDockWidget*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QDockWidget*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QWidget*>()));
    for (int i = 0; i < 9; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QDockWidget_prototype_call, qtscript_QDockWidget_function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QDockWidget_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    qScriptRegisterMetaType<QDockWidget*>(engine, qtscript_QDockWidget_toScriptValue, 
        qtscript_QDockWidget_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_QDockWidget_static_call, proto, qtscript_QDockWidget_function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    ctor.setProperty(QString::fromLatin1("DockWidgetFeature"),
        qtscript_create_QDockWidget_DockWidgetFeature_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("DockWidgetFeatures"),
        qtscript_create_QDockWidget_DockWidgetFeatures_class(engine));
    return ctor;
}
Example #18
0
QScriptValue qtscript_create_QComboBox_class(QScriptEngine *engine)
{
    engine->setDefaultPrototype(qMetaTypeId<QComboBox*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QComboBox*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QWidget*>()));
    for (int i = 0; i < 33; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QComboBox_prototype_call, qtscript_QComboBox_function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QComboBox_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    qScriptRegisterMetaType<QComboBox*>(engine, qtscript_QComboBox_toScriptValue, 
        qtscript_QComboBox_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_QComboBox_static_call, proto, qtscript_QComboBox_function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    ctor.setProperty(QString::fromLatin1("InsertPolicy"),
        qtscript_create_QComboBox_InsertPolicy_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("SizeAdjustPolicy"),
        qtscript_create_QComboBox_SizeAdjustPolicy_class(engine, ctor));
    return ctor;
}
Example #19
0
QScriptValue qtscript_create_QProcess_class(QScriptEngine *engine)
{
    static const int function_lengths[] = {
        1
        // static
        , 2
        , 4
        , 0
        // prototype
        , 1
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 1
        , 1
        , 1
        , 2
        , 1
        , 2
        , 1
        , 1
        , 3
        , 0
        , 1
        , 1
        , 0
        , 0
    };
    engine->setDefaultPrototype(qMetaTypeId<QProcess*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QProcess*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QIODevice*>()));
    for (int i = 0; i < 24; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QProcess_prototype_call, function_lengths[i+4]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QProcess_function_names[i+4]),
            fun, QScriptValue::SkipInEnumeration);
    }

    qScriptRegisterMetaType<QProcess*>(engine, qtscript_QProcess_toScriptValue, 
        qtscript_QProcess_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_QProcess_static_call, proto, function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));
    for (int i = 0; i < 3; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QProcess_static_call,
            function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i+1)));
        ctor.setProperty(QString::fromLatin1(qtscript_QProcess_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    ctor.setProperty(QString::fromLatin1("ProcessError"),
        qtscript_create_QProcess_ProcessError_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("ProcessChannelMode"),
        qtscript_create_QProcess_ProcessChannelMode_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("ProcessChannel"),
        qtscript_create_QProcess_ProcessChannel_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("ProcessState"),
        qtscript_create_QProcess_ProcessState_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("ExitStatus"),
        qtscript_create_QProcess_ExitStatus_class(engine, ctor));
    return ctor;
}
Example #20
0
ScriptManager::ScriptManager(QObject *parent) :
    QObject(parent)
{
    m_pScriptEngine = new QScriptEngine();

    QDir scriptsDirectory = QDir("scripts");
    QStringList filesList;

    filesList = scriptsDirectory.entryList(QStringList(QString("*.js")), QDir::Files);
    for(int i = 0; i < filesList.size(); i++)
    {
        QFile file;
        file.setFileName("scripts/" + filesList[i]);

        if(file.open(QIODevice::ReadOnly))
        {
            filesList[i].chop(3);

            QScriptValue globalObjectBackup = m_pScriptEngine->newObject();
            globalObjectBackup.setPrototype(m_pScriptEngine->globalObject().prototype());

            QScriptValueIterator it(m_pScriptEngine->globalObject());
            while(it.hasNext())
            {
                it.next();
                globalObjectBackup.setProperty(it.name(), it.value(), it.flags());
            }

            QString strScriptText = file.readAll();
            m_globalObjects[filesList[i]] = m_pScriptEngine->newObject();

            qScriptRegisterMetaType(m_pScriptEngine, toScriptValue_grVertex, fromScriptValue_grVertex);
            QScriptValue ctor_grVertex = m_pScriptEngine->newFunction(new_grVertex);
            m_pScriptEngine->globalObject().setProperty("GraphVertex", ctor_grVertex);

            qScriptRegisterMetaType(m_pScriptEngine, toScriptValue_grEdge, fromScriptValue_grEdge);
            QScriptValue ctor_grEdge = m_pScriptEngine->newFunction(new_grEdge);
            m_pScriptEngine->globalObject().setProperty("GraphEdge", ctor_grEdge);

            m_pScriptEngine->globalObject().setProperty("alert", m_pScriptEngine->newFunction(scriptAlert));
            m_pScriptEngine->globalObject().setProperty("confirm", m_pScriptEngine->newFunction(scriptConfirm));
            m_pScriptEngine->globalObject().setProperty("prompt", m_pScriptEngine->newFunction(scriptPrompt));

            m_pScriptEngine->globalObject().setProperty("CONNECTION_BOTH", m_pScriptEngine->toScriptValue(0), QScriptValue::ReadOnly);
            m_pScriptEngine->globalObject().setProperty("CONNECTION_FROM", m_pScriptEngine->toScriptValue(1), QScriptValue::ReadOnly);
            m_pScriptEngine->globalObject().setProperty("CONNECTION_TO", m_pScriptEngine->toScriptValue(2), QScriptValue::ReadOnly);

            QScriptValue valVGE2Namespace = m_pScriptEngine->newObject();
            valVGE2Namespace.setProperty("clearGraph", m_pScriptEngine->newFunction(scriptVGE2ClearGraph));
            valVGE2Namespace.setProperty("addVertices", m_pScriptEngine->newFunction(scriptVGE2AddVertices));
            valVGE2Namespace.setProperty("addEdges", m_pScriptEngine->newFunction(scriptVGE2AddEdges));
            valVGE2Namespace.setProperty("getGraph", m_pScriptEngine->newFunction(scriptVGE2GetGraph));
            valVGE2Namespace.setProperty("setGraph", m_pScriptEngine->newFunction(scriptVGE2SetGraph));
            valVGE2Namespace.setProperty("getEdgesOfVertex", m_pScriptEngine->newFunction(scriptVGE2GetEdgesOfVertex));
            valVGE2Namespace.setProperty("deleteVertex", m_pScriptEngine->newFunction(scriptVGE2DeleteVertex));
            valVGE2Namespace.setProperty("removeEdge", m_pScriptEngine->newFunction(scriptVGE2RemoveEdge));
            valVGE2Namespace.setProperty("getSelectedIndexes", m_pScriptEngine->newFunction(scriptVGE2GetSelectedIndexes));
            valVGE2Namespace.setProperty("getVertexByIndex", m_pScriptEngine->newFunction(scriptVGE2GetVertexByIndex));
            valVGE2Namespace.setProperty("markGraphsPart", m_pScriptEngine->newFunction(scriptVGE2MarkGraphsPart));

            m_pScriptEngine->globalObject().setProperty("GraphEditorApi", valVGE2Namespace);

            m_pScriptEngine->evaluate(strScriptText, QString(filesList[i] + QString(".js")));

            if(m_pScriptEngine->hasUncaughtException())
            {
                QMessageBox::critical(g_pWndMain, tr("Visual graph editor"), tr("File: %1\nLine: %2\n%3").arg(filesList[i] + ".js").arg(m_pScriptEngine->uncaughtExceptionLineNumber()).arg(m_pScriptEngine->uncaughtException().toString()));
                m_globalObjects.remove(filesList[i]);
            }
            else
            {
                m_globalObjects[filesList[i]].setPrototype(m_pScriptEngine->globalObject().prototype());

                QScriptValueIterator it(m_pScriptEngine->globalObject());
                while(it.hasNext())
                {
                    it.next();
                    m_globalObjects[filesList[i]].setProperty(it.name(), it.value(), it.flags());
                }
            }

            m_pScriptEngine->setGlobalObject(globalObjectBackup);
        }
        else
        {
            QMessageBox::critical(g_pWndMain, tr("Visual graph editor"), tr("Couldn't open script file: %1!").arg(filesList[i]));
        }
    }
}
void scriptengine::run(){
	if (globalObject) delete globalObject;
	globalObject = new ScriptObject(m_script,buildManager,app);
    if(m_allowWrite){
        globalObject->registerAllowedWrite();
    }
	QScriptValue globalValue = engine->newQObject(globalObject);
	globalValue.setPrototype(engine->globalObject());
	engine->setGlobalObject(globalValue);
	
	QDocumentCursor c;
	QScriptValue cursorValue;
	if (m_editorView)
		engine->globalObject().setProperty("editorView", engine->newQObject(m_editorView));
	
	if (m_editor) {
		engine->globalObject().setProperty("editor", engine->newQObject(m_editor));
		
		c=m_editor->cursor();
		c.setAutoUpdated(true); //auto updated so the editor text insert functions actually move the cursor		
		cursorValue = engine->newQObject(&c);
		engine->globalObject().setProperty("cursor", cursorValue);
		
		QScriptValue matches = engine->newArray(triggerMatches.size());
		for (int i=0;i<triggerMatches.size();i++) matches.setProperty(i, triggerMatches[i]);
		engine->globalObject().setProperty("triggerMatches", matches);
	} 
	engine->globalObject().setProperty("triggerId", engine->newVariant(triggerId));

	engine->globalObject().setProperty("include", engine->newFunction(include));

	engine->globalObject().setProperty("setTimeout", engine->newFunction(setTimeout));
	
	QScriptValue qsMetaObject = engine->newQMetaObject(&QDocumentCursor::staticMetaObject);
	engine->globalObject().setProperty("cursorEnums", qsMetaObject);
	
	QScriptValue uidClass = engine->scriptValueFromQMetaObject<UniversalInputDialogScript>();
	engine->globalObject().setProperty("UniversalInputDialog", uidClass);
	
	FileChooser flchooser(0,scriptengine::tr("File Chooser"));
	engine->globalObject().setProperty("fileChooser", engine->newQObject(&flchooser));
	
	engine->globalObject().setProperty("documentManager", engine->newQObject(&app->documents));
	engine->globalObject().setProperty("documents", qScriptValueFromQList(engine, app->documents.documents));
#ifndef NO_POPPLER_PREVIEW
	engine->globalObject().setProperty("pdfs", qScriptValueFromQList(engine, PDFDocument::documentList()));
#endif
	QScriptValue bm = engine->newQObject(&app->buildManager);
	bm.setProperty("runCommand", engine->newFunction(buildManagerRunCommandWrapper));	
	//bm.setProperty("commandLineRequested", engine->globalObject().property("buildManagerCommandLineRequestedWrapper"));
	engine->globalObject().setProperty("buildManager", bm);
	//connect(buildManager, SIGNAL(commandLineRequested(QString,QString*)), SLOT(buildManagerCommandLineRequestedWrapperSlot(const QString&, QString*)));
	
	engine->evaluate(m_script);
	
	if(engine->hasUncaughtException()){
		QString error = QString(tr("Uncaught exception at line %1: %2\n")).arg(engine->uncaughtExceptionLineNumber()).arg(engine->uncaughtException().toString());
		error += "\n"+QString(tr("Backtrace %1")).arg(engine->uncaughtExceptionBacktrace().join(", "));
		qDebug() << error;
		QMessageBox::critical(0, tr("Script-Error"), error);
	}
	
	if (m_editor) {
		if (engine->globalObject().property("cursor").strictlyEquals(cursorValue)) m_editor->setCursor(c);
		else m_editor->setCursor(cursorFromValue(engine->globalObject().property("cursor")));
	}
	
	if (!globalObject->backgroundScript) {
		delete globalObject;
		globalObject = 0;
	}
}
QScriptValue qtscript_create_QTextCharFormat_class(QScriptEngine *engine)
{
    static const int function_lengths[] = {
        0
        // static
        // prototype
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 2
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
        , 0
    };
    engine->setDefaultPrototype(qMetaTypeId<QTextCharFormat*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QTextCharFormat*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QTextFormat*>()));
    for (int i = 0; i < 51; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QTextCharFormat_prototype_call, function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QTextCharFormat_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    engine->setDefaultPrototype(qMetaTypeId<QTextCharFormat>(), proto);
    engine->setDefaultPrototype(qMetaTypeId<QTextCharFormat*>(), proto);

    QScriptValue ctor = engine->newFunction(qtscript_QTextCharFormat_static_call, proto, function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    ctor.setProperty(QString::fromLatin1("VerticalAlignment"),
        qtscript_create_QTextCharFormat_VerticalAlignment_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("UnderlineStyle"),
        qtscript_create_QTextCharFormat_UnderlineStyle_class(engine, ctor));
    return ctor;
}
Example #23
0
QScriptValue ToScriptValue_const_LCG(QScriptEngine *engine, const LCG &value)
{
    QScriptValue obj = engine->newVariant(QVariant::fromValue(value)); // The contents of this variant are NOT used. The real data lies in the data() pointer of this QScriptValue. This only exists to enable overload resolution to work for QObject slots.
    obj.setPrototype(engine->defaultPrototype(qMetaTypeId<LCG>()));
    return obj;
}
QScriptValue qtscript_create_QTextEdit_class(QScriptEngine *engine)
{
    static const int function_lengths[] = {
        2
        // static
        // prototype
        , 0
        , 1
        , 0
        , 1
        , 0
        , 0
        , 1
        , 1
        , 0
        , 0
        , 0
        , 2
        , 0
        , 0
        , 0
        , 0
        , 0
        , 2
        , 1
        , 2
        , 1
        , 1
        , 1
        , 1
        , 1
        , 1
        , 0
        , 0
        , 0
        , 0
        , 0
    };
    engine->setDefaultPrototype(qMetaTypeId<QTextEdit*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QTextEdit*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QAbstractScrollArea*>()));
    for (int i = 0; i < 31; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QTextEdit_prototype_call, function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QTextEdit_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    qScriptRegisterMetaType<QTextEdit*>(engine, qtscript_QTextEdit_toScriptValue, 
        qtscript_QTextEdit_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_QTextEdit_static_call, proto, function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    ctor.setProperty(QString::fromLatin1("AutoFormattingFlag"),
        qtscript_create_QTextEdit_AutoFormattingFlag_class(engine, ctor));
    ctor.setProperty(QString::fromLatin1("AutoFormatting"),
        qtscript_create_QTextEdit_AutoFormatting_class(engine));
    ctor.setProperty(QString::fromLatin1("LineWrapMode"),
        qtscript_create_QTextEdit_LineWrapMode_class(engine, ctor));
    return ctor;
}
QScriptValue qtscript_create_QHeaderView_class(QScriptEngine *engine)
{
    static const int function_lengths[] = {
        2
        // static
        // prototype
        , 0
        , 0
        , 1
        , 0
        , 0
        , 1
        , 0
        , 1
        , 2
        , 2
        , 0
        , 0
        , 1
        , 2
        , 1
        , 1
        , 0
        , 1
        , 1
        , 1
        , 1
        , 0
        , 0
        , 1
        , 1
        , 2
        , 2
        , 2
        , 1
        , 0
        , 0
        , 0
        , 2
        , 1
        , 1
        , 0
    };
    engine->setDefaultPrototype(qMetaTypeId<QHeaderView*>(), QScriptValue());
    QScriptValue proto = engine->newVariant(qVariantFromValue((QHeaderView*)0));
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QAbstractItemView*>()));
    for (int i = 0; i < 36; ++i) {
        QScriptValue fun = engine->newFunction(qtscript_QHeaderView_prototype_call, function_lengths[i+1]);
        fun.setData(QScriptValue(engine, uint(0xBABE0000 + i)));
        proto.setProperty(QString::fromLatin1(qtscript_QHeaderView_function_names[i+1]),
            fun, QScriptValue::SkipInEnumeration);
    }

    qScriptRegisterMetaType<QHeaderView*>(engine, qtscript_QHeaderView_toScriptValue, 
        qtscript_QHeaderView_fromScriptValue, proto);

    QScriptValue ctor = engine->newFunction(qtscript_QHeaderView_static_call, proto, function_lengths[0]);
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));

    ctor.setProperty(QString::fromLatin1("ResizeMode"),
        qtscript_create_QHeaderView_ResizeMode_class(engine, ctor));
    return ctor;
}