/* * generated by Xtext * Updated manually. */ package net.certware.argument.language.ui; import java.net.URL; import org.eclipse.core.runtime.FileLocator; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.eclipse.ui.views.contentoutline.IContentOutlinePage; import org.eclipse.xtext.ui.editor.hyperlinking.DefaultHyperlinkDetector; import org.eclipse.xtext.ui.editor.outline.actions.IOutlineContribution; import org.eclipse.xtext.ui.editor.outline.impl.OutlineFilterAndSorter.IComparator; import org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage; import com.google.inject.Binder; import com.google.inject.name.Names; import net.certware.argument.language.ui.outline.FilterConstantDeclarationContribution; import net.certware.argument.language.ui.outline.FilterRuleContribution; import net.certware.argument.language.ui.outline.FilterTypeDeclarationContribution; import net.certware.argument.language.ui.outline.LOutlinePage; import net.certware.argument.language.ui.outline.TypedOutlineNodeComparator; import net.certware.argument.language.ui.preferences.MainPreferencePage; /** * Use this class to register components to be used within the IDE. */ public class LUiModule extends net.certware.argument.language.ui.AbstractLUiModule { // image key, temporary until moved into main repository public static final String L_CERTWARE_IMAGE = "L_CERTWARE_IMAGE"; //$NON-NLS-1$ public LUiModule(AbstractUIPlugin plugin) { super(plugin); // load CertWare image descriptor as place-holder // normally acquire this from the core UI plugin IPath path = new Path("icons/obj16/certware.gif"); //$NON-NLS-1$ URL url = FileLocator.find(plugin.getBundle(),path,null); ImageDescriptor desc = ImageDescriptor.createFromURL(url); plugin.getImageRegistry().put(L_CERTWARE_IMAGE,desc); } /** * Bind the outline filters. * @author MRB */ public void configureFilterOperationsContribution(Binder binder) { binder.bind(IOutlineContribution.class).annotatedWith( Names.named("FilterRuleContribution")) //$NON-NLS-1$ .to(FilterRuleContribution.class); binder.bind(IOutlineContribution.class).annotatedWith( Names.named("FilterTypeDeclarationContribution")) //$NON-NLS-1$ .to(FilterTypeDeclarationContribution.class); binder.bind(IOutlineContribution.class).annotatedWith( Names.named("FilterConstantDeclarationContribution")) //$NON-NLS-1$ .to(FilterConstantDeclarationContribution.class); } /** * Bind preference pages. * @return preference page */ public Class<? extends LanguageRootPreferencePage> bindLanguageRootPreferencePage() { return MainPreferencePage.class; } /** * Bind outline page. * @return outline page */ public Class<? extends IContentOutlinePage> bindIContentOutlinePage() { return LOutlinePage.class; } /** * Bind outline sort comparator. * @return sort node comparator */ @Override public Class<? extends IComparator> bindOutlineFilterAndSorter$IComparator() { return TypedOutlineNodeComparator.class; } /** * Bind hyperlink detector. */ public Class<? extends DefaultHyperlinkDetector> bindDefaultHyperlinkDetector() { // return LLinkDetector.class; return DefaultHyperlinkDetector.class; } /** * Bind hyperlink helper. */ // public Class<? extends IHyperlinkHelper> bindIHyperlinkHelper() { // return LLinkHelper.class; // } }