src/eric7/Debugger/DebugViewer.py

branch
eric7
changeset 9413
80c06d472826
parent 9397
a415cb83dafb
child 9473
3f23dbf37dbe
equal deleted inserted replaced
9412:45e7bb09c120 9413:80c06d472826
37 QTreeWidgetItem, 37 QTreeWidgetItem,
38 QHeaderView, 38 QHeaderView,
39 QSplitter, 39 QSplitter,
40 ) 40 )
41 41
42 import UI.PixmapCache 42 from eric7.EricGui import EricPixmapCache
43 import Preferences 43 from eric7 import Preferences
44 44
45 from EricWidgets.EricTabWidget import EricTabWidget 45 from eric7.EricWidgets.EricTabWidget import EricTabWidget
46 46
47 47
48 class DebugViewer(QWidget): 48 class DebugViewer(QWidget):
49 """ 49 """
50 Class implementing a widget containing various debug related views. 50 Class implementing a widget containing various debug related views.
92 super().__init__(parent) 92 super().__init__(parent)
93 93
94 self.debugServer = debugServer 94 self.debugServer = debugServer
95 self.debugUI = None 95 self.debugUI = None
96 96
97 self.setWindowIcon(UI.PixmapCache.getIcon("eric")) 97 self.setWindowIcon(EricPixmapCache.getIcon("eric"))
98 98
99 self.__mainLayout = QVBoxLayout() 99 self.__mainLayout = QVBoxLayout()
100 self.__mainLayout.setContentsMargins(0, 3, 0, 0) 100 self.__mainLayout.setContentsMargins(0, 3, 0, 0)
101 self.setLayout(self.__mainLayout) 101 self.setLayout(self.__mainLayout)
102 102
171 self.setGlobalsFilterButton = QPushButton(self.tr("Set"), self.gvvWidget) 171 self.setGlobalsFilterButton = QPushButton(self.tr("Set"), self.gvvWidget)
172 self.gvvWidgetHLayout.addWidget(self.setGlobalsFilterButton) 172 self.gvvWidgetHLayout.addWidget(self.setGlobalsFilterButton)
173 self.gvvWidgetVLayout.addLayout(self.gvvWidgetHLayout) 173 self.gvvWidgetVLayout.addLayout(self.gvvWidgetHLayout)
174 174
175 index = self.__tabWidget.addTab( 175 index = self.__tabWidget.addTab(
176 self.gvvWidget, UI.PixmapCache.getIcon("globalVariables"), "" 176 self.gvvWidget, EricPixmapCache.getIcon("globalVariables"), ""
177 ) 177 )
178 self.__tabWidget.setTabToolTip( 178 self.__tabWidget.setTabToolTip(
179 index, self.tr("Shows the list of global variables and their values.") 179 index, self.tr("Shows the list of global variables and their values.")
180 ) 180 )
181 181
241 self.setLocalsFilterButton = QPushButton(self.tr("Set"), self.lvvWidget) 241 self.setLocalsFilterButton = QPushButton(self.tr("Set"), self.lvvWidget)
242 self.lvvWidgetHLayout2.addWidget(self.setLocalsFilterButton) 242 self.lvvWidgetHLayout2.addWidget(self.setLocalsFilterButton)
243 self.lvvWidgetVLayout.addLayout(self.lvvWidgetHLayout2) 243 self.lvvWidgetVLayout.addLayout(self.lvvWidgetHLayout2)
244 244
245 index = self.__tabWidget.addTab( 245 index = self.__tabWidget.addTab(
246 self.lvvWidget, UI.PixmapCache.getIcon("localVariables"), "" 246 self.lvvWidget, EricPixmapCache.getIcon("localVariables"), ""
247 ) 247 )
248 self.__tabWidget.setTabToolTip( 248 self.__tabWidget.setTabToolTip(
249 index, self.tr("Shows the list of local variables and their values.") 249 index, self.tr("Shows the list of local variables and their values.")
250 ) 250 )
251 251
261 from .CallStackViewer import CallStackViewer 261 from .CallStackViewer import CallStackViewer
262 262
263 # add the call stack viewer 263 # add the call stack viewer
264 self.callStackViewer = CallStackViewer(self.debugServer) 264 self.callStackViewer = CallStackViewer(self.debugServer)
265 index = self.__tabWidget.addTab( 265 index = self.__tabWidget.addTab(
266 self.callStackViewer, UI.PixmapCache.getIcon("callStack"), "" 266 self.callStackViewer, EricPixmapCache.getIcon("callStack"), ""
267 ) 267 )
268 self.__tabWidget.setTabToolTip(index, self.tr("Shows the current call stack.")) 268 self.__tabWidget.setTabToolTip(index, self.tr("Shows the current call stack."))
269 self.callStackViewer.sourceFile.connect(self.sourceFile) 269 self.callStackViewer.sourceFile.connect(self.sourceFile)
270 self.callStackViewer.frameSelected.connect(self.__callStackFrameSelected) 270 self.callStackViewer.frameSelected.connect(self.__callStackFrameSelected)
271 271
272 from .CallTraceViewer import CallTraceViewer 272 from .CallTraceViewer import CallTraceViewer
273 273
274 # add the call trace viewer 274 # add the call trace viewer
275 self.callTraceViewer = CallTraceViewer(self.debugServer, self) 275 self.callTraceViewer = CallTraceViewer(self.debugServer, self)
276 index = self.__tabWidget.addTab( 276 index = self.__tabWidget.addTab(
277 self.callTraceViewer, UI.PixmapCache.getIcon("callTrace"), "" 277 self.callTraceViewer, EricPixmapCache.getIcon("callTrace"), ""
278 ) 278 )
279 self.__tabWidget.setTabToolTip( 279 self.__tabWidget.setTabToolTip(
280 index, self.tr("Shows a trace of the program flow.") 280 index, self.tr("Shows a trace of the program flow.")
281 ) 281 )
282 self.callTraceViewer.sourceFile.connect(self.sourceFile) 282 self.callTraceViewer.sourceFile.connect(self.sourceFile)
285 285
286 # add the breakpoint viewer 286 # add the breakpoint viewer
287 self.breakpointViewer = BreakPointViewer() 287 self.breakpointViewer = BreakPointViewer()
288 self.breakpointViewer.setModel(self.debugServer.getBreakPointModel()) 288 self.breakpointViewer.setModel(self.debugServer.getBreakPointModel())
289 index = self.__tabWidget.addTab( 289 index = self.__tabWidget.addTab(
290 self.breakpointViewer, UI.PixmapCache.getIcon("breakpoints"), "" 290 self.breakpointViewer, EricPixmapCache.getIcon("breakpoints"), ""
291 ) 291 )
292 self.__tabWidget.setTabToolTip( 292 self.__tabWidget.setTabToolTip(
293 index, self.tr("Shows a list of defined breakpoints.") 293 index, self.tr("Shows a list of defined breakpoints.")
294 ) 294 )
295 self.breakpointViewer.sourceFile.connect(self.sourceFile) 295 self.breakpointViewer.sourceFile.connect(self.sourceFile)
298 298
299 # add the watch expression viewer 299 # add the watch expression viewer
300 self.watchpointViewer = WatchPointViewer() 300 self.watchpointViewer = WatchPointViewer()
301 self.watchpointViewer.setModel(self.debugServer.getWatchPointModel()) 301 self.watchpointViewer.setModel(self.debugServer.getWatchPointModel())
302 index = self.__tabWidget.addTab( 302 index = self.__tabWidget.addTab(
303 self.watchpointViewer, UI.PixmapCache.getIcon("watchpoints"), "" 303 self.watchpointViewer, EricPixmapCache.getIcon("watchpoints"), ""
304 ) 304 )
305 self.__tabWidget.setTabToolTip( 305 self.__tabWidget.setTabToolTip(
306 index, self.tr("Shows a list of defined watchpoints.") 306 index, self.tr("Shows a list of defined watchpoints.")
307 ) 307 )
308 308
309 from .ExceptionLogger import ExceptionLogger 309 from .ExceptionLogger import ExceptionLogger
310 310
311 # add the exception logger 311 # add the exception logger
312 self.exceptionLogger = ExceptionLogger() 312 self.exceptionLogger = ExceptionLogger()
313 index = self.__tabWidget.addTab( 313 index = self.__tabWidget.addTab(
314 self.exceptionLogger, UI.PixmapCache.getIcon("exceptions"), "" 314 self.exceptionLogger, EricPixmapCache.getIcon("exceptions"), ""
315 ) 315 )
316 self.__tabWidget.setTabToolTip( 316 self.__tabWidget.setTabToolTip(
317 index, self.tr("Shows a list of raised exceptions.") 317 index, self.tr("Shows a list of raised exceptions.")
318 ) 318 )
319 319
320 from UI.PythonDisViewer import PythonDisViewer, PythonDisViewerModes 320 from eric7.UI.PythonDisViewer import PythonDisViewer, PythonDisViewerModes
321 321
322 # add the Python disassembly viewer 322 # add the Python disassembly viewer
323 self.disassemblyViewer = PythonDisViewer( 323 self.disassemblyViewer = PythonDisViewer(
324 None, mode=PythonDisViewerModes.TRACEBACK 324 None, mode=PythonDisViewerModes.TRACEBACK
325 ) 325 )
326 index = self.__tabWidget.addTab( 326 index = self.__tabWidget.addTab(
327 self.disassemblyViewer, UI.PixmapCache.getIcon("disassembly"), "" 327 self.disassemblyViewer, EricPixmapCache.getIcon("disassembly"), ""
328 ) 328 )
329 self.__tabWidget.setTabToolTip( 329 self.__tabWidget.setTabToolTip(
330 index, self.tr("Shows a code disassembly in case of an exception.") 330 index, self.tr("Shows a code disassembly in case of an exception.")
331 ) 331 )
332 332
867 iconName = "question" 867 iconName = "question"
868 try: 868 try:
869 stateText = DebugViewer.StateMessage[state] 869 stateText = DebugViewer.StateMessage[state]
870 except KeyError: 870 except KeyError:
871 stateText = self.tr("unknown state ({0})").format(state) 871 stateText = self.tr("unknown state ({0})").format(state)
872 debuggerItem.setIcon(0, UI.PixmapCache.getIcon(iconName)) 872 debuggerItem.setIcon(0, EricPixmapCache.getIcon(iconName))
873 debuggerItem.setData(0, self.DebuggerStateRole, state) 873 debuggerItem.setData(0, self.DebuggerStateRole, state)
874 debuggerItem.setText(1, stateText) 874 debuggerItem.setText(1, stateText)
875 875
876 self.__debuggersList.header().resizeSections( 876 self.__debuggersList.header().resizeSections(
877 QHeaderView.ResizeMode.ResizeToContents 877 QHeaderView.ResizeMode.ResizeToContents
932 else: 932 else:
933 stateText = DebugViewer.StateMessage["running"] 933 stateText = DebugViewer.StateMessage["running"]
934 iconName = DebugViewer.StateIcon["running"] 934 iconName = DebugViewer.StateIcon["running"]
935 itm = QTreeWidgetItem(debuggerItem, [thread["name"], stateText]) 935 itm = QTreeWidgetItem(debuggerItem, [thread["name"], stateText])
936 itm.setData(0, self.ThreadIdRole, thread["id"]) 936 itm.setData(0, self.ThreadIdRole, thread["id"])
937 itm.setIcon(0, UI.PixmapCache.getIcon(iconName)) 937 itm.setIcon(0, EricPixmapCache.getIcon(iconName))
938 if currentChild == thread["name"]: 938 if currentChild == thread["name"]:
939 self.__debuggersList.setCurrentItem(itm) 939 self.__debuggersList.setCurrentItem(itm)
940 if thread["id"] == currentID: 940 if thread["id"] == currentID:
941 font = debuggerItem.font(0) 941 font = debuggerItem.font(0)
942 font.setItalic(True) 942 font.setItalic(True)
995 iconName = "question" 995 iconName = "question"
996 try: 996 try:
997 stateText = DebugViewer.StateMessage[state] 997 stateText = DebugViewer.StateMessage[state]
998 except KeyError: 998 except KeyError:
999 stateText = self.tr("unknown state ({0})").format(state) 999 stateText = self.tr("unknown state ({0})").format(state)
1000 childItem.setIcon(0, UI.PixmapCache.getIcon(iconName)) 1000 childItem.setIcon(0, EricPixmapCache.getIcon(iconName))
1001 childItem.setText(1, stateText) 1001 childItem.setText(1, stateText)
1002 1002
1003 self.__debuggersList.header().resizeSections( 1003 self.__debuggersList.header().resizeSections(
1004 QHeaderView.ResizeMode.ResizeToContents 1004 QHeaderView.ResizeMode.ResizeToContents
1005 ) 1005 )

eric ide

mercurial