24 import os |
24 import os |
25 |
25 |
26 from PyQt5.QtCore import pyqtSignal |
26 from PyQt5.QtCore import pyqtSignal |
27 from PyQt5.QtWidgets import ( |
27 from PyQt5.QtWidgets import ( |
28 QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QSizePolicy, QPushButton, |
28 QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QSizePolicy, QPushButton, |
29 QComboBox, QLabel, QTreeWidget, QTreeWidgetItem, QHeaderView |
29 QComboBox, QLabel, QTreeWidget, QTreeWidgetItem, QHeaderView, QFrame |
30 ) |
30 ) |
31 |
31 |
32 import UI.PixmapCache |
32 import UI.PixmapCache |
33 import Preferences |
33 import Preferences |
34 |
34 |
66 |
66 |
67 self.__mainLayout = QVBoxLayout() |
67 self.__mainLayout = QVBoxLayout() |
68 self.__mainLayout.setContentsMargins(0, 0, 0, 0) |
68 self.__mainLayout.setContentsMargins(0, 0, 0, 0) |
69 self.setLayout(self.__mainLayout) |
69 self.setLayout(self.__mainLayout) |
70 |
70 |
|
71 # add the viewer showing the connected debug backends |
|
72 self.__debuggersLayout = QHBoxLayout(self) |
|
73 self.__debuggersLayout.addWidget(QLabel(self.tr("Debuggers:"))) |
|
74 self.__debuggersCombo = QComboBox(self) |
|
75 self.__debuggersCombo.setSizePolicy( |
|
76 QSizePolicy.Expanding, QSizePolicy.Fixed) |
|
77 self.__debuggersLayout.addWidget(self.__debuggersCombo) |
|
78 self.__mainLayout.addLayout(self.__debuggersLayout) |
|
79 |
|
80 self.__debuggersCombo.currentTextChanged.connect( |
|
81 self.__debuggerSelected) |
|
82 |
|
83 # add a line to separate debugger selector from debugger specific parts |
|
84 hline = QFrame(self) |
|
85 hline.setFrameStyle(QFrame.Sunken) |
|
86 hline.setFrameShape(QFrame.HLine) |
|
87 self.__mainLayout.addWidget(hline) |
|
88 |
|
89 # add the tab widget containing various debug related views |
71 self.__tabWidget = E5TabWidget() |
90 self.__tabWidget = E5TabWidget() |
72 self.__mainLayout.addWidget(self.__tabWidget) |
91 self.__mainLayout.addWidget(self.__tabWidget) |
73 |
92 |
74 from .VariablesViewer import VariablesViewer |
93 from .VariablesViewer import VariablesViewer |
75 # add the global variables viewer |
94 # add the global variables viewer |
237 |
256 |
238 self.__doThreadListUpdate = True |
257 self.__doThreadListUpdate = True |
239 |
258 |
240 self.__threadList.currentItemChanged.connect(self.__threadSelected) |
259 self.__threadList.currentItemChanged.connect(self.__threadSelected) |
241 |
260 |
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 |
|
254 self.__mainLayout.setStretchFactor(self.__tabWidget, 5) |
261 self.__mainLayout.setStretchFactor(self.__tabWidget, 5) |
255 self.__mainLayout.setStretchFactor(self.__threadList, 1) |
262 self.__mainLayout.setStretchFactor(self.__threadList, 1) |
256 |
263 |
257 self.currentStack = None |
264 self.currentStack = None |
258 self.framenr = 0 |
265 self.framenr = 0 |
526 self.globalsViewer.handleResetUI() |
533 self.globalsViewer.handleResetUI() |
527 self.localsViewer.handleResetUI() |
534 self.localsViewer.handleResetUI() |
528 self.currentStack = None |
535 self.currentStack = None |
529 self.stackComboBox.clear() |
536 self.stackComboBox.clear() |
530 self.__threadList.clear() |
537 self.__threadList.clear() |
|
538 self.callStackViewer.clear() |
531 |
539 |
532 self.debugUI.getDebuggerData(debuggerId) |
540 self.debugUI.getDebuggerData(debuggerId) |
533 |
541 |
534 def showDebuggersList(self, debuggerIds): |
542 def showDebuggersList(self, debuggerIds): |
535 """ |
543 """ |