11 import re |
11 import re |
12 |
12 |
13 from PyQt6.QtCore import pyqtSlot, pyqtSignal, Qt |
13 from PyQt6.QtCore import pyqtSlot, pyqtSignal, Qt |
14 from PyQt6.QtWidgets import QWidget, QTreeWidgetItem |
14 from PyQt6.QtWidgets import QWidget, QTreeWidgetItem |
15 |
15 |
16 from EricWidgets.EricApplication import ericApp |
16 from eric7.EricWidgets.EricApplication import ericApp |
17 from EricWidgets import EricFileDialog, EricMessageBox |
17 from eric7.EricWidgets import EricFileDialog, EricMessageBox |
18 |
18 |
19 from .Ui_CallTraceViewer import Ui_CallTraceViewer |
19 from .Ui_CallTraceViewer import Ui_CallTraceViewer |
20 |
20 |
21 import UI.PixmapCache |
21 from eric7.EricGui import EricPixmapCache |
22 import Preferences |
22 from eric7 import Preferences |
23 |
23 |
24 |
24 |
25 class CallTraceViewer(QWidget, Ui_CallTraceViewer): |
25 class CallTraceViewer(QWidget, Ui_CallTraceViewer): |
26 """ |
26 """ |
27 Class implementing the Call Trace viewer widget. |
27 Class implementing the Call Trace viewer widget. |
47 self.setupUi(self) |
47 self.setupUi(self) |
48 |
48 |
49 self.__dbs = debugServer |
49 self.__dbs = debugServer |
50 self.__debugViewer = debugViewer |
50 self.__debugViewer = debugViewer |
51 |
51 |
52 self.startTraceButton.setIcon(UI.PixmapCache.getIcon("callTraceStart")) |
52 self.startTraceButton.setIcon(EricPixmapCache.getIcon("callTraceStart")) |
53 self.stopTraceButton.setIcon(UI.PixmapCache.getIcon("callTraceStop")) |
53 self.stopTraceButton.setIcon(EricPixmapCache.getIcon("callTraceStop")) |
54 self.resizeButton.setIcon(UI.PixmapCache.getIcon("resizeColumns")) |
54 self.resizeButton.setIcon(EricPixmapCache.getIcon("resizeColumns")) |
55 self.clearButton.setIcon(UI.PixmapCache.getIcon("editDelete")) |
55 self.clearButton.setIcon(EricPixmapCache.getIcon("editDelete")) |
56 self.saveButton.setIcon(UI.PixmapCache.getIcon("fileSave")) |
56 self.saveButton.setIcon(EricPixmapCache.getIcon("fileSave")) |
57 |
57 |
58 self.__headerItem = QTreeWidgetItem(["", self.tr("From"), self.tr("To")]) |
58 self.__headerItem = QTreeWidgetItem(["", self.tr("From"), self.tr("To")]) |
59 self.__headerItem.setIcon(0, UI.PixmapCache.getIcon("callReturn")) |
59 self.__headerItem.setIcon(0, EricPixmapCache.getIcon("callReturn")) |
60 self.callTrace.setHeaderItem(self.__headerItem) |
60 self.callTrace.setHeaderItem(self.__headerItem) |
61 |
61 |
62 self.__callStack = [] |
62 self.__callStack = [] |
63 |
63 |
64 self.__entryFormat = "{0}:{1} ({2})" |
64 self.__entryFormat = "{0}:{1} ({2})" |
283 @param debuggerId ID of the debugger backend |
283 @param debuggerId ID of the debugger backend |
284 @type str |
284 @type str |
285 """ |
285 """ |
286 if debuggerId == self.__tracedDebuggerId: |
286 if debuggerId == self.__tracedDebuggerId: |
287 if isCall: |
287 if isCall: |
288 icon = UI.PixmapCache.getIcon("forward") |
288 icon = EricPixmapCache.getIcon("forward") |
289 else: |
289 else: |
290 icon = UI.PixmapCache.getIcon("back") |
290 icon = EricPixmapCache.getIcon("back") |
291 parentItem = self.__callStack[-1] if self.__callStack else self.callTrace |
291 parentItem = self.__callStack[-1] if self.__callStack else self.callTrace |
292 |
292 |
293 if self.__projectMode: |
293 if self.__projectMode: |
294 fromFile = self.__project.getRelativePath(fromFile) |
294 fromFile = self.__project.getRelativePath(fromFile) |
295 toFile = self.__project.getRelativePath(toFile) |
295 toFile = self.__project.getRelativePath(toFile) |