39 self.__model = None |
39 self.__model = None |
40 |
40 |
41 self.setItemsExpandable(False) |
41 self.setItemsExpandable(False) |
42 self.setRootIsDecorated(False) |
42 self.setRootIsDecorated(False) |
43 self.setAlternatingRowColors(True) |
43 self.setAlternatingRowColors(True) |
44 self.setSelectionMode(QAbstractItemView.ExtendedSelection) |
44 self.setSelectionMode( |
45 self.setSelectionBehavior(QAbstractItemView.SelectRows) |
45 QAbstractItemView.SelectionMode.ExtendedSelection) |
|
46 self.setSelectionBehavior( |
|
47 QAbstractItemView.SelectionBehavior.SelectRows) |
46 |
48 |
47 self.setWindowTitle(self.tr("Watchpoints")) |
49 self.setWindowTitle(self.tr("Watchpoints")) |
48 |
50 |
49 self.setContextMenuPolicy(Qt.CustomContextMenu) |
51 self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) |
50 self.customContextMenuRequested.connect(self.__showContextMenu) |
52 self.customContextMenuRequested.connect(self.__showContextMenu) |
51 self.doubleClicked.connect(self.__doubleClicked) |
53 self.doubleClicked.connect(self.__doubleClicked) |
52 |
54 |
53 self.__createPopupMenus() |
55 self.__createPopupMenus() |
54 |
56 |
64 self.sortingModel.setDynamicSortFilter(True) |
66 self.sortingModel.setDynamicSortFilter(True) |
65 self.sortingModel.setSourceModel(self.__model) |
67 self.sortingModel.setSourceModel(self.__model) |
66 super(WatchPointViewer, self).setModel(self.sortingModel) |
68 super(WatchPointViewer, self).setModel(self.sortingModel) |
67 |
69 |
68 header = self.header() |
70 header = self.header() |
69 header.setSortIndicator(0, Qt.AscendingOrder) |
71 header.setSortIndicator(0, Qt.SortOrder.AscendingOrder) |
70 header.setSortIndicatorShown(True) |
72 header.setSortIndicatorShown(True) |
71 header.setSectionsClickable(True) |
73 header.setSectionsClickable(True) |
72 |
74 |
73 self.setSortingEnabled(True) |
75 self.setSortingEnabled(True) |
74 |
76 |
84 def __resizeColumns(self): |
86 def __resizeColumns(self): |
85 """ |
87 """ |
86 Private slot to resize the view when items get added, edited or |
88 Private slot to resize the view when items get added, edited or |
87 deleted. |
89 deleted. |
88 """ |
90 """ |
89 self.header().resizeSections(QHeaderView.ResizeToContents) |
91 self.header().resizeSections(QHeaderView.ResizeMode.ResizeToContents) |
90 self.header().setStretchLastSection(True) |
92 self.header().setStretchLastSection(True) |
91 |
93 |
92 def __resort(self): |
94 def __resort(self): |
93 """ |
95 """ |
94 Private slot to resort the tree. |
96 Private slot to resort the tree. |
124 if not index.isValid(): |
126 if not index.isValid(): |
125 return |
127 return |
126 |
128 |
127 if selected: |
129 if selected: |
128 flags = QItemSelectionModel.SelectionFlags( |
130 flags = QItemSelectionModel.SelectionFlags( |
129 QItemSelectionModel.ClearAndSelect | QItemSelectionModel.Rows) |
131 QItemSelectionModel.SelectionFlag.ClearAndSelect | |
|
132 QItemSelectionModel.SelectionFlag.Rows) |
130 else: |
133 else: |
131 flags = QItemSelectionModel.SelectionFlags( |
134 flags = QItemSelectionModel.SelectionFlags( |
132 QItemSelectionModel.Deselect | QItemSelectionModel.Rows) |
135 QItemSelectionModel.SelectionFlag.Deselect | |
|
136 QItemSelectionModel.SelectionFlag.Rows) |
133 self.selectionModel().select(index, flags) |
137 self.selectionModel().select(index, flags) |
134 |
138 |
135 def __createPopupMenus(self): |
139 def __createPopupMenus(self): |
136 """ |
140 """ |
137 Private method to generate the popup menus. |
141 Private method to generate the popup menus. |
257 """ |
261 """ |
258 Private slot to handle the add watch expression context menu entry. |
262 Private slot to handle the add watch expression context menu entry. |
259 """ |
263 """ |
260 from .EditWatchpointDialog import EditWatchpointDialog |
264 from .EditWatchpointDialog import EditWatchpointDialog |
261 dlg = EditWatchpointDialog(("", False, True, 0, ""), self) |
265 dlg = EditWatchpointDialog(("", False, True, 0, ""), self) |
262 if dlg.exec() == QDialog.Accepted: |
266 if dlg.exec() == QDialog.DialogCode.Accepted: |
263 cond, temp, enabled, ignorecount, special = dlg.getData() |
267 cond, temp, enabled, ignorecount, special = dlg.getData() |
264 if not self.__findDuplicates(cond, special, True): |
268 if not self.__findDuplicates(cond, special, True): |
265 self.__model.addWatchPoint(cond, special, |
269 self.__model.addWatchPoint(cond, special, |
266 (temp, enabled, ignorecount)) |
270 (temp, enabled, ignorecount)) |
267 self.__resizeColumns() |
271 self.__resizeColumns() |
299 cond, special, temp, enabled, count = wp[:5] |
303 cond, special, temp, enabled, count = wp[:5] |
300 |
304 |
301 from .EditWatchpointDialog import EditWatchpointDialog |
305 from .EditWatchpointDialog import EditWatchpointDialog |
302 dlg = EditWatchpointDialog( |
306 dlg = EditWatchpointDialog( |
303 (cond, temp, enabled, count, special), self) |
307 (cond, temp, enabled, count, special), self) |
304 if dlg.exec() == QDialog.Accepted: |
308 if dlg.exec() == QDialog.DialogCode.Accepted: |
305 cond, temp, enabled, count, special = dlg.getData() |
309 cond, temp, enabled, count, special = dlg.getData() |
306 if not self.__findDuplicates(cond, special, True, sindex): |
310 if not self.__findDuplicates(cond, special, True, sindex): |
307 self.__model.setWatchPointByIndex( |
311 self.__model.setWatchPointByIndex( |
308 sindex, cond, special, (temp, enabled, count)) |
312 sindex, cond, special, (temp, enabled, count)) |
309 self.__resizeColumns() |
313 self.__resizeColumns() |