Added 'overloaded' member ScriptFunctionWrapper::callWith()
This commit is contained in:
parent
9b299d8ea6
commit
81376f3a17
2 changed files with 21 additions and 4 deletions
|
@ -1,5 +1,9 @@
|
||||||
#include "scriptfunctionwrapper.h"
|
#include "scriptfunctionwrapper.h"
|
||||||
|
|
||||||
|
#include <QScriptContext>
|
||||||
|
#include <QScriptEngine>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
class ScriptFunctionWrapper::PrivateData {
|
class ScriptFunctionWrapper::PrivateData {
|
||||||
public:
|
public:
|
||||||
QScriptValue object;
|
QScriptValue object;
|
||||||
|
@ -18,6 +22,18 @@ ScriptFunctionWrapper::~ScriptFunctionWrapper() {
|
||||||
delete d;
|
delete d;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant ScriptFunctionWrapper::call() {
|
QScriptValue ScriptFunctionWrapper::call() {
|
||||||
return d->object.property(d->name).call().toVariant();
|
return d->object.property(d->name).call();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QScriptValue ScriptFunctionWrapper::callWith(const QScriptValue &val) {
|
||||||
|
qDebug() << "Call called" << d->name;
|
||||||
|
QScriptEngine *eng = val.engine();
|
||||||
|
if (!eng) {
|
||||||
|
qDebug() << "We cannot access the script-engine, fail!";
|
||||||
|
return QScriptValue();
|
||||||
|
}
|
||||||
|
QScriptContext *ctx = eng->currentContext();
|
||||||
|
return d->object.property(d->name).call(QScriptValue(), ctx->argumentsObject());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QScriptValue>
|
#include <QScriptValue>
|
||||||
#include <QVariant>
|
|
||||||
|
|
||||||
class ScriptFunctionWrapper : public QObject
|
class ScriptFunctionWrapper : public QObject
|
||||||
{
|
{
|
||||||
|
@ -16,7 +15,9 @@ signals:
|
||||||
void titleChanged();
|
void titleChanged();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
QVariant call();
|
QScriptValue call();
|
||||||
|
QScriptValue callWith(const QScriptValue &val);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class PrivateData;
|
class PrivateData;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue