QScintilla/Lexers/SubstyledLexer.py

branch
sub_styles
changeset 6859
951aa89d367d
parent 6856
cdf13841603c
child 6861
20899dc18e59
equal deleted inserted replaced
6858:9d962e654978 6859:951aa89d367d
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

eric ide

mercurial