/*******************************************************************************
* 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.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.emf.mwe2.language.mwe2.util.Mwe2Switch;
import org.eclipse.xtext.common.types.TypesPackage;
import org.eclipse.xtext.resource.IEObjectDescription;
import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider;
/**
* Provides labels for a IEObjectDescriptions and IResourceDescriptions.
*
* see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider
*/
public class Mwe2DescriptionLabelProvider extends DefaultDescriptionLabelProvider {
private Mwe2Switch<String> imageSwitch = new Mwe2Switch<String>() {
@Override
public String caseComponent(Component component) {
return "class_obj.gif";
}
@Override
public String caseModule(Module module) {
return "package_obj.gif";
}
@Override
public String caseImport(Import imp) {
return "imp_obj.gif";
}
@Override
public String caseStringLiteral(StringLiteral literal) {
return "methpro_obj.gif";
}
@Override
public String caseBooleanLiteral(BooleanLiteral literal) {
return "methdef_obj.gif";
}
@Override
public String caseReference(Reference reference) {
return "occ_match.gif";
}
@Override
public String caseAssignment(Assignment ass) {
return "methpub_obj.gif";
}
@Override
public String caseDeclaredProperty(DeclaredProperty property) {
return "field_protected_obj.gif";
}
};
// @Override
// public String text(IEObjectDescription ele) {
// return "my "+ele.getName();
// }
@Override
public String image(IEObjectDescription ele) {
if (TypesPackage.Literals.JVM_OPERATION.isSuperTypeOf(ele.getEClass()))
return "methpub_obj.gif";
if (TypesPackage.Literals.JVM_TYPE.isSuperTypeOf(ele.getEClass()))
return "class_obj.gif";
return imageSwitch.doSwitch(ele.getEObjectOrProxy());
}
}