71 self.__subStyles = {} |
71 self.__subStyles = {} |
72 for baseStyle in self.baseStyles: |
72 for baseStyle in self.baseStyles: |
73 key = "Scintilla/{0}/style{1}/SubStyleLength".format( |
73 key = "Scintilla/{0}/style{1}/SubStyleLength".format( |
74 self.language(), baseStyle) |
74 self.language(), baseStyle) |
75 if settings.contains(key): |
75 if settings.contains(key): |
76 subStyleLength = int(settings.value(key), 0) |
76 subStyleLength = int(settings.value(key)) |
77 if subStyleLength: |
77 if subStyleLength: |
78 self.__subStyles[baseStyle] = {} |
78 self.__subStyles[baseStyle] = {} |
79 for subStyle in range(subStyleLength): |
79 for subStyle in range(subStyleLength): |
80 substyleKey = \ |
80 substyleKey = \ |
81 "Scintilla/{0}/style{1}/substyle{2}/"\ |
81 "Scintilla/{0}/style{1}/substyle{2}/"\ |
82 .format(self.language(), baseStyle, subStyle) |
82 .format(self.language(), baseStyle, subStyle) |
83 if settings.contains(substyleKey): |
83 if settings.contains(substyleKey + "Description"): |
84 subStyleData = {} |
84 subStyleData = {} |
85 subStyleData["Description"] = settings.value( |
85 subStyleData["Description"] = settings.value( |
86 substyleKey + "Description", "") |
86 substyleKey + "Description", "") |
87 subStyleData["Words"] = settings.value( |
87 subStyleData["Words"] = settings.value( |
88 substyleKey + "Words", "") |
88 substyleKey + "Words", "") |
120 |
120 |
121 subStyleData["Style"] = style |
121 subStyleData["Style"] = style |
122 |
122 |
123 self.__subStyles[baseStyle][subStyle] = \ |
123 self.__subStyles[baseStyle][subStyle] = \ |
124 subStyleData |
124 subStyleData |
|
125 |
|
126 else: |
|
127 # initialize with default |
|
128 self.__subStyles[baseStyle][subStyle] = \ |
|
129 copy.deepcopy(self.defaultSubStyles |
|
130 [baseStyle][subStyle]) |
125 |
131 |
126 self.__subStylesInitialized = True |
132 self.__subStylesInitialized = True |
127 |
133 |
128 def loadDefaultSubStyles(self): |
134 def loadDefaultSubStyles(self): |
129 """ |
135 """ |
229 # Step 1: remove all sub-style definitions first |
235 # Step 1: remove all sub-style definitions first |
230 for baseStyle in self.baseStyles: |
236 for baseStyle in self.baseStyles: |
231 key = "Scintilla/{0}/style{1}/SubStyleLength".format( |
237 key = "Scintilla/{0}/style{1}/SubStyleLength".format( |
232 self.language(), baseStyle) |
238 self.language(), baseStyle) |
233 if settings.contains(key): |
239 if settings.contains(key): |
234 subStyleLength = int(settings.value(key), 0) |
240 subStyleLength = int(settings.value(key)) |
235 if subStyleLength: |
241 if subStyleLength: |
236 self.__subStyles[baseStyle] = {} |
|
237 for subStyle in range(subStyleLength): |
242 for subStyle in range(subStyleLength): |
238 substyleKey = "Scintilla/{0}/style{1}/substyle{2}/"\ |
243 substyleKey = "Scintilla/{0}/style{1}/substyle{2}/"\ |
239 .format(self.language(), baseStyle, subStyle) |
244 .format(self.language(), baseStyle, subStyle) |
240 settings.remove(substyleKey) |
245 settings.remove(substyleKey) |
241 |
246 |
302 underline = style["font_underline"] |
307 underline = style["font_underline"] |
303 else: |
308 else: |
304 underline = font.underline() |
309 underline = font.underline() |
305 settings.setValue(substyleKey + "font_underline", underline) |
310 settings.setValue(substyleKey + "font_underline", underline) |
306 |
311 |
307 def hasSubStyles(self): |
312 def hasSubstyles(self): |
308 """ |
313 """ |
309 Public method to indicate the support of sub-styles. |
314 Public method to indicate the support of sub-styles. |
310 |
315 |
311 @return flag indicating sub-styling support |
316 @return flag indicating sub-styling support |
312 @rtype bool |
317 @rtype bool |