Debugger/BreakPointViewer.py

changeset 2988
f53c03574697
parent 2953
703452a2876f
child 3021
801289962f4e
child 3057
10516539f238
equal deleted inserted replaced
2987:c99695c0f13a 2988:f53c03574697
16 16
17 class BreakPointViewer(QTreeView): 17 class BreakPointViewer(QTreeView):
18 """ 18 """
19 Class implementing the Breakpoint viewer widget. 19 Class implementing the Breakpoint viewer widget.
20 20
21 Breakpoints will be shown with all their details. They can be modified through 21 Breakpoints will be shown with all their details. They can be modified
22 the context menu of this widget. 22 through the context menu of this widget.
23 23
24 @signal sourceFile(str, int) emitted to show the source of a breakpoint 24 @signal sourceFile(str, int) emitted to show the source of a breakpoint
25 """ 25 """
26 sourceFile = pyqtSignal(str, int) 26 sourceFile = pyqtSignal(str, int)
27 27
86 self.__resizeColumns() 86 self.__resizeColumns()
87 self.__resort() 87 self.__resort()
88 88
89 def __resizeColumns(self): 89 def __resizeColumns(self):
90 """ 90 """
91 Private slot to resize the view when items get added, edited or deleted. 91 Private slot to resize the view when items get added, edited or
92 deleted.
92 """ 93 """
93 self.header().resizeSections(QHeaderView.ResizeToContents) 94 self.header().resizeSections(QHeaderView.ResizeToContents)
94 self.header().setStretchLastSection(True) 95 self.header().setStretchLastSection(True)
95 96
96 def __resort(self): 97 def __resort(self):
146 self.menu.addSeparator() 147 self.menu.addSeparator()
147 self.menu.addAction(self.trUtf8("Enable"), self.__enableBreak) 148 self.menu.addAction(self.trUtf8("Enable"), self.__enableBreak)
148 self.menu.addAction(self.trUtf8("Enable all"), self.__enableAllBreaks) 149 self.menu.addAction(self.trUtf8("Enable all"), self.__enableAllBreaks)
149 self.menu.addSeparator() 150 self.menu.addSeparator()
150 self.menu.addAction(self.trUtf8("Disable"), self.__disableBreak) 151 self.menu.addAction(self.trUtf8("Disable"), self.__disableBreak)
151 self.menu.addAction(self.trUtf8("Disable all"), self.__disableAllBreaks) 152 self.menu.addAction(self.trUtf8("Disable all"),
153 self.__disableAllBreaks)
152 self.menu.addSeparator() 154 self.menu.addSeparator()
153 self.menu.addAction(self.trUtf8("Delete"), self.__deleteBreak) 155 self.menu.addAction(self.trUtf8("Delete"), self.__deleteBreak)
154 self.menu.addAction(self.trUtf8("Delete all"), self.__deleteAllBreaks) 156 self.menu.addAction(self.trUtf8("Delete all"), self.__deleteAllBreaks)
155 self.menu.addSeparator() 157 self.menu.addSeparator()
156 self.menu.addAction(self.trUtf8("Goto"), self.__showSource) 158 self.menu.addAction(self.trUtf8("Goto"), self.__showSource)
159 161
160 self.backMenuActions = {} 162 self.backMenuActions = {}
161 self.backMenu = QMenu() 163 self.backMenu = QMenu()
162 self.backMenu.addAction(self.trUtf8("Add"), self.__addBreak) 164 self.backMenu.addAction(self.trUtf8("Add"), self.__addBreak)
163 self.backMenuActions["EnableAll"] = \ 165 self.backMenuActions["EnableAll"] = \
164 self.backMenu.addAction(self.trUtf8("Enable all"), self.__enableAllBreaks) 166 self.backMenu.addAction(self.trUtf8("Enable all"),
167 self.__enableAllBreaks)
165 self.backMenuActions["DisableAll"] = \ 168 self.backMenuActions["DisableAll"] = \
166 self.backMenu.addAction(self.trUtf8("Disable all"), self.__disableAllBreaks) 169 self.backMenu.addAction(self.trUtf8("Disable all"),
170 self.__disableAllBreaks)
167 self.backMenuActions["DeleteAll"] = \ 171 self.backMenuActions["DeleteAll"] = \
168 self.backMenu.addAction(self.trUtf8("Delete all"), self.__deleteAllBreaks) 172 self.backMenu.addAction(self.trUtf8("Delete all"),
173 self.__deleteAllBreaks)
169 self.backMenu.aboutToShow.connect(self.__showBackMenu) 174 self.backMenu.aboutToShow.connect(self.__showBackMenu)
170 self.backMenu.addSeparator() 175 self.backMenu.addSeparator()
171 self.backMenu.addAction(self.trUtf8("Configure..."), self.__configure) 176 self.backMenu.addAction(self.trUtf8("Configure..."), self.__configure)
172 177
173 self.multiMenu = QMenu() 178 self.multiMenu = QMenu()
174 self.multiMenu.addAction(self.trUtf8("Add"), self.__addBreak) 179 self.multiMenu.addAction(self.trUtf8("Add"), self.__addBreak)
175 self.multiMenu.addSeparator() 180 self.multiMenu.addSeparator()
176 self.multiMenu.addAction(self.trUtf8("Enable selected"), 181 self.multiMenu.addAction(self.trUtf8("Enable selected"),
177 self.__enableSelectedBreaks) 182 self.__enableSelectedBreaks)
178 self.multiMenu.addAction(self.trUtf8("Enable all"), self.__enableAllBreaks) 183 self.multiMenu.addAction(self.trUtf8("Enable all"),
184 self.__enableAllBreaks)
179 self.multiMenu.addSeparator() 185 self.multiMenu.addSeparator()
180 self.multiMenu.addAction(self.trUtf8("Disable selected"), 186 self.multiMenu.addAction(self.trUtf8("Disable selected"),
181 self.__disableSelectedBreaks) 187 self.__disableSelectedBreaks)
182 self.multiMenu.addAction(self.trUtf8("Disable all"), self.__disableAllBreaks) 188 self.multiMenu.addAction(self.trUtf8("Disable all"),
189 self.__disableAllBreaks)
183 self.multiMenu.addSeparator() 190 self.multiMenu.addSeparator()
184 self.multiMenu.addAction(self.trUtf8("Delete selected"), 191 self.multiMenu.addAction(self.trUtf8("Delete selected"),
185 self.__deleteSelectedBreaks) 192 self.__deleteSelectedBreaks)
186 self.multiMenu.addAction(self.trUtf8("Delete all"), self.__deleteAllBreaks) 193 self.multiMenu.addAction(self.trUtf8("Delete all"),
194 self.__deleteAllBreaks)
187 self.multiMenu.addSeparator() 195 self.multiMenu.addSeparator()
188 self.multiMenu.addAction(self.trUtf8("Configure..."), self.__configure) 196 self.multiMenu.addAction(self.trUtf8("Configure..."), self.__configure)
189 197
190 def __showContextMenu(self, coord): 198 def __showContextMenu(self, coord):
191 """ 199 """
269 return 277 return
270 278
271 fn, line, cond, temp, enabled, count = bp[:6] 279 fn, line, cond, temp, enabled, count = bp[:6]
272 280
273 from .EditBreakpointDialog import EditBreakpointDialog 281 from .EditBreakpointDialog import EditBreakpointDialog
274 dlg = EditBreakpointDialog((fn, line), (cond, temp, enabled, count), 282 dlg = EditBreakpointDialog(
283 (fn, line), (cond, temp, enabled, count),
275 self.condHistory, self, modal=True) 284 self.condHistory, self, modal=True)
276 if dlg.exec_() == QDialog.Accepted: 285 if dlg.exec_() == QDialog.Accepted:
277 cond, temp, enabled, count = dlg.getData() 286 cond, temp, enabled, count = dlg.getData()
278 if cond: 287 if cond:
279 if cond in self.condHistory: 288 if cond in self.condHistory:
316 self.__resizeColumns() 325 self.__resizeColumns()
317 self.__resort() 326 self.__resort()
318 327
319 def __enableSelectedBreaks(self): 328 def __enableSelectedBreaks(self):
320 """ 329 """
321 Private slot to handle the enable selected breakpoints context menu entry. 330 Private slot to handle the enable selected breakpoints context menu
331 entry.
322 """ 332 """
323 for index in self.selectedIndexes(): 333 for index in self.selectedIndexes():
324 if index.column() == 0: 334 if index.column() == 0:
325 self.__setBpEnabled(index, True) 335 self.__setBpEnabled(index, True)
326 self.__resizeColumns() 336 self.__resizeColumns()
346 self.__resizeColumns() 356 self.__resizeColumns()
347 self.__resort() 357 self.__resort()
348 358
349 def __disableSelectedBreaks(self): 359 def __disableSelectedBreaks(self):
350 """ 360 """
351 Private slot to handle the disable selected breakpoints context menu entry. 361 Private slot to handle the disable selected breakpoints context menu
362 entry.
352 """ 363 """
353 for index in self.selectedIndexes(): 364 for index in self.selectedIndexes():
354 if index.column() == 0: 365 if index.column() == 0:
355 self.__setBpEnabled(index, False) 366 self.__setBpEnabled(index, False)
356 self.__resizeColumns() 367 self.__resizeColumns()
371 """ 382 """
372 self.__model.deleteAll() 383 self.__model.deleteAll()
373 384
374 def __deleteSelectedBreaks(self): 385 def __deleteSelectedBreaks(self):
375 """ 386 """
376 Private slot to handle the delete selected breakpoints context menu entry. 387 Private slot to handle the delete selected breakpoints context menu
388 entry.
377 """ 389 """
378 idxList = [] 390 idxList = []
379 for index in self.selectedIndexes(): 391 for index in self.selectedIndexes():
380 sindex = self.__toSourceIndex(index) 392 sindex = self.__toSourceIndex(index)
381 if sindex.isValid() and index.column() == 0: 393 if sindex.isValid() and index.column() == 0:
442 454
443 def __configure(self): 455 def __configure(self):
444 """ 456 """
445 Private method to open the configuration dialog. 457 Private method to open the configuration dialog.
446 """ 458 """
447 e5App().getObject("UserInterface").showPreferences("debuggerGeneralPage") 459 e5App().getObject("UserInterface").showPreferences(
460 "debuggerGeneralPage")

eric ide

mercurial