40 ) |
40 ) |
41 |
41 |
42 from eric7 import Preferences |
42 from eric7 import Preferences |
43 from eric7.EricGui import EricPixmapCache |
43 from eric7.EricGui import EricPixmapCache |
44 from eric7.EricWidgets.EricTabWidget import EricTabWidget |
44 from eric7.EricWidgets.EricTabWidget import EricTabWidget |
|
45 from eric7.UI.PythonDisViewer import PythonDisViewer, PythonDisViewerModes |
|
46 |
|
47 from .BreakPointViewer import BreakPointViewer |
|
48 from .CallStackViewer import CallStackViewer |
|
49 from .CallTraceViewer import CallTraceViewer |
|
50 from .ExceptionLogger import ExceptionLogger |
|
51 from .VariablesViewer import VariablesViewer |
|
52 from .WatchPointViewer import WatchPointViewer |
45 |
53 |
46 |
54 |
47 class DebugViewer(QWidget): |
55 class DebugViewer(QWidget): |
48 """ |
56 """ |
49 Class implementing a widget containing various debug related views. |
57 Class implementing a widget containing various debug related views. |
120 |
128 |
121 # add the tab widget containing various debug related views |
129 # add the tab widget containing various debug related views |
122 self.__tabWidget = EricTabWidget() |
130 self.__tabWidget = EricTabWidget() |
123 self.__mainSplitter.addWidget(self.__tabWidget) |
131 self.__mainSplitter.addWidget(self.__tabWidget) |
124 |
132 |
125 from .VariablesViewer import VariablesViewer |
|
126 |
|
127 # add the global variables viewer |
133 # add the global variables viewer |
128 self.gvvWidget = QWidget() |
134 self.gvvWidget = QWidget() |
129 self.gvvWidgetVLayout = QVBoxLayout(self.gvvWidget) |
135 self.gvvWidgetVLayout = QVBoxLayout(self.gvvWidget) |
130 self.gvvWidgetVLayout.setContentsMargins(0, 0, 0, 0) |
136 self.gvvWidgetVLayout.setContentsMargins(0, 0, 0, 0) |
131 self.gvvWidgetVLayout.setSpacing(3) |
137 self.gvvWidgetVLayout.setSpacing(3) |
255 |
261 |
256 self.preferencesChanged.connect(self.handlePreferencesChanged) |
262 self.preferencesChanged.connect(self.handlePreferencesChanged) |
257 self.preferencesChanged.connect(self.globalsViewer.preferencesChanged) |
263 self.preferencesChanged.connect(self.globalsViewer.preferencesChanged) |
258 self.preferencesChanged.connect(self.localsViewer.preferencesChanged) |
264 self.preferencesChanged.connect(self.localsViewer.preferencesChanged) |
259 |
265 |
260 from .CallStackViewer import CallStackViewer |
|
261 |
|
262 # add the call stack viewer |
266 # add the call stack viewer |
263 self.callStackViewer = CallStackViewer(self.debugServer) |
267 self.callStackViewer = CallStackViewer(self.debugServer) |
264 index = self.__tabWidget.addTab( |
268 index = self.__tabWidget.addTab( |
265 self.callStackViewer, EricPixmapCache.getIcon("callStack"), "" |
269 self.callStackViewer, EricPixmapCache.getIcon("callStack"), "" |
266 ) |
270 ) |
267 self.__tabWidget.setTabToolTip(index, self.tr("Shows the current call stack.")) |
271 self.__tabWidget.setTabToolTip(index, self.tr("Shows the current call stack.")) |
268 self.callStackViewer.sourceFile.connect(self.sourceFile) |
272 self.callStackViewer.sourceFile.connect(self.sourceFile) |
269 self.callStackViewer.frameSelected.connect(self.__callStackFrameSelected) |
273 self.callStackViewer.frameSelected.connect(self.__callStackFrameSelected) |
270 |
274 |
271 from .CallTraceViewer import CallTraceViewer |
|
272 |
|
273 # add the call trace viewer |
275 # add the call trace viewer |
274 self.callTraceViewer = CallTraceViewer(self.debugServer, self) |
276 self.callTraceViewer = CallTraceViewer(self.debugServer, self) |
275 index = self.__tabWidget.addTab( |
277 index = self.__tabWidget.addTab( |
276 self.callTraceViewer, EricPixmapCache.getIcon("callTrace"), "" |
278 self.callTraceViewer, EricPixmapCache.getIcon("callTrace"), "" |
277 ) |
279 ) |
278 self.__tabWidget.setTabToolTip( |
280 self.__tabWidget.setTabToolTip( |
279 index, self.tr("Shows a trace of the program flow.") |
281 index, self.tr("Shows a trace of the program flow.") |
280 ) |
282 ) |
281 self.callTraceViewer.sourceFile.connect(self.sourceFile) |
283 self.callTraceViewer.sourceFile.connect(self.sourceFile) |
282 |
|
283 from .BreakPointViewer import BreakPointViewer |
|
284 |
284 |
285 # add the breakpoint viewer |
285 # add the breakpoint viewer |
286 self.breakpointViewer = BreakPointViewer() |
286 self.breakpointViewer = BreakPointViewer() |
287 self.breakpointViewer.setModel(self.debugServer.getBreakPointModel()) |
287 self.breakpointViewer.setModel(self.debugServer.getBreakPointModel()) |
288 index = self.__tabWidget.addTab( |
288 index = self.__tabWidget.addTab( |
291 self.__tabWidget.setTabToolTip( |
291 self.__tabWidget.setTabToolTip( |
292 index, self.tr("Shows a list of defined breakpoints.") |
292 index, self.tr("Shows a list of defined breakpoints.") |
293 ) |
293 ) |
294 self.breakpointViewer.sourceFile.connect(self.sourceFile) |
294 self.breakpointViewer.sourceFile.connect(self.sourceFile) |
295 |
295 |
296 from .WatchPointViewer import WatchPointViewer |
|
297 |
|
298 # add the watch expression viewer |
296 # add the watch expression viewer |
299 self.watchpointViewer = WatchPointViewer() |
297 self.watchpointViewer = WatchPointViewer() |
300 self.watchpointViewer.setModel(self.debugServer.getWatchPointModel()) |
298 self.watchpointViewer.setModel(self.debugServer.getWatchPointModel()) |
301 index = self.__tabWidget.addTab( |
299 index = self.__tabWidget.addTab( |
302 self.watchpointViewer, EricPixmapCache.getIcon("watchpoints"), "" |
300 self.watchpointViewer, EricPixmapCache.getIcon("watchpoints"), "" |
303 ) |
301 ) |
304 self.__tabWidget.setTabToolTip( |
302 self.__tabWidget.setTabToolTip( |
305 index, self.tr("Shows a list of defined watchpoints.") |
303 index, self.tr("Shows a list of defined watchpoints.") |
306 ) |
304 ) |
307 |
305 |
308 from .ExceptionLogger import ExceptionLogger |
|
309 |
|
310 # add the exception logger |
306 # add the exception logger |
311 self.exceptionLogger = ExceptionLogger() |
307 self.exceptionLogger = ExceptionLogger() |
312 index = self.__tabWidget.addTab( |
308 index = self.__tabWidget.addTab( |
313 self.exceptionLogger, EricPixmapCache.getIcon("exceptions"), "" |
309 self.exceptionLogger, EricPixmapCache.getIcon("exceptions"), "" |
314 ) |
310 ) |
315 self.__tabWidget.setTabToolTip( |
311 self.__tabWidget.setTabToolTip( |
316 index, self.tr("Shows a list of raised exceptions.") |
312 index, self.tr("Shows a list of raised exceptions.") |
317 ) |
313 ) |
318 |
|
319 from eric7.UI.PythonDisViewer import PythonDisViewer, PythonDisViewerModes |
|
320 |
314 |
321 # add the Python disassembly viewer |
315 # add the Python disassembly viewer |
322 self.disassemblyViewer = PythonDisViewer( |
316 self.disassemblyViewer = PythonDisViewer( |
323 None, mode=PythonDisViewerModes.TRACEBACK |
317 None, mode=PythonDisViewerModes.TRACEBACK |
324 ) |
318 ) |