Preferences/PreferencesLexer.py

branch
sub_styles
changeset 6861
20899dc18e59
parent 6858
9d962e654978
child 6864
7837ab17f079
--- 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)

eric ide

mercurial