| package org.apache.directory.ldapstudio.valueeditors; |
| |
| |
| import java.net.URL; |
| |
| import org.eclipse.core.runtime.FileLocator; |
| import org.eclipse.core.runtime.Path; |
| import org.eclipse.jface.resource.ImageDescriptor; |
| 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 ValueEditorsActivator extends AbstractUIPlugin |
| { |
| |
| /** The plug-in ID */ |
| public static final String PLUGIN_ID = "org.apache.directory.ldapstudio.valueeditors"; |
| |
| /** The shared instance */ |
| private static ValueEditorsActivator plugin; |
| |
| |
| /** |
| * The constructor |
| */ |
| public ValueEditorsActivator() |
| { |
| plugin = this; |
| } |
| |
| |
| /** |
| * {@inheritDoc} |
| */ |
| public void start( BundleContext context ) throws Exception |
| { |
| super.start( context ); |
| } |
| |
| |
| /** |
| * {@inheritDoc} |
| */ |
| public void stop( BundleContext context ) throws Exception |
| { |
| plugin = null; |
| super.stop( context ); |
| } |
| |
| |
| /** |
| * Returns the shared instance |
| * |
| * @return the shared instance |
| */ |
| public static ValueEditorsActivator getDefault() |
| { |
| return plugin; |
| } |
| |
| |
| /** |
| * Use this method to get SWT images. Use the IMG_ constants from |
| * ValueEditorConstants for the key. |
| * |
| * @param key |
| * The key (relative path to the image im filesystem) |
| * @return The image discriptor or null |
| */ |
| public ImageDescriptor getImageDescriptor( String key ) |
| { |
| if ( key != null ) |
| { |
| URL url = FileLocator.find( getBundle(), new Path( key ), null ); |
| if ( url != null ) |
| return ImageDescriptor.createFromURL( url ); |
| else |
| return null; |
| } |
| else |
| { |
| return null; |
| } |
| } |
| |
| |
| /** |
| * Use this method to get SWT images. Use the IMG_ constants from |
| * ValueEditorConstants for the key. A ImageRegistry is used to manage the |
| * the key->Image mapping. |
| * <p> |
| * Note: Don't dispose the returned SWT Image. It is disposed |
| * automatically when the plugin is stopped. |
| * |
| * @param key |
| * The key (relative path to the image im filesystem) |
| * @return The SWT Image or null |
| * @see ValueEditorsConstants |
| */ |
| public Image getImage( String key ) |
| { |
| Image image = getImageRegistry().get( key ); |
| if ( image == null ) |
| { |
| ImageDescriptor id = getImageDescriptor( key ); |
| if ( id != null ) |
| { |
| image = id.createImage(); |
| getImageRegistry().put( key, image ); |
| } |
| } |
| return image; |
| } |
| |
| } |