EQL5/examples/M-modules/quick/qml-lisp/lib/qml_lisp.cpp

24 lines
636 B
C++

#include "qml_lisp.h"
#include <eql_fun.h>
QT_BEGIN_NAMESPACE
static Lisp* lisp = 0;
static QObject* lisp_provider(QQmlEngine*, QJSEngine*) { return lisp; }
QObject* ini() {
if(!lisp) {
lisp = new Lisp;
qmlRegisterSingletonType<Lisp>("EQL5", 1, 0, "EQL5", lisp_provider); }
return lisp; }
QVariant Lisp::apply(QObject* caller, const QString& function, const QVariantList& arguments) {
QVariant ret =
eql_fun("qml:qml-apply", QVariant::String,
Q_ARG(QObject*, caller),
Q_ARG(QString, function),
Q_ARG(QVariantList, arguments));
return ret; }
QT_END_NAMESPACE