src/eric7/QScintilla/Lexers/SubstyledLexer.py

Thu, 07 Jul 2022 11:23:56 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 07 Jul 2022 11:23:56 +0200
branch
eric7
changeset 9209
b99e7fd55fd3
parent 8881
eric7/QScintilla/Lexers/SubstyledLexer.py@54e42bc2437a
child 9221
bf71ee032bb4
permissions
-rw-r--r--

Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".

6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8637
diff changeset
3 # Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the lexer mixin class.
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import copy
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
12 from PyQt6.QtGui import QColor
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from .Lexer import Lexer
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 import Preferences
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 class SubstyledLexer(Lexer):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 Class to implement the sub-styled lexer mixin class.
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 def __init__(self):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Constructor
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8217
diff changeset
27 super().__init__()
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
29 self.baseStyles = []
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
30 # list of style numbers, that support sub-styling
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 self.defaultSubStyles = {}
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 # dictionary with sub-styling data
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
33 # main key: base style number, value : dict with
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
34 # key: sub-style number, value: dict with
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
35 # 'Description': string containing a short description
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
36 # 'Words': string of whitespace separated words to be styled
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
37 # 'Style': dictionary with styling data (only difference to
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
38 # the base style is required
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
39 # 'fore': foreground color (int containing RGB values)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
40 # 'paper': background color (int containing RGB values)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
41 # 'eolfill': fill to eol (bool)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
42 # 'font_family': font family (str)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
43 # 'font_size: point size (int)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
44 # 'font_bold: bold font (bool)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
45 # 'font_italic: italic font (bool)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
46 # 'font_underline: underlined font (bool)
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
48 self.__subStyles = {}
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 self.__subStylesInitialized = False
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
6878
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
51 def loadAllDefaultSubStyles(self):
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
52 """
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
53 Public method to load the default sub-style definitions.
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
54 """
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
55 self.__subStyles = copy.deepcopy(self.defaultSubStyles)
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
56
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
57 self.__subStylesInitialized = True
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
58
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
59 def loadDefaultSubStyles(self, style):
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
60 """
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
61 Public method to load the default sub-styles for a given base style.
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
62
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
63 @param style style number
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
64 @type int
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
65 """
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
66 if style in self.defaultSubStyles:
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
67 self.__subStyles[style] = copy.deepcopy(
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
68 self.defaultSubStyles[style])
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
69
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 def loadSubstyles(self):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 """
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
72 Public method to load the sub-styles from the settings file.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 """
8637
394377638256 Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
74 settings = Preferences.getSettings()
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
76 # Step 1: check if sub-styles were defined and saved
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
77 subStylesDefined = False
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 for baseStyle in self.baseStyles:
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 key = "Scintilla/{0}/style{1}/SubStyleLength".format(
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 self.language(), baseStyle)
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
81 subStylesDefined |= settings.contains(key)
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
82 # Step 2.1: load default sub-styles, if none were defined
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
83 if not subStylesDefined:
6878
79008f970902 EditorHighlightingStylesPage: added a button to reset the sub-styles of a base style to its default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6864
diff changeset
84 self.loadAllDefaultSubStyles()
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
85
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
86 # Step 2.2: load from settings file
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
87 else:
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
88 self.__subStyles = {}
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
89 for baseStyle in self.baseStyles:
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
90 key = "Scintilla/{0}/style{1}/SubStyleLength".format(
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
91 self.language(), baseStyle)
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
92 if settings.contains(key):
6859
951aa89d367d SubStyledLexer: corrected some issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6856
diff changeset
93 subStyleLength = int(settings.value(key))
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
94 if subStyleLength:
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
95 self.__subStyles[baseStyle] = {}
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
96 for subStyle in range(subStyleLength):
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
97 substyleKey = (
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
98 "Scintilla/{0}/style{1}/substyle{2}/"
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
99 ).format(self.language(), baseStyle, subStyle)
6859
951aa89d367d SubStyledLexer: corrected some issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6856
diff changeset
100 if settings.contains(substyleKey + "Description"):
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
101 subStyleData = {}
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
102 subStyleData["Description"] = settings.value(
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
103 substyleKey + "Description", "")
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
104 subStyleData["Words"] = settings.value(
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
105 substyleKey + "Words", "")
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
106 style = {}
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
107
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
108 key = substyleKey + "fore"
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
109 if settings.contains(key):
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
110 style["fore"] = int(settings.value(key))
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
111 key = substyleKey + "paper"
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
112 if settings.contains(key):
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
113 style["paper"] = int(settings.value(key))
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
114 key = substyleKey + "eolfill"
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
115 if settings.contains(key):
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
116 style["eolfill"] = Preferences.toBool(
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
117 settings.value(key))
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
118 key = substyleKey + "font_family"
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
119 if settings.contains(key):
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
120 style["font_family"] = settings.value(key)
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
121 key = substyleKey + "font_size"
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
122 if settings.contains(key):
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
123 style["font_size"] = (
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
124 int(settings.value(key))
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
125 )
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
126 key = substyleKey + "font_bold"
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
127 if settings.contains(key):
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
128 style["font_bold"] = Preferences.toBool(
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
129 settings.value(key))
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
130 key = substyleKey + "font_italic"
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
131 if settings.contains(key):
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
132 style["font_italic"] = Preferences.toBool(
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
133 settings.value(key))
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
134 key = substyleKey + "font_underline"
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
135 if settings.contains(key):
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
136 style["font_underline"] = (
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
137 Preferences.toBool(settings.value(key))
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
138 )
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
139
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
140 subStyleData["Style"] = style
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
141
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
142 self.__subStyles[baseStyle][subStyle] = (
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
143 subStyleData
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
144 )
6859
951aa89d367d SubStyledLexer: corrected some issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6856
diff changeset
145
951aa89d367d SubStyledLexer: corrected some issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6856
diff changeset
146 else:
951aa89d367d SubStyledLexer: corrected some issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6856
diff changeset
147 # initialize with default
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
148 self.__subStyles[baseStyle][subStyle] = (
6859
951aa89d367d SubStyledLexer: corrected some issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6856
diff changeset
149 copy.deepcopy(self.defaultSubStyles
951aa89d367d SubStyledLexer: corrected some issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6856
diff changeset
150 [baseStyle][subStyle])
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
151 )
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
152
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
153 self.__subStylesInitialized = True
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 def readSubstyles(self, editor):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 """
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 Public method to load the sub-styles and configure the editor.
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 @param editor reference to the editor object
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 @type QsciScintilla
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 """
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 subStyleBasesLength = editor.SendScintilla(
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 editor.SCI_GETSUBSTYLEBASES, 0, None)
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 if not subStyleBasesLength:
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 # lexer does not support sub-styling
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 return
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 self.loadSubstyles()
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 # free existing sub-styles first
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 editor.SendScintilla(editor.SCI_FREESUBSTYLES)
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 subStyleBases = b"\00" * (subStyleBasesLength + 1)
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 editor.SendScintilla(editor.SCI_GETSUBSTYLEBASES, 0, subStyleBases)
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 distanceToSecondary = editor.SendScintilla(
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 editor.SCI_DISTANCETOSECONDARYSTYLES)
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 subStyleBases = [b for b in bytearray(subStyleBases[:-1])]
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 if distanceToSecondary:
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
179 subStyleBases.extend(b + distanceToSecondary
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
180 for b in subStyleBases[:])
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 for baseStyleNo in subStyleBases:
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
182 if baseStyleNo in self.__subStyles:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
183 subStylesData = self.__subStyles[baseStyleNo]
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
184 subStyleLength = len(subStylesData)
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 subStyleStart = editor.SendScintilla(
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 editor.SCI_ALLOCATESUBSTYLES, baseStyleNo, subStyleLength)
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 if subStyleStart < 0:
7041
2c14833a2bee SubstyledLexer: fixed an issue when loading a .cpp file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
188 continue
2c14833a2bee SubstyledLexer: fixed an issue when loading a .cpp file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
189
8220
006ee31b4835 Applied some more code simplifications suggested by the new Simplify checker (Y113: use enumerate()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
190 for subStyleIndex, subStyleKey in enumerate(
006ee31b4835 Applied some more code simplifications suggested by the new Simplify checker (Y113: use enumerate()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
191 sorted(subStylesData.keys())
006ee31b4835 Applied some more code simplifications suggested by the new Simplify checker (Y113: use enumerate()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
192 ):
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
193 styleNo = subStyleStart + subStyleIndex
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
194 subStyle = subStylesData[subStyleKey]
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 # set the words
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 editor.SendScintilla(
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 editor.SCI_SETIDENTIFIERS,
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
198 styleNo,
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 subStyle["Words"].encode())
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 # set the style
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 style = subStyle["Style"]
8259
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
203 color = (
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
204 QColor(
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 style["fore"] >> 16 & 0xff,
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 style["fore"] >> 8 & 0xff,
8259
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
207 style["fore"] & 0xff,)
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
208 if "fore" in style else
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
209 self.color(baseStyleNo)
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
210 )
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 self.setColor(color, styleNo)
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
212
8259
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
213 color = (
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
214 QColor(
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 style["paper"] >> 16 & 0xff,
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216 style["paper"] >> 8 & 0xff,
8259
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
217 style["paper"] & 0xff,)
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
218 if "paper" in style else
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
219 self.paper(baseStyleNo)
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
220 )
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221 self.setPaper(color, styleNo)
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
222
8259
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
223 eolFill = (
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
224 style["eolfill"]
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
225 if "eolfill" in style else
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
226 self.eolFill(baseStyleNo)
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
227 )
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228 self.setEolFill(eolFill, styleNo)
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
229
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230 font = self.font(baseStyleNo)
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 if "font_family" in style:
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 font.setFamily(style["font_family"])
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 if "font_size" in style:
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 font.setPointSize(style["font_size"])
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 if "font_bold" in style:
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 font.setBold(style["font_bold"])
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 if "font_italic" in style:
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 font.setItalic(style["font_italic"])
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 if "font_underline" in style:
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 font.setUnderline(style["font_underline"])
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 self.setFont(font, styleNo)
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 def writeSubstyles(self):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 """
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 Public method to save the sub-styles.
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 """
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
247 if not self.__subStylesInitialized:
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
248 return
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
249
8637
394377638256 Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
250 settings = Preferences.getSettings()
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
251
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
252 # Step 1: remove all sub-style definitions first
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
253 for baseStyle in self.baseStyles:
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
254 key = "Scintilla/{0}/style{1}/SubStyleLength".format(
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
255 self.language(), baseStyle)
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
256 if settings.contains(key):
6859
951aa89d367d SubStyledLexer: corrected some issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6856
diff changeset
257 subStyleLength = int(settings.value(key))
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
258 if subStyleLength:
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
259 for subStyle in range(subStyleLength):
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
260 substyleKey = (
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
261 "Scintilla/{0}/style{1}/substyle{2}/"
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
262 ).format(self.language(), baseStyle, subStyle)
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
263 settings.remove(substyleKey)
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
264
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
265 # Step 2: save the defined sub-styles
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
266 for baseStyle in self.baseStyles:
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
267 key = "Scintilla/{0}/style{1}/SubStyleLength".format(
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
268 self.language(), baseStyle)
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
269 settings.setValue(key, len(self.__subStyles[baseStyle]))
8220
006ee31b4835 Applied some more code simplifications suggested by the new Simplify checker (Y113: use enumerate()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
270 for subStyleIndex, subStyle in enumerate(
006ee31b4835 Applied some more code simplifications suggested by the new Simplify checker (Y113: use enumerate()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
271 sorted(self.__subStyles[baseStyle].keys())
006ee31b4835 Applied some more code simplifications suggested by the new Simplify checker (Y113: use enumerate()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
272 ):
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
273 substyleKey = "Scintilla/{0}/style{1}/substyle{2}/".format(
6861
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
274 self.language(), baseStyle, subStyleIndex)
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
275 subStyleData = self.__subStyles[baseStyle][subStyle]
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
276
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
277 if (
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
278 not subStyleData["Description"] and
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
279 not subStyleData["Words"]
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
280 ):
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
281 # invalid or incomplete sub-style definition
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
282 continue
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
283
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
284 settings.setValue(substyleKey + "Description",
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
285 subStyleData["Description"])
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
286 settings.setValue(substyleKey + "Words",
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
287 subStyleData["Words"])
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
288
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
289 style = subStyleData["Style"]
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
290 if "fore" in style:
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
291 color = style["fore"]
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
292 else:
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
293 col = self.color(baseStyle)
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
294 color = col.red() << 16 | col.green() << 8 | col.blue()
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
295 settings.setValue(substyleKey + "fore", color)
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
296 if "paper" in style:
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
297 color = style["paper"]
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
298 else:
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
299 col = self.paper(baseStyle)
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
300 color = col.red() << 16 | col.green() << 8 | col.blue()
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
301 settings.setValue(substyleKey + "paper", color)
8235
78e6d29eb773 Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8220
diff changeset
302 eolfill = style.get("eolfill", self.eolFill(baseStyle))
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
303 settings.setValue(substyleKey + "eolfill", eolfill)
6846
6ca9ef2c0907 Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6845
diff changeset
304 font = self.font(baseStyle)
8235
78e6d29eb773 Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8220
diff changeset
305 family = style.get("font_family", font.family())
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
306 settings.setValue(substyleKey + "font_family", family)
8235
78e6d29eb773 Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8220
diff changeset
307 size = style.get("font_size", font.pointSize())
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
308 settings.setValue(substyleKey + "font_size", size)
8235
78e6d29eb773 Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8220
diff changeset
309 bold = style.get("font_bold", font.bold())
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
310 settings.setValue(substyleKey + "font_bold", bold)
8235
78e6d29eb773 Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8220
diff changeset
311 italic = style.get("font_italic", font.italic())
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
312 settings.setValue(substyleKey + "font_italic", italic)
8259
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
313 underline = (
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
314 style["font_underline"]
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
315 if "font_underline" in style else
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
316 font.underline()
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
317 )
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
318 settings.setValue(substyleKey + "font_underline", underline)
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319
6859
951aa89d367d SubStyledLexer: corrected some issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6856
diff changeset
320 def hasSubstyles(self):
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 """
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 Public method to indicate the support of sub-styles.
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 @return flag indicating sub-styling support
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
325 @rtype bool
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 """
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
327 return True
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
329 def getBaseStyles(self):
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
330 """
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
331 Public method to get the list of supported base styles.
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
332
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
333 @return list of base styles
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
334 @rtype list of int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
335 """
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
336 return self.baseStyles[:]
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
337
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
338 def substylesCount(self, style):
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
339 """
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
340 Public method to get the number of defined sub-styles.
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
341
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
342 @param style base style number
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
343 @type int
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
344 @return number of defined sub-styles
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
345 @rtype int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
346 """
8235
78e6d29eb773 Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8220
diff changeset
347 count = (len(self.__subStyles[style]) if style in self.__subStyles
78e6d29eb773 Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8220
diff changeset
348 else 0)
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
349
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
350 return count
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
351
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352 def setSubstyleDescription(self, description, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
354 Public method to set the description for a sub-style.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
356 @param description description to be set
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
357 @type str
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
358 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
359 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
360 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
361 @type int
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
363 if style in self.__subStyles and substyle in self.__subStyles[style]:
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
364 self.__subStyles[style][substyle]["Description"] = (
6864
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
365 description.strip()
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
366 )
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
368 def substyleDescription(self, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
370 Public method to get the description of a sub-style.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
372 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
373 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
374 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
375 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
376 @return sub-style description
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
377 @rtype str
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 """
8259
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
379 desc = (
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
380 self.__subStyles[style][substyle]["Description"].strip()
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
381 if (style in self.__subStyles and
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
382 substyle in self.__subStyles[style]) else
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
383 ""
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
384 )
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
385
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
386 return desc
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
387
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
388 def setSubstyleWords(self, words, style, substyle):
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
389 """
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
390 Public method to set the words for a sub-style.
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
391
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
392 @param words words to be set separated by white-space
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
393 @type str
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
394 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
395 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
396 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
397 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
398 """
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
399 if style in self.__subStyles and substyle in self.__subStyles[style]:
6864
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
400 self.__subStyles[style][substyle]["Words"] = words.strip()
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
401
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
402 def substyleWords(self, style, substyle):
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
403 """
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
404 Public method to get the words of a sub-style.
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
405
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
406 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
407 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
408 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
409 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
410 @return white-space separated word list
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
411 @rtype str
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
412 """
8259
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
413 words = (
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
414 self.__subStyles[style][substyle]["Words"].strip()
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
415 if (style in self.__subStyles and
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
416 substyle in self.__subStyles[style]) else
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
417 ""
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8235
diff changeset
418 )
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
419
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
420 return words
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
422 def setSubstyleColor(self, color, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
423 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
424 Public method to set the foreground color of a sub-style.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
425
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
426 @param color foreground color to be set
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
427 @type QColor
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
428 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
429 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
430 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
431 @type int
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
432 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
433 if style in self.__subStyles and substyle in self.__subStyles[style]:
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
434 self.__subStyles[style][substyle]["Style"]["fore"] = (
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
435 color.red() << 16 | color.green() << 8 | color.blue()
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
436 )
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
437
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 def substyleColor(self, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
439 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
440 Public method to get the sub-style foreground color.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
441
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
442 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
443 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
444 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
445 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
446 @return foreground color
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
447 @rtype QColor
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
448 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
449 color = self.color(style)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
450
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
451 if style in self.__subStyles and substyle in self.__subStyles[style]:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
452 styleData = self.__subStyles[style][substyle]["Style"]
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
453 if "fore" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
454 color = QColor(
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
455 styleData["fore"] >> 16 & 0xff,
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
456 styleData["fore"] >> 8 & 0xff,
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
457 styleData["fore"] & 0xff,
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
458 )
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
459
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
460 return color
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
461
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
462 def setSubstylePaper(self, color, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
463 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
464 Public method to set the background color of a sub-style.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
465
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
466 @param color background color to be set
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
467 @type QColor
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
468 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
469 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
470 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
471 @type int
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
472 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
473 if style in self.__subStyles and substyle in self.__subStyles[style]:
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
474 self.__subStyles[style][substyle]["Style"]["paper"] = (
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
475 color.red() << 16 | color.green() << 8 | color.blue()
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
476 )
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
477
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
478 def substylePaper(self, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
480 Public method to get the sub-style background color.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
481
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
482 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
483 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
484 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
485 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
486 @return background color
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
487 @rtype QColor
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
488 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
489 color = self.paper(style)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
490
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
491 if style in self.__subStyles and substyle in self.__subStyles[style]:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
492 styleData = self.__subStyles[style][substyle]["Style"]
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
493 if "paper" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
494 color = QColor(
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
495 styleData["paper"] >> 16 & 0xff,
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
496 styleData["paper"] >> 8 & 0xff,
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
497 styleData["paper"] & 0xff,
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
498 )
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
499
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
500 return color
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
501
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
502 def setSubstyleEolFill(self, eolFill, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
503 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
504 Public method to set the eolfill flag of a sub-style.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
505
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
506 @param eolFill eolfill flag to be set
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
507 @type bool
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
508 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
509 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
510 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
511 @type int
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
512 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
513 if style in self.__subStyles and substyle in self.__subStyles[style]:
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
514 self.__subStyles[style][substyle]["Style"]["eolfill"] = (
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
515 eolFill
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
516 )
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
517
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
518 def substyleEolFill(self, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
519 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
520 Public method to get the eolfill flag.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
521
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
522 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
523 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
524 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
525 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
526 @return eolfill flag
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
527 @rtype bool
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
528 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
529 eolFill = self.eolFill(style)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
530
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
531 if style in self.__subStyles and substyle in self.__subStyles[style]:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
532 styleData = self.__subStyles[style][substyle]["Style"]
8217
385f60c94548 Applied some more code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
533 eolFill = styleData.get("eolfill", self.eolFill(style))
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
534
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
535 return eolFill
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
536
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
537 def setSubstyleFont(self, font, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
538 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
539 Public method to set the font of a sub-style.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
540
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
541 @param font font to be set
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
542 @type QFont
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
543 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
544 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
545 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
546 @type int
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
547 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
548 if style in self.__subStyles and substyle in self.__subStyles[style]:
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
549 self.__subStyles[style][substyle]["Style"]["font_family"] = (
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
550 font.family()
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
551 )
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
552 self.__subStyles[style][substyle]["Style"]["font_size"] = (
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
553 font.pointSize()
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
554 )
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
555 self.__subStyles[style][substyle]["Style"]["font_bold"] = (
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
556 font.bold()
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
557 )
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
558 self.__subStyles[style][substyle]["Style"]["font_italic"] = (
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
559 font.italic()
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
560 )
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
561 self.__subStyles[style][substyle]["Style"]["font_underline"] = (
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
562 font.underline()
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
563 )
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
564
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
565 def substyleFont(self, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
567 Public method to get the sub-style font.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
568
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
569 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
570 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
571 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
572 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
573 @return font
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
574 @rtype QFont
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
575 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
576 font = self.font(style)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
577
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
578 if style in self.__subStyles and substyle in self.__subStyles[style]:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
579 styleData = self.__subStyles[style][substyle]["Style"]
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
580 if "font_family" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
581 font.setFamily(styleData["font_family"])
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
582 if "font_size" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
583 font.setPointSize(styleData["font_size"])
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
584 if "font_bold" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
585 font.setBold(styleData["font_bold"])
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
586 if "font_italic" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
587 font.setItalic(styleData["font_italic"])
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
588 if "font_underline" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
589 font.setUnderline(styleData["font_underline"])
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
590
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
591 return font
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
592
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
593 def substyleDefaultDescription(self, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
594 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
595 Public method to get the default description of a sub-style.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
596
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
597 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
598 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
599 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
600 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
601 @return sub-style default description
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
602 @rtype str
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
603 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
604 description = ""
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
605
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
606 if (
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
607 style in self.defaultSubStyles and
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
608 substyle in self.defaultSubStyles[style]
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
609 ):
6864
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
610 substyleData = self.defaultSubStyles[style][substyle]
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
611 description = substyleData["Description"].strip()
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
612
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
613 return description
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
614
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
615 def substyleDefaultWords(self, style, substyle):
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
616 """
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
617 Public method to get the default words of a sub-style.
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
618
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
619 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
620 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
621 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
622 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
623 @return white-space separated default word list
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
624 @rtype str
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
625 """
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
626 words = ""
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
627
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
628 if (
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
629 style in self.defaultSubStyles and
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
630 substyle in self.defaultSubStyles[style]
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
631 ):
6864
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
632 substyleData = self.defaultSubStyles[style][substyle]
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
633 words = substyleData["Words"].strip()
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
634
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
635 return words
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
636
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 def substyleDefaultColor(self, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
638 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
639 Public method to get the sub-style default foreground color.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
640
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
641 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
642 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
643 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
644 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
645 @return default foreground color
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
646 @rtype QColor
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
647 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
648 color = self.defaultColor(style)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
649
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
650 if (
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
651 style in self.defaultSubStyles and
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
652 substyle in self.defaultSubStyles[style]
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
653 ):
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
654 styleData = self.defaultSubStyles[style][substyle]["Style"]
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
655 if "fore" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
656 color = QColor(
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
657 styleData["fore"] >> 16 & 0xff,
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
658 styleData["fore"] >> 8 & 0xff,
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
659 styleData["fore"] & 0xff,
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
660 )
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
661
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
662 return color
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
663
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
664 def substyleDefaultPaper(self, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
665 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
666 Public method to get the sub-style default background color.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
667
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
668 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
669 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
670 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
671 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
672 @return default background color
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
673 @rtype QColor
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
674 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
675 color = self.defaultPaper(style)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
676
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
677 if (
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
678 style in self.defaultSubStyles and
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
679 substyle in self.defaultSubStyles[style]
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
680 ):
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
681 styleData = self.defaultSubStyles[style][substyle]["Style"]
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
682 if "paper" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
683 color = QColor(
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
684 styleData["paper"] >> 16 & 0xff,
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
685 styleData["paper"] >> 8 & 0xff,
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
686 styleData["paper"] & 0xff,
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
687 )
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
688
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
689 return color
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
690
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
691 def substyleDefaultEolFill(self, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
692 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
693 Public method to get the default eolfill flag.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
694
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
695 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
696 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
697 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
698 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
699 @return default eolfill flag
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
700 @rtype bool
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
701 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
702 eolFill = self.defaultEolFill(style)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
703
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
704 if (
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
705 style in self.defaultSubStyles and
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
706 substyle in self.defaultSubStyles[style]
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
707 ):
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
708 styleData = self.defaultSubStyles[style][substyle]["Style"]
8217
385f60c94548 Applied some more code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
709 eolFill = styleData.get("eolfill", self.defaultEolFill(style))
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
710
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
711 return eolFill
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
712
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
713 def substyleDefaultFont(self, style, substyle):
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
714 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
715 Public method to get the default sub-style font.
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
716
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
717 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
718 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
719 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
720 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
721 @return default font
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
722 @rtype QFont
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
723 """
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
724 font = self.defaultFont(style)
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
725
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
726 if (
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
727 style in self.defaultSubStyles and
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
728 substyle in self.defaultSubStyles[style]
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
729 ):
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
730 styleData = self.defaultSubStyles[style][substyle]["Style"]
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
731 if "font_family" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
732 font.setFamily(styleData["font_family"])
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
733 if "font_size" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
734 font.setPointSize(styleData["font_size"])
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
735 if "font_bold" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
736 font.setBold(styleData["font_bold"])
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
737 if "font_italic" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
738 font.setItalic(styleData["font_italic"])
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
739 if "font_underline" in styleData:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
740 font.setUnderline(styleData["font_underline"])
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
741
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
742 return font
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
743
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
744 def addSubstyle(self, style):
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
745 """
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
746 Public method to add an empty sub-style to a given base style.
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
747
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
748 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
749 @type int
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
750 @return allocated sub-style number or -1 to indicate an error
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
751 @rtype int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
752 """
6856
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
753 if style in self.__subStyles:
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
754 lastSubStyle = sorted(self.__subStyles[style].keys())[-1]
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
755 subStyle = lastSubStyle + 1
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
756 self.__subStyles[style][subStyle] = {
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
757 "Description": "",
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
758 "Words": "",
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
759 "Style": {},
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
760 }
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
761 else:
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
762 subStyle = -1
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
763
cdf13841603c SubstyledLexer: almost completed it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
764 return subStyle
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
765
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
766 def delSubstyle(self, style, substyle):
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
767 """
6861
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
768 Public method to delete a given sub-style definition.
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
769
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
770 @param style base style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
771 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
772 @param substyle sub-style number
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
773 @type int
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
774 @return flag indicating successful deletion
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
775 @rtype bool
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
776 """
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
777 ok = False
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
778
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
779 if style in self.__subStyles and substyle in self.__subStyles[style]:
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
780 del self.__subStyles[style][substyle]
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
781 ok = True
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
782
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
783 return ok
6861
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
784
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
785 def hasSubstyle(self, style, substyle):
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
786 """
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
787 Public method to test for a given sub-style definition.
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
788
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
789 @param style base style number
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
790 @type int
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
791 @param substyle sub-style number
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
792 @type int
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
793 @return flag indicating the existence of a sub-style definition
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
794 @rtype bool
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
795 """
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
796 return (style in self.__subStyles and
20899dc18e59 PreferencesLexer, SubstyledLexer: completed the list of methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6859
diff changeset
797 substyle in self.__subStyles[style])
6864
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
798
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
799 def isBaseStyle(self, style):
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
800 """
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
801 Public method to test, if a given style may have sub-styles.
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
802
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
803 @param style base style number
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
804 @type int
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
805 @return flag indicating that the style may have sub-styles
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
806 @rtype bool
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
807 """
7837ab17f079 Sub-Styles: added buttons to the Editor Highlighting Styles configuration page to add, delete, edit and copy sub-style definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6861
diff changeset
808 return style in self.baseStyles

eric ide

mercurial