org.eclipse.wazaabi.ide.ui.editors.ImagesUtils.java Source code

Java tutorial

Introduction

Here is the source code for org.eclipse.wazaabi.ide.ui.editors.ImagesUtils.java

Source

/*******************************************************************************
 * Copyright (c) 2008 Olivier Moises
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *   Olivier Moises- initial API and implementation
 *******************************************************************************/

package org.eclipse.wazaabi.ide.ui.editors;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.wazaabi.ide.ui.editors.actions.wizards.SelectECoreElementWizard;
import org.eclipse.wazaabi.ide.ui.internal.Activator;
import org.eclipse.wazaabi.mm.core.styles.CoreStylesPackage;
import org.eclipse.wazaabi.mm.core.widgets.CoreWidgetsPackage;
import org.eclipse.wazaabi.mm.edp.events.EDPEventsPackage;
import org.eclipse.wazaabi.mm.edp.handlers.EDPHandlersPackage;
import org.eclipse.wazaabi.mm.swt.styles.SWTStylesPackage;

public class ImagesUtils {

    /**
     * This method registers all the images used in this plugin.
     * 
     * @param registry
     */
    public static void initializeImageRegistry(ImageRegistry registry) {
        registerImageData(registry, "filter_disabled", "icons/toolbar/dlcl16/filter_ps.gif");
        registerImageData(registry, "filter", "icons/toolbar/ecl16/filter_ps.gif");

        registerImageData(registry, CoreWidgetsPackage.Literals.CONTAINER.getName(), "icons/widgets/Composite.gif");
        registerImageData(registry, CoreWidgetsPackage.Literals.PUSH_BUTTON.getName(), "icons/widgets/Button.gif");
        registerImageData(registry, CoreWidgetsPackage.Literals.TEXT_COMPONENT.getName(), "icons/widgets/Text.gif");
        registerImageData(registry, CoreWidgetsPackage.Literals.CHECK_BOX.getName(),
                "icons/widgets/Button_check.gif");
        registerImageData(registry, CoreWidgetsPackage.Literals.RADIO_BUTTON.getName(),
                "icons/widgets/Button_radio.gif");
        registerImageData(registry, CoreWidgetsPackage.Literals.LABEL.getName(), "icons/widgets/Label.gif");

        registerImageData(registry, CoreWidgetsPackage.Literals.SCALE.getName(), "icons/widgets/Scale.gif");
        registerImageData(registry, CoreWidgetsPackage.Literals.SLIDER.getName(), "icons/widgets/Slider.gif");
        registerImageData(registry, CoreWidgetsPackage.Literals.SPINNER.getName(), "icons/widgets/Spinner.gif");

        registerImageData(registry, SWTStylesPackage.Literals.FILL_LAYOUT_RULE.getName(),
                "icons/layout/FillLayout.gif");
        registerImageData(registry, SWTStylesPackage.Literals.ROW_LAYOUT_RULE.getName(),
                "icons/layout/RowLayout.gif");
        registerImageData(registry, SWTStylesPackage.Literals.ROW_DATA_RULE.getName(), "icons/layout/RowData.gif");
        registerImageData(registry, CoreStylesPackage.Literals.STACK_LAYOUT_RULE.getName(),
                "icons/custom/StackLayout.png");
        registerImageData(registry, SWTStylesPackage.Literals.GRID_LAYOUT_RULE.getName(),
                "icons/layout/GridLayout.gif");
        registerImageData(registry, SWTStylesPackage.Literals.GRID_DATA_RULE.getName(),
                "icons/layout/GridData.gif");

        registerImageData(registry, SelectECoreElementWizard.EPACKAGE_IMG_NAME,
                "icons/ecore/" + SelectECoreElementWizard.EPACKAGE_IMG_NAME);
        registerImageData(registry, SelectECoreElementWizard.CLASS_IMG_NAME,
                "icons/ecore/" + SelectECoreElementWizard.CLASS_IMG_NAME);
        registerImageData(registry, SelectECoreElementWizard.EATTRIBUTE_IMG_NAME,
                "icons/ecore/" + SelectECoreElementWizard.EATTRIBUTE_IMG_NAME);
        registerImageData(registry, SelectECoreElementWizard.EREFERENCE_IMG_NAME,
                "icons/ecore/" + SelectECoreElementWizard.EREFERENCE_IMG_NAME);

        registerImageData(registry, EDPHandlersPackage.Literals.BINDING.getName(), "icons/binding/paperclip.png");

        registerImageData(registry, EDPHandlersPackage.Literals.EVENT_HANDLER.getName(),
                "icons/binding/listener_method.gif");

        registerImageData(registry, EDPEventsPackage.Literals.PROPERTY_CHANGED_EVENT.getName(),
                "icons/binding/propertyChangedEvent.png");
        registerImageData(registry, EDPEventsPackage.Literals.CONTENT_CHANGED_EVENT.getName(),
                "icons/binding/contentChangedEvent.png");
        registerImageData(registry, EDPEventsPackage.Literals.EVENT.getName(), "icons/binding/UIEvent.png");

    }

    /*
     * Registers with the given key the <code>ImageData</code> found using the
     * path in this plugin. Does nothing if no <code>ImageData</code> has been
     * found.
     */
    public static void registerImageData(ImageRegistry registry, String key, String path) {
        ImageData data = getImageData(path);
        if (data != null)
            registry.put(key, ImageDescriptor.createFromImageData(data));
    }

    /**
     * Reads the <code>ImageData</code> using the given path applied in this
     * plugin.
     * 
     * @param path
     * @return
     */
    public static ImageData getImageData(String path) {
        URL url = Activator.getDefault().getBundle().getEntry(path);
        if (url != null) {
            try {
                InputStream in = url.openStream();
                ImageData data = new ImageData(in);
                in.close();
                return data;
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}