blob: 7330f91479b8b7d1f99cba5d65c23138577ebc1a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package rba.tool.editor.ui.editor.templates
import com.google.inject.Inject
import com.google.inject.Singleton
import java.util.ArrayList
import java.util.List
import org.eclipse.jface.preference.IPreferenceStore
import org.eclipse.jface.text.templates.ContextTypeRegistry
import org.eclipse.jface.text.templates.Template
import org.eclipse.ui.plugin.AbstractUIPlugin
import org.eclipse.xtext.ui.editor.templates.XtextTemplateStore
@Singleton
class RBAModelTemplateStore extends XtextTemplateStore {
private TemplateRegistry templateRegistry;
@Inject
new(TemplateRegistry templateRegistry, ContextTypeRegistry registry, IPreferenceStore store, String key, AbstractUIPlugin plugin) {
super(registry, store, key, plugin);
this.templateRegistry = templateRegistry;
}
override getTemplates(String contextTypeId) {
val List<Template> templates = new ArrayList<Template>(super.getTemplates(contextTypeId));
val template = templateRegistry.getTemplate(contextTypeId);
if (template !== null) templates.add(template);
return templates.toArray(newArrayOfSize(templates.size()));
}
}
|