package org.jbpm.gd.common.properties; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.graphics.Image; import org.jbpm.gd.common.model.SemanticElement; import org.jbpm.gd.common.part.NotationElementGraphicalEditPart; import org.jbpm.gd.common.part.OutlineEditPart; import org.jbpm.gd.common.util.SharedImages; public class ElementLabelProvider implements ILabelProvider { private SemanticElement getJpdlElement(Object element) { SemanticElement result = null; if (element instanceof IStructuredSelection) { element = ((IStructuredSelection)element).getFirstElement(); } if (element instanceof NotationElementGraphicalEditPart) { result = (SemanticElement)((NotationElementGraphicalEditPart)element).getNotationElement().getSemanticElement(); } else if (element instanceof OutlineEditPart) { result = (SemanticElement)((OutlineEditPart)element).getModel(); } return result; } public Image getImage(Object element) { Image result = null; SemanticElement jpdlElement = getJpdlElement(element); if (jpdlElement != null) { result = SharedImages.INSTANCE.getImage(jpdlElement.getIconDescriptor()); } return result; } public String getText(Object element) { String result = element.toString(); SemanticElement jpdlElement = getJpdlElement(element); if (jpdlElement != null) { result = jpdlElement.getLabel(); return result != null ? result : jpdlElement.getElementId(); } return result; } public void addListener(ILabelProviderListener listener) { } public void dispose() { } public boolean isLabelProperty(Object element, String property) { return false; } public void removeListener(ILabelProviderListener listener) { } }