Sat, 26 Apr 2025 12:34:32 +0200
MicroPython
- Added a configuration option to disable the support for the no longer produced Pimoroni Pico Wireless Pack.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
11090
f5f5f5803935
Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10935
diff
changeset
|
3 | # Copyright (c) 2002 - 2025 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a widget containing various debug related views. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | The views avaliable are: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | <ul> |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
11 | <li>selector showing all connected debugger backends with associated |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
12 | threads</li> |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
13 | <li>variables viewer for global variables for the selected debug client</li> |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
14 | <li>variables viewer for local variables for the selected debug client</li> |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
15 | <li>call stack viewer for the selected debug client</li> |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
16 | <li>call trace viewer</li> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | <li>viewer for breakpoints</li> |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | <li>viewer for watch expressions</li> |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | <li>viewer for exceptions</li> |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
20 | <li>viewer for a code disassembly for an exception<li> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | </ul> |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | import os |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
26 | from PyQt6.QtCore import QCoreApplication, Qt, pyqtSignal, pyqtSlot |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
27 | from PyQt6.QtWidgets import ( |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
28 | QComboBox, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
29 | QHBoxLayout, |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
30 | QHeaderView, |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
31 | QLabel, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
32 | QLineEdit, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
33 | QPushButton, |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
34 | QSizePolicy, |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
35 | QSplitter, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
36 | QTreeWidget, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
37 | QTreeWidgetItem, |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
38 | QVBoxLayout, |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
39 | QWidget, |
7251
bc5b1b00560a
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
40 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
42 | from eric7 import Preferences |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
43 | from eric7.EricGui import EricPixmapCache |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
44 | from eric7.EricWidgets.EricTabWidget import EricTabWidget |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
45 | from eric7.UI.PythonDisViewer import PythonDisViewer, PythonDisViewerModes |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
46 | |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
47 | from .BreakPointViewer import BreakPointViewer |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
48 | from .CallStackViewer import CallStackViewer |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
49 | from .CallTraceViewer import CallTraceViewer |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
50 | from .ExceptionLogger import ExceptionLogger |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
51 | from .VariablesViewer import VariablesViewer |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
52 | from .WatchPointViewer import WatchPointViewer |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
821
diff
changeset
|
54 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | class DebugViewer(QWidget): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | """ |
4309
cc9c62f55413
Changed the Python debugger backends to evaluate statements entered into the shell in the frame selected in the local variables viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
57 | Class implementing a widget containing various debug related views. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
58 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
821
diff
changeset
|
59 | The individual tabs contain the interpreter shell (optional), |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
60 | the filesystem browser (optional), the two variables viewers |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
61 | (global and local), a breakpoint viewer, a watch expression viewer and |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
62 | the exception logger. Additionally a list of all threads is shown. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
63 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | @signal sourceFile(string, int) emitted to open a source file at a line |
7012
cc3f83d1a605
Colors for highlighting are configurable through Debugger->General
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6942
diff
changeset
|
65 | @signal preferencesChanged() emitted to react on changed preferences |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
67 | |
476
121633976eca
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
68 | sourceFile = pyqtSignal(str, int) |
7012
cc3f83d1a605
Colors for highlighting are configurable through Debugger->General
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6942
diff
changeset
|
69 | preferencesChanged = pyqtSignal() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
70 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7986
diff
changeset
|
71 | ThreadIdRole = Qt.ItemDataRole.UserRole + 1 |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7986
diff
changeset
|
72 | DebuggerStateRole = Qt.ItemDataRole.UserRole + 2 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
73 | |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
74 | # Map debug state to icon name |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
75 | StateIcon = { |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
76 | "broken": "break", |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
77 | "exception": "exceptions", |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
78 | "running": "mediaPlaybackStart", |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
79 | "syntax": "syntaxError22", |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
80 | } |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
81 | |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
82 | # Map debug state to user message |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
83 | StateMessage = { |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
84 | "broken": QCoreApplication.translate("DebugViewer", "waiting at breakpoint"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
85 | "exception": QCoreApplication.translate("DebugViewer", "waiting at exception"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
86 | "running": QCoreApplication.translate("DebugViewer", "running"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
87 | "syntax": QCoreApplication.translate("DebugViewer", "syntax error"), |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
88 | } |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
89 | |
6987
3371a03ed0a7
Performed some interface cleanups.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
90 | def __init__(self, debugServer, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | Constructor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
93 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
94 | @param debugServer reference to the debug server object |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
95 | @type DebugServer |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
96 | @param parent parent widget |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
97 | @type QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
99 | super().__init__(parent) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
100 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | self.debugServer = debugServer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | self.debugUI = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
103 | |
10935 | 104 | self.__setFocusToWidget = None |
105 | ||
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
106 | self.setWindowIcon(EricPixmapCache.getIcon("eric")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
107 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | self.__mainLayout = QVBoxLayout() |
7407
a0b6acee2c20
Continued with the multiprocess debugger. Started with QProcess support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7405
diff
changeset
|
109 | self.__mainLayout.setContentsMargins(0, 3, 0, 0) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | self.setLayout(self.__mainLayout) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
111 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7986
diff
changeset
|
112 | self.__mainSplitter = QSplitter(Qt.Orientation.Vertical, self) |
7878
b210470f54b3
DebugViewer: changed the layout to use a QSplitter to offer more flexibility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7862
diff
changeset
|
113 | self.__mainLayout.addWidget(self.__mainSplitter) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
114 | |
7375
af2500ced7e0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7374
diff
changeset
|
115 | # add the viewer showing the connected debug backends |
7879
7be93de6b532
DebugViewer: changed the layout to use a QSplitter to offer more flexibility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7876
diff
changeset
|
116 | self.__debuggersWidget = QWidget() |
7be93de6b532
DebugViewer: changed the layout to use a QSplitter to offer more flexibility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7876
diff
changeset
|
117 | self.__debuggersLayout = QVBoxLayout(self.__debuggersWidget) |
7be93de6b532
DebugViewer: changed the layout to use a QSplitter to offer more flexibility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7876
diff
changeset
|
118 | self.__debuggersLayout.setContentsMargins(0, 0, 0, 0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
119 | self.__debuggersLayout.addWidget(QLabel(self.tr("Debuggers and Threads:"))) |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
120 | self.__debuggersList = QTreeWidget() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
121 | self.__debuggersList.setHeaderLabels([self.tr("ID"), self.tr("State"), ""]) |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
122 | self.__debuggersList.header().setStretchLastSection(True) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
123 | self.__debuggersList.setSortingEnabled(True) |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
124 | self.__debuggersList.setRootIsDecorated(True) |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
125 | self.__debuggersList.setAlternatingRowColors(True) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
126 | self.__debuggersLayout.addWidget(self.__debuggersList) |
7879
7be93de6b532
DebugViewer: changed the layout to use a QSplitter to offer more flexibility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7876
diff
changeset
|
127 | self.__mainSplitter.addWidget(self.__debuggersWidget) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
128 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
129 | self.__debuggersList.currentItemChanged.connect(self.__debuggerSelected) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
130 | |
7375
af2500ced7e0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7374
diff
changeset
|
131 | # add the tab widget containing various debug related views |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
132 | self.__tabWidget = EricTabWidget() |
7878
b210470f54b3
DebugViewer: changed the layout to use a QSplitter to offer more flexibility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7862
diff
changeset
|
133 | self.__mainSplitter.addWidget(self.__tabWidget) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
134 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | # add the global variables viewer |
9383 | 136 | self.gvvWidget = QWidget() |
137 | self.gvvWidgetVLayout = QVBoxLayout(self.gvvWidget) | |
138 | self.gvvWidgetVLayout.setContentsMargins(0, 0, 0, 0) | |
139 | self.gvvWidgetVLayout.setSpacing(3) | |
140 | self.gvvWidget.setLayout(self.gvvWidgetVLayout) | |
141 | ||
9532 | 142 | self.gvvWidgetHLayout1 = QHBoxLayout() |
143 | self.gvvWidgetHLayout1.setContentsMargins(3, 3, 3, 3) | |
144 | ||
145 | self.gvvStackComboBox = QComboBox(self.gvvWidget) | |
146 | self.gvvStackComboBox.setSizePolicy( | |
147 | QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed | |
148 | ) | |
149 | self.gvvWidgetHLayout1.addWidget(self.gvvStackComboBox) | |
150 | ||
151 | self.gvvSourceButton = QPushButton(self.tr("Source"), self.gvvWidget) | |
152 | self.gvvWidgetHLayout1.addWidget(self.gvvSourceButton) | |
153 | self.gvvSourceButton.setEnabled(False) | |
154 | self.gvvWidgetVLayout.addLayout(self.gvvWidgetHLayout1) | |
155 | ||
9383 | 156 | self.globalsViewer = VariablesViewer(self, True, self.gvvWidget) |
157 | self.gvvWidgetVLayout.addWidget(self.globalsViewer) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
158 | |
9383 | 159 | self.gvvWidgetHLayout = QHBoxLayout() |
160 | self.gvvWidgetHLayout.setContentsMargins(3, 3, 3, 3) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
161 | |
9383 | 162 | self.globalsFilterTypeCombo = QComboBox(self.gvvWidget) |
163 | self.globalsFilterTypeCombo.setSizeAdjustPolicy( | |
164 | QComboBox.SizeAdjustPolicy.AdjustToContents | |
165 | ) | |
166 | self.globalsFilterTypeCombo.addItems( | |
167 | [self.tr("Don't Show"), self.tr("Show Only")] | |
168 | ) | |
10935 | 169 | self.globalsFilterTypeCombo.setCurrentIndex( |
170 | 1 if Preferences.getDebugger("ShowOnlyAsDefault") else 0 | |
171 | ) | |
9383 | 172 | self.gvvWidgetHLayout.addWidget(self.globalsFilterTypeCombo) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
173 | |
9383 | 174 | self.globalsFilterEdit = QLineEdit(self.gvvWidget) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
175 | self.globalsFilterEdit.setSizePolicy( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
176 | QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
177 | ) |
9383 | 178 | self.globalsFilterEdit.setClearButtonEnabled(True) |
179 | self.gvvWidgetHLayout.addWidget(self.globalsFilterEdit) | |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
180 | self.globalsFilterEdit.setToolTip( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
181 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
182 | "Enter regular expression patterns separated by ';'" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
183 | " to define variable filters. " |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
184 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
185 | ) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
186 | self.globalsFilterEdit.setWhatsThis( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
187 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
188 | "Enter regular expression patterns separated by ';'" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
189 | " to define variable filters. All variables and" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
190 | " class attributes matched by one of the expressions" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
191 | " are not shown in the list above." |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
192 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
193 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
194 | |
9383 | 195 | self.setGlobalsFilterButton = QPushButton(self.tr("Set"), self.gvvWidget) |
196 | self.gvvWidgetHLayout.addWidget(self.setGlobalsFilterButton) | |
197 | self.gvvWidgetVLayout.addLayout(self.gvvWidgetHLayout) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
198 | |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
199 | index = self.__tabWidget.addTab( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
200 | self.gvvWidget, EricPixmapCache.getIcon("globalVariables"), "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
201 | ) |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
202 | self.__tabWidget.setTabToolTip( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
203 | index, self.tr("Shows the list of global variables and their values.") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
204 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
205 | |
9532 | 206 | self.gvvSourceButton.clicked.connect(self.__showSource) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
207 | self.setGlobalsFilterButton.clicked.connect(self.setGlobalsFilter) |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
208 | self.globalsFilterEdit.returnPressed.connect(self.setGlobalsFilter) |
10935 | 209 | self.globalsFilterEdit.textEdited.connect( |
210 | lambda: self.__filterStringEdited(globalsFilter=True) | |
211 | ) | |
212 | self.globalsFilterTypeCombo.currentIndexChanged.connect( | |
213 | lambda: self.__filterStringEdited(globalsFilter=True) | |
214 | ) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
215 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | # add the local variables viewer |
9383 | 217 | self.lvvWidget = QWidget() |
218 | self.lvvWidgetVLayout = QVBoxLayout(self.lvvWidget) | |
219 | self.lvvWidgetVLayout.setContentsMargins(0, 0, 0, 0) | |
220 | self.lvvWidgetVLayout.setSpacing(3) | |
221 | self.lvvWidget.setLayout(self.lvvWidgetVLayout) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
222 | |
9383 | 223 | self.lvvWidgetHLayout1 = QHBoxLayout() |
224 | self.lvvWidgetHLayout1.setContentsMargins(3, 3, 3, 3) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
225 | |
9532 | 226 | self.lvvStackComboBox = QComboBox(self.lvvWidget) |
227 | self.lvvStackComboBox.setSizePolicy( | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
228 | QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
229 | ) |
9532 | 230 | self.lvvWidgetHLayout1.addWidget(self.lvvStackComboBox) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | |
9532 | 232 | self.lvvSourceButton = QPushButton(self.tr("Source"), self.lvvWidget) |
233 | self.lvvWidgetHLayout1.addWidget(self.lvvSourceButton) | |
234 | self.lvvSourceButton.setEnabled(False) | |
9383 | 235 | self.lvvWidgetVLayout.addLayout(self.lvvWidgetHLayout1) |
236 | ||
237 | self.localsViewer = VariablesViewer(self, False, self.lvvWidget) | |
238 | self.lvvWidgetVLayout.addWidget(self.localsViewer) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | |
9383 | 240 | self.lvvWidgetHLayout2 = QHBoxLayout() |
241 | self.lvvWidgetHLayout2.setContentsMargins(3, 3, 3, 3) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
242 | |
9383 | 243 | self.localsFilterTypeCombo = QComboBox(self.lvvWidget) |
244 | self.localsFilterTypeCombo.setSizeAdjustPolicy( | |
245 | QComboBox.SizeAdjustPolicy.AdjustToContents | |
246 | ) | |
247 | self.localsFilterTypeCombo.addItems( | |
248 | [self.tr("Don't Show"), self.tr("Show Only")] | |
249 | ) | |
10935 | 250 | self.localsFilterTypeCombo.setCurrentIndex( |
251 | 1 if Preferences.getDebugger("ShowOnlyAsDefault") else 0 | |
252 | ) | |
9383 | 253 | self.lvvWidgetHLayout2.addWidget(self.localsFilterTypeCombo) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
254 | |
9383 | 255 | self.localsFilterEdit = QLineEdit(self.lvvWidget) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
256 | self.localsFilterEdit.setSizePolicy( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
257 | QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
258 | ) |
9383 | 259 | self.localsFilterEdit.setClearButtonEnabled(True) |
260 | self.lvvWidgetHLayout2.addWidget(self.localsFilterEdit) | |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
261 | self.localsFilterEdit.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
262 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
263 | "Enter regular expression patterns separated by ';' to define " |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
264 | "variable filters. " |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
265 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
266 | ) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
267 | self.localsFilterEdit.setWhatsThis( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
268 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
269 | "Enter regular expression patterns separated by ';' to define " |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
270 | "variable filters. All variables and class attributes matched" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
271 | " by one of the expressions are not shown in the list above." |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
272 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
273 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
274 | |
9383 | 275 | self.setLocalsFilterButton = QPushButton(self.tr("Set"), self.lvvWidget) |
276 | self.lvvWidgetHLayout2.addWidget(self.setLocalsFilterButton) | |
277 | self.lvvWidgetVLayout.addLayout(self.lvvWidgetHLayout2) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
278 | |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
279 | index = self.__tabWidget.addTab( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
280 | self.lvvWidget, EricPixmapCache.getIcon("localVariables"), "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
281 | ) |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
282 | self.__tabWidget.setTabToolTip( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
283 | index, self.tr("Shows the list of local variables and their values.") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
284 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
285 | |
9532 | 286 | self.lvvSourceButton.clicked.connect(self.__showSource) |
287 | self.lvvStackComboBox.currentIndexChanged[int].connect(self.__frameSelected) | |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
288 | self.setLocalsFilterButton.clicked.connect(self.setLocalsFilter) |
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
289 | self.localsFilterEdit.returnPressed.connect(self.setLocalsFilter) |
10935 | 290 | self.localsFilterEdit.textEdited.connect( |
291 | lambda: self.__filterStringEdited(globalsFilter=False) | |
292 | ) | |
293 | self.localsFilterTypeCombo.currentIndexChanged.connect( | |
294 | lambda: self.__filterStringEdited(globalsFilter=False) | |
295 | ) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
296 | |
7012
cc3f83d1a605
Colors for highlighting are configurable through Debugger->General
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6942
diff
changeset
|
297 | self.preferencesChanged.connect(self.handlePreferencesChanged) |
cc3f83d1a605
Colors for highlighting are configurable through Debugger->General
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6942
diff
changeset
|
298 | self.preferencesChanged.connect(self.globalsViewer.preferencesChanged) |
cc3f83d1a605
Colors for highlighting are configurable through Debugger->General
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6942
diff
changeset
|
299 | self.preferencesChanged.connect(self.localsViewer.preferencesChanged) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
300 | |
9532 | 301 | # interconnect the stack selectors of the variable viewers |
302 | self.gvvStackComboBox.setModel(self.lvvStackComboBox.model()) | |
303 | self.lvvStackComboBox.currentIndexChanged[int].connect( | |
304 | self.gvvStackComboBox.setCurrentIndex | |
305 | ) | |
306 | self.gvvStackComboBox.currentIndexChanged[int].connect( | |
307 | self.lvvStackComboBox.setCurrentIndex | |
308 | ) | |
309 | ||
2622
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
310 | # add the call stack viewer |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
311 | self.callStackViewer = CallStackViewer(self.debugServer) |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
312 | index = self.__tabWidget.addTab( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
313 | self.callStackViewer, EricPixmapCache.getIcon("callStack"), "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
314 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
315 | self.__tabWidget.setTabToolTip(index, self.tr("Shows the current call stack.")) |
2622
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
316 | self.callStackViewer.sourceFile.connect(self.sourceFile) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
317 | self.callStackViewer.frameSelected.connect(self.__callStackFrameSelected) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
318 | |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
319 | # add the call trace viewer |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
320 | self.callTraceViewer = CallTraceViewer(self.debugServer, self) |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
321 | index = self.__tabWidget.addTab( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
322 | self.callTraceViewer, EricPixmapCache.getIcon("callTrace"), "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
323 | ) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
324 | self.__tabWidget.setTabToolTip( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
325 | index, self.tr("Shows a trace of the program flow.") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
326 | ) |
2171
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
327 | self.callTraceViewer.sourceFile.connect(self.sourceFile) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
328 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | # add the breakpoint viewer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | self.breakpointViewer = BreakPointViewer() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | self.breakpointViewer.setModel(self.debugServer.getBreakPointModel()) |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
332 | index = self.__tabWidget.addTab( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
333 | self.breakpointViewer, EricPixmapCache.getIcon("breakpoints"), "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
334 | ) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
335 | self.__tabWidget.setTabToolTip( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
336 | index, self.tr("Shows a list of defined breakpoints.") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
337 | ) |
476
121633976eca
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
338 | self.breakpointViewer.sourceFile.connect(self.sourceFile) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
339 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | # add the watch expression viewer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | self.watchpointViewer = WatchPointViewer() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | self.watchpointViewer.setModel(self.debugServer.getWatchPointModel()) |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
343 | index = self.__tabWidget.addTab( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
344 | self.watchpointViewer, EricPixmapCache.getIcon("watchpoints"), "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
345 | ) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
346 | self.__tabWidget.setTabToolTip( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
347 | index, self.tr("Shows a list of defined watchpoints.") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
348 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
349 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
350 | # add the exception logger |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | self.exceptionLogger = ExceptionLogger() |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
352 | index = self.__tabWidget.addTab( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
353 | self.exceptionLogger, EricPixmapCache.getIcon("exceptions"), "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
354 | ) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
355 | self.__tabWidget.setTabToolTip( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
356 | index, self.tr("Shows a list of raised exceptions.") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
357 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
358 | |
7707
6abcf4275d0e
Added a viewer to visualize Python byte code generated from a Python traceback of an exception as an additional tab of the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
359 | # add the Python disassembly viewer |
6abcf4275d0e
Added a viewer to visualize Python byte code generated from a Python traceback of an exception as an additional tab of the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
360 | self.disassemblyViewer = PythonDisViewer( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
361 | None, mode=PythonDisViewerModes.TRACEBACK |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
362 | ) |
7707
6abcf4275d0e
Added a viewer to visualize Python byte code generated from a Python traceback of an exception as an additional tab of the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
363 | index = self.__tabWidget.addTab( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
364 | self.disassemblyViewer, EricPixmapCache.getIcon("disassembly"), "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
365 | ) |
7707
6abcf4275d0e
Added a viewer to visualize Python byte code generated from a Python traceback of an exception as an additional tab of the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
366 | self.__tabWidget.setTabToolTip( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
367 | index, self.tr("Shows a code disassembly in case of an exception.") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
368 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
369 | |
9383 | 370 | self.__tabWidget.setCurrentWidget(self.gvvWidget) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
371 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
372 | self.__doDebuggersListUpdate = True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
373 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
374 | self.__mainSplitter.setSizes([100, 700]) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
375 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | self.currentStack = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | self.framenr = 0 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
378 | |
1926
474057fbefe0
Added the configurable capability to automatically show the source, when the call frame is changed in the callstack viewer of the local variables viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1843
diff
changeset
|
379 | self.__autoViewSource = Preferences.getDebugger("AutoViewSourceCode") |
9532 | 380 | self.lvvSourceButton.setVisible(not self.__autoViewSource) |
381 | self.gvvSourceButton.setVisible(not self.__autoViewSource) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
382 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
383 | # connect some debug server signals |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
384 | self.debugServer.clientStack.connect(self.handleClientStack) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
385 | self.debugServer.clientThreadList.connect(self.__addThreadList) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
386 | self.debugServer.clientDebuggerId.connect(self.__clientDebuggerId) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
387 | self.debugServer.passiveDebugStarted.connect(self.handleDebuggingStarted) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
388 | self.debugServer.clientLine.connect(self.__clientLine) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
389 | self.debugServer.clientSyntaxError.connect(self.__clientSyntaxError) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
390 | self.debugServer.clientException.connect(self.__clientException) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
391 | self.debugServer.clientExit.connect(self.__clientExit) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
392 | self.debugServer.clientDisconnected.connect(self.__removeDebugger) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
393 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
394 | self.debugServer.clientException.connect(self.exceptionLogger.addException) |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
395 | self.debugServer.passiveDebugStarted.connect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
396 | self.exceptionLogger.debuggingStarted |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
397 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
398 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
399 | self.debugServer.clientLine.connect(self.breakpointViewer.highlightBreakpoint) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
400 | |
9532 | 401 | def __clearStackComboBox(self, comboBox): |
402 | """ | |
403 | Private method to clear the given stack combo box. | |
404 | ||
405 | @param comboBox reference to the combo box to be cleared | |
406 | @type QComboBox | |
407 | """ | |
408 | block = comboBox.blockSignals(True) | |
409 | comboBox.clear() | |
410 | comboBox.blockSignals(block) | |
411 | ||
7012
cc3f83d1a605
Colors for highlighting are configurable through Debugger->General
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6942
diff
changeset
|
412 | def handlePreferencesChanged(self): |
1926
474057fbefe0
Added the configurable capability to automatically show the source, when the call frame is changed in the callstack viewer of the local variables viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1843
diff
changeset
|
413 | """ |
474057fbefe0
Added the configurable capability to automatically show the source, when the call frame is changed in the callstack viewer of the local variables viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1843
diff
changeset
|
414 | Public slot to handle the preferencesChanged signal. |
474057fbefe0
Added the configurable capability to automatically show the source, when the call frame is changed in the callstack viewer of the local variables viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1843
diff
changeset
|
415 | """ |
474057fbefe0
Added the configurable capability to automatically show the source, when the call frame is changed in the callstack viewer of the local variables viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1843
diff
changeset
|
416 | self.__autoViewSource = Preferences.getDebugger("AutoViewSourceCode") |
9532 | 417 | self.lvvSourceButton.setVisible(not self.__autoViewSource) |
418 | self.gvvSourceButton.setVisible(not self.__autoViewSource) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
419 | |
10935 | 420 | if not bool(self.globalsFilterEdit.text()): |
421 | self.globalsFilterTypeCombo.setCurrentIndex( | |
422 | 1 if Preferences.getDebugger("ShowOnlyAsDefault") else 0 | |
423 | ) | |
424 | if not bool(self.localsFilterEdit.text()): | |
425 | self.localsFilterTypeCombo.setCurrentIndex( | |
426 | 1 if Preferences.getDebugger("ShowOnlyAsDefault") else 0 | |
427 | ) | |
428 | ||
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | def setDebugger(self, debugUI): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | Public method to set a reference to the Debug UI. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
432 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
433 | @param debugUI reference to the DebugUI object |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
434 | @type DebugUI |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | self.debugUI = debugUI |
2622
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
437 | self.callStackViewer.setDebugger(debugUI) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
438 | |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
439 | # connect some debugUI signals |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
440 | self.debugUI.clientStack.connect(self.handleClientStack) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
441 | self.debugUI.debuggingStarted.connect(self.exceptionLogger.debuggingStarted) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
442 | self.debugUI.debuggingStarted.connect(self.handleDebuggingStarted) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
443 | |
7928
a78ce4578fed
Debugger: some more fixes
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
444 | def handleResetUI(self, fullReset): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | """ |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
446 | Public method to reset the viewer. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
447 | |
7928
a78ce4578fed
Debugger: some more fixes
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
448 | @param fullReset flag indicating a full reset is required |
a78ce4578fed
Debugger: some more fixes
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
449 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | self.globalsViewer.handleResetUI() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | self.localsViewer.handleResetUI() |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
453 | self.setGlobalsFilter() |
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
454 | self.setLocalsFilter() |
9532 | 455 | self.lvvSourceButton.setEnabled(False) |
456 | self.gvvSourceButton.setEnabled(False) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | self.currentStack = None |
9532 | 458 | self.__clearStackComboBox(self.lvvStackComboBox) |
9383 | 459 | self.__tabWidget.setCurrentWidget(self.gvvWidget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | self.breakpointViewer.handleResetUI() |
7928
a78ce4578fed
Debugger: some more fixes
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
461 | if fullReset: |
a78ce4578fed
Debugger: some more fixes
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
462 | self.__debuggersList.clear() |
7707
6abcf4275d0e
Added a viewer to visualize Python byte code generated from a Python traceback of an exception as an additional tab of the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
463 | self.disassemblyViewer.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
464 | |
2622
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
465 | def initCallStackViewer(self, projectMode): |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
466 | """ |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
467 | Public method to initialize the call stack viewer. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
468 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
469 | @param projectMode flag indicating to enable the project mode |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
470 | @type bool |
2622
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
471 | """ |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
472 | self.callStackViewer.clear() |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
473 | self.callStackViewer.setProjectMode(projectMode) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
474 | |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
475 | def isCallTraceEnabled(self): |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
476 | """ |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
477 | Public method to get the state of the call trace function. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
478 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
479 | @return flag indicating the state of the call trace function |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
480 | @rtype bool |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
481 | """ |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
482 | return self.callTraceViewer.isCallTraceEnabled() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
483 | |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
484 | def clearCallTrace(self): |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
485 | """ |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
486 | Public method to clear the recorded call trace. |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
487 | """ |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
488 | self.callTraceViewer.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
489 | |
2171
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
490 | def setCallTraceToProjectMode(self, enabled): |
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
491 | """ |
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
492 | Public slot to set the call trace viewer to project mode. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
493 | |
2171
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
494 | In project mode the call trace info is shown with project relative |
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
495 | path names. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
496 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
497 | @param enabled flag indicating to enable the project mode |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
498 | @type bool |
2171
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
499 | """ |
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
500 | self.callTraceViewer.setProjectMode(enabled) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
501 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
502 | def showVariables(self, vlist, showGlobals): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | Public method to show the variables in the respective window. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
505 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | @param vlist list of variables to display |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
507 | @type list |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
508 | @param showGlobals flag indicating global/local state |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
509 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | """ |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
511 | if showGlobals: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | self.globalsViewer.showVariables(vlist, self.framenr) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | self.localsViewer.showVariables(vlist, self.framenr) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
515 | |
10935 | 516 | if self.__setFocusToWidget is not None: |
517 | self.__setFocusToWidget.setFocus(Qt.FocusReason.MouseFocusReason) | |
518 | self.__setFocusToWidget = None # reset it | |
519 | ||
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
520 | def showVariable(self, vlist, showGlobals): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
521 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
522 | Public method to show the variables in the respective window. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
523 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
524 | @param vlist list of variables to display |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
525 | @type list |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
526 | @param showGlobals flag indicating global/local state |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
527 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
528 | """ |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
529 | if showGlobals: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
530 | self.globalsViewer.showVariable(vlist) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
531 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | self.localsViewer.showVariable(vlist) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
533 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
534 | def showVariablesTab(self, showGlobals): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
535 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
536 | Public method to make a variables tab visible. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
537 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
538 | @param showGlobals flag indicating global/local state |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
539 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
540 | """ |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
541 | if showGlobals: |
9383 | 542 | self.__tabWidget.setCurrentWidget(self.gvvWidget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
543 | else: |
9383 | 544 | self.__tabWidget.setCurrentWidget(self.lvvWidget) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
545 | |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
546 | def handleClientStack(self, stack, debuggerId): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
547 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
548 | Public slot to show the call stack of the program being debugged. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
549 | |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
550 | @param stack list of tuples with call stack data (file name, |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
551 | line number, function name, formatted argument/values list) |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
552 | @type list of tuples of (str, str, str, str) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
553 | @param debuggerId ID of the debugger backend |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
554 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | """ |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
556 | if debuggerId == self.getSelectedDebuggerId(): |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
557 | self.framenr = 0 |
9532 | 558 | self.lvvSourceButton.setEnabled(len(stack) > 0) |
559 | self.gvvSourceButton.setEnabled(len(stack) > 0) | |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
560 | self.currentStack = stack |
9532 | 561 | |
562 | block = self.lvvStackComboBox.blockSignals(True) | |
563 | self.lvvStackComboBox.clear() | |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
564 | for s in stack: |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
565 | # just show base filename to make it readable |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
566 | s = (os.path.basename(s[0]), s[1], s[2]) |
9532 | 567 | self.lvvStackComboBox.addItem("{0}:{1}:{2}".format(*s)) |
568 | self.lvvStackComboBox.blockSignals(block) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
569 | |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
570 | def __clientLine(self, _fn, _line, debuggerId, threadName): |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
571 | """ |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
572 | Private method to handle a change to the current line. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
573 | |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
574 | @param _fn filename (unused) |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
575 | @type str |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
576 | @param _line linenumber (unused) |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
577 | @type int |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
578 | @param debuggerId ID of the debugger backend |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
579 | @type str |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
580 | @param threadName name of the thread signaling the event |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
581 | @type str |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
582 | """ |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
583 | self.__setDebuggerIconAndState(debuggerId, "broken") |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
584 | self.__setThreadIconAndState(debuggerId, threadName, "broken") |
7410
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
585 | if debuggerId != self.getSelectedDebuggerId(): |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
586 | self.__setCurrentDebugger(debuggerId) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
587 | |
7421
4a9900aef04e
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7418
diff
changeset
|
588 | @pyqtSlot(str, int, str, bool, str) |
10689
3ede487187f2
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
589 | def __clientExit(self, _program, _status, _message, _quiet, debuggerId): |
7410
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
590 | """ |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
591 | Private method to handle the debugged program terminating. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
592 | |
10689
3ede487187f2
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
593 | @param _program name of the exited program (unused) |
7421
4a9900aef04e
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7418
diff
changeset
|
594 | @type str |
10689
3ede487187f2
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
595 | @param _status exit code of the debugged program (unused) |
7410
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
596 | @type int |
10689
3ede487187f2
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
597 | @param _message exit message of the debugged program (unused) |
7410
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
598 | @type str |
10689
3ede487187f2
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
599 | @param _quiet flag indicating to suppress exit info display (unused) |
7410
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
600 | @type bool |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
601 | @param debuggerId ID of the debugger backend |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
602 | @type str |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
603 | """ |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
604 | if not self.isOnlyDebugger(): |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
605 | if debuggerId == self.getSelectedDebuggerId(): |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
606 | # the current client has exited |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
607 | self.globalsViewer.handleResetUI() |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
608 | self.localsViewer.handleResetUI() |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
609 | self.setGlobalsFilter() |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
610 | self.setLocalsFilter() |
9532 | 611 | self.lvvSourceButton.setEnabled(False) |
612 | self.gvvSourceButton.setEnabled(False) | |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
613 | self.currentStack = None |
9532 | 614 | self.__clearStackComboBox(self.lvvStackComboBox) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
615 | |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
616 | self.__removeDebugger(debuggerId) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
617 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
618 | def __clientSyntaxError( |
10065
de4ae767b0e3
Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
619 | self, |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
620 | _message, |
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
621 | _filename, |
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
622 | _lineNo, |
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
623 | _characterNo, |
10065
de4ae767b0e3
Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
624 | debuggerId, |
de4ae767b0e3
Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
625 | threadName, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
626 | ): |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
627 | """ |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
628 | Private method to handle a syntax error in the debugged program. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
629 | |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
630 | @param _message message of the syntax error (unused) |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
631 | @type str |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
632 | @param _filename translated filename of the syntax error position (unused) |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
633 | @type str |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
634 | @param _lineNo line number of the syntax error position (unused) |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
635 | @type int |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
636 | @param _characterNo character number of the syntax error position (unused) |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
637 | @type int |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
638 | @param debuggerId ID of the debugger backend |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
639 | @type str |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
640 | @param threadName name of the thread signaling the event |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
641 | @type str |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
642 | """ |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
643 | self.__setDebuggerIconAndState(debuggerId, "syntax") |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
644 | self.__setThreadIconAndState(debuggerId, threadName, "syntax") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
645 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
646 | def __clientException( |
10065
de4ae767b0e3
Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
647 | self, |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
648 | _exceptionType, |
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
649 | _exceptionMessage, |
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
650 | _stackTrace, |
10065
de4ae767b0e3
Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
651 | debuggerId, |
de4ae767b0e3
Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
652 | threadName, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
653 | ): |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
654 | """ |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
655 | Private method to handle an exception of the debugged program. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
656 | |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
657 | @param _exceptionType type of exception raised (unused) |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
658 | @type str |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
659 | @param _exceptionMessage message given by the exception (unused) |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
660 | @type (str |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
661 | @param _stackTrace list of stack entries (unused) |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
662 | @type list of str |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
663 | @param debuggerId ID of the debugger backend |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
664 | @type str |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
665 | @param threadName name of the thread signaling the event |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
666 | @type str |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
667 | """ |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
668 | self.__setDebuggerIconAndState(debuggerId, "exception") |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
669 | self.__setThreadIconAndState(debuggerId, threadName, "exception") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
670 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
671 | def setVariablesFilter(self, globalsFilter, localsFilter): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
672 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
673 | Public slot to set the local variables filter. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
674 | |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
675 | @param globalsFilter filter list for global variable types |
7862
817ef8e0fa66
Debugger: changed the handling of variable type filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
676 | @type list of str |
817ef8e0fa66
Debugger: changed the handling of variable type filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
677 | @param localsFilter filter list for local variable types |
817ef8e0fa66
Debugger: changed the handling of variable type filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
678 | @type list of str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
679 | """ |
7862
817ef8e0fa66
Debugger: changed the handling of variable type filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
680 | self.__globalsFilter = globalsFilter |
817ef8e0fa66
Debugger: changed the handling of variable type filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
681 | self.__localsFilter = localsFilter |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
682 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
683 | def __showSource(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
684 | """ |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
685 | Private slot to handle the source button press to show the selected |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
686 | file. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
687 | """ |
9532 | 688 | index = self.lvvStackComboBox.currentIndex() |
2766
c413e9eeaf95
Fixed a bug in the debug viewer causing a false indication upon exit of the script being debugged.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2723
diff
changeset
|
689 | if index > -1 and self.currentStack: |
c413e9eeaf95
Fixed a bug in the debug viewer causing a false indication upon exit of the script being debugged.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2723
diff
changeset
|
690 | s = self.currentStack[index] |
c413e9eeaf95
Fixed a bug in the debug viewer causing a false indication upon exit of the script being debugged.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2723
diff
changeset
|
691 | self.sourceFile.emit(s[0], int(s[1])) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
692 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
693 | def __frameSelected(self, frmnr): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
694 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
695 | Private slot to handle the selection of a new stack frame number. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
696 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
697 | @param frmnr frame number (0 is the current frame) |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
698 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
699 | """ |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
700 | if frmnr >= 0: |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
701 | self.framenr = frmnr |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
702 | if self.debugServer.isDebugging(): |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
703 | self.debugServer.remoteClientVariables( |
9541
69167c94995f
Changed debugger code such, that if a different frame is selected, the globals are updated too.
T.Rzepka@gmail.com
parents:
9532
diff
changeset
|
704 | self.getSelectedDebuggerId(), 1, self.__globalsFilter, frmnr |
69167c94995f
Changed debugger code such, that if a different frame is selected, the globals are updated too.
T.Rzepka@gmail.com
parents:
9532
diff
changeset
|
705 | ) |
69167c94995f
Changed debugger code such, that if a different frame is selected, the globals are updated too.
T.Rzepka@gmail.com
parents:
9532
diff
changeset
|
706 | self.debugServer.remoteClientVariables( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
707 | self.getSelectedDebuggerId(), 0, self.__localsFilter, frmnr |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
708 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
709 | |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
710 | if self.__autoViewSource: |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
711 | self.__showSource() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
712 | |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
713 | def setGlobalsFilter(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
714 | """ |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
715 | Public slot to set the global variable filter. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
716 | """ |
6431
1842436770c4
Debugger: changed code to prevent the right side bar or toolbox to be shown when the debugger has exited or was restarted via the shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6416
diff
changeset
|
717 | if self.debugServer.isDebugging(): |
1842436770c4
Debugger: changed code to prevent the right side bar or toolbox to be shown when the debugger has exited or was restarted via the shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6416
diff
changeset
|
718 | filterStr = self.globalsFilterEdit.text() |
9383 | 719 | if self.globalsFilterTypeCombo.currentIndex() == 0: |
720 | filterStr = "~ {0}".format(filterStr) | |
9397
a415cb83dafb
Some corrections to the debugger (frontend and backend).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9383
diff
changeset
|
721 | self.globalsViewer.clear() |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
722 | self.debugServer.remoteClientSetFilter( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
723 | self.getSelectedDebuggerId(), 1, filterStr |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
724 | ) |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
725 | self.debugServer.remoteClientVariables( |
9397
a415cb83dafb
Some corrections to the debugger (frontend and backend).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9383
diff
changeset
|
726 | self.getSelectedDebuggerId(), 1, self.__globalsFilter |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
727 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
728 | |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
729 | def setLocalsFilter(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
730 | """ |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
731 | Public slot to set the local variable filter. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
732 | """ |
6431
1842436770c4
Debugger: changed code to prevent the right side bar or toolbox to be shown when the debugger has exited or was restarted via the shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6416
diff
changeset
|
733 | if self.debugServer.isDebugging(): |
1842436770c4
Debugger: changed code to prevent the right side bar or toolbox to be shown when the debugger has exited or was restarted via the shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6416
diff
changeset
|
734 | filterStr = self.localsFilterEdit.text() |
9383 | 735 | if self.localsFilterTypeCombo.currentIndex() == 0: |
736 | filterStr = "~ {0}".format(filterStr) | |
9397
a415cb83dafb
Some corrections to the debugger (frontend and backend).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9383
diff
changeset
|
737 | self.localsViewer.clear() |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
738 | self.debugServer.remoteClientSetFilter( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
739 | self.getSelectedDebuggerId(), 0, filterStr |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
740 | ) |
6431
1842436770c4
Debugger: changed code to prevent the right side bar or toolbox to be shown when the debugger has exited or was restarted via the shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6416
diff
changeset
|
741 | if self.currentStack: |
1842436770c4
Debugger: changed code to prevent the right side bar or toolbox to be shown when the debugger has exited or was restarted via the shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6416
diff
changeset
|
742 | self.debugServer.remoteClientVariables( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
743 | self.getSelectedDebuggerId(), 0, self.__localsFilter, self.framenr |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
744 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
745 | |
10935 | 746 | def __filterStringEdited(self, globalsFilter): |
747 | """ | |
748 | Private method to handle the editing of the a variables filter. | |
749 | ||
750 | @param globalsFilter flag indicating the globals filter was edited | |
751 | @type bool | |
752 | """ | |
753 | if globalsFilter: | |
754 | self.__setFocusToWidget = self.globalsFilterEdit | |
755 | self.setGlobalsFilter() | |
756 | else: | |
757 | self.__setFocusToWidget = self.localsFilterEdit | |
758 | self.setLocalsFilter() | |
759 | ||
9382 | 760 | def refreshVariablesLists(self): |
761 | """ | |
762 | Public slot to refresh the local and global variables lists. | |
763 | """ | |
764 | if self.debugServer.isDebugging(): | |
765 | self.debugServer.remoteClientVariables( | |
9397
a415cb83dafb
Some corrections to the debugger (frontend and backend).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9383
diff
changeset
|
766 | self.getSelectedDebuggerId(), 1, self.__globalsFilter |
9382 | 767 | ) |
768 | if self.currentStack: | |
769 | self.debugServer.remoteClientVariables( | |
770 | self.getSelectedDebuggerId(), 0, self.__localsFilter, self.framenr | |
771 | ) | |
772 | ||
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
773 | def handleDebuggingStarted(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
774 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
775 | Public slot to handle the start of a debugging session. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
776 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
777 | This slot sets the variables filter expressions. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
778 | """ |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
779 | self.setGlobalsFilter() |
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
780 | self.setLocalsFilter() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
781 | self.showVariablesTab(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
782 | |
7707
6abcf4275d0e
Added a viewer to visualize Python byte code generated from a Python traceback of an exception as an additional tab of the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
783 | self.disassemblyViewer.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
784 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
785 | def currentWidget(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
786 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
787 | Public method to get a reference to the current widget. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
788 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
789 | @return reference to the current widget |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
790 | @rtype QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
791 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
792 | return self.__tabWidget.currentWidget() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
793 | |
821
4c4a4525e69a
Added the forgotten "setCurrentWidget" slot to the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
794 | def setCurrentWidget(self, widget): |
4c4a4525e69a
Added the forgotten "setCurrentWidget" slot to the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
795 | """ |
4c4a4525e69a
Added the forgotten "setCurrentWidget" slot to the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
796 | Public slot to set the current page based on the given widget. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
797 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
798 | @param widget reference to the widget |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
799 | @type QWidget |
821
4c4a4525e69a
Added the forgotten "setCurrentWidget" slot to the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
800 | """ |
4c4a4525e69a
Added the forgotten "setCurrentWidget" slot to the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
801 | self.__tabWidget.setCurrentWidget(widget) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
802 | |
2622
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
803 | def __callStackFrameSelected(self, frameNo): |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
804 | """ |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
805 | Private slot to handle the selection of a call stack entry of the |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
806 | call stack viewer. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
807 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
808 | @param frameNo frame number (index) of the selected entry |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
809 | @type int |
2622
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
810 | """ |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
811 | if frameNo >= 0: |
9532 | 812 | self.lvvStackComboBox.setCurrentIndex(frameNo) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
813 | |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
814 | def __debuggerSelected(self, current, _previous): |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
815 | """ |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
816 | Private slot to handle the selection of a debugger backend in the |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
817 | debuggers list. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
818 | |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
819 | @param current reference to the new current item |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
820 | @type QTreeWidgetItem |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
821 | @param _previous reference to the previous current item (unused) |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
822 | @type QTreeWidgetItem |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
823 | """ |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
824 | if current is not None and self.__doDebuggersListUpdate: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
825 | if current.parent() is None: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
826 | # it is a debugger item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
827 | debuggerId = current.text(0) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
828 | self.globalsViewer.handleResetUI() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
829 | self.localsViewer.handleResetUI() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
830 | self.currentStack = None |
9532 | 831 | self.__clearStackComboBox(self.lvvStackComboBox) |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
832 | self.callStackViewer.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
833 | |
7933
ca1b44d522b9
Debugger: did some fine tuning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7932
diff
changeset
|
834 | self.debugServer.remoteSetThread(debuggerId, -1) |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
835 | self.__showSource() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
836 | else: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
837 | # it is a thread item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
838 | tid = current.data(0, self.ThreadIdRole) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
839 | self.debugServer.remoteSetThread(self.getSelectedDebuggerId(), tid) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
840 | |
7412
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7411
diff
changeset
|
841 | def __clientDebuggerId(self, debuggerId): |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
842 | """ |
7412
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7411
diff
changeset
|
843 | Private slot to receive the ID of a newly connected debugger backend. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
844 | |
7412
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7411
diff
changeset
|
845 | @param debuggerId ID of a newly connected debugger backend |
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7411
diff
changeset
|
846 | @type str |
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7411
diff
changeset
|
847 | """ |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
848 | itm = QTreeWidgetItem(self.__debuggersList, [debuggerId]) |
7903
827d89937c30
Fixed a few issues with the new multi process debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7892
diff
changeset
|
849 | if self.__debuggersList.topLevelItemCount() > 1: |
827d89937c30
Fixed a few issues with the new multi process debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7892
diff
changeset
|
850 | self.debugUI.showNotification( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
851 | self.tr( |
9576
be9f8e7e42e0
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9541
diff
changeset
|
852 | "<p>Debugger with ID <b>{0}</b> has been connected.</p>" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
853 | ).format(debuggerId) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
854 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
855 | |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
856 | self.__debuggersList.header().resizeSections( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
857 | QHeaderView.ResizeMode.ResizeToContents |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
858 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
859 | |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
860 | if self.__debuggersList.topLevelItemCount() == 1: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
861 | # it is the only item, select it as the current one |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
862 | self.__debuggersList.setCurrentItem(itm) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
863 | |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
864 | def __setCurrentDebugger(self, debuggerId): |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
865 | """ |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
866 | Private method to set the current debugger based on the given ID. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
867 | |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
868 | @param debuggerId ID of the debugger to set as current debugger |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
869 | @type str |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
870 | """ |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
871 | debuggerItems = self.__debuggersList.findItems( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
872 | debuggerId, Qt.MatchFlag.MatchExactly |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
873 | ) |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
874 | if debuggerItems: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
875 | debuggerItem = debuggerItems[0] |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
876 | currentItem = self.__debuggersList.currentItem() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
877 | if currentItem is debuggerItem: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
878 | # nothing to do |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
879 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
880 | |
7931
a761160bfde9
DebugViewer: fixed a bug selecting a debugger entry when there is no current item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7928
diff
changeset
|
881 | if currentItem: |
a761160bfde9
DebugViewer: fixed a bug selecting a debugger entry when there is no current item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7928
diff
changeset
|
882 | currentParent = currentItem.parent() |
a761160bfde9
DebugViewer: fixed a bug selecting a debugger entry when there is no current item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7928
diff
changeset
|
883 | else: |
a761160bfde9
DebugViewer: fixed a bug selecting a debugger entry when there is no current item.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7928
diff
changeset
|
884 | currentParent = None |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
885 | if currentParent is None: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
886 | # current is a debugger item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
887 | self.__debuggersList.setCurrentItem(debuggerItem) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
888 | elif currentParent is debuggerItem: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
889 | # nothing to do |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
890 | return |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
891 | else: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
892 | self.__debuggersList.setCurrentItem(debuggerItem) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
893 | |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
894 | def isOnlyDebugger(self): |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
895 | """ |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
896 | Public method to test, if only one debugger is connected. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
897 | |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
898 | @return flag indicating that only one debugger is connected |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
899 | @rtype bool |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
900 | """ |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
901 | return self.__debuggersList.topLevelItemCount() == 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
902 | |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
903 | def getSelectedDebuggerId(self): |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
904 | """ |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
905 | Public method to get the currently selected debugger ID. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
906 | |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
907 | @return selected debugger ID |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
908 | @rtype str |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
909 | """ |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
910 | itm = self.__debuggersList.currentItem() |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
911 | if itm: |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
912 | if itm.parent() is None: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
913 | # it is a debugger item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
914 | return itm.text(0) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
915 | else: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
916 | # it is a thread item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
917 | return itm.parent().text(0) |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
918 | else: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
919 | return "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
920 | |
7405
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
921 | def getSelectedDebuggerState(self): |
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
922 | """ |
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
923 | Public method to get the currently selected debugger's state. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
924 | |
7411
6d8dcb3551b3
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7410
diff
changeset
|
925 | @return selected debugger's state (broken, exception, running) |
7405
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
926 | @rtype str |
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
927 | """ |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
928 | itm = self.__debuggersList.currentItem() |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
929 | if itm: |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
930 | if itm.parent() is None: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
931 | # it is a debugger item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
932 | return itm.data(0, self.DebuggerStateRole) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
933 | else: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
934 | # it is a thread item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
935 | return itm.parent().data(0, self.DebuggerStateRole) |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
936 | else: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
937 | return "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
938 | |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
939 | def __setDebuggerIconAndState(self, debuggerId, state): |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
940 | """ |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
941 | Private method to set the icon for a specific debugger ID. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
942 | |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
943 | @param debuggerId ID of the debugger backend (empty ID means the |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
944 | currently selected one) |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
945 | @type str |
7411
6d8dcb3551b3
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7410
diff
changeset
|
946 | @param state state of the debugger (broken, exception, running) |
7405
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
947 | @type str |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
948 | """ |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
949 | debuggerItem = None |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
950 | if debuggerId: |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
951 | foundItems = self.__debuggersList.findItems( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
952 | debuggerId, Qt.MatchFlag.MatchExactly |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
953 | ) |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
954 | if foundItems: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
955 | debuggerItem = foundItems[0] |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
956 | if debuggerItem is None: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
957 | debuggerItem = self.__debuggersList.currentItem() |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
958 | if debuggerItem is not None: |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
959 | try: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
960 | iconName = DebugViewer.StateIcon[state] |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
961 | except KeyError: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
962 | iconName = "question" |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
963 | try: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
964 | stateText = DebugViewer.StateMessage[state] |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
965 | except KeyError: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
966 | stateText = self.tr("unknown state ({0})").format(state) |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
967 | debuggerItem.setIcon(0, EricPixmapCache.getIcon(iconName)) |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
968 | debuggerItem.setData(0, self.DebuggerStateRole, state) |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
969 | debuggerItem.setText(1, stateText) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
970 | |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
971 | self.__debuggersList.header().resizeSections( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
972 | QHeaderView.ResizeMode.ResizeToContents |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
973 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
974 | |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
975 | def __removeDebugger(self, debuggerId): |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
976 | """ |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
977 | Private method to remove a debugger given its ID. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
978 | |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
979 | @param debuggerId ID of the debugger to be removed from the list |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
980 | @type str |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
981 | """ |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
982 | foundItems = self.__debuggersList.findItems( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
983 | debuggerId, Qt.MatchFlag.MatchExactly |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
984 | ) |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
985 | if foundItems: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
986 | index = self.__debuggersList.indexOfTopLevelItem(foundItems[0]) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
987 | itm = self.__debuggersList.takeTopLevelItem(index) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
988 | # __IGNORE_WARNING__ |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
989 | del itm |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
990 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
991 | def __addThreadList(self, currentID, threadList, debuggerId): |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
992 | """ |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
993 | Private method to add the list of threads to a debugger entry. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
994 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
995 | @param currentID id of the current thread |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
996 | @type int |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
997 | @param threadList list of dictionaries containing the thread data |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
998 | @type list of dict |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
999 | @param debuggerId ID of the debugger backend |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1000 | @type str |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1001 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1002 | debugStatus = -1 # i.e. running |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1003 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1004 | debuggerItems = self.__debuggersList.findItems( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1005 | debuggerId, Qt.MatchFlag.MatchExactly |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1006 | ) |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1007 | if debuggerItems: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1008 | debuggerItem = debuggerItems[0] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1009 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1010 | currentItem = self.__debuggersList.currentItem() |
10285
654deae7687e
Fixed an issue in 'DebuggerView.py' causing an exception in certain situations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10065
diff
changeset
|
1011 | if currentItem is not None and currentItem.parent() is debuggerItem: |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1012 | currentChild = currentItem.text(0) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1013 | else: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1014 | currentChild = "" |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1015 | self.__doDebuggersListUpdate = False |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1016 | debuggerItem.takeChildren() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1017 | for thread in threadList: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1018 | if thread.get("except", False): |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1019 | stateText = DebugViewer.StateMessage["exception"] |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1020 | iconName = DebugViewer.StateIcon["exception"] |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1021 | debugStatus = 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1022 | elif thread["broken"]: |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1023 | stateText = DebugViewer.StateMessage["broken"] |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1024 | iconName = DebugViewer.StateIcon["broken"] |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1025 | if debugStatus < 1: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1026 | debugStatus = 0 |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1027 | else: |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1028 | stateText = DebugViewer.StateMessage["running"] |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1029 | iconName = DebugViewer.StateIcon["running"] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1030 | itm = QTreeWidgetItem(debuggerItem, [thread["name"], stateText]) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1031 | itm.setData(0, self.ThreadIdRole, thread["id"]) |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
1032 | itm.setIcon(0, EricPixmapCache.getIcon(iconName)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1033 | if currentChild == thread["name"]: |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1034 | self.__debuggersList.setCurrentItem(itm) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1035 | if thread["id"] == currentID: |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1036 | font = debuggerItem.font(0) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1037 | font.setItalic(True) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1038 | itm.setFont(0, font) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1039 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1040 | debuggerItem.setExpanded(debuggerItem.childCount() > 0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1041 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1042 | self.__debuggersList.header().resizeSections( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1043 | QHeaderView.ResizeMode.ResizeToContents |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1044 | ) |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1045 | self.__debuggersList.header().setStretchLastSection(True) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1046 | self.__doDebuggersListUpdate = True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1047 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1048 | if debugStatus == -1: |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1049 | debuggerState = "running" |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1050 | elif debugStatus == 0: |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1051 | debuggerState = "broken" |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
1052 | else: |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1053 | debuggerState = "exception" |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1054 | self.__setDebuggerIconAndState(debuggerId, debuggerState) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1055 | |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1056 | def __setThreadIconAndState(self, debuggerId, threadName, state): |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1057 | """ |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1058 | Private method to set the icon for a specific thread name and |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1059 | debugger ID. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1060 | |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1061 | @param debuggerId ID of the debugger backend (empty ID means the |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1062 | currently selected one) |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1063 | @type str |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1064 | @param threadName name of the thread signaling the event |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1065 | @type str |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1066 | @param state state of the debugger (broken, exception, running) |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1067 | @type str |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1068 | """ |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1069 | debuggerItem = None |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1070 | if debuggerId: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1071 | foundItems = self.__debuggersList.findItems( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1072 | debuggerId, Qt.MatchFlag.MatchExactly |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1073 | ) |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1074 | if foundItems: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1075 | debuggerItem = foundItems[0] |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1076 | if debuggerItem is None: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1077 | debuggerItem = self.__debuggersList.currentItem() |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1078 | if debuggerItem is not None: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1079 | for index in range(debuggerItem.childCount()): |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1080 | childItem = debuggerItem.child(index) |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1081 | if childItem.text(0) == threadName: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1082 | break |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1083 | else: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1084 | childItem = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1085 | |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1086 | if childItem is not None: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1087 | try: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1088 | iconName = DebugViewer.StateIcon[state] |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1089 | except KeyError: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1090 | iconName = "question" |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1091 | try: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1092 | stateText = DebugViewer.StateMessage[state] |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1093 | except KeyError: |
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1094 | stateText = self.tr("unknown state ({0})").format(state) |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9397
diff
changeset
|
1095 | childItem.setIcon(0, EricPixmapCache.getIcon(iconName)) |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1096 | childItem.setText(1, stateText) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1097 | |
7986
2971d5d19951
Fixed a few thread related issues in the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7933
diff
changeset
|
1098 | self.__debuggersList.header().resizeSections( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1099 | QHeaderView.ResizeMode.ResizeToContents |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1100 | ) |