/* * generated by Xtext */ package com.framsticks.framclipse.ui.labeling; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider; import com.framsticks.framclipse.framScript.Code; import com.framsticks.framclipse.framScript.FramclipseClass; import com.framsticks.framclipse.framScript.Function; import com.framsticks.framclipse.framScript.Header; import com.framsticks.framclipse.framScript.IncludeDeclaration; import com.framsticks.framclipse.framScript.IntHeader; import com.framsticks.framclipse.framScript.Property; import com.framsticks.framclipse.framScript.ProposableVariableDeclarationImpl; import com.framsticks.framclipse.framScript.State; import com.framsticks.framclipse.framScript.VariableDeclaration; import com.framsticks.framclipse.framScript.VariableDeclarations; import com.google.inject.Inject; /** * Provides labels for a EObjects. * * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider */ public class FramScriptLabelProvider extends DefaultEObjectLabelProvider { @Inject public FramScriptLabelProvider(AdapterFactoryLabelProvider delegate) { super(delegate); } public String text(Function f) { StringBuilder sb = new StringBuilder(f.getName()); sb.append('('); EList params = f.getParams(); for (int i = 0; i < params.size(); i++) { sb.append(getText(params.get(i))); if (i < params.size() - 1) { sb.append(", "); } } sb.append(')'); return sb.toString(); } public String image(Function obj) { return "method.gif"; } public String text(VariableDeclaration obj) { return obj.getName(); } public String image(VariableDeclaration obj) { EObject container = obj.eContainer(); if (container instanceof VariableDeclarations && container.eContainer() instanceof Code) { return "field.gif"; } else { return "local.gif"; } } public String image(ProposableVariableDeclarationImpl obj) { return obj.isType() ? "class.gif" : "field.gif"; } public String text(Header h) { return h.getName() + ": " + h.getValue(); } public String text(IntHeader h) { return h.getName() + " " + h.getIntValue(); } public String image(Header obj) { return "header.gif"; } public String text(IncludeDeclaration obj) { return obj.getImportURI(); } public String image(IncludeDeclaration obj) { return "include.gif"; } public String text(Property obj) { return obj.getName(); } public String image(Property obj) { return "property.gif"; } public String text(State obj) { return obj.getName(); } public String image(State obj) { return "state.gif"; } public String text(FramclipseClass obj) { return obj.getClass().getSimpleName().replace("Impl", ""); } public String image(FramclipseClass obj) { return "class.gif"; } public String text(EObject obj) { return obj.eClass().getName(); } }