eu.xsdi.mdlui.MdlUiPlugin.java Source code

Java tutorial

Introduction

Here is the source code for eu.xsdi.mdlui.MdlUiPlugin.java

Source

/*
 * LICENSE: This program is being made available under the LGPL 3.0 license.
 * For more information on the license, please read the following:
 * http://www.gnu.org/licenses/lgpl-3.0.txt
 * 
 * For additional information on the Model behind Mismatches, please refer to
 * the following publication(s):
 * Thorsten Reitz (2010): A Mismatch Description Language for Conceptual Schema 
 * Mapping and Its Cartographic Representation, Geographic Information Science,
 * http://www.springerlink.com/content/um2082120r51232u/
 */
package eu.xsdi.mdlui;

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;

/**
 * TODO Add Type comment
 * 
 * @author Thorsten Reitz
 * @partner 01 / Fraunhofer Institute for Computer Graphics Research
 * @version $Id$ 
 * @since 0.1.0
 */
public class MdlUiPlugin extends AbstractUIPlugin {

    //The shared instance.
    private static MdlUiPlugin plugin;

    // static identifiers of images for forms
    public static final String IMG_FORM_BG = "formBg"; //$NON-NLS-1$
    public static final String IMG_HORIZONTAL = "horizontal"; //$NON-NLS-1$
    public static final String IMG_VERTICAL = "vertical"; //$NON-NLS-1$
    public static final String IMG_SAMPLE = "sample"; //$NON-NLS-1$
    public static final String IMG_LINKTO_HELP = "linkto_help"; //$NON-NLS-1$
    public static final String IMG_HELP_TOPIC = "help_topic"; //$NON-NLS-1$
    public static final String IMG_CLOSE = "close"; //$NON-NLS-1$

    /**
     * The constructor.
     */
    public MdlUiPlugin() {
        super();
    }

    /**
     * @see AbstractUIPlugin#start(BundleContext)
     */
    @Override
    public void start(BundleContext context) throws Exception {
        super.start(context);
        plugin = this;
    }

    /**
     * @see AbstractUIPlugin#stop(BundleContext)
     */
    @Override
    public void stop(BundleContext context) throws Exception {
        plugin = null;
        super.stop(context);
    }

    /**
     * Returns the shared instance.
     * @return this plugin.
     */
    public static MdlUiPlugin getDefault() {
        return plugin;
    }

    /**
     * @param key
     * @return the image identified by the key.
     */
    public Image getImage(String key) {
        return getImageRegistry().get(key);
    }

    /**
     * @param key
     * @return the {@link ImageDescriptor} defined by the given key.
     */
    public ImageDescriptor getImageDescriptor(String key) {
        return getImageRegistry().getDescriptor(key);
    }

    protected void initializeImageRegistry(ImageRegistry registry) {
        registerImage(registry, IMG_FORM_BG, "form_banner.gif"); //$NON-NLS-1$
        registerImage(registry, IMG_HORIZONTAL, "th_horizontal.gif"); //$NON-NLS-1$
        registerImage(registry, IMG_VERTICAL, "th_vertical.gif"); //$NON-NLS-1$
        registerImage(registry, IMG_SAMPLE, "sample.gif"); //$NON-NLS-1$
        registerImage(registry, IMG_LINKTO_HELP, "linkto_help.gif"); //$NON-NLS-1$
        registerImage(registry, IMG_HELP_TOPIC, "help_topic.gif"); //$NON-NLS-1$
        registerImage(registry, IMG_CLOSE, "close_view.gif"); //$NON-NLS-1$
    }

    private void registerImage(ImageRegistry registry, String key, String fileName) {
        try {
            URL url = MdlUiPlugin.class.getResource(fileName);
            if (url != null) {
                ImageDescriptor desc = ImageDescriptor.createFromURL(url);
                registry.put(key, desc);
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

}