/* * generated by Xtext */ package org.eclipselabs.spray.xtext.ui; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.eclipse.xtext.service.SingletonBinding; import org.eclipse.xtext.ui.editor.model.TokenTypeToStringMapper; import org.eclipse.xtext.ui.editor.syntaxcoloring.AbstractAntlrTokenToAttributeIdMapper; import org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration; import org.eclipse.xtext.ui.util.PluginProjectFactory; import org.eclipse.xtext.ui.wizard.IProjectCreator; import org.eclipselabs.spray.xtext.ui.syntaxcoloring.SprayHighlightingConfiguration; import org.eclipselabs.spray.xtext.ui.syntaxcoloring.SprayTokenToAttributeIdMapper; import org.eclipselabs.spray.xtext.ui.validation.SprayJavaUIValidator; import org.eclipselabs.spray.xtext.ui.wizard.SprayPluginProjectFactory; import org.eclipselabs.spray.xtext.ui.wizard.SprayProjectCreator; import org.eclipselabs.spray.xtext.validation.SprayJavaValidator; import com.google.inject.Binder; import com.google.inject.name.Names; /** * Use this class to register components to be used within the IDE. */ public class SprayUiModule extends AbstractSprayUiModule { /** Key for String Binding */ public static final String NEW_PROJECT_NAME = "org.eclipselabs.spray.xtext.ui.newProjectName"; public SprayUiModule(AbstractUIPlugin plugin) { super(plugin); } public Class<? extends AbstractAntlrTokenToAttributeIdMapper> bindAbstractAntlrTokenToAttributeIdMapper() { return SprayTokenToAttributeIdMapper.class; } @Override public void configure(Binder binder) { super.configure(binder); binder.bind(TokenTypeToStringMapper.class).to(SprayTokenToAttributeIdMapper.class); } public void configureNewProjectName(Binder binder) { binder.bind(String.class).annotatedWith(Names.named(NEW_PROJECT_NAME)).toInstance("org.eclipselabs.spray.examples.mydiagram"); } public Class<? extends IProjectCreator> bindIProjectCreator() { return SprayProjectCreator.class; } public Class<? extends PluginProjectFactory> bindPluginProjectFactory() { return SprayPluginProjectFactory.class; } @SingletonBinding(eager = true) public Class<? extends SprayJavaValidator> bindSprayJavaValidator() { return SprayJavaUIValidator.class; } /** * Usually contributed by org.eclipse.xtext.generator.generator.GeneratorFragment, * but this fragment is not used. The SprayProjectCreator needs it. */ public org.eclipse.core.resources.IWorkspaceRoot bindIWorkspaceRootToInstance() { return org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot(); } @Override public Class<? extends IHighlightingConfiguration> bindIHighlightingConfiguration() { return SprayHighlightingConfiguration.class; } }