Thu, 31 Dec 2020 17:42:50 +0100
DebugViewer: fixed a bug selecting a debugger entry when there is no current item.
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 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7920
diff
changeset
|
3 | # Copyright (c) 2002 - 2021 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> |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
11 | <li>selector showing all connected debugger backends</li> |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
12 | <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
|
13 | <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
|
14 | <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
|
15 | <li>call trace viewer</li> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | <li>viewer for breakpoints</li> |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | <li>viewer for watch expressions</li> |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | <li>viewer for exceptions</li> |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
19 | <li>viewer for threads for the selected debug client</li> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | </ul> |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | """ |
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 | import os |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | |
7410
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
25 | from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt |
7251
bc5b1b00560a
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
26 | from PyQt5.QtWidgets import ( |
bc5b1b00560a
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
27 | QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QSizePolicy, QPushButton, |
7878
b210470f54b3
DebugViewer: changed the layout to use a QSplitter to offer more flexibility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7862
diff
changeset
|
28 | QComboBox, QLabel, QTreeWidget, QTreeWidgetItem, QHeaderView, QSplitter |
7251
bc5b1b00560a
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
29 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | import UI.PixmapCache |
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
|
32 | import Preferences |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
34 | from E5Gui.E5TabWidget import E5TabWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
821
diff
changeset
|
36 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | class DebugViewer(QWidget): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | """ |
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
|
39 | Class implementing a widget containing various debug related views. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
821
diff
changeset
|
41 | 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
|
42 | 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
|
43 | (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
|
44 | the exception logger. Additionally a list of all threads is shown. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | @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
|
47 | @signal preferencesChanged() emitted to react on changed preferences |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | """ |
476
121633976eca
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
49 | sourceFile = pyqtSignal(str, int) |
7012
cc3f83d1a605
Colors for highlighting are configurable through Debugger->General
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6942
diff
changeset
|
50 | preferencesChanged = pyqtSignal() |
476
121633976eca
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
51 | |
7418
6214fa980a9d
DebugViewer: don't show the thread ID anymore because it is meaningless for the user.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7412
diff
changeset
|
52 | ThreadIdRole = Qt.UserRole + 1 |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
53 | DebuggerStateRole = Qt.UserRole + 2 |
7418
6214fa980a9d
DebugViewer: don't show the thread ID anymore because it is meaningless for the user.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7412
diff
changeset
|
54 | |
6987
3371a03ed0a7
Performed some interface cleanups.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
55 | def __init__(self, debugServer, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
59 | @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
|
60 | @type DebugServer |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
61 | @param parent parent widget |
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
62 | @type QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2400
diff
changeset
|
64 | super(DebugViewer, self).__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | self.debugServer = debugServer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | self.debugUI = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7475
diff
changeset
|
69 | self.setWindowIcon(UI.PixmapCache.getIcon("eric")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | self.__mainLayout = QVBoxLayout() |
7407
a0b6acee2c20
Continued with the multiprocess debugger. Started with QProcess support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7405
diff
changeset
|
72 | self.__mainLayout.setContentsMargins(0, 3, 0, 0) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | self.setLayout(self.__mainLayout) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | |
7878
b210470f54b3
DebugViewer: changed the layout to use a QSplitter to offer more flexibility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7862
diff
changeset
|
75 | self.__mainSplitter = QSplitter(Qt.Vertical, self) |
b210470f54b3
DebugViewer: changed the layout to use a QSplitter to offer more flexibility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7862
diff
changeset
|
76 | self.__mainLayout.addWidget(self.__mainSplitter) |
b210470f54b3
DebugViewer: changed the layout to use a QSplitter to offer more flexibility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7862
diff
changeset
|
77 | |
7375
af2500ced7e0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7374
diff
changeset
|
78 | # 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
|
79 | 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
|
80 | 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
|
81 | self.__debuggersLayout.setContentsMargins(0, 0, 0, 0) |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
82 | self.__debuggersLayout.addWidget( |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
83 | 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
|
84 | self.__debuggersList = QTreeWidget() |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
85 | self.__debuggersList.setHeaderLabels( |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
86 | [self.tr("ID"), self.tr("State"), ""]) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
87 | self.__debuggersList.header().setStretchLastSection(True) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
88 | self.__debuggersList.setSortingEnabled(True) |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
89 | self.__debuggersList.setRootIsDecorated(True) |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
90 | self.__debuggersList.setAlternatingRowColors(True) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
91 | 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
|
92 | self.__mainSplitter.addWidget(self.__debuggersWidget) |
7375
af2500ced7e0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7374
diff
changeset
|
93 | |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
94 | self.__debuggersList.currentItemChanged.connect( |
7375
af2500ced7e0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7374
diff
changeset
|
95 | self.__debuggerSelected) |
af2500ced7e0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7374
diff
changeset
|
96 | |
af2500ced7e0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7374
diff
changeset
|
97 | # add the tab widget containing various debug related views |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
98 | self.__tabWidget = E5TabWidget() |
7878
b210470f54b3
DebugViewer: changed the layout to use a QSplitter to offer more flexibility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7862
diff
changeset
|
99 | self.__mainSplitter.addWidget(self.__tabWidget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | |
2400
c1726b754f96
Started with delaying the import upon the time it is needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
101 | from .VariablesViewer import VariablesViewer |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | # add the global variables viewer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | self.glvWidget = QWidget() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | self.glvWidgetVLayout = QVBoxLayout(self.glvWidget) |
2824
858412c29c34
Replaced the obsoleted method setMargin() with setContentsMargins().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2766
diff
changeset
|
105 | self.glvWidgetVLayout.setContentsMargins(0, 0, 0, 0) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | self.glvWidgetVLayout.setSpacing(3) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | self.glvWidget.setLayout(self.glvWidgetVLayout) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
109 | self.globalsViewer = VariablesViewer(self, True, self.glvWidget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | self.glvWidgetVLayout.addWidget(self.globalsViewer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | self.glvWidgetHLayout = QHBoxLayout() |
2824
858412c29c34
Replaced the obsoleted method setMargin() with setContentsMargins().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2766
diff
changeset
|
113 | self.glvWidgetHLayout.setContentsMargins(3, 3, 3, 3) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | self.globalsFilterEdit = QLineEdit(self.glvWidget) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
116 | self.globalsFilterEdit.setSizePolicy( |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
117 | QSizePolicy.Expanding, QSizePolicy.Fixed) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | self.glvWidgetHLayout.addWidget(self.globalsFilterEdit) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
119 | self.globalsFilterEdit.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
120 | self.tr("Enter regular expression patterns separated by ';'" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
121 | " to define variable filters. ")) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
122 | self.globalsFilterEdit.setWhatsThis( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
123 | self.tr("Enter regular expression patterns separated by ';'" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
124 | " to define variable filters. All variables and" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
125 | " class attributes matched by one of the expressions" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
126 | " are not shown in the list above.")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
128 | self.setGlobalsFilterButton = QPushButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
129 | self.tr('Set'), self.glvWidget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | self.glvWidgetHLayout.addWidget(self.setGlobalsFilterButton) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | self.glvWidgetVLayout.addLayout(self.glvWidgetHLayout) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
133 | index = self.__tabWidget.addTab( |
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
134 | self.glvWidget, |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7475
diff
changeset
|
135 | UI.PixmapCache.getIcon("globalVariables"), '') |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
136 | self.__tabWidget.setTabToolTip( |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
137 | index, |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
138 | self.tr("Shows the list of global variables and their values.")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
140 | self.setGlobalsFilterButton.clicked.connect( |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
141 | 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
|
142 | self.globalsFilterEdit.returnPressed.connect(self.setGlobalsFilter) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | # add the local variables viewer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | self.lvWidget = QWidget() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | self.lvWidgetVLayout = QVBoxLayout(self.lvWidget) |
2824
858412c29c34
Replaced the obsoleted method setMargin() with setContentsMargins().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2766
diff
changeset
|
147 | self.lvWidgetVLayout.setContentsMargins(0, 0, 0, 0) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | self.lvWidgetVLayout.setSpacing(3) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | self.lvWidget.setLayout(self.lvWidgetVLayout) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | self.lvWidgetHLayout1 = QHBoxLayout() |
2824
858412c29c34
Replaced the obsoleted method setMargin() with setContentsMargins().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2766
diff
changeset
|
152 | self.lvWidgetHLayout1.setContentsMargins(3, 3, 3, 3) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | self.stackComboBox = QComboBox(self.lvWidget) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
155 | self.stackComboBox.setSizePolicy( |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
156 | QSizePolicy.Expanding, QSizePolicy.Fixed) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | self.lvWidgetHLayout1.addWidget(self.stackComboBox) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
159 | self.sourceButton = QPushButton(self.tr('Source'), self.lvWidget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | self.lvWidgetHLayout1.addWidget(self.sourceButton) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | self.sourceButton.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | self.lvWidgetVLayout.addLayout(self.lvWidgetHLayout1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
164 | self.localsViewer = VariablesViewer(self, False, self.lvWidget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | self.lvWidgetVLayout.addWidget(self.localsViewer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | self.lvWidgetHLayout2 = QHBoxLayout() |
2824
858412c29c34
Replaced the obsoleted method setMargin() with setContentsMargins().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2766
diff
changeset
|
168 | self.lvWidgetHLayout2.setContentsMargins(3, 3, 3, 3) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | self.localsFilterEdit = QLineEdit(self.lvWidget) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
171 | self.localsFilterEdit.setSizePolicy( |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
172 | QSizePolicy.Expanding, QSizePolicy.Fixed) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | self.lvWidgetHLayout2.addWidget(self.localsFilterEdit) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
174 | 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
|
175 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
176 | "Enter regular expression patterns separated by ';' to define " |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | "variable filters. ")) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
178 | 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
|
179 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
180 | "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
|
181 | "variable filters. All variables and class attributes matched" |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
182 | " by one of the expressions are not shown in the list above.")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
184 | self.setLocalsFilterButton = QPushButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
185 | self.tr('Set'), self.lvWidget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | self.lvWidgetHLayout2.addWidget(self.setLocalsFilterButton) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | self.lvWidgetVLayout.addLayout(self.lvWidgetHLayout2) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
189 | index = self.__tabWidget.addTab( |
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
190 | self.lvWidget, |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7475
diff
changeset
|
191 | UI.PixmapCache.getIcon("localVariables"), '') |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
192 | self.__tabWidget.setTabToolTip( |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
193 | index, |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
194 | self.tr("Shows the list of local variables and their values.")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
196 | self.sourceButton.clicked.connect(self.__showSource) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
197 | self.stackComboBox.currentIndexChanged[int].connect( |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
198 | 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
|
199 | 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
|
200 | self.localsFilterEdit.returnPressed.connect(self.setLocalsFilter) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | |
7012
cc3f83d1a605
Colors for highlighting are configurable through Debugger->General
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6942
diff
changeset
|
202 | self.preferencesChanged.connect(self.handlePreferencesChanged) |
cc3f83d1a605
Colors for highlighting are configurable through Debugger->General
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6942
diff
changeset
|
203 | 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
|
204 | self.preferencesChanged.connect(self.localsViewer.preferencesChanged) |
cc3f83d1a605
Colors for highlighting are configurable through Debugger->General
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6942
diff
changeset
|
205 | |
2622
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
206 | from .CallStackViewer import CallStackViewer |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
207 | # 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
|
208 | self.callStackViewer = CallStackViewer(self.debugServer) |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
209 | index = self.__tabWidget.addTab( |
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
210 | self.callStackViewer, |
7475
33fbefbb5057
Modified some Breeze icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
211 | UI.PixmapCache.getIcon("callStack"), "") |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
212 | self.__tabWidget.setTabToolTip( |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
213 | index, |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
214 | 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
|
215 | self.callStackViewer.sourceFile.connect(self.sourceFile) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
216 | self.callStackViewer.frameSelected.connect( |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
217 | self.__callStackFrameSelected) |
2622
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
218 | |
2400
c1726b754f96
Started with delaying the import upon the time it is needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
219 | from .CallTraceViewer import CallTraceViewer |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
220 | # add the call trace viewer |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
221 | 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
|
222 | index = self.__tabWidget.addTab( |
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
223 | self.callTraceViewer, |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7475
diff
changeset
|
224 | UI.PixmapCache.getIcon("callTrace"), "") |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
225 | self.__tabWidget.setTabToolTip( |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
226 | index, |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
227 | self.tr("Shows a trace of the program flow.")) |
2171
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
228 | self.callTraceViewer.sourceFile.connect(self.sourceFile) |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
229 | |
2400
c1726b754f96
Started with delaying the import upon the time it is needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
230 | from .BreakPointViewer import BreakPointViewer |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | # add the breakpoint viewer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | self.breakpointViewer = BreakPointViewer() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | 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
|
234 | index = self.__tabWidget.addTab( |
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
235 | self.breakpointViewer, |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7475
diff
changeset
|
236 | UI.PixmapCache.getIcon("breakpoints"), '') |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
237 | self.__tabWidget.setTabToolTip( |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
238 | index, |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
239 | self.tr("Shows a list of defined breakpoints.")) |
476
121633976eca
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
240 | self.breakpointViewer.sourceFile.connect(self.sourceFile) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | |
2400
c1726b754f96
Started with delaying the import upon the time it is needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
242 | from .WatchPointViewer import WatchPointViewer |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | # add the watch expression viewer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | self.watchpointViewer = WatchPointViewer() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | 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
|
246 | index = self.__tabWidget.addTab( |
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
247 | self.watchpointViewer, |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7475
diff
changeset
|
248 | UI.PixmapCache.getIcon("watchpoints"), '') |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
249 | self.__tabWidget.setTabToolTip( |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
250 | index, |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
251 | self.tr("Shows a list of defined watchpoints.")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | |
2400
c1726b754f96
Started with delaying the import upon the time it is needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
253 | from .ExceptionLogger import ExceptionLogger |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | # add the exception logger |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
255 | self.exceptionLogger = ExceptionLogger() |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
256 | index = self.__tabWidget.addTab( |
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
257 | self.exceptionLogger, |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7475
diff
changeset
|
258 | UI.PixmapCache.getIcon("exceptions"), '') |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
259 | self.__tabWidget.setTabToolTip( |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
260 | index, |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
261 | self.tr("Shows a list of raised exceptions.")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | |
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
|
263 | from UI.PythonDisViewer import PythonDisViewer, PythonDisViewerModes |
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
|
264 | # 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
|
265 | self.disassemblyViewer = PythonDisViewer( |
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
|
266 | None, mode=PythonDisViewerModes.TracebackMode) |
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
|
267 | index = self.__tabWidget.addTab( |
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
|
268 | self.disassemblyViewer, |
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
|
269 | UI.PixmapCache.getIcon("disassembly"), '') |
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
|
270 | self.__tabWidget.setTabToolTip( |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
271 | index, |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
272 | self.tr("Shows a code disassembly in case of an exception.")) |
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
|
273 | |
6416
a915f8dd1ca6
File-Browser, Shell: changed code so file-browser and shell are always a standalone windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
274 | self.__tabWidget.setCurrentWidget(self.glvWidget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
276 | self.__doDebuggersListUpdate = True |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
278 | self.__mainSplitter.setSizes([100, 700]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | self.currentStack = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | self.framenr = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | |
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
|
283 | self.__autoViewSource = Preferences.getDebugger("AutoViewSourceCode") |
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
|
284 | self.sourceButton.setVisible(not self.__autoViewSource) |
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
|
285 | |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
286 | # connect some debug server signals |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
287 | self.debugServer.clientStack.connect( |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
288 | self.handleClientStack) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
289 | self.debugServer.clientThreadList.connect( |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
290 | self.__addThreadList) |
7412
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7411
diff
changeset
|
291 | self.debugServer.clientDebuggerId.connect( |
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7411
diff
changeset
|
292 | self.__clientDebuggerId) |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
293 | self.debugServer.passiveDebugStarted.connect( |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
294 | self.handleDebuggingStarted) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
295 | self.debugServer.clientLine.connect( |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
296 | self.__clientLine) |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
297 | self.debugServer.clientSyntaxError.connect( |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
298 | self.__clientSyntaxError) |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
299 | self.debugServer.clientException.connect( |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
300 | self.__clientException) |
7410
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
301 | self.debugServer.clientExit.connect( |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
302 | self.__clientExit) |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
303 | |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
304 | self.debugServer.clientException.connect( |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
305 | self.exceptionLogger.addException) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
306 | self.debugServer.passiveDebugStarted.connect( |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
307 | self.exceptionLogger.debuggingStarted) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
308 | |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
309 | self.debugServer.clientLine.connect( |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
310 | self.breakpointViewer.highlightBreakpoint) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
311 | |
7012
cc3f83d1a605
Colors for highlighting are configurable through Debugger->General
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6942
diff
changeset
|
312 | 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
|
313 | """ |
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
|
314 | 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
|
315 | """ |
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
|
316 | self.__autoViewSource = Preferences.getDebugger("AutoViewSourceCode") |
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
|
317 | self.sourceButton.setVisible(not self.__autoViewSource) |
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
|
318 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
319 | def setDebugger(self, debugUI): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | Public method to set a reference to the Debug UI. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
323 | @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
|
324 | @type DebugUI |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | 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
|
327 | self.callStackViewer.setDebugger(debugUI) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
329 | # connect some debugUI signals |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
330 | self.debugUI.clientStack.connect(self.handleClientStack) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
331 | self.debugUI.debuggingStarted.connect( |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
332 | self.exceptionLogger.debuggingStarted) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
333 | self.debugUI.debuggingStarted.connect( |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
334 | self.handleDebuggingStarted) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
335 | |
7928
a78ce4578fed
Debugger: some more fixes
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
336 | def handleResetUI(self, fullReset): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | """ |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
338 | Public method to reset the viewer. |
7928
a78ce4578fed
Debugger: some more fixes
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
339 | |
a78ce4578fed
Debugger: some more fixes
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
340 | @param fullReset flag indicating a full reset is required |
a78ce4578fed
Debugger: some more fixes
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
341 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | self.globalsViewer.handleResetUI() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | 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
|
345 | 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
|
346 | self.setLocalsFilter() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
347 | self.sourceButton.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | self.currentStack = None |
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
|
349 | self.stackComboBox.clear() |
6416
a915f8dd1ca6
File-Browser, Shell: changed code so file-browser and shell are always a standalone windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
350 | self.__tabWidget.setCurrentWidget(self.glvWidget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | self.breakpointViewer.handleResetUI() |
7928
a78ce4578fed
Debugger: some more fixes
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
352 | if fullReset: |
a78ce4578fed
Debugger: some more fixes
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
353 | 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
|
354 | self.disassemblyViewer.clear() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | |
2622
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
356 | 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
|
357 | """ |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
358 | Public method to initialize 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
|
359 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
360 | @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
|
361 | @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
|
362 | """ |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
363 | 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
|
364 | self.callStackViewer.setProjectMode(projectMode) |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
365 | |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
366 | def isCallTraceEnabled(self): |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
367 | """ |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
368 | Public method to get the state of the call trace function. |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
369 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
370 | @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
|
371 | @rtype bool |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
372 | """ |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
373 | return self.callTraceViewer.isCallTraceEnabled() |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
374 | |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
375 | def clearCallTrace(self): |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
376 | """ |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
377 | 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
|
378 | """ |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
379 | self.callTraceViewer.clear() |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1926
diff
changeset
|
380 | |
2171
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
381 | def setCallTraceToProjectMode(self, enabled): |
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
382 | """ |
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
383 | Public slot to set the call trace viewer to project mode. |
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
384 | |
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
385 | 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
|
386 | path names. |
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
387 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
388 | @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
|
389 | @type bool |
2171
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
390 | """ |
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
391 | self.callTraceViewer.setProjectMode(enabled) |
c7dd548d67d8
Finished the coding part of the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2170
diff
changeset
|
392 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
393 | def showVariables(self, vlist, showGlobals): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | Public method to show the variables in the respective window. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
396 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | @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
|
398 | @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
|
399 | @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
|
400 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | """ |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
402 | if showGlobals: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | self.globalsViewer.showVariables(vlist, self.framenr) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | self.localsViewer.showVariables(vlist, self.framenr) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
407 | def showVariable(self, vlist, showGlobals): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | Public method to show the variables in the respective window. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | @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
|
412 | @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
|
413 | @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
|
414 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | """ |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
416 | if showGlobals: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | self.globalsViewer.showVariable(vlist) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | self.localsViewer.showVariable(vlist) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
421 | def showVariablesTab(self, showGlobals): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | Public method to make a variables tab visible. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
425 | @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
|
426 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | """ |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
428 | if showGlobals: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | self.__tabWidget.setCurrentWidget(self.glvWidget) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | self.__tabWidget.setCurrentWidget(self.lvWidget) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
433 | def handleClientStack(self, stack, debuggerId): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | Public slot to show the call stack of the program being debugged. |
2622
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
436 | |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
437 | @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
|
438 | 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
|
439 | @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
|
440 | @param debuggerId ID of the debugger backend |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
441 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | """ |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
443 | if debuggerId == self.getSelectedDebuggerId(): |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
444 | block = self.stackComboBox.blockSignals(True) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
445 | self.framenr = 0 |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
446 | self.stackComboBox.clear() |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
447 | self.currentStack = stack |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
448 | self.sourceButton.setEnabled(len(stack) > 0) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
449 | for s in stack: |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
450 | # just show base filename to make it readable |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
451 | s = (os.path.basename(s[0]), s[1], s[2]) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
452 | self.stackComboBox.addItem('{0}:{1}:{2}'.format(*s)) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
453 | self.stackComboBox.blockSignals(block) |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
454 | |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
455 | def __clientLine(self, fn, line, debuggerId): |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
456 | """ |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
457 | Private method to handle a change to the current line. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
459 | @param fn filename |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
460 | @type str |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
461 | @param line linenumber |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
462 | @type int |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
463 | @param debuggerId ID of the debugger backend |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
464 | @type str |
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
465 | """ |
7410
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
466 | self.__setDebuggerIconAndState(debuggerId, "break", "broken") |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
467 | if debuggerId != self.getSelectedDebuggerId(): |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
468 | self.__setCurrentDebugger(debuggerId) |
7410
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
469 | |
7421
4a9900aef04e
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7418
diff
changeset
|
470 | @pyqtSlot(str, int, str, bool, str) |
4a9900aef04e
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7418
diff
changeset
|
471 | 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
|
472 | """ |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
473 | Private method to handle the debugged program terminating. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | |
7421
4a9900aef04e
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7418
diff
changeset
|
475 | @param program name of the exited program |
4a9900aef04e
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7418
diff
changeset
|
476 | @type str |
7410
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
477 | @param status exit code of the debugged program |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
478 | @type int |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
479 | @param message exit message of the debugged program |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
480 | @type str |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
481 | @param quiet flag indicating to suppress exit info display |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
482 | @type bool |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
483 | @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
|
484 | @type str |
401791e6f50f
Continued with the multiprocess debugger. Implemented QProcess.startDetached() wrapper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7407
diff
changeset
|
485 | """ |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
486 | 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
|
487 | 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
|
488 | # 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
|
489 | 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
|
490 | 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
|
491 | 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
|
492 | self.setLocalsFilter() |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
493 | self.sourceButton.setEnabled(False) |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
494 | self.currentStack = None |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
495 | self.stackComboBox.clear() |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
496 | |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
497 | self.__removeDebugger(debuggerId) |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
498 | |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
499 | def __clientSyntaxError(self, message, filename, lineNo, characterNo, |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
500 | debuggerId): |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
501 | """ |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
502 | Private method to handle a syntax error in the debugged program. |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
503 | |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
504 | @param message message of the syntax error |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
505 | @type str |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
506 | @param filename translated filename of the syntax error position |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
507 | @type str |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
508 | @param lineNo line number of the syntax error position |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
509 | @type int |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
510 | @param characterNo character number of the syntax error position |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
511 | @type int |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
512 | @param debuggerId ID of the debugger backend |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
513 | @type str |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
514 | """ |
7407
a0b6acee2c20
Continued with the multiprocess debugger. Started with QProcess support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7405
diff
changeset
|
515 | self.__setDebuggerIconAndState(debuggerId, "syntaxError22", |
a0b6acee2c20
Continued with the multiprocess debugger. Started with QProcess support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7405
diff
changeset
|
516 | "exception") |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
517 | |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
518 | def __clientException(self, exceptionType, exceptionMessage, stackTrace, |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
519 | debuggerId): |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
520 | """ |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
521 | Private method to handle an exception of the debugged program. |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
522 | |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
523 | @param exceptionType type of exception raised |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
524 | @type str |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
525 | @param exceptionMessage message given by the exception |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
526 | @type (str |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
527 | @param stackTrace list of stack entries |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
528 | @type list of str |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
529 | @param debuggerId ID of the debugger backend |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
530 | @type str |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
531 | """ |
7405
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
532 | self.__setDebuggerIconAndState(debuggerId, "exceptions", "exception") |
7377
cc920e534ac0
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7376
diff
changeset
|
533 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
534 | def setVariablesFilter(self, globalsFilter, localsFilter): |
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 slot to set the local variables filter. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
537 | |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
538 | @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
|
539 | @type list of str |
817ef8e0fa66
Debugger: changed the handling of variable type filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
540 | @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
|
541 | @type list of str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
542 | """ |
7862
817ef8e0fa66
Debugger: changed the handling of variable type filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
543 | self.__globalsFilter = globalsFilter |
817ef8e0fa66
Debugger: changed the handling of variable type filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
544 | self.__localsFilter = localsFilter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
545 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
546 | def __showSource(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
547 | """ |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
548 | 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
|
549 | file. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | """ |
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
|
551 | index = self.stackComboBox.currentIndex() |
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
|
552 | 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
|
553 | 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
|
554 | self.sourceFile.emit(s[0], int(s[1])) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | def __frameSelected(self, frmnr): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
558 | Private slot to handle the selection of a new stack frame number. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
559 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
560 | @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
|
561 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
562 | """ |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
563 | if frmnr >= 0: |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
564 | self.framenr = frmnr |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
565 | if self.debugServer.isDebugging(): |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
566 | self.debugServer.remoteClientVariables( |
7863
6725d2549801
Merged with the default branch.
Detlev Offenbach <detlev@die-offenbachs.de>
diff
changeset
|
567 | self.getSelectedDebuggerId(), 0, self.__localsFilter, |
6725d2549801
Merged with the default branch.
Detlev Offenbach <detlev@die-offenbachs.de>
diff
changeset
|
568 | frmnr) |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
569 | |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
570 | if self.__autoViewSource: |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
571 | self.__showSource() |
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
|
572 | |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
573 | def setGlobalsFilter(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
574 | """ |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
575 | Public slot to set the global variable filter. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
576 | """ |
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
|
577 | 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
|
578 | filterStr = self.globalsFilterEdit.text() |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
579 | self.debugServer.remoteClientSetFilter( |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
580 | self.getSelectedDebuggerId(), 1, filterStr) |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
581 | self.debugServer.remoteClientVariables( |
7863
6725d2549801
Merged with the default branch.
Detlev Offenbach <detlev@die-offenbachs.de>
diff
changeset
|
582 | self.getSelectedDebuggerId(), 2, self.__globalsFilter) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
583 | |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
584 | def setLocalsFilter(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | """ |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
586 | Public slot to set the local variable filter. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
587 | """ |
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
|
588 | 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
|
589 | filterStr = self.localsFilterEdit.text() |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
590 | self.debugServer.remoteClientSetFilter( |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
591 | self.getSelectedDebuggerId(), 0, filterStr) |
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
|
592 | 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
|
593 | self.debugServer.remoteClientVariables( |
7863
6725d2549801
Merged with the default branch.
Detlev Offenbach <detlev@die-offenbachs.de>
diff
changeset
|
594 | self.getSelectedDebuggerId(), 0, self.__localsFilter, |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7377
diff
changeset
|
595 | self.framenr) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
596 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
597 | def handleDebuggingStarted(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
598 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
599 | Public slot to handle the start of a debugging session. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
600 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
601 | This slot sets the variables filter expressions. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
602 | """ |
5165
37691caeec1a
Added the capability to refresh the variables viewer via the context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
603 | 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
|
604 | self.setLocalsFilter() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
605 | self.showVariablesTab(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
606 | |
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
|
607 | self.disassemblyViewer.clear() |
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
|
608 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
609 | def currentWidget(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
610 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
611 | Public method to get a reference to the current widget. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
612 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
613 | @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
|
614 | @rtype QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
615 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
616 | return self.__tabWidget.currentWidget() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
617 | |
821
4c4a4525e69a
Added the forgotten "setCurrentWidget" slot to the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
618 | def setCurrentWidget(self, widget): |
4c4a4525e69a
Added the forgotten "setCurrentWidget" slot to the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
619 | """ |
4c4a4525e69a
Added the forgotten "setCurrentWidget" slot to the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
620 | Public slot to set the current page based on the given widget. |
4c4a4525e69a
Added the forgotten "setCurrentWidget" slot to the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
621 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
622 | @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
|
623 | @type QWidget |
821
4c4a4525e69a
Added the forgotten "setCurrentWidget" slot to the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
624 | """ |
4c4a4525e69a
Added the forgotten "setCurrentWidget" slot to the debug viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
625 | self.__tabWidget.setCurrentWidget(widget) |
2622
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
626 | |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
627 | 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
|
628 | """ |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
629 | 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
|
630 | 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
|
631 | |
7882
617cc27f11af
Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7881
diff
changeset
|
632 | @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
|
633 | @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
|
634 | """ |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
635 | if frameNo >= 0: |
08cc2f31c983
Added a viewer for the call stack leading to the current line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2400
diff
changeset
|
636 | self.stackComboBox.setCurrentIndex(frameNo) |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
637 | |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
638 | def __debuggerSelected(self, current, previous): |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
639 | """ |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
640 | 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
|
641 | debuggers list. |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
642 | |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
643 | @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
|
644 | @type QTreeWidgetItem |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
645 | @param previous reference to the previous current item |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
646 | @type QTreeWidgetItem |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
647 | """ |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
648 | 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
|
649 | if current.parent() is None: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
650 | # it is a debugger item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
651 | debuggerId = current.text(0) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
652 | self.globalsViewer.handleResetUI() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
653 | self.localsViewer.handleResetUI() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
654 | self.currentStack = None |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
655 | self.stackComboBox.clear() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
656 | self.callStackViewer.clear() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
657 | |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
658 | self.debugUI.getDebuggerData(debuggerId) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
659 | self.debugUI.setDebugActionsEnabled( |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
660 | self.getSelectedDebuggerState() != "running") |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
661 | self.__showSource() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
662 | else: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
663 | # it is a thread item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
664 | tid = current.data(0, self.ThreadIdRole) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
665 | self.debugServer.remoteSetThread( |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
666 | self.getSelectedDebuggerId(), tid) |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
667 | |
7412
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7411
diff
changeset
|
668 | def __clientDebuggerId(self, debuggerId): |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
669 | """ |
7412
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7411
diff
changeset
|
670 | Private slot to receive the ID of a newly connected debugger backend. |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
671 | |
7412
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7411
diff
changeset
|
672 | @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
|
673 | @type str |
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7411
diff
changeset
|
674 | """ |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
675 | 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
|
676 | 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
|
677 | self.debugUI.showNotification( |
827d89937c30
Fixed a few issues with the new multi process debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7892
diff
changeset
|
678 | self.tr("<p>Debugger with ID <b>{0}</b> has been connected." |
827d89937c30
Fixed a few issues with the new multi process debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7892
diff
changeset
|
679 | "</p>") |
827d89937c30
Fixed a few issues with the new multi process debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7892
diff
changeset
|
680 | .format(debuggerId)) |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
681 | |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
682 | self.__debuggersList.header().resizeSections( |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
683 | QHeaderView.ResizeToContents) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
684 | |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
685 | if self.__debuggersList.topLevelItemCount() == 1: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
686 | # 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
|
687 | self.__debuggersList.setCurrentItem(itm) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
688 | |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
689 | def __setCurrentDebugger(self, debuggerId): |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
690 | """ |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
691 | Private method to set the current debugger based on the given ID. |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
692 | |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
693 | @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
|
694 | @type str |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
695 | """ |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
696 | debuggerItems = self.__debuggersList.findItems( |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
697 | debuggerId, Qt.MatchExactly) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
698 | if debuggerItems: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
699 | debuggerItem = debuggerItems[0] |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
700 | currentItem = self.__debuggersList.currentItem() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
701 | if currentItem is debuggerItem: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
702 | # nothing to do |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
703 | return |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
704 | |
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
|
705 | 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
|
706 | 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
|
707 | 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
|
708 | currentParent = None |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
709 | if currentParent is None: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
710 | # current is a debugger item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
711 | self.__debuggersList.setCurrentItem(debuggerItem) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
712 | elif currentParent is debuggerItem: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
713 | # nothing to do |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
714 | return |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
715 | else: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
716 | self.__debuggersList.setCurrentItem(debuggerItem) |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
717 | |
7915
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
718 | 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
|
719 | """ |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
720 | Public method to test, if 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
|
721 | |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
722 | @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
|
723 | @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
|
724 | """ |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
725 | return self.__debuggersList.topLevelItemCount() == 1 |
e68f5c568aee
Debugger: fixed a few bugs introduced by the multi process debugger changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7903
diff
changeset
|
726 | |
7374
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
727 | def getSelectedDebuggerId(self): |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
728 | """ |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
729 | Public method to get the currently selected debugger ID. |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
730 | |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
731 | @return selected debugger ID |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
732 | @rtype str |
5401ae8ddaa1
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
733 | """ |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
734 | itm = self.__debuggersList.currentItem() |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
735 | if itm: |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
736 | if itm.parent() is None: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
737 | # it is a debugger item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
738 | return itm.text(0) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
739 | else: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
740 | # it is a thread item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
741 | 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
|
742 | else: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
743 | return "" |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
744 | |
7405
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
745 | def getSelectedDebuggerState(self): |
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
746 | """ |
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
747 | Public method to get the currently selected debugger's state. |
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
748 | |
7411
6d8dcb3551b3
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7410
diff
changeset
|
749 | @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
|
750 | @rtype str |
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
751 | """ |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
752 | itm = self.__debuggersList.currentItem() |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
753 | if itm: |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
754 | if itm.parent() is None: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
755 | # it is a debugger item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
756 | return itm.data(0, self.DebuggerStateRole) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
757 | else: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
758 | # it is a thread item |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
759 | 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
|
760 | else: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
761 | return "" |
7405
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
762 | |
bf6be3cff6cf
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
763 | def __setDebuggerIconAndState(self, debuggerId, iconName, state): |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
764 | """ |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
765 | Private method to set the icon for a specific debugger ID. |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
766 | |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
767 | @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
|
768 | currently selected one) |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
769 | @type str |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
770 | @param iconName name of the icon to be used |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
771 | @type str |
7411
6d8dcb3551b3
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7410
diff
changeset
|
772 | @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
|
773 | @type str |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
774 | """ |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
775 | debuggerItem = None |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7379
diff
changeset
|
776 | if debuggerId: |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
777 | foundItems = self.__debuggersList.findItems( |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
778 | debuggerId, Qt.MatchExactly) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
779 | if foundItems: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
780 | debuggerItem = foundItems[0] |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
781 | if debuggerItem is None: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
782 | debuggerItem = self.__debuggersList.currentItem() |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
783 | if debuggerItem is not None: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
784 | debuggerItem.setIcon(0, UI.PixmapCache.getIcon(iconName)) |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
785 | debuggerItem.setData(0, self.DebuggerStateRole, state) |
7881
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
786 | if state == "broken": |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
787 | debuggerItem.setText(1, self.tr("waiting at breakpoint")) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
788 | elif state == "exception": |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
789 | debuggerItem.setText(1, self.tr("waiting at exception")) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
790 | elif state == "running": |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
791 | debuggerItem.setText(1, self.tr("running")) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
792 | else: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
793 | debuggerItem.setText( |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
794 | 1, self.tr("unknown state ({0})").format(state)) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
795 | |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
796 | self.__debuggersList.header().resizeSections( |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
797 | QHeaderView.ResizeToContents) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
798 | |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
799 | def __removeDebugger(self, debuggerId): |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
800 | """ |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
801 | Private method to remove a debugger given its ID. |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
802 | |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
803 | @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
|
804 | @type str |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
805 | """ |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
806 | foundItems = self.__debuggersList.findItems( |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
807 | debuggerId, Qt.MatchExactly) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
808 | if foundItems: |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
809 | 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
|
810 | itm = self.__debuggersList.takeTopLevelItem(index) |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
811 | # __IGNORE_WARNING__ |
6c09c023cda5
DebugViewer: changed the debugger selector to a list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7879
diff
changeset
|
812 | del itm |
7920
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
813 | |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
814 | def __addThreadList(self, currentID, threadList, debuggerId): |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
815 | """ |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
816 | Private method to add the list of threads to a debugger entry. |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
817 | |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
818 | @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
|
819 | @type int |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
820 | @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
|
821 | @type list of dict |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
822 | @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
|
823 | @type str |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
824 | """ |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
825 | debugStatus = -1 # i.e. running |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
826 | |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
827 | debuggerItems = self.__debuggersList.findItems( |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
828 | debuggerId, Qt.MatchExactly) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
829 | if debuggerItems: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
830 | debuggerItem = debuggerItems[0] |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
831 | |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
832 | currentItem = self.__debuggersList.currentItem() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
833 | if currentItem.parent() is debuggerItem: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
834 | currentChild = currentItem.text(0) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
835 | else: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
836 | currentChild = "" |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
837 | self.__doDebuggersListUpdate = False |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
838 | debuggerItem.takeChildren() |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
839 | for thread in threadList: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
840 | if thread.get('except', False): |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
841 | state = self.tr("waiting at exception") |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
842 | icon = "exceptions" |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
843 | debugStatus = 1 |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
844 | elif thread['broken']: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
845 | state = self.tr("waiting at breakpoint") |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
846 | icon = "break" |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
847 | if debugStatus < 1: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
848 | debugStatus = 0 |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
849 | else: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
850 | state = self.tr("running") |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
851 | icon = "mediaPlaybackStart" |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
852 | itm = QTreeWidgetItem(debuggerItem, [thread['name'], state]) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
853 | itm.setData(0, self.ThreadIdRole, thread['id']) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
854 | itm.setIcon(0, UI.PixmapCache.getIcon(icon)) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
855 | if currentChild == thread['name']: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
856 | self.__debuggersList.setCurrentItem(itm) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
857 | if thread['id'] == currentID: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
858 | font = debuggerItem.font(0) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
859 | font.setItalic(True) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
860 | itm.setFont(0, font) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
861 | |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
862 | debuggerItem.setExpanded(debuggerItem.childCount() > 0) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
863 | |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
864 | self.__debuggersList.header().resizeSections( |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
865 | QHeaderView.ResizeToContents) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
866 | self.__debuggersList.header().setStretchLastSection(True) |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
867 | self.__doDebuggersListUpdate = True |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
868 | |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
869 | if debugStatus == -1: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
870 | icon = "mediaPlaybackStart" |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
871 | state = "running" |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
872 | elif debugStatus == 0: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
873 | icon = "break" |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
874 | state = "broken" |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
875 | else: |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
876 | icon = "exceptions" |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
877 | state = "exception" |
322d1ee01510
DebugViewer: united the debuggers and threads lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7915
diff
changeset
|
878 | self.__setDebuggerIconAndState(debuggerId, icon, state) |