src/eric7/Debugger/BreakPointModel.py

Sat, 09 Nov 2024 17:23:04 +0100

author
T.Rzepka <Tobias.Rzepka@gmail.com>
date
Sat, 09 Nov 2024 17:23:04 +0100
branch
eric7
changeset 11046
478b4ce023dd
parent 11037
adfda913834a
child 11066
d71eab9be477
permissions
-rw-r--r--

Bugfix for filtering redundant break- and watchpoints.

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
10439
21c28b0f9e41 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10417
diff changeset
3 # Copyright (c) 2006 - 2024 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 the Breakpoint model.
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
8009
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
10 import copy
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
11
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
12 from PyQt6.QtCore import (
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
13 QAbstractItemModel,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
14 QCoreApplication,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
15 QModelIndex,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
16 Qt,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
17 pyqtSignal,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
18 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
20
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 class BreakPointModel(QAbstractItemModel):
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 Class implementing a custom model for breakpoints.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
24
5726
e1dbd217214a Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5656
diff changeset
25 @signal dataAboutToBeChanged(QModelIndex, QModelIndex) emitted to indicate
e1dbd217214a Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5656
diff changeset
26 a change of the data
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
28
460
6a3899e91d76 Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
29 dataAboutToBeChanged = pyqtSignal(QModelIndex, QModelIndex)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
30
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
31 FilenameColumn = 0
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
32 LineNumberColumn = 1
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
33 ConditionColumn = 2
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
34 TemporaryColumn = 3
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
35 EnabledColumn = 4
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
36 IgnoreCountColumn = 5
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
37
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
38 Header = (
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
39 QCoreApplication.translate("BreakPointModel", "Filename"),
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
40 QCoreApplication.translate("BreakPointModel", "Line"),
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
41 QCoreApplication.translate("BreakPointModel", "Condition"),
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
42 QCoreApplication.translate("BreakPointModel", "Temporary"),
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
43 QCoreApplication.translate("BreakPointModel", "Enabled"),
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
44 QCoreApplication.translate("BreakPointModel", "Ignore Count"),
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
45 )
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
46
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
47 Alignments = (
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
48 Qt.AlignmentFlag.AlignLeft,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
49 Qt.AlignmentFlag.AlignRight,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
50 Qt.AlignmentFlag.AlignLeft,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
51 Qt.AlignmentFlag.AlignHCenter,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
52 Qt.AlignmentFlag.AlignHCenter,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
53 Qt.AlignmentFlag.AlignRight,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
54 Qt.AlignmentFlag.AlignHCenter,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
55 )
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
56
8077
1fd8f611f26a Debug Viewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8009
diff changeset
57 def __init__(self, project, parent=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
60
8077
1fd8f611f26a Debug Viewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8009
diff changeset
61 @param project reference to the project object
1fd8f611f26a Debug Viewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8009
diff changeset
62 @type Project
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
63 @param parent reference to the parent widget
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
64 @type QObject
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
66 super().__init__(parent)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
67
8077
1fd8f611f26a Debug Viewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8009
diff changeset
68 self.__project = project
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
69
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.breakpoints = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71
10065
de4ae767b0e3 Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
72 def columnCount(self, parent=None): # noqa: U100
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 Public method to get the current column count.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
75
10683
779cda568acb Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
76 @param parent reference to parent index (unused)
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
77 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
78 @return column count
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
79 @rtype int
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 """
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
81 return len(BreakPointModel.Header)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
82
5656
9c21b2746218 Fixed a few code style issues related to the usage of class instances for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
83 def rowCount(self, parent=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 Public method to get the current row count.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
86
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
87 @param parent reference to parent index
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
88 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
89 @return row count
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
90 @rtype int
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 # we do not have a tree, parent should always be invalid
5656
9c21b2746218 Fixed a few code style issues related to the usage of class instances for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
93 if parent is None or not parent.isValid():
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 return len(self.breakpoints)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 return 0
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
97
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8077
diff changeset
98 def data(self, index, role=Qt.ItemDataRole.DisplayRole):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 Public method to get the requested data.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
101
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
102 @param index index of the requested data
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
103 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
104 @param role role of the requested data
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
105 @type Qt.ItemDataRole
7
c679fb30c8f3 Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
106 @return the requested data
10417
c6011e501282 Modernized some code and converted Debug Client and Debugger source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
107 @rtype Any
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 if not index.isValid():
7
c679fb30c8f3 Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
110 return None
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
111
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8077
diff changeset
112 if role == Qt.ItemDataRole.DisplayRole:
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
113 if index.column() == BreakPointModel.FilenameColumn:
8077
1fd8f611f26a Debug Viewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8009
diff changeset
114 filename = self.breakpoints[index.row()][0]
1fd8f611f26a Debug Viewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8009
diff changeset
115 if self.__project.isOpen():
1fd8f611f26a Debug Viewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8009
diff changeset
116 return self.__project.getRelativePath(filename)
1fd8f611f26a Debug Viewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8009
diff changeset
117 else:
1fd8f611f26a Debug Viewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8009
diff changeset
118 return filename
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
119 elif index.column() in (
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
120 BreakPointModel.LineNumberColumn,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
121 BreakPointModel.ConditionColumn,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
122 BreakPointModel.IgnoreCountColumn,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
123 ):
531
26efb720a299 Change the appearance of the breakpoint and watchpoint viewers (via the models).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 460
diff changeset
124 return self.breakpoints[index.row()][index.column()]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
125
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
126 if role == Qt.ItemDataRole.CheckStateRole and index.column() in (
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
127 BreakPointModel.TemporaryColumn,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
128 BreakPointModel.EnabledColumn,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
129 ):
9161
90939b08da20 Corrected a few enum related issues and a dark style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9160
diff changeset
130 if self.breakpoints[index.row()][index.column()]:
90939b08da20 Corrected a few enum related issues and a dark style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9160
diff changeset
131 return Qt.CheckState.Checked
90939b08da20 Corrected a few enum related issues and a dark style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9160
diff changeset
132 else:
90939b08da20 Corrected a few enum related issues and a dark style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9160
diff changeset
133 return Qt.CheckState.Unchecked
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
134
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
135 if role == Qt.ItemDataRole.ToolTipRole and index.column() in (
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
136 BreakPointModel.FilenameColumn,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
137 BreakPointModel.ConditionColumn,
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
138 ):
8222
5994b80b8760 Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
139 return self.breakpoints[index.row()][index.column()]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
140
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
141 if role == Qt.ItemDataRole.TextAlignmentRole and index.column() < len(
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
142 BreakPointModel.Alignments
8222
5994b80b8760 Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
143 ):
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
144 return BreakPointModel.Alignments[index.column()].value
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
145
7
c679fb30c8f3 Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
146 return None
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
147
10065
de4ae767b0e3 Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
148 def setData(self, index, value, role=Qt.ItemDataRole.EditRole): # noqa: U100
1928
adde55ed4ce5 Fixed the breakpoint performance issue properly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1758
diff changeset
149 """
adde55ed4ce5 Fixed the breakpoint performance issue properly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1758
diff changeset
150 Public method to change data in the model.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
151
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
152 @param index index of the changed data
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
153 @type QModelIndex
1928
adde55ed4ce5 Fixed the breakpoint performance issue properly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1758
diff changeset
154 @param value value of the changed data
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
155 @type any
10683
779cda568acb Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
156 @param role role of the changed data (unused)
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
157 @type Qt.ItemDataRole
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
158 @return flag indicating success
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
159 @rtype bool
1928
adde55ed4ce5 Fixed the breakpoint performance issue properly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1758
diff changeset
160 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
161 if (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
162 not index.isValid()
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
163 or index.column() >= len(BreakPointModel.Header)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
164 or index.row() >= len(self.breakpoints)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
165 ):
1928
adde55ed4ce5 Fixed the breakpoint performance issue properly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1758
diff changeset
166 return False
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
167
1928
adde55ed4ce5 Fixed the breakpoint performance issue properly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1758
diff changeset
168 self.dataAboutToBeChanged.emit(index, index)
adde55ed4ce5 Fixed the breakpoint performance issue properly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1758
diff changeset
169 self.breakpoints[index.row()][index.column()] = value
2126
3744863a534e Reverted the dataChanged signal change due to corrections in PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2081
diff changeset
170 self.dataChanged.emit(index, index)
1928
adde55ed4ce5 Fixed the breakpoint performance issue properly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1758
diff changeset
171 return True
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
172
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 def flags(self, index):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 Public method to get item flags.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
176
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
177 @param index index of the requested flags
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
178 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
179 @return item flags for the given index
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
180 @rtype Qt.ItemFlags
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 if not index.isValid():
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8077
diff changeset
183 return Qt.ItemFlag.ItemIsEnabled
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
184
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8077
diff changeset
185 return Qt.ItemFlag.ItemIsEnabled | Qt.ItemFlag.ItemIsSelectable
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
186
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
187 def headerData(self, section, orientation, role=Qt.ItemDataRole.DisplayRole):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 Public method to get header data.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
190
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
191 @param section section number of the requested header data
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
192 @type int
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
193 @param orientation orientation of the header
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
194 @type Qt.Orientation
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
195 @param role role of the requested data
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
196 @type Qt.ItemDataRole
7
c679fb30c8f3 Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
197 @return header data
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
198 @rtype str
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 """
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8077
diff changeset
200 if (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
201 orientation == Qt.Orientation.Horizontal
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
202 and role == Qt.ItemDataRole.DisplayRole
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8077
diff changeset
203 ):
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
204 if section >= len(BreakPointModel.Header):
7
c679fb30c8f3 Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
205 return ""
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 else:
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
207 return BreakPointModel.Header[section]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
208
7
c679fb30c8f3 Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
209 return None
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
210
5656
9c21b2746218 Fixed a few code style issues related to the usage of class instances for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
211 def index(self, row, column, parent=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213 Public method to create an index.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
214
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
215 @param row row number for the index
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
216 @type int
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
217 @param column column number for the index
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
218 @type int
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
219 @param parent index of the parent item
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
220 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
221 @return requested index
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
222 @rtype QModelIndex
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
224 if (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
225 (parent and parent.isValid())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
226 or row < 0
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
227 or row >= len(self.breakpoints)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
228 or column < 0
9330
a5b42af40217 Performed some refactoring in the breakpoint and watchpoint models.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
229 or column >= len(BreakPointModel.Header)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
230 ):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 return QModelIndex()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
232
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 return self.createIndex(row, column, self.breakpoints[row])
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234
10683
779cda568acb Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
235 def parent(self, _index):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 Public method to get the parent index.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
238
10683
779cda568acb Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
239 @param _index index of item to get parent (unused)
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
240 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
241 @return index of parent
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
242 @rtype QModelIndex
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 return QModelIndex()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
245
5656
9c21b2746218 Fixed a few code style issues related to the usage of class instances for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
246 def hasChildren(self, parent=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 Public method to check for the presence of child items.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
249
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
250 @param parent index of parent item
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
251 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
252 @return flag indicating the presence of child items
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
253 @rtype bool
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 """
5656
9c21b2746218 Fixed a few code style issues related to the usage of class instances for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
255 if parent is None or not parent.isValid():
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 return len(self.breakpoints) > 0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 return False
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
259
2988
f53c03574697 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2953
diff changeset
260 ###########################################################################
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
261
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 def addBreakPoint(self, fn, line, properties):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 Public method to add a new breakpoint to the list.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
265
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
266 @param fn filename of the breakpoint
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
267 @type str
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
268 @param line line number of the breakpoint
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
269 @type int
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 @param properties properties of the breakpoint
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
271 (tuple of condition, temporary flag, enabled flag, ignore count)
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
272 @type tuple of (str, bool, bool, int)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 bp = [fn, line] + list(properties)
11037
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
275 if bp not in self.breakpoints:
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
276 # add it only, if not present already
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
277 cnt = len(self.breakpoints)
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
278 self.beginInsertRows(QModelIndex(), cnt, cnt)
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
279 self.breakpoints.append(bp)
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
280 self.endInsertRows()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
281
8009
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
282 def addBreakPoints(self, breakpoints):
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
283 """
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
284 Public method to add multiple breakpoints to the list.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
285
8009
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
286 @param breakpoints list of breakpoints with file name, line number,
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
287 condition, temporary flag, enabled flag and ignore count each
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
288 @type list of (str, int, str, bool, bool, int)
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
289 """
11037
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
290 # eliminate redundant break points
11046
478b4ce023dd Bugfix for filtering redundant break- and watchpoints.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 11037
diff changeset
291 newBreakpoints = []
478b4ce023dd Bugfix for filtering redundant break- and watchpoints.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 11037
diff changeset
292 for breakpoint in breakpoints:
478b4ce023dd Bugfix for filtering redundant break- and watchpoints.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 11037
diff changeset
293 if breakpoint not in self.breakpoints and breakpoint not in newBreakpoints:
478b4ce023dd Bugfix for filtering redundant break- and watchpoints.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 11037
diff changeset
294 newBreakpoints.append(breakpoint)
11037
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
295
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
296 if newBreakpoints:
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
297 cnt = len(self.breakpoints)
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
298 self.beginInsertRows(QModelIndex(), cnt, cnt + len(newBreakpoints) - 1)
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
299 self.breakpoints += newBreakpoints
adfda913834a Modified breakpoint and watchpoint model to eliminate redundant break/watch points while adding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
300 self.endInsertRows()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
301
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 def setBreakPointByIndex(self, index, fn, line, properties):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 Public method to set the values of a breakpoint given by index.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
305
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
306 @param index index of the breakpoint
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
307 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
308 @param fn filename of the breakpoint
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
309 @type str
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
310 @param line line number of the breakpoint
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
311 @type int
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 @param properties properties of the breakpoint
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
313 (tuple of condition, temporary flag, enabled flag, ignore count)
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
314 @type tuple of (str, bool, bool, int)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 if index.isValid():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 row = index.row()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 index1 = self.createIndex(row, 0, self.breakpoints[row])
3021
801289962f4e Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2988
diff changeset
319 index2 = self.createIndex(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
320 row, len(self.breakpoints[row]) - 1, self.breakpoints[row]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
321 )
460
6a3899e91d76 Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
322 self.dataAboutToBeChanged.emit(index1, index2)
1758
e18f96b1714b A few optimizations and a fix for a bug, that caused incorrect display of breakpoints in the editor margin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
323 self.breakpoints[row] = [fn, line] + list(properties)
2126
3744863a534e Reverted the dataChanged signal change due to corrections in PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2081
diff changeset
324 self.dataChanged.emit(index1, index2)
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 def setBreakPointEnabledByIndex(self, index, enabled):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
327 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 Public method to set the enabled state of a breakpoint given by index.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
329
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
330 @param index index of the breakpoint
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
331 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
332 @param enabled flag giving the enabled state
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
333 @type bool
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 if index.isValid():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 row = index.row()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 col = 4
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 index1 = self.createIndex(row, col, self.breakpoints[row])
460
6a3899e91d76 Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
339 self.dataAboutToBeChanged.emit(index1, index1)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 self.breakpoints[row][col] = enabled
2126
3744863a534e Reverted the dataChanged signal change due to corrections in PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2081
diff changeset
341 self.dataChanged.emit(index1, index1)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
342
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343 def deleteBreakPointByIndex(self, index):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 Public method to set the values of a breakpoint given by index.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
346
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
347 @param index index of the breakpoint
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
348 @type QModelIndex
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 if index.isValid():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 row = index.row()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352 self.beginRemoveRows(QModelIndex(), row, row)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 del self.breakpoints[row]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 self.endRemoveRows()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 def deleteBreakPoints(self, idxList):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 Public method to delete a list of breakpoints given by their indexes.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
359
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
360 @param idxList list of breakpoint indexes
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
361 @type list of QModelIndex
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 rows = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 for index in idxList:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 if index.isValid():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 rows.append(index.row())
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
367 rows.sort(reverse=True)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
368 for row in rows:
7025
83e110e3fcc6 BreakPointModel, WatchPointModel: fixed a potential issue deleting breakpoints/watchpoints.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
369 if row < len(self.breakpoints):
83e110e3fcc6 BreakPointModel, WatchPointModel: fixed a potential issue deleting breakpoints/watchpoints.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
370 self.beginRemoveRows(QModelIndex(), row, row)
83e110e3fcc6 BreakPointModel, WatchPointModel: fixed a potential issue deleting breakpoints/watchpoints.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
371 del self.breakpoints[row]
83e110e3fcc6 BreakPointModel, WatchPointModel: fixed a potential issue deleting breakpoints/watchpoints.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
372 self.endRemoveRows()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 def deleteAll(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 Public method to delete all breakpoints.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 if self.breakpoints:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 self.beginRemoveRows(QModelIndex(), 0, len(self.breakpoints) - 1)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380 self.breakpoints = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 self.endRemoveRows()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
382
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
383 def getBreakPointByIndex(self, index):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
385 Public method to get the values of a breakpoint given by index.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
386
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
387 @param index index of the breakpoint
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
388 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
389 @return breakpoint (list of six values (filename, line number,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
390 condition, temporary flag, enabled flag, ignore count))
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
391 @rtype list of (str, int, str, bool, bool, int)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
392 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 if index.isValid():
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
394 return self.breakpoints[index.row()][:] # return a copy
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
396 return []
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
397
8009
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
398 def getAllBreakpoints(self):
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
399 """
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
400 Public method to get a copy of the breakpoints.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
401
8009
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
402 @return list of breakpoints
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
403 @rtype list of list of [str, int, str, bool, bool, int]
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
404 """
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
405 return copy.deepcopy(self.breakpoints)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
406
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
407 def getBreakPointIndex(self, fn, lineno):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
408 """
2988
f53c03574697 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2953
diff changeset
409 Public method to get the index of a breakpoint given by filename and
f53c03574697 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2953
diff changeset
410 line number.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
411
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
412 @param fn filename of the breakpoint
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
413 @type str
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
414 @param lineno line number of the breakpoint
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
415 @type int
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
416 @return index
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
417 @rtype QModelIndex
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
418 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
419 for row in range(len(self.breakpoints)):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
420 bp = self.breakpoints[row]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421 if bp[0] == fn and bp[1] == lineno:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
422 return self.createIndex(row, 0, self.breakpoints[row])
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
423
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
424 return QModelIndex()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
425
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
426 def isBreakPointTemporaryByIndex(self, index):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
427 """
2763
e4794166ad70 Fixed a serious typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
428 Public method to test, if a breakpoint given by its index is temporary.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
429
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
430 @param index index of the breakpoint to test
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
431 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
432 @return flag indicating a temporary breakpoint
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
433 @rtype bool
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
435 if index.isValid():
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
436 return self.breakpoints[index.row()][3]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
437 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 return False

eric ide

mercurial