Posts mit dem Label eclipse image plugin activator werden angezeigt. Alle Posts anzeigen
Posts mit dem Label eclipse image plugin activator werden angezeigt. Alle Posts anzeigen

Dienstag, 27. März 2012

plug in your images revisited

this is a small refresh (small modifications) of "plug in your images" from here

go to your Activator
public class Activator extends AbstractUIPlugin
 and add/override the two following functions:

public static final String ToolbarIcon = "image.myimage";   
public static Image getImage(String imageId) {
        AbstractUIPlugin plugin = Activator.getDefault();
        ImageRegistry imageRegistry = plugin.getImageRegistry();
        return imageRegistry.get(imageId);
    }

    @Override
    protected void initializeImageRegistry(ImageRegistry registry) {
        super.initializeImageRegistry(registry);
        Bundle bundle = getBundle();

        ImageDescriptor myImage = ImageDescriptor.createFromURL(FileLocator
                .find(bundle, new Path("icons/toolbar_16.png"), null));
        registry.put(ToolbarIcon, myImage);
    }
now you can access the image  ToolbarIcon from your view simply by calling:
Activator.getImage(Activator.ToolbarIcon)


EXAMPLE OF YOUR ACTIVATOR:
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.plugin.AbstractUIPlugin;

public class Activator extends AbstractUIPlugin {

    public static final String Icon32 = "image.icon32";
    private static Activator instance;
 
 
    public static Activator getDefault() {
        return instance;
    }

    public static Image getImage(String imageId) {
        AbstractUIPlugin plugin = Activator.getDefault();
        ImageRegistry imageRegistry = plugin.getImageRegistry();
        return imageRegistry.get(imageId);
    }

    @Override
    protected void initializeImageRegistry(ImageRegistry registry) {
        super.initializeImageRegistry(registry);
        load(registry, Icon32, "icons/icon.png");
    }
  
    private void load(ImageRegistry registry, String constant, String fileName) {
        ImageDescriptor icon = ImageDescriptor.createFromURL(FileLocator
                .find(getBundle(), new Path(fileName), null));
        registry.put(constant, icon);
    }

    public Activator() {
        instance = this;
    }
}