/*******************************************************************************
* Copyright (c) 2008,2010 itemis AG (http://www.itemis.eu) and others.
* 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
*
*******************************************************************************/
package org.eclipse.emf.mwe2.language.ui.labeling;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
import org.eclipse.emf.mwe2.language.mwe2.Assignment;
import org.eclipse.emf.mwe2.language.mwe2.BooleanLiteral;
import org.eclipse.emf.mwe2.language.mwe2.Component;
import org.eclipse.emf.mwe2.language.mwe2.DeclaredProperty;
import org.eclipse.emf.mwe2.language.mwe2.Import;
import org.eclipse.emf.mwe2.language.mwe2.Module;
import org.eclipse.emf.mwe2.language.mwe2.Reference;
import org.eclipse.emf.mwe2.language.mwe2.StringLiteral;
import org.eclipse.xtext.common.types.JvmMember;
import org.eclipse.xtext.common.types.JvmOperation;
import org.eclipse.xtext.common.types.JvmType;
import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider;
import com.google.inject.Inject;
/**
* Provides labels for a EObjects.
*
* see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider
*/
public class Mwe2LabelProvider extends DefaultEObjectLabelProvider {
@Inject
public Mwe2LabelProvider(AdapterFactoryLabelProvider delegate) {
super(delegate);
}
public String image(Component component) {
return "class_obj.gif";
}
public String image(Module module) {
return "package_obj.gif";
}
public String image(Import imp) {
return "imp_obj.gif";
}
public String image(StringLiteral literal) {
return "methpro_obj.gif";
}
public String image(BooleanLiteral literal) {
return "methdef_obj.gif";
}
public String image(Reference reference) {
return "occ_match.gif";
}
public String image(Assignment ass) {
return "methpub_obj.gif";
}
public String image(JvmOperation feature) {
return "methpub_obj.gif";
}
public String image(JvmType feature) {
return "class_obj.gif";
}
public String image(DeclaredProperty property) {
return "field_protected_obj.gif";
}
public String text(Component component) {
if (component.getName() != null)
return component.getName();
if (component.getModule() != null)
return component.getModule().getCanonicalName();
JvmType type = component.getActualType();
if (type != null) {
if (type instanceof JvmMember)
return ((JvmMember) type).getSimpleName();
return type.getQualifiedName('.');
}
return "Component";
}
}