--- a/Preferences/PreferencesLexer.py Thu Mar 14 19:43:40 2019 +0100 +++ b/Preferences/PreferencesLexer.py Sat Mar 16 14:08:02 2019 +0100 @@ -337,6 +337,76 @@ else: self.__lex.setFont(f, style) + def defaultWords(self, style, substyle=-1): + """ + Public method to get the default list of words for a style. + + @param style style number + @type int + @param substyle sub-style number + @type int + @return whitespace separated default list of words + @rtype str + """ + if substyle >= 0: + words = self.__lex.substyleDefaultWords(style, substyle) + else: + words = "" + + return words + + def words(self, style, substyle=-1): + """ + Public method to get the list of words for a style. + + @param style style number + @type int + @param substyle sub-style number + @type int + @return whitespace separated list of words + @rtype str + """ + if substyle >= 0: + words = self.__lex.substyleWords(style, substyle) + else: + words = "" + + return words + + def setWords(self, words, style, substyle=-1): + """ + Public method to set the list of words for a style. + + @param words whitespace separated list of words + @type str + @param style style number + @type int + @param substyle sub-style number + @type int + """ + if substyle >= 0: + # only supported for sub-styles + self.__lex.setSubstyleWords(words, style, substyle) + + def defaultDescription(self, style, substyle=-1): + """ + Public method to get the default descriptive string for a style. + + @param style style number + @type int + @param substyle sub-style number + @type int + @return default description of the style + @rtype str + """ + if substyle >= 0: + desc = self.__lex.substyleDefaultDescription(style, substyle) + else: + # for base styles return the hard coded description + desc = self.__lex.description(style) + + return desc + def description(self, style, substyle=-1): """ Public method to get a descriptive string for a style. @@ -348,7 +418,27 @@ @return description of the style @rtype str """ - return self.__lex.description(style) + if substyle >= 0: + desc = self.__lex.substyleDescription(style, substyle) + else: + desc = self.__lex.description(style) + + return desc + + def setDescription(self, description, style, substyle=-1): + """ + Public method to set a descriptive string for a style. + + @param description description for the style + @type str + @param style style number + @type int + @param substyle sub-style number + @type int + """ + if substyle >= 0: + # only supported for sub-styles + self.__lex.setSubstyleDescription(description, style, substyle) def language(self): """ @@ -358,3 +448,32 @@ @rtype str """ return self.__lex.language() + + def hasStyle(self, style, substyle): + """ + Public method to test for a given style definition. + + @param style style number + @type int + @param substyle sub-style number + @type int + @return flag indicating the existence of a style definition + @rtype bool + """ + if substyle >= 0: + ok = self.__lex.hasSubstyle(style, substyle) + else: + ok = True + + return ok + + def addSubstyle(self, style): + """ + Public method to add an empty sub-style to a given style. + + @param style style number + @type int + @return allocated sub-style number or -1 to indicate an error + @rtype int + """ + return self.__lex.addSubstyle(style)