237 |
237 |
238 self.__doThreadListUpdate = True |
238 self.__doThreadListUpdate = True |
239 |
239 |
240 self.__threadList.currentItemChanged.connect(self.__threadSelected) |
240 self.__threadList.currentItemChanged.connect(self.__threadSelected) |
241 |
241 |
|
242 # add the debugger viewer |
|
243 self.__debuggersLayout = QHBoxLayout(self) |
|
244 self.__debuggersLayout.addWidget(QLabel(self.tr("Debuggers:"))) |
|
245 self.__debuggersCombo = QComboBox(self) |
|
246 self.__debuggersCombo.setSizePolicy( |
|
247 QSizePolicy.Expanding, QSizePolicy.Fixed) |
|
248 self.__debuggersLayout.addWidget(self.__debuggersCombo) |
|
249 self.__mainLayout.addLayout(self.__debuggersLayout) |
|
250 |
|
251 self.__debuggersCombo.currentTextChanged.connect( |
|
252 self.__debuggerSelected) |
|
253 |
242 self.__mainLayout.setStretchFactor(self.__tabWidget, 5) |
254 self.__mainLayout.setStretchFactor(self.__tabWidget, 5) |
243 self.__mainLayout.setStretchFactor(self.__threadList, 1) |
255 self.__mainLayout.setStretchFactor(self.__threadList, 1) |
244 |
256 |
245 self.currentStack = None |
257 self.currentStack = None |
246 self.framenr = 0 |
258 self.framenr = 0 |
279 self.currentStack = None |
291 self.currentStack = None |
280 self.stackComboBox.clear() |
292 self.stackComboBox.clear() |
281 self.__threadList.clear() |
293 self.__threadList.clear() |
282 self.__tabWidget.setCurrentWidget(self.glvWidget) |
294 self.__tabWidget.setCurrentWidget(self.glvWidget) |
283 self.breakpointViewer.handleResetUI() |
295 self.breakpointViewer.handleResetUI() |
|
296 self.__debuggersCombo.clear() |
284 |
297 |
285 def initCallStackViewer(self, projectMode): |
298 def initCallStackViewer(self, projectMode): |
286 """ |
299 """ |
287 Public method to initialize the call stack viewer. |
300 Public method to initialize the call stack viewer. |
288 |
301 |
394 """ |
407 """ |
395 Private slot to handle the selection of a new stack frame number. |
408 Private slot to handle the selection of a new stack frame number. |
396 |
409 |
397 @param frmnr frame number (0 is the current frame) (int) |
410 @param frmnr frame number (0 is the current frame) (int) |
398 """ |
411 """ |
399 self.framenr = frmnr |
412 if frmnr >= 0: |
400 if self.debugServer.isDebugging(): |
413 self.framenr = frmnr |
401 self.debugServer.remoteClientVariables(0, self.localsFilter, frmnr) |
414 if self.debugServer.isDebugging(): |
402 |
415 self.debugServer.remoteClientVariables( |
403 if self.__autoViewSource: |
416 0, self.localsFilter, frmnr) |
404 self.__showSource() |
417 |
|
418 if self.__autoViewSource: |
|
419 self.__showSource() |
405 |
420 |
406 def setGlobalsFilter(self): |
421 def setGlobalsFilter(self): |
407 """ |
422 """ |
408 Public slot to set the global variable filter. |
423 Public slot to set the global variable filter. |
409 """ |
424 """ |
497 |
512 |
498 @param frameNo frame number (index) of the selected entry (integer) |
513 @param frameNo frame number (index) of the selected entry (integer) |
499 """ |
514 """ |
500 if frameNo >= 0: |
515 if frameNo >= 0: |
501 self.stackComboBox.setCurrentIndex(frameNo) |
516 self.stackComboBox.setCurrentIndex(frameNo) |
|
517 |
|
518 def __debuggerSelected(self, debuggerId): |
|
519 """ |
|
520 Private slot to handle the selection of a debugger backend ID. |
|
521 |
|
522 @param debuggerId ID of the selected debugger backend |
|
523 @type str |
|
524 """ |
|
525 if debuggerId: |
|
526 self.globalsViewer.handleResetUI() |
|
527 self.localsViewer.handleResetUI() |
|
528 self.currentStack = None |
|
529 self.stackComboBox.clear() |
|
530 self.__threadList.clear() |
|
531 |
|
532 self.debugUI.getDebuggerData(debuggerId) |
|
533 |
|
534 def showDebuggersList(self, debuggerIds): |
|
535 """ |
|
536 Public slot to receive the list of debugger backend IDs. |
|
537 |
|
538 @param debuggerIds list of debugger backend IDs |
|
539 @type list of str |
|
540 """ |
|
541 block = self.__debuggersCombo.blockSignals(True) |
|
542 |
|
543 currentDebuggerId = self.__debuggersCombo.currentText() |
|
544 self.__debuggersCombo.clear() |
|
545 self.__debuggersCombo.addItems(debuggerIds) |
|
546 if currentDebuggerId: |
|
547 self.__debuggersCombo.setCurrentText(currentDebuggerId) |
|
548 else: |
|
549 self.__debuggersCombo.setCurrentIndex(0) |
|
550 |
|
551 self.__debuggersCombo.blockSignals(block) |
|
552 |
|
553 def getSelectedDebuggerId(self): |
|
554 """ |
|
555 Public method to get the currently selected debugger ID. |
|
556 |
|
557 @return selected debugger ID |
|
558 @rtype str |
|
559 """ |
|
560 return self.__debuggersCombo.currentText() |