From 3d74fa82e3bd076005b01f6205a116c7cc9127c6 Mon Sep 17 00:00:00 2001 From: Christian Dietrich Date: Sat, 11 Feb 2017 08:09:58 +0100 Subject: [PATCH] [415677] Language Specific Compare Viewer title Signed-off-by: Christian Dietrich --- .../ui/compare/CompareFragment2.xtend | 9 +++++--- .../ui/compare/CompareFragment2.java | 21 ++++++++++++++++++- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ui/compare/CompareFragment2.xtend b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ui/compare/CompareFragment2.xtend index c30ab2596..a44199430 100644 --- a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ui/compare/CompareFragment2.xtend +++ b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ui/compare/CompareFragment2.xtend @@ -8,12 +8,14 @@ package org.eclipse.xtext.xtext.generator.ui.compare import com.google.inject.Inject +import com.google.inject.name.Names +import org.eclipse.xtend2.lib.StringConcatenationClient +import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment import org.eclipse.xtext.xtext.generator.XtextGeneratorNaming import org.eclipse.xtext.xtext.generator.model.GuiceModuleAccess import org.eclipse.xtext.xtext.generator.model.TypeReference import static extension org.eclipse.xtext.GrammarUtil.* -import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment /** * Contributes the registration of compare infrastructure. @@ -31,12 +33,13 @@ class CompareFragment2 extends AbstractXtextGeneratorFragment { "org.eclipse.compare", "org.eclipse.xtext.ui" ] } - + val StringConcatenationClient statement = + '''binder.bind(«String».class).annotatedWith(«Names».named(«new TypeReference("org.eclipse.xtext.ui.UIBindings")».COMPARE_VIEWER_TITLE)).toInstance("«grammar.simpleName» Compare");''' new GuiceModuleAccess.BindingFactory() .addTypeToType( new TypeReference("org.eclipse.compare.IViewerCreator"), new TypeReference("org.eclipse.xtext.ui.compare.DefaultViewerCreator") - ).contributeTo(language.eclipsePluginGenModule); + ).addConfiguredBinding("CompareViewerTitle", statement).contributeTo(language.eclipsePluginGenModule); if (projectConfig.eclipsePlugin?.pluginXml !== null) { projectConfig.eclipsePlugin.pluginXml.entries += ''' diff --git a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/ui/compare/CompareFragment2.java b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/ui/compare/CompareFragment2.java index 84b2fdf79..e99c44133 100644 --- a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/ui/compare/CompareFragment2.java +++ b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/ui/compare/CompareFragment2.java @@ -9,10 +9,12 @@ package org.eclipse.xtext.xtext.generator.ui.compare; import com.google.common.collect.Iterables; import com.google.inject.Inject; +import com.google.inject.name.Names; import java.util.Collections; import java.util.List; import java.util.Set; import org.eclipse.xtend2.lib.StringConcatenation; +import org.eclipse.xtend2.lib.StringConcatenationClient; import org.eclipse.xtext.GrammarUtil; import org.eclipse.xtext.xbase.lib.CollectionLiterals; import org.eclipse.xtext.xbase.lib.Extension; @@ -48,10 +50,27 @@ public class CompareFragment2 extends AbstractXtextGeneratorFragment { Set _requiredBundles = this.getProjectConfig().getEclipsePlugin().getManifest().getRequiredBundles(); Iterables.addAll(_requiredBundles, Collections.unmodifiableList(CollectionLiterals.newArrayList("org.eclipse.compare", "org.eclipse.xtext.ui"))); } + StringConcatenationClient _client = new StringConcatenationClient() { + @Override + protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { + _builder.append("binder.bind("); + _builder.append(String.class); + _builder.append(".class).annotatedWith("); + _builder.append(Names.class); + _builder.append(".named("); + TypeReference _typeReference = new TypeReference("org.eclipse.xtext.ui.UIBindings"); + _builder.append(_typeReference); + _builder.append(".COMPARE_VIEWER_TITLE)).toInstance(\""); + String _simpleName = GrammarUtil.getSimpleName(CompareFragment2.this.getGrammar()); + _builder.append(_simpleName); + _builder.append(" Compare\");"); + } + }; + final StringConcatenationClient statement = _client; GuiceModuleAccess.BindingFactory _bindingFactory = new GuiceModuleAccess.BindingFactory(); TypeReference _typeReference = new TypeReference("org.eclipse.compare.IViewerCreator"); TypeReference _typeReference_1 = new TypeReference("org.eclipse.xtext.ui.compare.DefaultViewerCreator"); - _bindingFactory.addTypeToType(_typeReference, _typeReference_1).contributeTo(this.getLanguage().getEclipsePluginGenModule()); + _bindingFactory.addTypeToType(_typeReference, _typeReference_1).addConfiguredBinding("CompareViewerTitle", statement).contributeTo(this.getLanguage().getEclipsePluginGenModule()); IBundleProjectConfig _eclipsePlugin_1 = this.getProjectConfig().getEclipsePlugin(); PluginXmlAccess _pluginXml = null; if (_eclipsePlugin_1!=null) {