/* * generated by Xtext */ package com.robotoworks.mechanoid.net.ui.labeling; import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; import org.eclipse.xtext.serializer.ISerializer; import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider; import com.google.inject.Inject; import com.robotoworks.mechanoid.net.generator.ModelExtensions; import com.robotoworks.mechanoid.net.netModel.Client; import com.robotoworks.mechanoid.net.netModel.ComplexTypeDeclaration; import com.robotoworks.mechanoid.net.netModel.EnumMember; import com.robotoworks.mechanoid.net.netModel.EnumTypeDeclaration; import com.robotoworks.mechanoid.net.netModel.Header; import com.robotoworks.mechanoid.net.netModel.HeaderBlock; import com.robotoworks.mechanoid.net.netModel.HttpMethod; import com.robotoworks.mechanoid.net.netModel.Member; import com.robotoworks.mechanoid.net.netModel.Model; import com.robotoworks.mechanoid.net.netModel.ResponseBlock; import com.robotoworks.mechanoid.net.netModel.Type; import com.robotoworks.mechanoid.net.netModel.TypedMember; /** * Provides labels for a EObjects. * * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider */ public class NetModelLabelProvider extends DefaultEObjectLabelProvider { @Inject ISerializer serializer; @Inject public NetModelLabelProvider(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 image(Model ele) { return "package.gif"; } String image(ComplexTypeDeclaration ele) { return "entity_obj.gif"; } String image(EnumTypeDeclaration ele) { return "enum_obj.gif"; } String image(Member ele) { return "member_obj.gif"; } String image(EnumMember ele) { return "member_obj.gif"; } String image(HttpMethod ele) { return "httpmethod_obj.gif"; } String image(Client ele) { return "client_obj.gif"; } String text(Member ele) { if(ele instanceof TypedMember) { return ele.getName() + " : " + ModelExtensions.signature(((TypedMember)ele).getType()); } return ele.getName(); } String text(HttpMethod ele) { ResponseBlock block = ModelExtensions.getResponseBlock(ele); String name = ele.getName(); name += " " + serializer.serialize(ele.getPath()).replaceAll("([a-zA-Z0-9_\\^]+):[a-zA-Z0-9_\\^]+", "{$1}"); if(block != null && block.getType() instanceof Type) { if(block.getType() instanceof Type) { name += " : " + ModelExtensions.signature((Type)block.getType()); } } return name; } String text (HeaderBlock ele) { return "headers"; } String text (Header ele) { return ele.getName() + " : " + ele.getValue(); } }