Fri, 29 Jan 2021 14:19:41 +0100
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
3 | # Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | """ |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | Module implementing a class for reading a highlighting styles XML file. |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | """ |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | from .Config import highlightingStylesFileFormatVersion |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | from .XMLStreamReaderBase import XMLStreamReaderBase |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
14 | |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | class HighlightingStylesReader(XMLStreamReaderBase): |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | """ |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | Class for reading a highlighting styles XML file. |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | """ |
6863
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
19 | supportedVersions = ["4.3", "6.0"] |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | def __init__(self, device, lexers): |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | """ |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | Constructor |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | @param device reference to the I/O device to read from (QIODevice) |
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
26 | @param lexers dictionary of lexer objects for which to import the |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
27 | styles |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | XMLStreamReaderBase.__init__(self, device) |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | self.lexers = lexers |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | self.version = "" |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | def readXML(self): |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | Public method to read and parse the XML document. |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | """ |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
39 | self.__lexersList = [] |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
40 | |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | while not self.atEnd(): |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | self.readNext() |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | if self.isStartElement(): |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | if self.name() == "HighlightingStyles": |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
45 | self.version = self.attribute( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
46 | "version", |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | highlightingStylesFileFormatVersion) |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | if self.version not in self.supportedVersions: |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | self.raiseUnsupportedFormatVersion(self.version) |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | elif self.name() == "Lexer": |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | self.__readLexer() |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | else: |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | self.raiseUnexpectedStartTag(self.name()) |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | self.showErrorMessage() |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
56 | |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
57 | return self.__lexersList |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | def __readLexer(self): |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | """ |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | Private method to read the lexer info. |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | """ |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | language = self.attribute("name") |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
64 | self.__lexersList.append({ |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
65 | "name": language, |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
66 | "styles": [], |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
67 | }) |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | if language and language in self.lexers: |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | lexer = self.lexers[language] |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | else: |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | lexer = None |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | while not self.atEnd(): |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | self.readNext() |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | if self.isEndElement() and self.name() == "Lexer": |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | break |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | if self.isStartElement(): |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | if self.name() == "Style": |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | self.__readStyle(lexer) |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | else: |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | self.raiseUnexpectedStartTag(self.name()) |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | def __readStyle(self, lexer): |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | """ |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | Private method to read the style info. |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | @param lexer reference to the lexer object |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | """ |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | if lexer is not None: |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | style = self.attribute("style") |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | if style: |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | style = int(style) |
6863
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
94 | substyle = int(self.attribute("substyle", "-1")) |
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
95 | # -1 is default for base styles |
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
96 | |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
97 | styleDict = { |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
98 | "style": style, |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
99 | "substyle": substyle, |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
100 | } |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | color = self.attribute("color") |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | if color: |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
104 | styleDict["color"] = color |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | else: |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
106 | styleDict["color"] = ( |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
107 | lexer.defaultColor(style, substyle).name() |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
108 | ) |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | paper = self.attribute("paper") |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | if paper: |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
112 | styleDict["paper"] = paper |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | else: |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
114 | styleDict["paper"] = ( |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
115 | lexer.defaultPaper(style, substyle).name() |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
116 | ) |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | fontStr = self.attribute("font") |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | if fontStr: |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
120 | styleDict["font"] = fontStr |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | else: |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
122 | styleDict["font"] = ( |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
123 | lexer.defaultFont(style, substyle).toString() |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
124 | ) |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | eolfill = self.attribute("eolfill") |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | if eolfill: |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | eolfill = self.toBool(eolfill) |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | if eolfill is None: |
6863
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
130 | eolfill = lexer.defaulEolFill(style, substyle) |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | else: |
6863
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
132 | eolfill = lexer.defaulEolFill(style, substyle) |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
133 | styleDict["eolfill"] = eolfill |
6863
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
134 | |
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
135 | while not self.atEnd(): |
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
136 | self.readNext() |
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
137 | if self.isStartElement(): |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
138 | if self.name() == "Description": |
6863
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
139 | description = self.readElementText().strip() |
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
140 | if not description: |
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
141 | description = lexer.defaultDescription( |
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
142 | style, substyle) |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
143 | styleDict["description"] = description |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
144 | elif self.name() == "Words": |
6863
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
145 | words = self.readElementText().strip() |
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
146 | if not words: |
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
147 | words = lexer.defaultWords(style, substyle) |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
148 | styleDict["words"] = words |
6863
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
149 | |
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
150 | if self.isEndElement() and self.name() == "Style": |
8026
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
151 | if "description" not in styleDict: |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
152 | styleDict["description"] = "" |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
153 | if "words" not in styleDict: |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
154 | styleDict["words"] = "" |
d3eacdbcb18b
Changed the highlighting styles import logic thus, that the imported styles are applied in the configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8022
diff
changeset
|
155 | self.__lexersList[-1]["styles"].append(styleDict) |
6863
e900929889dd
HighlightingStylesReader, -Writer: added support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6857
diff
changeset
|
156 | return |
593
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | while not self.atEnd(): |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | self.readNext() |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | if self.isEndElement() and self.name() == "Style": |
32c9b36eec53
Migrated the highlighting styles handler to highlighting styles reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | break |