src/eric7/Debugger/BreakPointModel.py

Sun, 17 Dec 2023 17:15:19 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 17 Dec 2023 17:15:19 +0100
branch
eric7
changeset 10417
c6011e501282
parent 10065
de4ae767b0e3
child 10439
21c28b0f9e41
permissions
-rw-r--r--

Modernized some code and converted Debug Client and Debugger source code documentation to the new style.

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
9653
e67609152c5e Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9330
diff changeset
3 # Copyright (c) 2006 - 2023 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
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
76 @param parent reference to parent index (Unused)
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
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
156 @param role role of the changed data
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
10065
de4ae767b0e3 Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
235 def parent(self, index): # noqa: U100
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
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
239 @param index index of item to get parent
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)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 cnt = len(self.breakpoints)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 self.beginInsertRows(QModelIndex(), cnt, cnt)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 self.breakpoints.append(bp)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 self.endInsertRows()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
279
8009
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
280 def addBreakPoints(self, breakpoints):
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
281 """
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
282 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
283
8009
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
284 @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
285 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
286 @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
287 """
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
288 cnt = len(self.breakpoints)
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
289 self.beginInsertRows(QModelIndex(), cnt, cnt + len(breakpoints) - 1)
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
290 self.breakpoints += breakpoints
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
291 self.endInsertRows()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
292
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 def setBreakPointByIndex(self, index, fn, line, properties):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295 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
296
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
297 @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
298 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
299 @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
300 @type str
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
301 @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
302 @type int
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 @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
304 (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
305 @type tuple of (str, bool, bool, int)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
307 if index.isValid():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 row = index.row()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 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
310 index2 = self.createIndex(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
311 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
312 )
460
6a3899e91d76 Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
313 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
314 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
315 self.dataChanged.emit(index1, index2)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 def setBreakPointEnabledByIndex(self, index, enabled):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319 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
320
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
321 @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
322 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
323 @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
324 @type bool
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 if index.isValid():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
327 row = index.row()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 col = 4
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
329 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
330 self.dataAboutToBeChanged.emit(index1, index1)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331 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
332 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
333
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 def deleteBreakPointByIndex(self, index):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 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
337
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
338 @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
339 @type QModelIndex
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341 if index.isValid():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
342 row = index.row()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343 self.beginRemoveRows(QModelIndex(), row, row)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344 del self.breakpoints[row]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 self.endRemoveRows()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 def deleteBreakPoints(self, idxList):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 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
350
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
351 @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
352 @type list of QModelIndex
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 rows = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355 for index in idxList:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 if index.isValid():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 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
358 rows.sort(reverse=True)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 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
360 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
361 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
362 del self.breakpoints[row]
83e110e3fcc6 BreakPointModel, WatchPointModel: fixed a potential issue deleting breakpoints/watchpoints.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
363 self.endRemoveRows()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 def deleteAll(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 Public method to delete all breakpoints.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
368 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 if self.breakpoints:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 self.beginRemoveRows(QModelIndex(), 0, len(self.breakpoints) - 1)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 self.breakpoints = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372 self.endRemoveRows()
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 getBreakPointByIndex(self, index):
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 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
377
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
378 @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
379 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
380 @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
381 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
382 @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
383 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 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
385 return self.breakpoints[index.row()][:] # return a copy
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
386 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
387 return []
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
388
8009
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
389 def getAllBreakpoints(self):
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
390 """
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
391 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
392
8009
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
393 @return list of breakpoints
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
394 @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
395 """
29818ac4853c Implemented the JSON based session files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
396 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
397
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
398 def getBreakPointIndex(self, fn, lineno):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
399 """
2988
f53c03574697 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2953
diff changeset
400 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
401 line number.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
402
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
403 @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
404 @type str
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
405 @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
406 @type int
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
407 @return index
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
408 @rtype QModelIndex
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
409 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
410 for row in range(len(self.breakpoints)):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
411 bp = self.breakpoints[row]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
412 if bp[0] == fn and bp[1] == lineno:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
413 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
414
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
415 return QModelIndex()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
416
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
417 def isBreakPointTemporaryByIndex(self, index):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
418 """
2763
e4794166ad70 Fixed a serious typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
419 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
420
7882
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
421 @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
422 @type QModelIndex
617cc27f11af Updated some source docu strings and added TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
423 @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
424 @rtype bool
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
425 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
426 if index.isValid():
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
427 return self.breakpoints[index.row()][3]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
428 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
429 return False

eric ide

mercurial