eric6/Debugger/DebugViewer.py

branch
multi_processing
changeset 7374
5401ae8ddaa1
parent 7360
9190402e4505
child 7375
af2500ced7e0
equal deleted inserted replaced
7373:d036d72f457c 7374:5401ae8ddaa1
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()

eric ide

mercurial