Java 类org.eclipse.ui.IFileEditorMapping 实例源码

项目:n4js    文件:N4JSApplicationWorkbenchWindowAdvisor.java   
private void updateDefaultEditorMappingIfAbsent() {
    final EditorRegistry registry = (EditorRegistry) WorkbenchPlugin.getDefault().getEditorRegistry();
    for (final IFileEditorMapping editorMapping : registry.getFileEditorMappings()) {
        final IEditorDescriptor defaultEditor = editorMapping.getDefaultEditor();
        if (null == defaultEditor) {

            final String extension = editorMapping.getExtension();
            LOGGER.info("No default editor is associated with files with extension: '." + extension + "'.");
            final IEditorDescriptor defaultTextEditor = registry.findEditor(DEFAULT_TEXT_EDITOR_ID);
            if (null != defaultTextEditor) {
                ((FileEditorMapping) editorMapping).setDefaultEditor(defaultTextEditor);
                String editorName = defaultTextEditor.getLabel();
                if (null == editorName) {
                    editorName = defaultTextEditor.getId();
                }
                if (null != editorName) {
                    LOGGER.info("Associated files with extension " + extension + " with '" + editorName + "'.");
                }
            }
        }
    }
    registry.saveAssociations();
    PrefUtil.savePrefs();
}
项目:uefi_edk2_wizards_plugin    文件:SetDefaultEditorsStartup.java   
@Override
public void earlyStartup() {
    EditorRegistry editorReg = (EditorRegistry)PlatformUI.getWorkbench().getEditorRegistry();
    EditorDescriptor editor = (EditorDescriptor)editorReg.findEditor("org.eclipse.ui.DefaultTextEditor");
    FileEditorMapping mapping = new FileEditorMapping("inf");
    mapping.addEditor(editor);
    mapping.setDefaultEditor(editor);

    IFileEditorMapping[] mappings = editorReg.getFileEditorMappings();
    FileEditorMapping[] newMappings = new FileEditorMapping[mappings.length+1];
    for (int i = 0; i < mappings.length; i++) {
        newMappings[i] = (FileEditorMapping) mappings[i];
    }
    newMappings[mappings.length] = mapping;

    Display.getDefault().asyncExec(new Runnable() {
        @Override
        public void run() {
            editorReg.setFileEditorMappings(newMappings);
        }
    });

    //reg.setDefaultEditor("inf", "org.eclipse.ui.DefaultTextEditor");
}
项目:gwt-eclipse-plugin    文件:Util.java   
public static void resetDefaultEditor(String extension) {
  EditorRegistry editorRegistry = (EditorRegistry) PlatformUI.getWorkbench().getEditorRegistry();
  IFileEditorMapping[] editorMappings = editorRegistry.getFileEditorMappings();

  // Search the file=>editor mappings for the specified extension
  for (IFileEditorMapping editorMapping : editorMappings) {
    if (extension.equals(editorMapping.getExtension())) {
      FileEditorMapping internalMapping = (FileEditorMapping) editorMapping;
      // Only need to do anything if there's an explicit default set
      if (internalMapping.getDeclaredDefaultEditors().length > 0) {
        // Clear any default editor associations for this extension

        List<IEditorDescriptor> list = new ArrayList<IEditorDescriptor>();
        internalMapping.setDefaultEditors(list);

        // Save the updated editor registry to disk
        editorRegistry.saveAssociations();

        // TODO: remove
        GWTPluginLog.logInfo("Reset default editor for extension: "
            + extension);
      }
      break;
    }
  }
}
项目:anatlyzer    文件:AnATLyzerNature.java   
private void setAnATLyzerDefaultEditor() {
    String extension = "atl";
    String editorId = "org.eclipse.m2m.atl.adt.editor.AtlEditor";

    EditorRegistry editorReg = (EditorRegistry)PlatformUI.getWorkbench().getEditorRegistry();
    //EditorDescriptor editor = (EditorDescriptor) editorReg.findEditor(editorId);
    //editor.
    IFileEditorMapping[] mappings = editorReg.getFileEditorMappings();
    for (IFileEditorMapping mapping : mappings) {
        if ( "atl".equals(mapping.getExtension()) ) {
            IEditorDescriptor[] descriptors = mapping.getEditors();
            IEditorDescriptor anatlyzerEditor = null;
            for (IEditorDescriptor editorDesc : descriptors) {
                if ( "anatlyzer.atl.editor.AtlEditorExt".equals( ((EditorDescriptor) editorDesc).getClassName()) ) {
                    anatlyzerEditor = editorDesc;
                    break;
                }
            }

            if ( anatlyzerEditor != null ) {
                ((FileEditorMapping) mapping).setDefaultEditor((EditorDescriptor) anatlyzerEditor);
                break;
            }
        }
    }
}
项目:eavp    文件:BasicVizServiceFactory.java   
@Override
public void register(IVizService service) {
    if (service != null) {
        String name = service.getName();

        // Put the service in service map so it can be retrieved later
        serviceMap.put(name, service);

        // Register the plot editor as default editor for all file
        // extensions handled by the new viz service
        for (String ext : service.getSupportedExtensions()) {
            EditorRegistry editorReg = (EditorRegistry) PlatformUI
                    .getWorkbench().getEditorRegistry();
            EditorDescriptor editor = (EditorDescriptor) editorReg
                    .findEditor("org.eclipse.eavp.viz.service.PlotEditor");
            FileEditorMapping mapping = new FileEditorMapping(ext);
            mapping.addEditor(editor);
            mapping.setDefaultEditor(editor);

            IFileEditorMapping[] mappings = editorReg
                    .getFileEditorMappings();
            FileEditorMapping[] newMappings = new FileEditorMapping[mappings.length
                    + 1];
            for (int i = 0; i < mappings.length; i++) {
                newMappings[i] = (FileEditorMapping) mappings[i];
            }
            newMappings[mappings.length] = mapping;
            editorReg.setFileEditorMappings(newMappings);
        }

        logger.info("VizServiceFactory message: " + "Viz service \"" + name
                + "\" registered.");
    }

    return;
}
项目:jd-eclipse    文件:JavaDecompilerPlugin.java   
public void run()
{
    EditorRegistry registry = (EditorRegistry)
        WorkbenchPlugin.getDefault().getEditorRegistry();

    IFileEditorMapping[] mappings = registry.getFileEditorMappings();
    IFileEditorMapping c = null;
    IFileEditorMapping cws = null;

    // Search Class file editor mappings
    for (IFileEditorMapping mapping : mappings) 
    {
        if (mapping.getExtension().equals("class")) 
        {
            // ... Helios 3.6, Indigo 3.7, Juno 4.2, Kepler 4.3, ...
            c = mapping;
        }
        else if (mapping.getExtension().equals("class without source")) 
        {
            // Juno 4.2, Kepler 4.3, ...
            cws = mapping;
        }
    }

    if ((c != null) && (cws != null))
    {
        // Search JD editor descriptor on "class" extension
        for (IEditorDescriptor descriptor : c.getEditors())
        {       
            if (descriptor.getId().equals(EDITOR_ID))
            {
                // Remove JD editor on "class" extension
                //((FileEditorMapping)c).removeEditor((EditorDescriptor)descriptor);

                // Set JD as default editor on "class without source" extension
                registry.setDefaultEditor(
                    "." + cws.getExtension(), descriptor.getId());
                break;
            }
        }

        // Restore the default editor for "class" extension
        IEditorDescriptor defaultClassFileEditor = 
            registry.findEditor(JavaUI.ID_CF_EDITOR);   
        if (defaultClassFileEditor != null)
        {
            registry.setDefaultEditor(
                "." + c.getExtension(), JavaUI.ID_CF_EDITOR);
        }               

        registry.setFileEditorMappings((FileEditorMapping[]) mappings);
        registry.saveAssociations();            
    }
}
项目:Eclipse-Postfix-Code-Completion    文件:StorageLabelProvider.java   
private Image getImageForJarEntry(IStorage element) {
    if (element instanceof IJarEntryResource && !((IJarEntryResource) element).isFile()) {
        return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
    }

    if (fJarImageMap == null)
        return getDefaultImage();

    if (element == null || element.getName() == null)
        return getDefaultImage();

    // Try to find icon for full name
    String name= element.getName();
    Image image= fJarImageMap.get(name);
    if (image != null)
        return image;
    IFileEditorMapping[] mappings= getEditorRegistry().getFileEditorMappings();
    int i= 0;
    while (i < mappings.length) {
        if (mappings[i].getLabel().equals(name))
            break;
        i++;
    }
    String key= name;
    if (i == mappings.length) {
        // Try to find icon for extension
        IPath path= element.getFullPath();
        if (path == null)
            return getDefaultImage();
        key= path.getFileExtension();
        if (key == null)
            return getDefaultImage();
        image= fJarImageMap.get(key);
        if (image != null)
            return image;
    }

    // Get the image from the editor registry
    ImageDescriptor desc= getEditorRegistry().getImageDescriptor(name);
    image= desc.createImage();

    fJarImageMap.put(key, image);

    return image;
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:StorageLabelProvider.java   
private Image getImageForJarEntry(IStorage element) {
    if (element instanceof IJarEntryResource && !((IJarEntryResource) element).isFile()) {
        return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
    }

    if (fJarImageMap == null)
        return getDefaultImage();

    if (element == null || element.getName() == null)
        return getDefaultImage();

    // Try to find icon for full name
    String name= element.getName();
    Image image= fJarImageMap.get(name);
    if (image != null)
        return image;
    IFileEditorMapping[] mappings= getEditorRegistry().getFileEditorMappings();
    int i= 0;
    while (i < mappings.length) {
        if (mappings[i].getLabel().equals(name))
            break;
        i++;
    }
    String key= name;
    if (i == mappings.length) {
        // Try to find icon for extension
        IPath path= element.getFullPath();
        if (path == null)
            return getDefaultImage();
        key= path.getFileExtension();
        if (key == null)
            return getDefaultImage();
        image= fJarImageMap.get(key);
        if (image != null)
            return image;
    }

    // Get the image from the editor registry
    ImageDescriptor desc= getEditorRegistry().getImageDescriptor(name);
    image= desc.createImage();

    fJarImageMap.put(key, image);

    return image;
}