/* * Copyright 2015 the original author or authors. * @https://github.com/scouter-project/scouter * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package scouter.client.util; import java.io.FileNotFoundException; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.plugin.AbstractUIPlugin; public class ImageUtil { public static final Image UNKNOWN = getSharedImage(ISharedImages.IMG_OBJ_FILE); public static Image getSharedImage(String key){ return PlatformUI.getWorkbench().getSharedImages().getImage(key); } public static ImageDescriptor getImageDescriptor(String pluginId, String path){ return AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, path); } public static ImageDescriptor getImageDescriptor(AbstractUIPlugin plugin, String path) throws FileNotFoundException{ return ImageDescriptor.createFromURL(LocationUtil.getURL(plugin, path)); } public static ImageDescriptor getImageDescriptor(Image image){ return ImageDescriptor.createFromImage(image); } public static Image getImage(String pluginId, String path){ return getImageDescriptor(pluginId, path).createImage(); } public static Image getImage(AbstractUIPlugin plugin, String path) throws FileNotFoundException{ return getImageDescriptor(plugin, path).createImage(); } public static Image getExtensionIcon(AbstractUIPlugin plugin, String filename){ int index = filename.lastIndexOf("."); String key = "." + (index == -1 ? "" : filename.substring(index + 1)); ImageDescriptor ds = PlatformUI.getWorkbench().getEditorRegistry().getSystemExternalEditorImageDescriptor(key); return ds == null ? UNKNOWN : ds.createImage(); } }