package org.kie.eclipse.navigator; import java.net.MalformedURLException; import java.net.URL; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; /** * The activator class controls the plug-in life cycle */ public class Activator extends AbstractUIPlugin { // The plug-in ID public static final String PLUGIN_ID = "org.kie.eclipse.navigator"; //$NON-NLS-1$ public final static String IMG_SERVER_STARTED = "server_started.gif"; public final static String IMG_SERVER_STOPPED = "server_stopped.gif"; public final static String IMG_ORGANIZATION = "organization.gif"; public final static String IMG_PROJECT = "project.gif"; public final static String IMG_PROJECT_CLOSED = "project_closed.gif"; public final static String IMG_REPOSITORY = "repository.gif"; public final static String IMG_REPOSITORY_UNAVAILABLE = "repository_unavailable.gif"; // The shared instance private static Activator instance; /** * The constructor */ public Activator() { } /* * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) */ public void start(BundleContext context) throws Exception { super.start(context); instance = this; } /* * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) */ public void stop(BundleContext context) throws Exception { instance = null; super.stop(context); } /** * Returns the shared instance * * @return the shared instance */ public static Activator getDefault() { return instance; } @Override protected void initializeImageRegistry(ImageRegistry reg) { super.initializeImageRegistry(reg); reg.put(IMG_SERVER_STARTED, loadImageDescriptor(IMG_SERVER_STARTED)); reg.put(IMG_SERVER_STOPPED, loadImageDescriptor(IMG_SERVER_STOPPED)); reg.put(IMG_ORGANIZATION, loadImageDescriptor(IMG_ORGANIZATION)); reg.put(IMG_PROJECT, loadImageDescriptor(IMG_PROJECT)); reg.put(IMG_PROJECT_CLOSED, loadImageDescriptor(IMG_PROJECT_CLOSED)); reg.put(IMG_REPOSITORY, loadImageDescriptor(IMG_REPOSITORY)); reg.put(IMG_REPOSITORY_UNAVAILABLE, loadImageDescriptor(IMG_REPOSITORY_UNAVAILABLE)); } /** * Returns an image descriptor for the image file at the given * plug-in relative path * * @param path the path * @return the image descriptor */ public static ImageDescriptor getImageDescriptor(String path) { ImageRegistry registry = instance.getImageRegistry(); ImageDescriptor descriptor = registry.getDescriptor( path ); if ( descriptor == null ) { descriptor = AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID,path); registry.put(path,descriptor); } return descriptor; } private static ImageDescriptor loadImageDescriptor(String id) { String iconPath = "icons/"; //$NON-NLS-1$ try { URL installURL = Activator.getDefault().getBundle().getEntry("/"); //$NON-NLS-1$ URL url = new URL(installURL, iconPath + id); return ImageDescriptor.createFromURL(url); } catch (MalformedURLException e) { return ImageDescriptor.getMissingImageDescriptor(); } } public static Image getImage(String id) { getImageDescriptor(id); return instance.getImageRegistry().get(id); } }