@Override public ImageDescriptor getImageDescriptor(Object object) { if (object instanceof IFileStore) { IFileStore fileStore = (IFileStore) object; try { if (fileStore.fetchInfo().isDirectory()) { return PlatformUI.getWorkbench() .getSharedImages() .getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER); } IEditorDescriptor descriptor = IDE.getEditorDescriptor(fileStore.getName()); if (descriptor != null) { return descriptor.getImageDescriptor(); } else { return PlatformUI.getWorkbench() .getSharedImages() .getImageDescriptor(ISharedImages.IMG_OBJ_FILE); } } catch (PartInitException e) { } } return null; }
@Override public Image getImage(Object element) { if (element instanceof SampleCategory) { String iconFile = ((SampleCategory) element).getIconFile(); if (iconFile != null) { File file = new File(iconFile); if (file.exists()) { String iconFilename = file.getAbsolutePath(); Image image = imageRegistry.get(iconFilename); if (image == null) { image = new Image(Display.getDefault(), iconFilename); imageRegistry.put(iconFilename, image); } return image; } } // uses folder as the default image return IMAGE_FOLDER; } if (element instanceof SampleEntry) { File file = ((SampleEntry) element).getFile(); if (file != null) { if (file.isDirectory()) { return IMAGE_FOLDER; } IEditorDescriptor editorDescriptor = WorkbenchPlugin.getDefault().getEditorRegistry().getDefaultEditor(file.getName()); if (editorDescriptor == null || editorDescriptor.getImageDescriptor() == null) { return IMAGE_FILE; } String key = editorDescriptor.getId(); Image image = imageRegistry.get(key); if (image == null) { image = editorDescriptor.getImageDescriptor().createImage(); imageRegistry.put(key, image); } return image; } } if (element instanceof SamplesReference) { return SamplesUIPlugin.getImage(ICON_REMOTE); } return super.getImage(element); }
/** Returns the image descriptor for the given editor descriptor, or null if it has no image. */ private ImageDescriptor getImageDescriptor(IEditorDescriptor editorDesc) { ImageDescriptor imageDesc = null; if (editorDesc == null) { imageDesc = registry.getImageDescriptor(getFileRevision().getName()); // TODO: is this case valid, and if so, what are the implications // for content-type editor bindings? } else { imageDesc = editorDesc.getImageDescriptor(); } if (imageDesc == null) { if (editorDesc.getId().equals(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID)) { imageDesc = registry.getSystemExternalEditorImageDescriptor(getFileRevision().getName()); } } return imageDesc; }
private void initializeTitle(IEditorInput input) { Image oldImage = fTitleImage; fTitleImage = null; String title = ""; // $NON-NLS-1$ if (input != null) { IEditorRegistry editorRegistry = PlatformUI.getWorkbench().getEditorRegistry(); IEditorDescriptor editorDesc = editorRegistry.findEditor(getSite().getId()); ImageDescriptor imageDesc = editorDesc != null ? editorDesc.getImageDescriptor() : null; fTitleImage = imageDesc != null ? imageDesc.createImage() : null; title = input.getName(); } setTitleImage(fTitleImage); setPartName(title); firePropertyChange(PROP_DIRTY); if (oldImage != null && !oldImage.isDisposed()) oldImage.dispose(); }