src/eric7/QScintilla/EditorMarkerMap.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
14 14
15 class EditorMarkerMap(EricMapWidget): 15 class EditorMarkerMap(EricMapWidget):
16 """ 16 """
17 Class implementing a class for showing an editor marker map. 17 Class implementing a class for showing an editor marker map.
18 """ 18 """
19
19 def __init__(self, parent=None): 20 def __init__(self, parent=None):
20 """ 21 """
21 Constructor 22 Constructor
22 23
23 @param parent reference to the parent widget (QWidget) 24 @param parent reference to the parent widget (QWidget)
24 """ 25 """
25 super().__init__(parent) 26 super().__init__(parent)
26 27
27 self.setWhatsThis(self.tr( 28 self.setWhatsThis(
28 """<b>Editor Map</b>""" 29 self.tr(
29 """<p>This shows a 'map' of the editor. The visible area is""" 30 """<b>Editor Map</b>"""
30 """ highlighted by the box and all markers like bookmarks,""" 31 """<p>This shows a 'map' of the editor. The visible area is"""
31 """ breakpoints, errors or changed lines are indicated""" 32 """ highlighted by the box and all markers like bookmarks,"""
32 """ by differently colored lines configurable via the""" 33 """ breakpoints, errors or changed lines are indicated"""
33 """ Editor\u279dStyle page of the configuration dialog.</p>""" 34 """ by differently colored lines configurable via the"""
34 )) 35 """ Editor\u279dStyle page of the configuration dialog.</p>"""
35 36 )
37 )
38
36 # initialize colors for various markers 39 # initialize colors for various markers
37 self.initColors() 40 self.initColors()
38 41
39 def initColors(self): 42 def initColors(self):
40 """ 43 """
41 Public method to initialize the colors. 44 Public method to initialize the colors.
42 """ 45 """
43 self.setBackgroundColor( 46 self.setBackgroundColor(Preferences.getEditorColour("MarkerMapBackground"))
44 Preferences.getEditorColour("MarkerMapBackground")) 47
45
46 self.__bookmarkColor = Preferences.getEditorColour("BookmarksMap") 48 self.__bookmarkColor = Preferences.getEditorColour("BookmarksMap")
47 self.__errorColor = Preferences.getEditorColour("ErrorsMap") 49 self.__errorColor = Preferences.getEditorColour("ErrorsMap")
48 self.__warningColor = Preferences.getEditorColour("WarningsMap") 50 self.__warningColor = Preferences.getEditorColour("WarningsMap")
49 self.__breakpointColor = Preferences.getEditorColour("BreakpointsMap") 51 self.__breakpointColor = Preferences.getEditorColour("BreakpointsMap")
50 self.__taskColor = Preferences.getEditorColour("TasksMap") 52 self.__taskColor = Preferences.getEditorColour("TasksMap")
51 self.__coverageColor = Preferences.getEditorColour("CoverageMap") 53 self.__coverageColor = Preferences.getEditorColour("CoverageMap")
52 self.__changeColor = Preferences.getEditorColour("ChangesMap") 54 self.__changeColor = Preferences.getEditorColour("ChangesMap")
53 self.__currentLineMarker = Preferences.getEditorColour("CurrentMap") 55 self.__currentLineMarker = Preferences.getEditorColour("CurrentMap")
54 self.__searchMarkerColor = Preferences.getEditorColour( 56 self.__searchMarkerColor = Preferences.getEditorColour("SearchMarkersMap")
55 "SearchMarkersMap")
56 self.__vcsConflictMarkerColor = Preferences.getEditorColour( 57 self.__vcsConflictMarkerColor = Preferences.getEditorColour(
57 "VcsConflictMarkersMap") 58 "VcsConflictMarkersMap"
59 )
58 self.update() 60 self.update()
59 61
60 def __drawIndicator(self, line, painter, color): 62 def __drawIndicator(self, line, painter, color):
61 """ 63 """
62 Private method to draw an indicator. 64 Private method to draw an indicator.
63 65
64 @param line line number (integer) 66 @param line line number (integer)
65 @param painter reference to the painter (QPainter) 67 @param painter reference to the painter (QPainter)
66 @param color color to be used (QColor) 68 @param color color to be used (QColor)
67 """ 69 """
68 displayLine = self._master.getVisibleLineFromDocLine(line) 70 displayLine = self._master.getVisibleLineFromDocLine(line)
69 position = self.value2Position(displayLine) 71 position = self.value2Position(displayLine)
70 painter.setPen(color) 72 painter.setPen(color)
71 painter.setBrush(color) 73 painter.setBrush(color)
72 painter.drawRect(self.generateIndicatorRect(position)) 74 painter.drawRect(self.generateIndicatorRect(position))
73 75
74 def _paintIt(self, painter): 76 def _paintIt(self, painter):
75 """ 77 """
76 Protected method for painting the widget's indicators. 78 Protected method for painting the widget's indicators.
77 79
78 @param painter reference to the painter object (QPainter) 80 @param painter reference to the painter object (QPainter)
79 """ 81 """
80 # draw indicators in reverse order of priority 82 # draw indicators in reverse order of priority
81 83
82 # 1. changes 84 # 1. changes
83 if Preferences.getEditor("ShowMarkerChanges"): 85 if Preferences.getEditor("ShowMarkerChanges"):
84 for line in self._master.getChangeLines(): 86 for line in self._master.getChangeLines():
85 self.__drawIndicator(line, painter, self.__changeColor) 87 self.__drawIndicator(line, painter, self.__changeColor)
86 88
87 # 2. coverage 89 # 2. coverage
88 if Preferences.getEditor("ShowMarkerCoverage"): 90 if Preferences.getEditor("ShowMarkerCoverage"):
89 for line in self._master.getCoverageLines(): 91 for line in self._master.getCoverageLines():
90 self.__drawIndicator(line, painter, self.__coverageColor) 92 self.__drawIndicator(line, painter, self.__coverageColor)
91 93
92 # 3. tasks 94 # 3. tasks
93 for line in self._master.getTaskLines(): 95 for line in self._master.getTaskLines():
94 self.__drawIndicator(line, painter, self.__taskColor) 96 self.__drawIndicator(line, painter, self.__taskColor)
95 97
96 # 4. breakpoints 98 # 4. breakpoints
97 for line in self._master.getBreakpointLines(): 99 for line in self._master.getBreakpointLines():
98 self.__drawIndicator(line, painter, self.__breakpointColor) 100 self.__drawIndicator(line, painter, self.__breakpointColor)
99 101
100 # 5. bookmarks 102 # 5. bookmarks
101 for line in self._master.getBookmarkLines(): 103 for line in self._master.getBookmarkLines():
102 self.__drawIndicator(line, painter, self.__bookmarkColor) 104 self.__drawIndicator(line, painter, self.__bookmarkColor)
103 105
104 # 6. search markers 106 # 6. search markers
105 if Preferences.getEditor("ShowMarkerSearch"): 107 if Preferences.getEditor("ShowMarkerSearch"):
106 for line in self._master.getSearchIndicatorLines(): 108 for line in self._master.getSearchIndicatorLines():
107 self.__drawIndicator(line, painter, self.__searchMarkerColor) 109 self.__drawIndicator(line, painter, self.__searchMarkerColor)
108 110
109 # 7. warnings 111 # 7. warnings
110 for line in self._master.getWarningLines(): 112 for line in self._master.getWarningLines():
111 self.__drawIndicator(line, painter, self.__warningColor) 113 self.__drawIndicator(line, painter, self.__warningColor)
112 114
113 # 8. VCS conflict markers 115 # 8. VCS conflict markers
114 for line in self._master.getVcsConflictMarkerLines(): 116 for line in self._master.getVcsConflictMarkerLines():
115 self.__drawIndicator(line, painter, self.__vcsConflictMarkerColor) 117 self.__drawIndicator(line, painter, self.__vcsConflictMarkerColor)
116 118
117 # 9. errors 119 # 9. errors
118 for line in self._master.getSyntaxErrorLines(): 120 for line in self._master.getSyntaxErrorLines():
119 self.__drawIndicator(line, painter, self.__errorColor) 121 self.__drawIndicator(line, painter, self.__errorColor)
120 122
121 # 10. current line 123 # 10. current line
122 self.__drawIndicator(self._master.getCursorPosition()[0], painter, 124 self.__drawIndicator(
123 self.__currentLineMarker) 125 self._master.getCursorPosition()[0], painter, self.__currentLineMarker
126 )

eric ide

mercurial