/* * generated by Xtext */ package com.robotoworks.mechanoid.ops.ui.labeling; import java.util.ArrayList; import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider; import org.eclipse.xtext.util.Strings; import com.google.common.collect.Iterables; import com.google.inject.Inject; import com.robotoworks.mechanoid.ops.opServiceModel.Model; import com.robotoworks.mechanoid.ops.opServiceModel.Operation; import com.robotoworks.mechanoid.ops.opServiceModel.ServiceBlock; /** * Provides labels for a EObjects. * * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider */ public class OpServiceModelLabelProvider extends DefaultEObjectLabelProvider { @Inject public OpServiceModelLabelProvider(AdapterFactoryLabelProvider delegate) { super(delegate); } /* //Labels and icons can be computed like this: String text(MyModel ele) { return "my "+ele.getName(); } String image(MyModel ele) { return "MyModel.gif"; } */ String text(Operation op) { int numArgs = op.getArgs().size(); if(numArgs == 0) { return op.getName() + "()"; } ArrayList<String> typeNames = new ArrayList<String>(numArgs); for(int i=0; i < op.getArgs().size(); i++) { typeNames.add(op.getArgs().get(i).getType().getLiteral()); } String args = Strings.concat(",", typeNames); return op.getName() + "(" + args + ")"; } String image(Model ele) { return "package_obj.gif"; } String image(ServiceBlock ele) { return "service_obj.gif"; } String image(Operation ele) { return "operation_obj.gif"; } }