eric6/QScintilla/Lexers/SubstyledLexer.py

Thu, 27 Jun 2019 19:05:28 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 27 Jun 2019 19:05:28 +0200
changeset 7041
2c14833a2bee
parent 6942
2602857055c5
child 7229
53054eb5b15a
permissions
-rw-r--r--

SubstyledLexer: fixed an issue when loading a .cpp file.

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

eric ide

mercurial