Showing the changes to libraries/script-engine/src/ConsoleScriptingInterface.cpp (1 of 260 files). Show all
Unified · Split
| @@ -19,7 +19,10 @@ · 18 unmodified lines | |||
| 19 | 19 | ||
| 20 | #include <QtCore/QDateTime> | 20 | #include <QtCore/QDateTime> |
| 21 | 21 | ||
| 22 | #include "ScriptContext.h" | ||
| 22 | #include "ScriptEngine.h" | 23 | #include "ScriptEngine.h" |
| 24 | #include "ScriptManager.h" | ||
| 25 | #include "ScriptValue.h" | ||
| 23 | 26 | ||
| 24 | #define INDENTATION 4 // 1 Tab - 4 spaces | 27 | #define INDENTATION 4 // 1 Tab - 4 spaces |
| 25 | const QString LINE_SEPARATOR = "\n "; | 28 | const QString LINE_SEPARATOR = "\n "; |
| @@ -27,71 +30,71 @@ const QString SPACE_SEPARATOR = " "; · 1 unmodified line | |||
| 27 | const QString STACK_TRACE_FORMAT = "\n[Stacktrace]%1%2"; | 30 | const QString STACK_TRACE_FORMAT = "\n[Stacktrace]%1%2"; |
| 28 | QList<QString> ConsoleScriptingInterface::_groupDetails = QList<QString>(); | 31 | QList<QString> ConsoleScriptingInterface::_groupDetails = QList<QString>(); |
| 29 | 32 | ||
| 30 | QScriptValue ConsoleScriptingInterface::info(QScriptContext* context, QScriptEngine* engine) { | 33 | ScriptValuePointer ConsoleScriptingInterface::info(ScriptContext* context, ScriptEngine* engine) { |
| 31 | if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine)) { | 34 | if (ScriptManager* scriptManager = engine->manager()) { |
| 32 | scriptEngine->scriptInfoMessage(appendArguments(context)); | 35 | scriptManager->scriptInfoMessage(appendArguments(context)); |
| 33 | } | 36 | } |
| 34 | return QScriptValue::NullValue; | 37 | return engine->nullValue(); |
| 35 | } | 38 | } |
| 36 | 39 | ||
| 37 | QScriptValue ConsoleScriptingInterface::log(QScriptContext* context, QScriptEngine* engine) { | 40 | ScriptValuePointer ConsoleScriptingInterface::log(ScriptContext* context, ScriptEngine* engine) { |
| 38 | QString message = appendArguments(context); | 41 | QString message = appendArguments(context); |
| 39 | if (_groupDetails.count() == 0) { | 42 | if (_groupDetails.count() == 0) { |
| 40 | if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine)) { | 43 | if (ScriptManager* scriptManager = engine->manager()) { |
| 41 | scriptEngine->scriptPrintedMessage(message); | 44 | scriptManager->scriptPrintedMessage(message); |
| 42 | } | 45 | } |
| 43 | } else { | 46 | } else { |
| 44 | logGroupMessage(message, engine); | 47 | logGroupMessage(message, engine); |
| 45 | } | 48 | } |
| 46 | return QScriptValue::NullValue; | 49 | return engine->nullValue(); |
| 47 | } | 50 | } |
| 48 | 51 | ||
| 49 | QScriptValue ConsoleScriptingInterface::debug(QScriptContext* context, QScriptEngine* engine) { | 52 | ScriptValuePointer ConsoleScriptingInterface::debug(ScriptContext* context, ScriptEngine* engine) { |
| 50 | if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine)) { | 53 | if (ScriptManager* scriptManager = engine->manager()) { |
| 51 | scriptEngine->scriptPrintedMessage(appendArguments(context)); | 54 | scriptManager->scriptPrintedMessage(appendArguments(context)); |
| 52 | } | 55 | } |
| 53 | return QScriptValue::NullValue; | 56 | return engine->nullValue(); |
| 54 | } | 57 | } |
| 55 | 58 | ||
| 56 | QScriptValue ConsoleScriptingInterface::warn(QScriptContext* context, QScriptEngine* engine) { | 59 | ScriptValuePointer ConsoleScriptingInterface::warn(ScriptContext* context, ScriptEngine* engine) { |
| 57 | if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine)) { | 60 | if (ScriptManager* scriptManager = engine->manager()) { |
| 58 | scriptEngine->scriptWarningMessage(appendArguments(context)); | 61 | scriptManager->scriptWarningMessage(appendArguments(context)); |
| 59 | } | 62 | } |
| 60 | return QScriptValue::NullValue; | 63 | return engine->nullValue(); |
| 61 | } | 64 | } |
| 62 | 65 | ||
| 63 | QScriptValue ConsoleScriptingInterface::error(QScriptContext* context, QScriptEngine* engine) { | 66 | ScriptValuePointer ConsoleScriptingInterface::error(ScriptContext* context, ScriptEngine* engine) { |
| 64 | if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine)) { | 67 | if (ScriptManager* scriptManager = engine->manager()) { |
| 65 | scriptEngine->scriptErrorMessage(appendArguments(context)); | 68 | scriptManager->scriptErrorMessage(appendArguments(context)); |
| 66 | } | 69 | } |
| 67 | return QScriptValue::NullValue; | 70 | return engine->nullValue(); |
| 68 | } | 71 | } |
| 69 | 72 | ||
| 70 | QScriptValue ConsoleScriptingInterface::exception(QScriptContext* context, QScriptEngine* engine) { | 73 | ScriptValuePointer ConsoleScriptingInterface::exception(ScriptContext* context, ScriptEngine* engine) { |
| 71 | if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine)) { | 74 | if (ScriptManager* scriptManager = engine->manager()) { |
| 72 | scriptEngine->scriptErrorMessage(appendArguments(context)); | 75 | scriptManager->scriptErrorMessage(appendArguments(context)); |
| 73 | } | 76 | } |
| 74 | return QScriptValue::NullValue; | 77 | return engine->nullValue(); |
| 75 | } | 78 | } |
| 76 | 79 | ||
| 77 | void ConsoleScriptingInterface::time(QString labelName) { | 80 | void ConsoleScriptingInterface::time(QString labelName) { |
| 78 | _timerDetails.insert(labelName, QDateTime::currentDateTime().toUTC()); | 81 | _timerDetails.insert(labelName, QDateTime::currentDateTime().toUTC()); |
| 79 | QString message = QString("%1: Timer started").arg(labelName); | 82 | QString message = QString("%1: Timer started").arg(labelName); |
| 80 | if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | 83 | if (ScriptManager* scriptManager = engine()->manager()) { |
| 81 | scriptEngine->scriptPrintedMessage(message); | 84 | scriptManager->scriptPrintedMessage(message); |
| 82 | } | 85 | } |
| 83 | } | 86 | } |
| 84 | 87 | ||
| 85 | void ConsoleScriptingInterface::timeEnd(QString labelName) { | 88 | void ConsoleScriptingInterface::timeEnd(QString labelName) { |
| 86 | if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | 89 | if (ScriptManager* scriptManager = engine()->manager()) { |
| 87 | if (!_timerDetails.contains(labelName)) { | 90 | if (!_timerDetails.contains(labelName)) { |
| 88 | scriptEngine->scriptErrorMessage("No such label found " + labelName); | 91 | scriptManager->scriptErrorMessage("No such label found " + labelName); |
| 89 | return; | 92 | return; |
| 90 | } | 93 | } |
| 91 | 94 | ||
| 92 | if (_timerDetails.value(labelName).isNull()) { | 95 | if (_timerDetails.value(labelName).isNull()) { |
| 93 | _timerDetails.remove(labelName); | 96 | _timerDetails.remove(labelName); |
| 94 | scriptEngine->scriptErrorMessage("Invalid start time for " + labelName); | 97 | scriptManager->scriptErrorMessage("Invalid start time for " + labelName); |
| 95 | return; | 98 | return; |
| 96 | } | 99 | } |
| 97 | QDateTime _startTime = _timerDetails.value(labelName); | 100 | QDateTime _startTime = _timerDetails.value(labelName); |
| @@ -101,18 +104,18 @@ void ConsoleScriptingInterface::timeEnd(QString labelName) { · 3 unmodified lines | |||
| 101 | QString message = QString("%1: %2ms").arg(labelName).arg(QString::number(diffInMS)); | 104 | QString message = QString("%1: %2ms").arg(labelName).arg(QString::number(diffInMS)); |
| 102 | _timerDetails.remove(labelName); | 105 | _timerDetails.remove(labelName); |
| 103 | 106 | ||
| 104 | scriptEngine->scriptPrintedMessage(message); | 107 | scriptManager->scriptPrintedMessage(message); |
| 105 | } | 108 | } |
| 106 | } | 109 | } |
| 107 | 110 | ||
| 108 | QScriptValue ConsoleScriptingInterface::assertion(QScriptContext* context, QScriptEngine* engine) { | 111 | ScriptValuePointer ConsoleScriptingInterface::assertion(ScriptContext* context, ScriptEngine* engine) { |
| 109 | QString message; | 112 | QString message; |
| 110 | bool condition = false; | 113 | bool condition = false; |
| 111 | for (int i = 0; i < context->argumentCount(); i++) { | 114 | for (int i = 0; i < context->argumentCount(); i++) { |
| 112 | if (i == 0) { | 115 | if (i == 0) { |
| 113 | condition = context->argument(i).toBool(); // accept first value as condition | 116 | condition = context->argument(i)->toBool(); // accept first value as condition |
| 114 | } else { | 117 | } else { |
| 115 | message += SPACE_SEPARATOR + context->argument(i).toString(); // accept other parameters as message | 118 | message += SPACE_SEPARATOR + context->argument(i)->toString(); // accept other parameters as message |
| 116 | } | 119 | } |
| 117 | } | 120 | } |
| 118 | 121 | ||
| @@ -123,63 +126,64 @@ QScriptValue ConsoleScriptingInterface::assertion(QScriptContext* context, QScri · 4 unmodified lines | |||
| 123 | } else { | 126 | } else { |
| 124 | assertionResult = QString("Assertion failed : %1").arg(message); | 127 | assertionResult = QString("Assertion failed : %1").arg(message); |
| 125 | } | 128 | } |
| 126 | if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine)) { | 129 | if (ScriptManager* scriptManager = engine->manager()) { |
| 127 | scriptEngine->scriptErrorMessage(assertionResult); | 130 | scriptManager->scriptErrorMessage(assertionResult); |
| 128 | } | 131 | } |
| 129 | } | 132 | } |
| 130 | return QScriptValue::NullValue; | 133 | return engine->nullValue(); |
| 131 | } | 134 | } |
| 132 | 135 | ||
| 133 | void ConsoleScriptingInterface::trace() { | 136 | void ConsoleScriptingInterface::trace() { |
| 134 | if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | 137 | ScriptEnginePointer scriptEngine = engine(); |
| 135 | scriptEngine->scriptPrintedMessage | 138 | if (ScriptManager* scriptManager = scriptEngine->manager()) { |
| 139 | scriptManager->scriptPrintedMessage | ||
| 136 | (QString(STACK_TRACE_FORMAT).arg(LINE_SEPARATOR, | 140 | (QString(STACK_TRACE_FORMAT).arg(LINE_SEPARATOR, |
| 137 | scriptEngine->currentContext()->backtrace().join(LINE_SEPARATOR))); | 141 | scriptEngine->currentContext()->backtrace().join(LINE_SEPARATOR))); |
| 138 | } | 142 | } |
| 139 | } | 143 | } |
| 140 | 144 | ||
| 141 | void ConsoleScriptingInterface::clear() { | 145 | void ConsoleScriptingInterface::clear() { |
| 142 | if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | 146 | if (ScriptManager* scriptManager = engine()->manager()) { |
| 143 | scriptEngine->clearDebugLogWindow(); | 147 | scriptManager->clearDebugLogWindow(); |
| 144 | } | 148 | } |
| 145 | } | 149 | } |
| 146 | 150 | ||
| 147 | QScriptValue ConsoleScriptingInterface::group(QScriptContext* context, QScriptEngine* engine) { | 151 | ScriptValuePointer ConsoleScriptingInterface::group(ScriptContext* context, ScriptEngine* engine) { |
| 148 | logGroupMessage(context->argument(0).toString(), engine); // accept first parameter as label | 152 | logGroupMessage(context->argument(0)->toString(), engine); // accept first parameter as label |
| 149 | _groupDetails.push_back(context->argument(0).toString()); | 153 | _groupDetails.push_back(context->argument(0)->toString()); |
| 150 | return QScriptValue::NullValue; | 154 | return engine->nullValue(); |
| 151 | } | 155 | } |
| 152 | 156 | ||
| 153 | QScriptValue ConsoleScriptingInterface::groupCollapsed(QScriptContext* context, QScriptEngine* engine) { | 157 | ScriptValuePointer ConsoleScriptingInterface::groupCollapsed(ScriptContext* context, ScriptEngine* engine) { |
| 154 | logGroupMessage(context->argument(0).toString(), engine); // accept first parameter as label | 158 | logGroupMessage(context->argument(0)->toString(), engine); // accept first parameter as label |
| 155 | _groupDetails.push_back(context->argument(0).toString()); | 159 | _groupDetails.push_back(context->argument(0)->toString()); |
| 156 | return QScriptValue::NullValue; | 160 | return engine->nullValue(); |
| 157 | } | 161 | } |
| 158 | 162 | ||
| 159 | QScriptValue ConsoleScriptingInterface::groupEnd(QScriptContext* context, QScriptEngine* engine) { | 163 | ScriptValuePointer ConsoleScriptingInterface::groupEnd(ScriptContext* context, ScriptEngine* engine) { |
| 160 | ConsoleScriptingInterface::_groupDetails.removeLast(); | 164 | ConsoleScriptingInterface::_groupDetails.removeLast(); |
| 161 | return QScriptValue::NullValue; | 165 | return engine->nullValue(); |
| 162 | } | 166 | } |
| 163 | 167 | ||
| 164 | QString ConsoleScriptingInterface::appendArguments(QScriptContext* context) { | 168 | QString ConsoleScriptingInterface::appendArguments(ScriptContext* context) { |
| 165 | QString message; | 169 | QString message; |
| 166 | for (int i = 0; i < context->argumentCount(); i++) { | 170 | for (int i = 0; i < context->argumentCount(); i++) { |
| 167 | if (i > 0) { | 171 | if (i > 0) { |
| 168 | message += SPACE_SEPARATOR; | 172 | message += SPACE_SEPARATOR; |
| 169 | } | 173 | } |
| 170 | message += context->argument(i).toString(); | 174 | message += context->argument(i)->toString(); |
| 171 | } | 175 | } |
| 172 | return message; | 176 | return message; |
| 173 | } | 177 | } |
| 174 | 178 | ||
| 175 | void ConsoleScriptingInterface::logGroupMessage(QString message, QScriptEngine* engine) { | 179 | void ConsoleScriptingInterface::logGroupMessage(QString message, ScriptEngine* engine) { |
| 176 | int _addSpaces = _groupDetails.count() * INDENTATION; | 180 | int _addSpaces = _groupDetails.count() * INDENTATION; |
| 177 | QString logMessage; | 181 | QString logMessage; |
| 178 | for (int i = 0; i < _addSpaces; i++) { | 182 | for (int i = 0; i < _addSpaces; i++) { |
| 179 | logMessage.append(SPACE_SEPARATOR); | 183 | logMessage.append(SPACE_SEPARATOR); |
| 180 | } | 184 | } |
| 181 | logMessage.append(message); | 185 | logMessage.append(message); |
| 182 | if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine)) { | 186 | if (ScriptManager* scriptManager = engine->manager()) { |
| 183 | scriptEngine->scriptPrintedMessage(logMessage); | 187 | scriptManager->scriptPrintedMessage(logMessage); |
| 184 | } | 188 | } |
| 185 | } | 189 | } |