diff options
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.java')
-rw-r--r-- | Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.java | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.java b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.java new file mode 100644 index 00000000..04824ad1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.java | |||
@@ -0,0 +1,63 @@ | |||
1 | package org.eclipse.viatra.solver.language.ui.syntaxcoloring; | ||
2 | |||
3 | import com.google.inject.Inject; | ||
4 | import java.util.WeakHashMap; | ||
5 | import org.eclipse.jface.text.TextAttribute; | ||
6 | import org.eclipse.swt.graphics.Color; | ||
7 | import org.eclipse.swt.graphics.Font; | ||
8 | import org.eclipse.swt.graphics.RGB; | ||
9 | import org.eclipse.viatra.solver.language.ui.syntaxcoloring.SolverSemanticHighlightCalculator; | ||
10 | import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreAccess; | ||
11 | import org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration; | ||
12 | import org.eclipse.xtext.ui.editor.syntaxcoloring.PreferenceStoreAccessor; | ||
13 | import org.eclipse.xtext.ui.editor.syntaxcoloring.TextAttributeProvider; | ||
14 | import org.eclipse.xtext.ui.editor.utils.EditorUtils; | ||
15 | import org.eclipse.xtext.ui.editor.utils.TextStyle; | ||
16 | |||
17 | @SuppressWarnings("all") | ||
18 | public class SolverSemanticTextAttributeProvider extends TextAttributeProvider { | ||
19 | private final TextStyle defaultTextStyle = new TextStyle(); | ||
20 | |||
21 | private final WeakHashMap<String, TextAttribute> colorID2TextAttribute = new WeakHashMap<String, TextAttribute>(); | ||
22 | |||
23 | @Inject | ||
24 | public SolverSemanticTextAttributeProvider(final IHighlightingConfiguration highlightingConfig, final IPreferenceStoreAccess preferenceStoreAccess, final PreferenceStoreAccessor prefStoreAccessor) { | ||
25 | super(highlightingConfig, preferenceStoreAccess, prefStoreAccessor); | ||
26 | } | ||
27 | |||
28 | @Override | ||
29 | public TextAttribute getAttribute(final String id) { | ||
30 | TextAttribute _xifexpression = null; | ||
31 | boolean _isMetamodelElementColorID = this.isMetamodelElementColorID(id); | ||
32 | if (_isMetamodelElementColorID) { | ||
33 | boolean _containsKey = this.colorID2TextAttribute.containsKey(id); | ||
34 | if (_containsKey) { | ||
35 | return this.colorID2TextAttribute.get(id); | ||
36 | } else { | ||
37 | final TextAttribute style = this.metamodelElementTextStyle(id); | ||
38 | this.colorID2TextAttribute.put(id, style); | ||
39 | return style; | ||
40 | } | ||
41 | } else { | ||
42 | _xifexpression = super.getAttribute(id); | ||
43 | } | ||
44 | return _xifexpression; | ||
45 | } | ||
46 | |||
47 | private boolean isMetamodelElementColorID(final String id) { | ||
48 | return id.startsWith(SolverSemanticHighlightCalculator.SYMBOL_CODE); | ||
49 | } | ||
50 | |||
51 | private TextAttribute metamodelElementTextStyle(final String id) { | ||
52 | final String[] texts = id.split(" "); | ||
53 | float _parseFloat = Float.parseFloat(texts[1]); | ||
54 | float _parseFloat_1 = Float.parseFloat(texts[2]); | ||
55 | float _parseFloat_2 = Float.parseFloat(texts[3]); | ||
56 | final RGB backgroundColor = new RGB(_parseFloat, _parseFloat_1, _parseFloat_2); | ||
57 | Color _colorFromRGB = EditorUtils.colorFromRGB(this.defaultTextStyle.getColor()); | ||
58 | Color _colorFromRGB_1 = EditorUtils.colorFromRGB(backgroundColor); | ||
59 | int _style = this.defaultTextStyle.getStyle(); | ||
60 | Font _fontFromFontData = EditorUtils.fontFromFontData(this.defaultTextStyle.getFontData()); | ||
61 | return new TextAttribute(_colorFromRGB, _colorFromRGB_1, _style, _fontFromFontData); | ||
62 | } | ||
63 | } | ||