/* * Copyright 2013 * * Licensed under the Eclipse Public License version 1.0, available at * http://opensource.org/licenses/eclipse-1.0.txt */ /* * generated by Xtext */ package de.lynorics.eclipse.jangaroo.ui; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.eclipse.xtext.documentation.IEObjectDocumentationProvider; import org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider; import org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser; import org.eclipse.xtext.ui.editor.hover.IEObjectHover; import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider; import org.eclipse.xtext.ui.editor.outline.actions.IOutlineContribution; import org.eclipse.xtext.ui.editor.syntaxcoloring.AbstractAntlrTokenToAttributeIdMapper; import org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration; import org.eclipse.xtext.ui.editor.syntaxcoloring.ISemanticHighlightingCalculator; import org.eclipse.xtext.ui.resource.IResourceSetProvider; import com.google.inject.Binder; import com.google.inject.name.Names; import de.lynorics.eclipse.jangaroo.parser.TimeoutAS3Parser; import de.lynorics.eclipse.jangaroo.ui.contentassist.FastXtextResourceSetProvider; import de.lynorics.eclipse.jangaroo.ui.contentassist.PlatformURIMapCache; import de.lynorics.eclipse.jangaroo.ui.contentassist.TimeoutAS3ProposalProvider; import de.lynorics.eclipse.jangaroo.ui.highlighting.AS3HighlightingCalculator; import de.lynorics.eclipse.jangaroo.ui.highlighting.AS3HighlightingConfiguration; import de.lynorics.eclipse.jangaroo.ui.highlighting.AS3TokenToAttributeIdMapper; import de.lynorics.eclipse.jangaroo.ui.outline.FilterImportsOperationsContribution; import de.lynorics.eclipse.jangaroo.ui.outline.FilterNonPublicMembersContribution; import de.lynorics.eclipse.jangaroo.ui.outline.FilterUsesOperationsContribution; import de.lynorics.eclipse.jangaroo.ui.preferences.AS3LanguageRootPreferencePage; /** * Use this class to register components to be used within the IDE. */ public class AS3UiModule extends de.lynorics.eclipse.jangaroo.ui.AbstractAS3UiModule { public AS3UiModule(AbstractUIPlugin plugin) { super(plugin); } // @Override // public void configure(Binder binder) { // super.configure(binder); // binder.bind(String.class) // .annotatedWith(com.google.inject.name.Names.named( // (XtextContentAssistProcessor.COMPLETION_AUTO_ACTIVATION_CHARS))) // .toInstance("."); // } public void configureFilterOperationsContribution(Binder binder) { binder .bind(IOutlineContribution.class).annotatedWith( Names.named("FilterImportsOperationsContribution")) .to(FilterImportsOperationsContribution.class); binder .bind(IOutlineContribution.class).annotatedWith( Names.named("FilterUsesOperationsContribution")) .to(FilterUsesOperationsContribution.class); binder .bind(IOutlineContribution.class).annotatedWith( Names.named("FilterNonPublicMembersContribution")) .to(FilterNonPublicMembersContribution.class); } public Class<? extends IEObjectHoverProvider> bindIEObjectHoverProvider() { return AS3EObjectHoverProvider.class; } public Class<? extends IEObjectDocumentationProvider> bindIEObjectDocumentationProvider() { return AS3EObjectDocumentationProvider.class; } public Class<? extends IHighlightingConfiguration> bindIHighlightingConfiguration () { return AS3HighlightingConfiguration.class; } public Class<? extends ISemanticHighlightingCalculator> bindISemanticHighlightingCalculator() { return AS3HighlightingCalculator.class; } public Class<? extends AbstractAntlrTokenToAttributeIdMapper> bindAbstractAntlrTokenToAttributeIdMapper() { return AS3TokenToAttributeIdMapper.class; } public Class<? extends org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage> bindLanguageRootPreferencePage() { return AS3LanguageRootPreferencePage.class; } // With this binding, code completion will be guaranteed to respond within one second @Override public Class<? extends IContentAssistParser> bindIContentAssistParser() { return TimeoutAS3Parser.class; } // With this binding, code completion will be guaranteed to respond within one second @Override public Class<? extends IContentProposalProvider> bindIContentProposalProvider() { return TimeoutAS3ProposalProvider.class; } // With this binding, Xtext editors open much faster @Override public Class<? extends IResourceSetProvider> bindIResourceSetProvider() { return FastXtextResourceSetProvider.class; } @org.eclipse.xtext.service.SingletonBinding(eager=false) public Class<? extends PlatformURIMapCache> bindPlatformURIMapCache() { return PlatformURIMapCache.class; } // With this binding, hovers for keywords are customized @Override public Class<? extends IEObjectHover> bindIEObjectHover() { return AS3EObjectHover.class; } }