finished coding and smoketested ScriptContextQtAgent (required to get Scriptable functional for its users)

This commit is contained in:
Heather Anderson 2021-09-04 02:16:01 -07:00 committed by ksuprynowicz
parent d868143da0
commit 86348b315e
3 changed files with 11 additions and 2 deletions

View file

@ -19,9 +19,9 @@
#include "ScriptEngineQtScript.h"
class QScriptContext;
class QScriptEngine;
class QScriptValue;
class ScriptContextQtWrapper;
class ScriptEngineQtScript;
using ScriptContextQtPointer = QSharedPointer<ScriptContextQtWrapper>;
class ScriptContextQtAgent final : public QScriptEngineAgent {

View file

@ -51,6 +51,7 @@
#include "ScriptContextQtWrapper.h"
#include "ScriptProgramQtWrapper.h"
#include "ScriptValueQtWrapper.h"
#include "ScriptContextQtAgent.h"
static const int MAX_DEBUG_VALUE_LENGTH { 80 };
@ -348,6 +349,9 @@ ScriptEngineQtScript::ScriptEngineQtScript(ScriptManager* scriptManager) :
_undefinedValue = ScriptValue(new ScriptValueQtWrapper(const_cast<ScriptEngineQtScript*>(this), std::move(undefined)));
QScriptEngine::setProcessEventsInterval(MSECS_PER_SECOND);
_contextAgent = new ScriptContextQtAgent(this, agent());
setAgent(_contextAgent);
}
bool ScriptEngineQtScript::isDebugMode() const {
@ -358,7 +362,9 @@ bool ScriptEngineQtScript::isDebugMode() const {
#endif
}
ScriptEngineQtScript::~ScriptEngineQtScript() {}
ScriptEngineQtScript::~ScriptEngineQtScript() {
delete _contextAgent;
}
void ScriptEngineQtScript::disconnectNonEssentialSignals() {
disconnect();

View file

@ -33,6 +33,7 @@
#include "ArrayBufferClass.h"
class ScriptContextQtWrapper;
class ScriptContextQtAgent;
class ScriptEngineQtScript;
class ScriptManager;
using ScriptEngineQtScriptPointer = QSharedPointer<ScriptEngineQtScript>;
@ -432,6 +433,8 @@ protected:
qint64 _lastUpdate;
ArrayBufferClass* _arrayBufferClass;
ScriptContextQtAgent* _contextAgent{ nullptr };
};
// Lambda helps create callable QScriptValues out of std::functions: