/*
* generated by Xtext
*/
package it.xsemantics.example.fj.ui.labeling;
import it.xsemantics.example.fj.fj.*;
import java.util.ListIterator;
import org.eclipse.emf.common.util.EList;
import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider;
/**
* see
* http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider
*/
public class FJLabelProvider extends DefaultEObjectLabelProvider {
/*
*
* //Labels and icons can be computed like this:
*
* String text(MyModel ele) { return "my "+ele.getName(); }
*
* String image(MyModel ele) { return "MyModel.gif"; }
*/
String image(it.xsemantics.example.fj.fj.Class ele) {
return "class_obj.gif";
}
String image(Field f) {
return "field_public_obj.gif";
}
String text(Field f) {
return f.getName() + " : " + getText(f.getType());
}
String text(BasicType type) {
return type.getBasic();
}
String text(ClassType type) {
return (type.getClassref() != null ? type.getClassref().getName()
: "");
}
String image(Method m) {
return "methdef_obj.gif";
}
String text(Method m) {
return m.getName() + "(" + listToText(m.getParams()) + ") : "
+ getText(m.getType());
}
String text(Parameter param) {
return getText(param.getType());
}
String text(Expression e) {
if (e.eContainer().eClass().getClassifierID() == FjPackage.PROGRAM) {
return "Main";
}
return "expression";
}
String image(Expression e) {
if (e.eContainer().eClass().getClassifierID() == FjPackage.PROGRAM) {
return "methpub_obj.gif";
}
return null;
}
String listToText(EList<Parameter> list) {
StringBuffer buffer = new StringBuffer();
ListIterator<Parameter> it = list.listIterator();
while (it.hasNext()) {
buffer.append(text(it.next()));
if (it.hasNext())
buffer.append(", ");
}
return buffer.toString();
}
}