All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.xtext.xbase.ui.XbaseUiModule Maven / Gradle / Ivy

There is a newer version: 2.10.0
Show newest version
/**
 * generated by Xtext
 */
package org.eclipse.xtext.xbase.ui;

import com.google.inject.Binder;
import com.google.inject.binder.AnnotatedBindingBuilder;
import com.google.inject.binder.LinkedBindingBuilder;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.xtext.ui.editor.copyqualifiedname.CopyQualifiedNameService;
import org.eclipse.xtext.ui.editor.hover.html.IEObjectHoverDocumentationProvider;
import org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration;
import org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider;
import org.eclipse.xtext.validation.IssueSeveritiesProvider;
import org.eclipse.xtext.xbase.typesystem.internal.IFeatureScopeTracker;
import org.eclipse.xtext.xbase.typesystem.internal.OptimizingFeatureScopeTrackerProvider;
import org.eclipse.xtext.xbase.ui.AbstractXbaseUiModule;
import org.eclipse.xtext.xbase.ui.editor.copyqualifiedname.XbaseCopyQualifiedNameService;
import org.eclipse.xtext.xbase.ui.highlighting.XbaseHighlightingConfiguration;
import org.eclipse.xtext.xbase.ui.hover.XbaseHoverDocumentationProvider;
import org.eclipse.xtext.xbase.ui.labeling.XbaseDescriptionLabelProvider;
import org.eclipse.xtext.xbase.ui.labeling.XbaseLabelProvider;
import org.eclipse.xtext.xbase.ui.validation.XbaseIssueSeveritiesProvider;

/**
 * Use this class to register components to be used within the IDE.
 */
@SuppressWarnings("restriction")
public class XbaseUiModule extends AbstractXbaseUiModule {
  public XbaseUiModule(final AbstractUIPlugin plugin) {
    super(plugin);
  }
  
  @Override
  public Class bindIHighlightingConfiguration() {
    return XbaseHighlightingConfiguration.class;
  }
  
  @Override
  public Class bindIEObjectHoverDocumentationProvider() {
    return XbaseHoverDocumentationProvider.class;
  }
  
  public Class bindIssueSeverityServiceProvider() {
    return XbaseIssueSeveritiesProvider.class;
  }
  
  @Override
  public Class bindILabelProvider() {
    return XbaseLabelProvider.class;
  }
  
  @Override
  public void configureResourceUIServiceLabelProvider(final Binder binder) {
    AnnotatedBindingBuilder _bind = binder.bind(ILabelProvider.class);
    LinkedBindingBuilder _annotatedWith = _bind.annotatedWith(ResourceServiceDescriptionLabelProvider.class);
    _annotatedWith.to(XbaseDescriptionLabelProvider.class);
  }
  
  @Override
  public Class bindCopyQualifiedNameService() {
    return XbaseCopyQualifiedNameService.class;
  }
  
  @Override
  public Class bindIFeatureScopeTracker$Provider() {
    return OptimizingFeatureScopeTrackerProvider.class;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy