aboutsummaryrefslogtreecommitdiffstats
path: root/Application/hu.bme.mit.inf.dslreasoner.application.ui
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-02-01 14:28:01 +0100
committerLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-02-01 14:28:01 +0100
commit5cc9e724582ac4e302fad76d380c397ddeb27876 (patch)
treeb51ee133babd08c336e739ae5f23ce68b50428ea /Application/hu.bme.mit.inf.dslreasoner.application.ui
parentQualified name Converter (diff)
downloadVIATRA-Generator-5cc9e724582ac4e302fad76d380c397ddeb27876.tar.gz
VIATRA-Generator-5cc9e724582ac4e302fad76d380c397ddeb27876.tar.zst
VIATRA-Generator-5cc9e724582ac4e302fad76d380c397ddeb27876.zip
Type coloring
Diffstat (limited to 'Application/hu.bme.mit.inf.dslreasoner.application.ui')
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/AbstractApplicationConfigurationProposalProvider.java260
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationUiModule.xtend18
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/highlight/ApplicationConfigurationSemanticHighlightingCalculator.xtend62
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/highlight/ColorCalculator.xtend38
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/highlight/MetamodelElementColoringTextAttributeProvider.xtend56
5 files changed, 432 insertions, 2 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/AbstractApplicationConfigurationProposalProvider.java b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/AbstractApplicationConfigurationProposalProvider.java
index 1409ec26..b0d69137 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/AbstractApplicationConfigurationProposalProvider.java
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/AbstractApplicationConfigurationProposalProvider.java
@@ -30,6 +30,18 @@ public abstract class AbstractApplicationConfigurationProposalProvider extends T
30 public void completeViatraImport_ImportedViatra(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 30 public void completeViatraImport_ImportedViatra(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
31 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); 31 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
32 } 32 }
33 public void completeFileSpecification_Path(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
34 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
35 }
36 public void completeFileDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
37 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
38 }
39 public void completeFileDeclaration_Specification(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
40 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
41 }
42 public void completeFileReference_Referred(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
43 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
44 }
33 public void completeMetamodelSpecification_Entries(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 45 public void completeMetamodelSpecification_Entries(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
34 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 46 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
35 } 47 }
@@ -57,6 +69,138 @@ public abstract class AbstractApplicationConfigurationProposalProvider extends T
57 public void completeMetamodelReference_Referred(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 69 public void completeMetamodelReference_Referred(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
58 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); 70 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
59 } 71 }
72 public void completePartialModelSpecification_Entry(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
73 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
74 }
75 public void completeModelEntry_Path(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
76 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
77 }
78 public void completeFolderEntry_Path(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
79 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
80 }
81 public void completeFolderEntry_Exclusion(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
82 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
83 }
84 public void completePartialModelDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
85 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
86 }
87 public void completePartialModelDeclaration_Specification(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
88 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
89 }
90 public void completePartialModelReference_Referred(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
91 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
92 }
93 public void completePatternSpecification_Entries(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
94 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
95 }
96 public void completeAllPatternEntry_Package(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
97 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
98 }
99 public void completeAllPatternEntry_Exclusuion(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
100 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
101 }
102 public void completePatternElement_Package(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
103 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
104 }
105 public void completePatternElement_Pattern(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
106 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
107 }
108 public void completeGraphPatternDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
109 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
110 }
111 public void completeGraphPatternDeclaration_Specification(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
112 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
113 }
114 public void completeGraphPatternReference_Referred(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
115 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
116 }
117 public void completeConfigSpecification_Entries(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
118 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
119 }
120 public void completeConfigDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
121 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
122 }
123 public void completeConfigDeclaration_Specification(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
124 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
125 }
126 public void completeConfigEntry_Key(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
127 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
128 }
129 public void completeConfigEntry_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
130 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
131 }
132 public void completeConfigReference_Config(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
133 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
134 }
135 public void completeScopeSpecification_Scopes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
136 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
137 }
138 public void completeTypeScope_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
139 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
140 }
141 public void completeTypeScope_SetsNew(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
142 // subclasses may override
143 }
144 public void completeTypeScope_SetsSum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
145 // subclasses may override
146 }
147 public void completeTypeScope_Min(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
148 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
149 }
150 public void completeTypeScope_MaxUnlimited(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
151 // subclasses may override
152 }
153 public void completeTypeScope_Max(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
154 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
155 }
156 public void completeClassReference_Element(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
157 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
158 }
159 public void completeScopeDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
160 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
161 }
162 public void completeScopeDeclaration_Specification(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
163 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
164 }
165 public void completeScopeReference_Referred(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
166 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
167 }
168 public void completeGenerationTask_Metamodel(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
169 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
170 }
171 public void completeGenerationTask_PartialModel(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
172 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
173 }
174 public void completeGenerationTask_Patterns(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
175 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
176 }
177 public void completeGenerationTask_Scope(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
178 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
179 }
180 public void completeGenerationTask_Number(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
181 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
182 }
183 public void completeGenerationTask_Runs(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
184 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
185 }
186 public void completeGenerationTask_Solver(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
187 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
188 }
189 public void completeGenerationTask_Config(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
190 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
191 }
192 public void completeGenerationTask_TagetFolder(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
193 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
194 }
195 public void completeGenerationTask_DebugFolder(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
196 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
197 }
198 public void completeGenerationTask_TargetLogFile(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
199 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
200 }
201 public void completeGenerationTask_TargetStatisticsFile(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
202 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
203 }
60 204
61 public void complete_ConfigurationScript(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 205 public void complete_ConfigurationScript(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
62 // subclasses may override 206 // subclasses may override
@@ -64,7 +208,7 @@ public abstract class AbstractApplicationConfigurationProposalProvider extends T
64 public void complete_Command(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 208 public void complete_Command(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
65 // subclasses may override 209 // subclasses may override
66 } 210 }
67 public void complete_Declaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 211 public void complete_QualifiedName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
68 // subclasses may override 212 // subclasses may override
69 } 213 }
70 public void complete_Import(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 214 public void complete_Import(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -76,6 +220,21 @@ public abstract class AbstractApplicationConfigurationProposalProvider extends T
76 public void complete_ViatraImport(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 220 public void complete_ViatraImport(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
77 // subclasses may override 221 // subclasses may override
78 } 222 }
223 public void complete_Declaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
224 // subclasses may override
225 }
226 public void complete_FileSpecification(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
227 // subclasses may override
228 }
229 public void complete_FileDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
230 // subclasses may override
231 }
232 public void complete_FileReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
233 // subclasses may override
234 }
235 public void complete_File(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
236 // subclasses may override
237 }
79 public void complete_MetamodelSpecification(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 238 public void complete_MetamodelSpecification(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
80 // subclasses may override 239 // subclasses may override
81 } 240 }
@@ -97,4 +256,103 @@ public abstract class AbstractApplicationConfigurationProposalProvider extends T
97 public void complete_Metamodel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 256 public void complete_Metamodel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
98 // subclasses may override 257 // subclasses may override
99 } 258 }
259 public void complete_PartialModelSpecification(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
260 // subclasses may override
261 }
262 public void complete_PartialModelEntry(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
263 // subclasses may override
264 }
265 public void complete_ModelEntry(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
266 // subclasses may override
267 }
268 public void complete_FolderEntry(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
269 // subclasses may override
270 }
271 public void complete_PartialModelDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
272 // subclasses may override
273 }
274 public void complete_PartialModelReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
275 // subclasses may override
276 }
277 public void complete_PartialModel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
278 // subclasses may override
279 }
280 public void complete_PatternSpecification(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
281 // subclasses may override
282 }
283 public void complete_PatternEntry(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
284 // subclasses may override
285 }
286 public void complete_AllPatternEntry(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
287 // subclasses may override
288 }
289 public void complete_PatternElement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
290 // subclasses may override
291 }
292 public void complete_GraphPatternDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
293 // subclasses may override
294 }
295 public void complete_GraphPatternReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
296 // subclasses may override
297 }
298 public void complete_GraphPattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
299 // subclasses may override
300 }
301 public void complete_ConfigSpecification(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
302 // subclasses may override
303 }
304 public void complete_ConfigDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
305 // subclasses may override
306 }
307 public void complete_ConfigEntry(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
308 // subclasses may override
309 }
310 public void complete_ConfigReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
311 // subclasses may override
312 }
313 public void complete_Config(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
314 // subclasses may override
315 }
316 public void complete_Solver(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
317 // subclasses may override
318 }
319 public void complete_ScopeSpecification(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
320 // subclasses may override
321 }
322 public void complete_TypeScope(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
323 // subclasses may override
324 }
325 public void complete_TypeReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
326 // subclasses may override
327 }
328 public void complete_ClassReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
329 // subclasses may override
330 }
331 public void complete_ObjectReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
332 // subclasses may override
333 }
334 public void complete_IntegerReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
335 // subclasses may override
336 }
337 public void complete_RealReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
338 // subclasses may override
339 }
340 public void complete_StringReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
341 // subclasses may override
342 }
343 public void complete_ScopeDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
344 // subclasses may override
345 }
346 public void complete_ScopeReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
347 // subclasses may override
348 }
349 public void complete_Scope(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
350 // subclasses may override
351 }
352 public void complete_Task(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
353 // subclasses may override
354 }
355 public void complete_GenerationTask(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
356 // subclasses may override
357 }
100} 358}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationUiModule.xtend b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationUiModule.xtend
index ad86ba44..6bc65f7b 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationUiModule.xtend
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationUiModule.xtend
@@ -3,11 +3,27 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.application.ui 4package hu.bme.mit.inf.dslreasoner.application.ui
5 5
6import hu.bme.mit.inf.dslreasoner.application.ui.highlight.ApplicationConfigurationSemanticHighlightingCalculator
7import hu.bme.mit.inf.dslreasoner.application.ui.highlight.MetamodelElementColoringTextAttributeProvider
6import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor 8import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
9import org.eclipse.xtext.ide.editor.syntaxcoloring.ISemanticHighlightingCalculator
10import org.eclipse.xtext.ui.editor.syntaxcoloring.ITextAttributeProvider
7 11
8/** 12/**
9 * Use this class to register components to be used within the Eclipse IDE. 13 * Use this class to register components to be used within the Eclipse IDE.
10 */ 14 */
11@FinalFieldsConstructor 15@FinalFieldsConstructor
12class ApplicationConfigurationUiModule extends AbstractApplicationConfigurationUiModule { 16class ApplicationConfigurationUiModule extends AbstractApplicationConfigurationUiModule {
13} 17
18// def public Class<? extends IHighlightingConfiguration> bindIHighlightingConfiguration() {
19// ApplicationConfigurationHighlightConfiguration
20// }
21
22 def public Class<? extends ISemanticHighlightingCalculator> bindISemanticHighlightingCalculator() {
23 ApplicationConfigurationSemanticHighlightingCalculator
24 }
25
26 def public Class<? extends ITextAttributeProvider> bindITextAttributeProvider() {
27 MetamodelElementColoringTextAttributeProvider
28 }
29} \ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/highlight/ApplicationConfigurationSemanticHighlightingCalculator.xtend b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/highlight/ApplicationConfigurationSemanticHighlightingCalculator.xtend
new file mode 100644
index 00000000..f99105be
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/highlight/ApplicationConfigurationSemanticHighlightingCalculator.xtend
@@ -0,0 +1,62 @@
1package hu.bme.mit.inf.dslreasoner.application.ui.highlight
2
3import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement
4import java.util.WeakHashMap
5import org.eclipse.emf.ecore.EClassifier
6import org.eclipse.xtext.ide.editor.syntaxcoloring.DefaultSemanticHighlightingCalculator
7import org.eclipse.xtext.ide.editor.syntaxcoloring.IHighlightedPositionAcceptor
8import org.eclipse.xtext.nodemodel.util.NodeModelUtils
9import org.eclipse.xtext.resource.XtextResource
10import org.eclipse.xtext.util.CancelIndicator
11
12class ApplicationConfigurationSemanticHighlightingCalculator extends DefaultSemanticHighlightingCalculator {
13 public static val MetamodelElementIDPrefix = "MetamodelElementColor";
14
15 val metamodelElement2ID = new WeakHashMap<EClassifier,String>
16 val colorCalculator = new ColorCalculator
17
18 override provideHighlightingFor(XtextResource resource, IHighlightedPositionAcceptor acceptor, CancelIndicator cancelIndicator) {
19 if (resource == null || resource.getParseResult() == null) {
20 return
21 } else {
22 val metamodelElements = resource.allContents.filter(MetamodelElement)
23// val root = resource.getParseResult().getRootNode();
24// for (node : root.getAsTreeIterable()) {
25//
26// if (node.getGrammarElement() instanceof CrossReference) {
27// acceptor.addPosition(node.getOffset(), node.getLength(), ApplicationConfigurationHighlightConfiguration.CROSS_REF);
28// }
29// }
30 while(metamodelElements.hasNext) {
31 val mentamodelElement = metamodelElements.next
32 val node = NodeModelUtils::getNode(mentamodelElement)
33 acceptor.addPosition(
34 node.getOffset(),
35 node.getLength(),
36 getMetamodelElementColorID(mentamodelElement)
37 )
38 }
39 }
40 }
41
42 def getMetamodelElementColorID(MetamodelElement element) {
43 val classifier = element.classifier
44 if(classifier === null) {
45 return "default"
46 } else if(classifier.eIsProxy) {
47 return "default"
48 } else {
49 if(metamodelElement2ID.containsKey(classifier)) {
50 return metamodelElement2ID.get(classifier)
51 } else {
52 val id = calculateMetamodelElementID(classifier)
53 metamodelElement2ID.put(classifier,id)
54 return id
55 }
56 }
57 }
58 private def String calculateMetamodelElementID(EClassifier c) {
59 val randomColor = colorCalculator.getColor(c)
60 '''«MetamodelElementIDPrefix» «randomColor.get(0)» «randomColor.get(1)» «randomColor.get(2)»'''
61 }
62}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/highlight/ColorCalculator.xtend b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/highlight/ColorCalculator.xtend
new file mode 100644
index 00000000..d0f9db88
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/highlight/ColorCalculator.xtend
@@ -0,0 +1,38 @@
1package hu.bme.mit.inf.dslreasoner.application.ui.highlight
2
3import java.util.List
4import java.util.Random
5import org.eclipse.emf.ecore.EClass
6import org.eclipse.emf.ecore.EEnum
7
8class ColorCalculator {
9
10 public def dispatch getColor(EClass c) {
11 val supertypes = (c.getEAllSuperTypes + #[c])
12 val typeHashcodes = supertypes.map[(c.getEPackage.nsURI->c.name).hashCode]
13 return randomColor(typeHashcodes)
14 }
15 public def dispatch getColor(EEnum e) {
16 return randomColor((e.getEPackage.nsURI->e.name).hashCode)
17 }
18
19 protected def randomColor(Integer seed) {
20 val Random random = new Random(seed)
21 val rangePicker = [|random.nextInt(128)+128]
22 return #[rangePicker.apply(), rangePicker.apply(), rangePicker.apply()]
23 }
24 protected def randomColor(Iterable<Integer> seeds) { seeds.map[randomColor].averageColor }
25 private def averageColor(Iterable<List<Integer>> colors) {
26 if(colors.empty) {
27 return #[256,256,256]
28 } else {
29 return #[
30 colors.map[get(0)].average,
31 colors.map[get(1)].average,
32 colors.map[get(2)].average
33 ]
34 }
35 }
36 private def average(Iterable<Integer> doubles) { return doubles.reduce[p1, p2|p1+p2]/doubles.size }
37}
38
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/highlight/MetamodelElementColoringTextAttributeProvider.xtend b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/highlight/MetamodelElementColoringTextAttributeProvider.xtend
new file mode 100644
index 00000000..10b96d02
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/highlight/MetamodelElementColoringTextAttributeProvider.xtend
@@ -0,0 +1,56 @@
1package hu.bme.mit.inf.dslreasoner.application.ui.highlight
2
3import com.google.inject.Inject
4import java.util.WeakHashMap
5import org.eclipse.jface.text.TextAttribute
6import org.eclipse.swt.graphics.RGB
7import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreAccess
8import org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration
9import org.eclipse.xtext.ui.editor.syntaxcoloring.PreferenceStoreAccessor
10import org.eclipse.xtext.ui.editor.syntaxcoloring.TextAttributeProvider
11import org.eclipse.xtext.ui.editor.utils.TextStyle
12import org.eclipse.xtext.ui.editor.utils.EditorUtils
13import org.eclipse.swt.SWT
14
15class MetamodelElementColoringTextAttributeProvider extends TextAttributeProvider{
16
17 val defaultTextStyle = new TextStyle
18 val colorID2TextAttribute = new WeakHashMap<String,TextAttribute>
19
20 @Inject
21 new(IHighlightingConfiguration highlightingConfig, IPreferenceStoreAccess preferenceStoreAccess, PreferenceStoreAccessor prefStoreAccessor) {
22 super(highlightingConfig, preferenceStoreAccess, prefStoreAccessor)
23 }
24
25 override getAttribute(String id) {
26 if(isMetamodelElementColorID(id)) {
27 if(colorID2TextAttribute.containsKey(id)) {
28 return colorID2TextAttribute.get(id)
29 } else {
30 val style = metamodelElementTextStyle(id)
31 colorID2TextAttribute.put(id,style)
32 return style
33 }
34 } else {
35 super.getAttribute(id)
36 }
37 }
38
39 private def isMetamodelElementColorID(String id) {
40 id.startsWith(ApplicationConfigurationSemanticHighlightingCalculator::MetamodelElementIDPrefix)
41 }
42
43 private def TextAttribute metamodelElementTextStyle(String id) {
44 val texts = id.split(' ')
45 val backgroundColor = new RGB(
46 Integer.parseInt(texts.get(1)),
47 Integer.parseInt(texts.get(2)),
48 Integer.parseInt(texts.get(3))
49 )
50 return new TextAttribute(
51 EditorUtils.colorFromRGB(defaultTextStyle.color),
52 EditorUtils.colorFromRGB(backgroundColor),
53 defaultTextStyle.style.bitwiseAnd(SWT.BORDER),
54 EditorUtils.fontFromFontData(defaultTextStyle.getFontData()));
55 }
56}