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
1717 #include "ScriptEngine.h"
1818
1919 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+ }
2323 }
2424
25−void ConsoleScriptingInterface::log(QString message) {
25+void ConsoleScriptingInterface::log(QString message) {
2626 /*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);
2832 }*/
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+ }
3236 }
3337
3438 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+ }
3842 }
3943
4044 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+ }
4448 }
4549
4650 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+ }
5054 }
5155
5256 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+ }
5660 }
5761
5862 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());
6165 }
6266
6367 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+ }
96101 }
97102
98103 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);
102107
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()));
105110 }
106111
107112 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+ }
123130 }
124131
125132 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+ }
129136 }
130137
131138 void ConsoleScriptingInterface::clear() {
@@ -135,60 +142,62 @@ void ConsoleScriptingInterface::clear() { · 3 unmodified lines
135142 }
136143
137144 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);
140148 }
141149
142150 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);
145154 }
146155
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);
150160 }
151161 }
152162
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);
159166 }
160167
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);
178179 }
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);
187198 }
188199 }
189200 }
190− addSpace = "";
191− tmp = "";
192− collapseCount = 0;
193− listgrp.clear();
194−}
201+ _listOfGroupData.removeOne(qMakePair(currentGroup, groupName));
202+
203+}