summaryrefslogtreecommitdiffstats
path: root/rba.tool.editor.ui/src/rba/tool/editor/ui/editor/templates/RBAModelTemplateStore.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'rba.tool.editor.ui/src/rba/tool/editor/ui/editor/templates/RBAModelTemplateStore.xtend')
-rw-r--r--rba.tool.editor.ui/src/rba/tool/editor/ui/editor/templates/RBAModelTemplateStore.xtend30
1 files changed, 30 insertions, 0 deletions
diff --git a/rba.tool.editor.ui/src/rba/tool/editor/ui/editor/templates/RBAModelTemplateStore.xtend b/rba.tool.editor.ui/src/rba/tool/editor/ui/editor/templates/RBAModelTemplateStore.xtend
new file mode 100644
index 0000000..7330f91
--- /dev/null
+++ b/rba.tool.editor.ui/src/rba/tool/editor/ui/editor/templates/RBAModelTemplateStore.xtend
@@ -0,0 +1,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()));
+ }
+}