39 |
39 |
40 @param doc reference to the text document (QTextDocument) |
40 @param doc reference to the text document (QTextDocument) |
41 """ |
41 """ |
42 super(E5GenericDiffHighlighter, self).__init__(doc) |
42 super(E5GenericDiffHighlighter, self).__init__(doc) |
43 |
43 |
44 self.textColor = QColor(0, 0, 0) |
44 self.regenerateRules() |
45 self.addedColor = QColor(190, 237, 190) |
|
46 self.removedColor = QColor(237, 190, 190) |
|
47 self.replacedColor = QColor(190, 190, 237) |
|
48 self.contextColor = QColor(255, 220, 168) |
|
49 self.headerColor = QColor(237, 237, 190) |
|
50 |
|
51 self.normalFormat = self.makeFormat() |
|
52 |
|
53 self._rules = [] |
|
54 self.generateRules() |
|
55 |
45 |
56 def generateRules(self): |
46 def __initColours(self): |
57 """ |
47 """ |
58 Public method to generate the rule set. |
48 Private method to initialize the highlighter colours. |
59 |
|
60 Note: This method must me implemented by derived syntax |
|
61 highlighters. |
|
62 """ |
49 """ |
63 pass |
50 self.textColor = Preferences.getDiffColour("TextColor") |
|
51 self.addedColor = Preferences.getDiffColour("AddedColor") |
|
52 self.removedColor = Preferences.getDiffColour("RemovedColor") |
|
53 self.replacedColor = Preferences.getDiffColour("ReplacedColor") |
|
54 self.contextColor = Preferences.getDiffColour("ContextColor") |
|
55 self.headerColor = Preferences.getDiffColour("HeaderColor") |
|
56 self.whitespaceColor = Preferences.getDiffColour("BadWhitespaceColor") |
64 |
57 |
65 def createRules(self, *rules): |
58 def createRules(self, *rules): |
66 """ |
59 """ |
67 Public method to create the highlighting rules. |
60 Public method to create the highlighting rules. |
68 |
61 |
157 length = len(group) |
150 length = len(group) |
158 if formatStr[groupIndex]: |
151 if formatStr[groupIndex]: |
159 self.setFormat(start, start + length, |
152 self.setFormat(start, start + length, |
160 formatStr[groupIndex]) |
153 formatStr[groupIndex]) |
161 start += length |
154 start += length |
|
155 |
|
156 def regenerateRules(self): |
|
157 """ |
|
158 Public method to initialize or regenerate the syntax highlighter rules. |
|
159 """ |
|
160 self.normalFormat = self.makeFormat() |
|
161 |
|
162 self.__initColours() |
|
163 |
|
164 self._rules = [] |
|
165 self.generateRules() |
|
166 |
|
167 def generateRules(self): |
|
168 """ |
|
169 Public method to generate the rule set. |
|
170 |
|
171 Note: This method must me implemented by derived syntax |
|
172 highlighters. |
|
173 """ |
|
174 pass |