History

complete Group Functionality i.e Group,GroupCollapsed,GroupEnd

NeetBhagat committed 9 years ago

Commit 2bd28041 parent c5d82682 files · +144 −130Browse files

Showing the changes to libraries/script-engine/src/ConsoleScriptingInterface.cpp (1 of 2 files). Show all

Unified · Split

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