/*******************************************************************************
* Copyright (c) 2011 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.cdi.core;
import java.net.MalformedURLException;
import java.net.URL;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image;
import org.jboss.tools.cdi.internal.core.impl.EventBean;
import org.jboss.tools.cdi.xml.CDIXMLImages;
import org.jboss.tools.common.ui.CommonUIImages;
public class CDIImages extends CommonUIImages {
private static CDIImages INSTANCE;
static {
try {
INSTANCE = new CDIImages(new URL(CDICorePlugin.getDefault().getBundle().getEntry("/"), "images/")); //$NON-NLS-1$ //$NON-NLS-2$
} catch (MalformedURLException e) {
CDICorePlugin.getDefault().logError(e);
}
}
public static final ImageDescriptor CDI_BEAN_IMAGE = getImageDescriptor("search/cdi_bean.gif"); //$NON-NLS-1$
public static final ImageDescriptor WELD_IMAGE = getImageDescriptor("search/weld_icon_16x.gif"); //$NON-NLS-1$
public static final ImageDescriptor BEAN_CLASS_IMAGE = CDIXMLImages.BEAN_CLASS_IMAGE;
public static final ImageDescriptor BEAN_METHOD_IMAGE = getImageDescriptor("bean_method.png"); //$NON-NLS-1$
public static final ImageDescriptor BEAN_FIELD_IMAGE = getImageDescriptor("bean_field.png"); //$NON-NLS-1$
public static final ImageDescriptor INJECTION_POINT_IMAGE = getImageDescriptor("injection_point.png"); //$NON-NLS-1$
public static final ImageDescriptor ANNOTATION_IMAGE = CDIXMLImages.ANNOTATION_IMAGE;
public static final ImageDescriptor CDI_EVENT_IMAGE = getImageDescriptor("event.png"); //$NON-NLS-1$
public static final ImageDescriptor BEANS_XML_IMAGE = CDIXMLImages.BEANS_XML_IMAGE;
public static final ImageDescriptor MESSAGE_BUNDLE_IMAGE = getImageDescriptor("message_bundle.gif"); //$NON-NLS-1$
public static final ImageDescriptor QUICKFIX_ADD = getImageDescriptor("quickfixes/cdi_add.png"); //$NON-NLS-1$
public static final ImageDescriptor QUICKFIX_REMOVE = getImageDescriptor("quickfixes/cdi_remove.png"); //$NON-NLS-1$
public static final ImageDescriptor QUICKFIX_EDIT = getImageDescriptor("quickfixes/cdi_edit.png"); //$NON-NLS-1$
public static final ImageDescriptor QUICKFIX_CHANGE = getImageDescriptor("quickfixes/cdi_change.png"); //$NON-NLS-1$
public static final String CDI_PROJECT_IMAGE = "wizard/CDIProjectWizBan.png"; //$NON-NLS-1$
public static final String CDI_BEANS_XML_IMAGE = "wizard/CDIBeansXMLWizBan.png"; //$NON-NLS-1$
public static final String CDI_CLASS_IMAGE = "wizard/CDIClassWizBan.png"; //$NON-NLS-1$
public static final String CDI_ANNOTATION_IMAGE = "wizard/CDIAnnotationWizBan.png"; //$NON-NLS-1$
public static Image getImage(String key) {
return getImageDescriptor(key).createImage();
}
public static ImageDescriptor getImageDescriptor(String key) {
return getInstance().getOrCreateImageDescriptor(key);
}
public static void setImageDescriptors(IAction action, String iconName) {
action.setImageDescriptor(INSTANCE.createImageDescriptor(iconName));
}
public static CDIImages getInstance() {
return INSTANCE;
}
protected CDIImages(URL registryUrl, CDIImages parent){
super(registryUrl, parent);
}
protected CDIImages(URL url){
this(url,null);
}
protected ImageRegistry getImageRegistry() {
return CDICorePlugin.getDefault().getImageRegistry();
}
public static Image getImageByElement(ICDIElement element) {
return getImage(getImageDescriptorByElement(element));
}
public static ImageDescriptor getImageDescriptorByElement(ICDIElement element) {
if(element instanceof IClassBean){
return BEAN_CLASS_IMAGE;
}else if(element instanceof IInjectionPoint){
return INJECTION_POINT_IMAGE;
}else if(element instanceof ICDIAnnotation){
return ANNOTATION_IMAGE;
}else if(element instanceof EventBean){
return CDI_EVENT_IMAGE;
}else if(element instanceof IBeanMethod){
return BEAN_METHOD_IMAGE;
}else if(element instanceof IBeanField){
return BEAN_FIELD_IMAGE;
}
return WELD_IMAGE;
}
}