| 1160 | } |
| 1161 | |
| 1162 | void DAPDebugger::slotGetChildVariable(const QModelIndex &index) |
| 1163 | { |
| 1164 | auto treeItem = static_cast<LocalTreeItem *>(index.internalPointer()); |
| 1165 | if (!treeItem->canFetchChildren() || (!d->localsView->isExpanded(index) && !d->watchsView->isExpanded(index))) |
| 1166 | return; |
| 1167 | |
| 1168 | treeItem->setChildrenFetched(true); |
| 1169 | |
| 1170 | if (treeItem->childReference() == 0) { //clear child variables |
| 1171 | emit childVariablesUpdated(treeItem, {}); |
| 1172 | return; |
| 1173 | } |
| 1174 | |
| 1175 | d->processingVariablesTimer.start(50); |
| 1176 | d->processingVariablesCount.ref(); |
| 1177 | QtConcurrent::run([=]() { |
| 1178 | IVariables variables; |
| 1179 | d->currentSession->getVariables(treeItem->childReference(), &variables, 0); |
| 1180 | |
| 1181 | d->processingVariablesCount.deref(); |
| 1182 | emit childVariablesUpdated(treeItem, variables); |
| 1183 | emit processingVariablesDone(); |
| 1184 | }); |
| 1185 | } |
| 1186 | |
| 1187 | void DAPDebugger::slotEvaluateWatchVariable() |
| 1188 | { |
nothing calls this directly
no test coverage detected