Showing the changes to libraries/script-engine/src/ConsoleScriptingInterface.cpp (1 of 2 files). Show all
Unified · Split
| @@ -17,115 +17,122 @@ · 16 unmodified lines | ||
| 17 | 17 | #include "ScriptEngine.h" |
| 18 | 18 | |
| 19 | 19 | void ConsoleScriptingInterface::info(QString message) { |
| 20 | − if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 21 | − scriptEngine->scriptInfoMessage(message); | |
| 22 | − } | |
| 20 | + if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 21 | + scriptEngine->scriptInfoMessage(message); | |
| 22 | + } | |
| 23 | 23 | } |
| 24 | 24 | |
| 25 | −void ConsoleScriptingInterface::log(QString message) { | |
| 25 | +void ConsoleScriptingInterface::log(QString message) { | |
| 26 | 26 | /*if (!listgrp.isEmpty()){ |
| 27 | − listgrp.append(qMakePair(currentGroupSelection, message)); | |
| 27 | + listgrp.append(qMakePair(currentGroupSelection, message)); | |
| 28 | + }*/ | |
| 29 | + /*_listOfGroupData.append(qMakePair(_selectedGroup, message)); | |
| 30 | + if (!_listOfGroupData.isEmpty()) { | |
| 31 | + showdata(_selectedGroup, message); | |
| 28 | 32 | }*/ |
| 29 | − if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 30 | − scriptEngine->scriptPrintedMessage(message); | |
| 31 | − } | |
| 33 | + if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 34 | + scriptEngine->scriptPrintedMessage(message); | |
| 35 | + } | |
| 32 | 36 | } |
| 33 | 37 | |
| 34 | 38 | void ConsoleScriptingInterface::debug(QString message) { |
| 35 | − if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 36 | − scriptEngine->scriptPrintedMessage(message); | |
| 37 | − } | |
| 39 | + if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 40 | + scriptEngine->scriptPrintedMessage(message); | |
| 41 | + } | |
| 38 | 42 | } |
| 39 | 43 | |
| 40 | 44 | void ConsoleScriptingInterface::warn(QString message) { |
| 41 | − if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 42 | − scriptEngine->scriptWarningMessage(message); | |
| 43 | − } | |
| 45 | + if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 46 | + scriptEngine->scriptWarningMessage(message); | |
| 47 | + } | |
| 44 | 48 | } |
| 45 | 49 | |
| 46 | 50 | void ConsoleScriptingInterface::error(QString message) { |
| 47 | − if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 48 | − scriptEngine->scriptErrorMessage(message); | |
| 49 | − } | |
| 51 | + if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 52 | + scriptEngine->scriptErrorMessage(message); | |
| 53 | + } | |
| 50 | 54 | } |
| 51 | 55 | |
| 52 | 56 | void ConsoleScriptingInterface::exception(QString message) { |
| 53 | − if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 54 | − scriptEngine->scriptErrorMessage(message); | |
| 55 | − } | |
| 57 | + if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 58 | + scriptEngine->scriptErrorMessage(message); | |
| 59 | + } | |
| 56 | 60 | } |
| 57 | 61 | |
| 58 | 62 | void ConsoleScriptingInterface::time(QString labelName) { |
| 59 | − QDateTime _currentTime = QDateTime::currentDateTime().toUTC(); | |
| 60 | − _listOfTimeValues.insert(labelName, _currentTime.toUTC()); | |
| 63 | + QDateTime _currentTime = QDateTime::currentDateTime().toUTC(); | |
| 64 | + _listOfTimeValues.insert(labelName, _currentTime.toUTC()); | |
| 61 | 65 | } |
| 62 | 66 | |
| 63 | 67 | void ConsoleScriptingInterface::timeEnd(QString labelName) { |
| 64 | − QDateTime _dateTimeOfLabel; | |
| 65 | − QString message; | |
| 66 | − qint64 millisecondsDiff = 0; | |
| 67 | − | |
| 68 | − bool _labelInList = _listOfTimeValues.contains(labelName); | |
| 69 | − | |
| 70 | − //Check if not exist items in list | |
| 71 | − if (!_labelInList) { | |
| 72 | − if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 73 | − message = "No such label found " + labelName; | |
| 74 | − scriptEngine->scriptErrorMessage(message); | |
| 75 | − } | |
| 76 | − return; | |
| 77 | − } | |
| 78 | − | |
| 79 | − QDateTime _currentDateTimeValue = QDateTime::currentDateTime().toUTC(); | |
| 80 | − _dateTimeOfLabel = _listOfTimeValues.value(labelName); | |
| 81 | − | |
| 82 | − if (!_dateTimeOfLabel.isNull()) { | |
| 83 | − _listOfTimeValues.remove(labelName); | |
| 84 | − } | |
| 85 | − | |
| 86 | − if (_dateTimeOfLabel.toString(TIME_FORMAT) == _currentDateTimeValue.toString(TIME_FORMAT)) { | |
| 87 | − millisecondsDiff = _dateTimeOfLabel.msecsTo(_currentDateTimeValue); | |
| 88 | − message = QString::number(millisecondsDiff) + " ms"; | |
| 89 | − } else { | |
| 90 | − message = secondsToString(_dateTimeOfLabel.secsTo(_currentDateTimeValue)); | |
| 91 | − } | |
| 92 | − | |
| 93 | − if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 94 | − scriptEngine->scriptPrintedMessage("Time : " + message); | |
| 95 | − } | |
| 68 | + QDateTime _dateTimeOfLabel; | |
| 69 | + QString message; | |
| 70 | + qint64 millisecondsDiff = 0; | |
| 71 | + | |
| 72 | + bool _labelInList = _listOfTimeValues.contains(labelName); | |
| 73 | + | |
| 74 | + //Check if not exist items in list | |
| 75 | + if (!_labelInList) { | |
| 76 | + if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 77 | + message = "No such label found " + labelName; | |
| 78 | + scriptEngine->scriptErrorMessage(message); | |
| 79 | + } | |
| 80 | + return; | |
| 81 | + } | |
| 82 | + | |
| 83 | + QDateTime _currentDateTimeValue = QDateTime::currentDateTime().toUTC(); | |
| 84 | + _dateTimeOfLabel = _listOfTimeValues.value(labelName); | |
| 85 | + | |
| 86 | + if (!_dateTimeOfLabel.isNull()) { | |
| 87 | + _listOfTimeValues.remove(labelName); | |
| 88 | + } | |
| 89 | + | |
| 90 | + if (_dateTimeOfLabel.toString(TIME_FORMAT) == _currentDateTimeValue.toString(TIME_FORMAT)) { | |
| 91 | + millisecondsDiff = _dateTimeOfLabel.msecsTo(_currentDateTimeValue); | |
| 92 | + message = QString::number(millisecondsDiff) + " ms"; | |
| 93 | + } | |
| 94 | + else { | |
| 95 | + message = secondsToString(_dateTimeOfLabel.secsTo(_currentDateTimeValue)); | |
| 96 | + } | |
| 97 | + | |
| 98 | + if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 99 | + scriptEngine->scriptPrintedMessage("Time : " + message); | |
| 100 | + } | |
| 96 | 101 | } |
| 97 | 102 | |
| 98 | 103 | QString ConsoleScriptingInterface::secondsToString(qint64 seconds) |
| 99 | −{ | |
| 100 | − qint64 days = seconds / DAY; | |
| 101 | − QTime timeDuration = QTime(0, 0).addSecs(seconds % DAY); | |
| 104 | +{ | |
| 105 | + qint64 days = seconds / DAY; | |
| 106 | + QTime timeDuration = QTime(0, 0).addSecs(seconds % DAY); | |
| 102 | 107 | |
| 103 | − return QString("%1 days, %2 hours, %3 minutes, %4 seconds") | |
| 104 | − .arg(QString::number(days)).arg(QString::number(timeDuration.hour())).arg(QString::number(timeDuration.minute())).arg(QString::number(timeDuration.second())); | |
| 108 | + return QString("%1 days, %2 hours, %3 minutes, %4 seconds") | |
| 109 | + .arg(QString::number(days)).arg(QString::number(timeDuration.hour())).arg(QString::number(timeDuration.minute())).arg(QString::number(timeDuration.second())); | |
| 105 | 110 | } |
| 106 | 111 | |
| 107 | 112 | void ConsoleScriptingInterface::asserts(bool condition, QString message) { |
| 108 | − if (!condition) { | |
| 109 | − QString assertFailed = "Assertion failed"; | |
| 110 | − if (message.isEmpty()) { | |
| 111 | − message = assertFailed; | |
| 112 | − } else { | |
| 113 | − if (typeid(message) != typeid(QString)) { | |
| 114 | − message = assertFailed; | |
| 115 | − } else { | |
| 116 | − message = assertFailed + " " + message; | |
| 117 | − } | |
| 118 | − } | |
| 119 | − if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 120 | − scriptEngine->scriptErrorMessage(message); | |
| 121 | − } | |
| 122 | − } | |
| 113 | + if (!condition) { | |
| 114 | + QString assertFailed = "Assertion failed"; | |
| 115 | + if (message.isEmpty()) { | |
| 116 | + message = assertFailed; | |
| 117 | + } | |
| 118 | + else { | |
| 119 | + if (typeid(message) != typeid(QString)) { | |
| 120 | + message = assertFailed; | |
| 121 | + } | |
| 122 | + else { | |
| 123 | + message = assertFailed + " " + message; | |
| 124 | + } | |
| 125 | + } | |
| 126 | + if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 127 | + scriptEngine->scriptErrorMessage(message); | |
| 128 | + } | |
| 129 | + } | |
| 123 | 130 | } |
| 124 | 131 | |
| 125 | 132 | void ConsoleScriptingInterface::trace(QString labelName) { |
| 126 | − if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 127 | − scriptEngine->scriptErrorMessage(labelName); | |
| 128 | − } | |
| 133 | + if (ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(engine())) { | |
| 134 | + scriptEngine->scriptErrorMessage(labelName); | |
| 135 | + } | |
| 129 | 136 | } |
| 130 | 137 | |
| 131 | 138 | void ConsoleScriptingInterface::clear() { |
| @@ -135,60 +142,62 @@ void ConsoleScriptingInterface::clear() { · 3 unmodified lines | ||
| 135 | 142 | } |
| 136 | 143 | |
| 137 | 144 | void ConsoleScriptingInterface::group(QString groupName) { |
| 138 | − listgrp.append(qMakePair(defaultGroupName, groupName)); | |
| 139 | − currentGroupSelection = groupName; | |
| 145 | + _listOfGroupData.append(qMakePair(GROUP, groupName)); | |
| 146 | + _selectedGroup = groupName; | |
| 147 | + showdata(GROUP, groupName); | |
| 140 | 148 | } |
| 141 | 149 | |
| 142 | 150 | void ConsoleScriptingInterface::groupCollapsed(QString groupName) { |
| 143 | − listgrp.append(qMakePair(defaultGroupCollapseName, groupName)); | |
| 144 | − currentGroupSelection = groupName; | |
| 151 | + _listOfGroupData.append(qMakePair(GROUPCOLLAPSED, groupName)); | |
| 152 | + _selectedGroup = groupName; | |
| 153 | + showdata(GROUPCOLLAPSED, groupName); | |
| 145 | 154 | } |
| 146 | 155 | |
| 147 | −void ConsoleScriptingInterface::consoleLog(QString groupName) { | |
| 148 | − if (!listgrp.isEmpty()){ | |
| 149 | − listgrp.append(qMakePair(currentGroupSelection, groupName)); | |
| 156 | +void ConsoleScriptingInterface::consoleLog(QString message) { | |
| 157 | + _listOfGroupData.append(qMakePair(_selectedGroup, message)); | |
| 158 | + if (!_listOfGroupData.isEmpty()) { | |
| 159 | + showdata(_selectedGroup, message); | |
| 150 | 160 | } |
| 151 | 161 | } |
| 152 | 162 | |
| 153 | −int collapseCount = 0; | |
| 154 | −QString addSpace = " "; | |
| 155 | −void ConsoleScriptingInterface::groupEnd() { | |
| 156 | − QString endGroup= "endGroup"; | |
| 157 | − listgrp.append(qMakePair(currentGroupSelection, endGroup)); | |
| 158 | − //currentGroupSelection = groupName; | |
| 163 | +void ConsoleScriptingInterface::groupEnd() { | |
| 164 | + _listOfGroupData.append(qMakePair(_selectedGroup, GROUPEND)); | |
| 165 | + showdata(_selectedGroup, GROUPEND); | |
| 159 | 166 | } |
| 160 | 167 | |
| 161 | −void show(){ | |
| 162 | − QString tmp; | |
| 163 | − QPair<QString, QString> pair; | |
| 164 | − for (int i = 0; i<listgrp.count(); i++) { | |
| 165 | − pair = listgrp.at(i); | |
| 166 | − if (pair.first == "group") { | |
| 167 | − tmp = pair.second; | |
| 168 | − addSpace = ""; | |
| 169 | − debug(pair.second); | |
| 170 | − } | |
| 171 | − else if (pair.first == "groupCollapse") { | |
| 172 | − tmp = pair.second; | |
| 173 | − int count = 0; | |
| 174 | − addSpace = collapseCount == 0 ? "\t" : " "; | |
| 175 | − while (count<collapseCount) { | |
| 176 | − addSpace += '\t\t'; | |
| 177 | − count++; | |
| 168 | +void ConsoleScriptingInterface::showdata(QString currentGroup, QString groupName) { | |
| 169 | + QPair<QString, QString> groupData; | |
| 170 | + QString firstGroupData; | |
| 171 | + | |
| 172 | + for (int index = 0; index<_listOfGroupData.count(); index++) { | |
| 173 | + groupData = _listOfGroupData.at(index); | |
| 174 | + firstGroupData = groupData.first; | |
| 175 | + if (groupData.first == GROUP || groupData.first == GROUPCOLLAPSED) { | |
| 176 | + firstGroupData = groupData.second; | |
| 177 | + if (_isSameLevel) { | |
| 178 | + _addSpace = _addSpace.mid(0, _addSpace.length() - 3); | |
| 178 | 179 | } |
| 179 | − collapseCount++; | |
| 180 | − pair.second = addSpace + pair.second; | |
| 181 | − debug(pair.second); | |
| 182 | − } | |
| 183 | − else { | |
| 184 | − if (pair.first == tmp) { | |
| 185 | − pair.second = addSpace + pair.second; | |
| 186 | − debug(pair.second); | |
| 180 | + _addSpace += " "; //add inner groupcollapsed | |
| 181 | + | |
| 182 | + if (groupData.first == GROUPCOLLAPSED) { | |
| 183 | + QString space = _addSpace.mid(0, _addSpace.length() - 1); | |
| 184 | + debug(space + groupData.second); | |
| 185 | + } else { | |
| 186 | + debug(_addSpace + groupData.second); | |
| 187 | + } | |
| 188 | + _isSameLevel = false; | |
| 189 | + } else if (groupData.second == GROUPEND) { | |
| 190 | + _addSpace = _addSpace.mid(0, _addSpace.length() - 3); | |
| 191 | + } else { | |
| 192 | + if (groupData.first == firstGroupData && groupData.first != GROUPCOLLAPSED && groupData.first != GROUP && groupData.second != GROUPEND) { | |
| 193 | + if (!_isSameLevel) { | |
| 194 | + _addSpace += " "; //2 space inner element | |
| 195 | + _isSameLevel = true; //same level log entry | |
| 196 | + } | |
| 197 | + debug(_addSpace + groupData.second); | |
| 187 | 198 | } |
| 188 | 199 | } |
| 189 | 200 | } |
| 190 | − addSpace = ""; | |
| 191 | − tmp = ""; | |
| 192 | − collapseCount = 0; | |
| 193 | − listgrp.clear(); | |
| 194 | −} | |
| 201 | + _listOfGroupData.removeOne(qMakePair(currentGroup, groupName)); | |
| 202 | + | |
| 203 | +} | |