/* * generated by Xtext */ package at.bestsolution.efxclipse.tooling.fxgraph.ui.labeling; import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.swt.graphics.Image; import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.BindValueProperty; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.ComponentDefinition; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.ControllerHandledValueProperty; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.CopyValueProperty; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.Define; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.Element; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.Import; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.IncludeValueProperty; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.ListValueElement; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.ListValueProperty; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.LocationValueProperty; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.MapValueProperty; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.PackageDeclaration; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.Property; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.ReferenceValueProperty; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.ResourceValueProperty; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.Script; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.ScriptHandlerHandledValueProperty; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.SimpleValueProperty; import at.bestsolution.efxclipse.tooling.fxgraph.fXGraph.StaticCallValueProperty; import at.bestsolution.efxclipse.tooling.fxgraph.ui.util.JDTHelper; import at.bestsolution.efxclipse.tooling.ui.util.IconKeys; import com.google.inject.Inject; /** * Provides labels for a EObjects. * * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider */ public class FXGraphLabelProvider extends DefaultEObjectLabelProvider { @Inject public FXGraphLabelProvider(AdapterFactoryLabelProvider delegate) { super(delegate); } String text(IncludeValueProperty element) { return element.getSource().getName(); } Image image(IncludeValueProperty element) { return IconKeys.getIcon(IconKeys.INCLUDE_KEY); } Image image(StaticCallValueProperty element) { return IconKeys.getIcon(IconKeys.STAT_METHOD_PUBLIC_KEY); } String text(PackageDeclaration element) { return element.getName(); } Image image(PackageDeclaration element) { return IconKeys.getIcon(IconKeys.PACKAGE_KEY); } String text(Import element) { return element.getImportedNamespace(); } Image image(Import element) { return IconKeys.getIcon(IconKeys.IMPORT_KEY); } String text(ComponentDefinition def) { return def.getName() + def.getController() == null ? "" : " (" + def.getController().getSimpleName() + ")"; } Image image(ComponentDefinition def) { return IconKeys.getIcon(IconKeys.COMPONENT_KEY); } String text(Element element) { return element.getType() != null ? element.getType().getSimpleName() : "<unknown>"; } Image image(Element element) { return IconKeys.getIcon(IconKeys.CLASS_KEY); } Image image(Define element) { return IconKeys.getIcon(IconKeys.DEFINES_KEY); } Image image(Script script) { return IconKeys.getIcon(IconKeys.SCRIPTS_KEY); } Image image(Property element) { if( element.getValue() instanceof Element ) { return IconKeys.getIcon(IconKeys.FIELD_KEY); } else if( element.getValue() instanceof IncludeValueProperty ) { return IconKeys.getIcon(IconKeys.INCLUDE_KEY); } else if( element.getValue() instanceof ReferenceValueProperty ) { return IconKeys.getIcon(IconKeys.REFERENCE_KEY); } else if( element.getValue() instanceof ListValueProperty ) { return IconKeys.getIcon(IconKeys.LIST_KEY); } else if( element.getValue() instanceof MapValueProperty ) { return IconKeys.getIcon(IconKeys.MAP_KEY); } else if( element.getValue() instanceof BindValueProperty ) { return IconKeys.getIcon(IconKeys.BINDING_KEY); } else if( element.getValue() instanceof ControllerHandledValueProperty ) { return IconKeys.getIcon(IconKeys.EVENT_KEY); } else if( element.getValue() instanceof CopyValueProperty ) { return IconKeys.getIcon(IconKeys.COPY_KEY); } else if( element.getValue() instanceof LocationValueProperty ) { return IconKeys.getIcon(IconKeys.LOCATION_KEY); } else if( element.getValue() instanceof ResourceValueProperty ) { return IconKeys.getIcon(IconKeys.EXTERNALIZED_STRING_KEY); } else if( element.getValue() instanceof ScriptHandlerHandledValueProperty ) { return IconKeys.getIcon(IconKeys.EVENT_KEY); } else if( element.getValue() instanceof SimpleValueProperty ) { return IconKeys.getIcon(IconKeys.FIELD_KEY); } System.err.println("Unknown for: " + element.getValue()); return null; } /* //Labels and icons can be computed like this: String text(MyModel ele) { return "my "+ele.getName(); } String image(MyModel ele) { return "MyModel.gif"; } */ }