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(); }
@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"); }
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; } } }
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; } } } }
@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; }
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(); } }
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; }