12 |
12 |
13 from E5Gui.E5Application import e5App |
13 from E5Gui.E5Application import e5App |
14 |
14 |
15 from .EditBreakpointDialog import EditBreakpointDialog |
15 from .EditBreakpointDialog import EditBreakpointDialog |
16 |
16 |
|
17 |
17 class BreakPointViewer(QTreeView): |
18 class BreakPointViewer(QTreeView): |
18 """ |
19 """ |
19 Class implementing the Breakpoint viewer widget. |
20 Class implementing the Breakpoint viewer widget. |
20 |
21 |
21 Breakpoints will be shown with all their details. They can be modified through |
22 Breakpoints will be shown with all their details. They can be modified through |
23 |
24 |
24 @signal sourceFile(str, int) emitted to show the source of a breakpoint |
25 @signal sourceFile(str, int) emitted to show the source of a breakpoint |
25 """ |
26 """ |
26 sourceFile = pyqtSignal(str, int) |
27 sourceFile = pyqtSignal(str, int) |
27 |
28 |
28 def __init__(self, parent = None): |
29 def __init__(self, parent=None): |
29 """ |
30 """ |
30 Constructor |
31 Constructor |
31 |
32 |
32 @param parent the parent (QWidget) |
33 @param parent the parent (QWidget) |
33 """ |
34 """ |
92 |
93 |
93 def __resort(self): |
94 def __resort(self): |
94 """ |
95 """ |
95 Private slot to resort the tree. |
96 Private slot to resort the tree. |
96 """ |
97 """ |
97 self.model().sort(self.header().sortIndicatorSection(), |
98 self.model().sort(self.header().sortIndicatorSection(), |
98 self.header().sortIndicatorOrder()) |
99 self.header().sortIndicatorOrder()) |
99 |
100 |
100 def __toSourceIndex(self, index): |
101 def __toSourceIndex(self, index): |
101 """ |
102 """ |
102 Private slot to convert an index to a source index. |
103 Private slot to convert an index to a source index. |
111 |
112 |
112 @param sindex source index to be converted (QModelIndex) |
113 @param sindex source index to be converted (QModelIndex) |
113 """ |
114 """ |
114 return self.sortingModel.mapFromSource(sindex) |
115 return self.sortingModel.mapFromSource(sindex) |
115 |
116 |
116 def __setRowSelected(self, index, selected = True): |
117 def __setRowSelected(self, index, selected=True): |
117 """ |
118 """ |
118 Private slot to select a complete row. |
119 Private slot to select a complete row. |
119 |
120 |
120 @param index index determining the row to be selected (QModelIndex) |
121 @param index index determining the row to be selected (QModelIndex) |
121 @param selected flag indicating the action (bool) |
122 @param selected flag indicating the action (bool) |
166 self.backMenu.addAction(self.trUtf8("Configure..."), self.__configure) |
167 self.backMenu.addAction(self.trUtf8("Configure..."), self.__configure) |
167 |
168 |
168 self.multiMenu = QMenu() |
169 self.multiMenu = QMenu() |
169 self.multiMenu.addAction(self.trUtf8("Add"), self.__addBreak) |
170 self.multiMenu.addAction(self.trUtf8("Add"), self.__addBreak) |
170 self.multiMenu.addSeparator() |
171 self.multiMenu.addSeparator() |
171 self.multiMenu.addAction(self.trUtf8("Enable selected"), |
172 self.multiMenu.addAction(self.trUtf8("Enable selected"), |
172 self.__enableSelectedBreaks) |
173 self.__enableSelectedBreaks) |
173 self.multiMenu.addAction(self.trUtf8("Enable all"), self.__enableAllBreaks) |
174 self.multiMenu.addAction(self.trUtf8("Enable all"), self.__enableAllBreaks) |
174 self.multiMenu.addSeparator() |
175 self.multiMenu.addSeparator() |
175 self.multiMenu.addAction(self.trUtf8("Disable selected"), |
176 self.multiMenu.addAction(self.trUtf8("Disable selected"), |
176 self.__disableSelectedBreaks) |
177 self.__disableSelectedBreaks) |
177 self.multiMenu.addAction(self.trUtf8("Disable all"), self.__disableAllBreaks) |
178 self.multiMenu.addAction(self.trUtf8("Disable all"), self.__disableAllBreaks) |
178 self.multiMenu.addSeparator() |
179 self.multiMenu.addSeparator() |
179 self.multiMenu.addAction(self.trUtf8("Delete selected"), |
180 self.multiMenu.addAction(self.trUtf8("Delete selected"), |
180 self.__deleteSelectedBreaks) |
181 self.__deleteSelectedBreaks) |
181 self.multiMenu.addAction(self.trUtf8("Delete all"), self.__deleteAllBreaks) |
182 self.multiMenu.addAction(self.trUtf8("Delete all"), self.__deleteAllBreaks) |
182 self.multiMenu.addSeparator() |
183 self.multiMenu.addSeparator() |
183 self.multiMenu.addAction(self.trUtf8("Configure..."), self.__configure) |
184 self.multiMenu.addAction(self.trUtf8("Configure..."), self.__configure) |
184 |
185 |
212 def __addBreak(self): |
213 def __addBreak(self): |
213 """ |
214 """ |
214 Private slot to handle the add breakpoint context menu entry. |
215 Private slot to handle the add breakpoint context menu entry. |
215 """ |
216 """ |
216 dlg = EditBreakpointDialog((self.fnHistory[0], None), None, |
217 dlg = EditBreakpointDialog((self.fnHistory[0], None), None, |
217 self.condHistory, self, modal = 1, addMode = 1, |
218 self.condHistory, self, modal=1, addMode=1, |
218 filenameHistory = self.fnHistory) |
219 filenameHistory=self.fnHistory) |
219 if dlg.exec_() == QDialog.Accepted: |
220 if dlg.exec_() == QDialog.Accepted: |
220 fn, line, cond, temp, enabled, count = dlg.getAddData() |
221 fn, line, cond, temp, enabled, count = dlg.getAddData() |
221 if fn is not None: |
222 if fn is not None: |
222 if fn in self.fnHistory: |
223 if fn in self.fnHistory: |
223 self.fnHistory.remove(fn) |
224 self.fnHistory.remove(fn) |
262 return |
263 return |
263 |
264 |
264 fn, line, cond, temp, enabled, count = bp[:6] |
265 fn, line, cond, temp, enabled, count = bp[:6] |
265 |
266 |
266 dlg = EditBreakpointDialog((fn, line), (cond, temp, enabled, count), |
267 dlg = EditBreakpointDialog((fn, line), (cond, temp, enabled, count), |
267 self.condHistory, self, modal = True) |
268 self.condHistory, self, modal=True) |
268 if dlg.exec_() == QDialog.Accepted: |
269 if dlg.exec_() == QDialog.Accepted: |
269 cond, temp, enabled, count = dlg.getData() |
270 cond, temp, enabled, count = dlg.getData() |
270 if cond: |
271 if cond: |
271 if cond in self.condHistory: |
272 if cond in self.condHistory: |
272 self.condHistory.remove(cond) |
273 self.condHistory.remove(cond) |
273 self.condHistory.insert(0, cond) |
274 self.condHistory.insert(0, cond) |
274 |
275 |
275 self.__model.setBreakPointByIndex(sindex, |
276 self.__model.setBreakPointByIndex(sindex, |
276 fn, line, (cond, temp, enabled, count)) |
277 fn, line, (cond, temp, enabled, count)) |
277 self.__resizeColumns() |
278 self.__resizeColumns() |
278 self.__resort() |
279 self.__resort() |
279 |
280 |
280 def __setBpEnabled(self, index, enabled): |
281 def __setBpEnabled(self, index, enabled): |