/*******************************************************************************
* 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;
}
}