/******************************************************************************* * Copyright (c) 2012 BMW Car IT and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ /* * generated by Xtext */ package org.jnario.suite.ui.labeling; import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.xtend.core.jvmmodel.IXtendJvmAssociations; import org.eclipse.xtend.ide.labeling.XtendImages; import org.eclipse.xtend.ide.labeling.XtendLabelProvider; import org.eclipse.xtext.common.types.JvmVisibility; import org.eclipse.xtext.xbase.ui.labeling.XbaseImageAdornments; import org.jnario.suite.jvmmodel.SuiteClassNameProvider; import org.jnario.suite.suite.Suite; import com.google.inject.Inject; /** * Provides labels for a EObjects. * * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider */ @SuppressWarnings("restriction") public class SuiteLabelProvider extends XtendLabelProvider { @Inject public SuiteLabelProvider(AdapterFactoryLabelProvider delegate) { super(delegate); } @Inject private SuiteClassNameProvider nameProvider; @Inject private XtendImages images; @Inject private XbaseImageAdornments adornments; @Inject private IXtendJvmAssociations associations; @Override protected ImageDescriptor imageDescriptor(Object operation) { if (operation instanceof Suite) { return _imageDescriptor((Suite)operation); } return super.imageDescriptor(operation); } public ImageDescriptor _imageDescriptor(Suite element) { return images.forClass(JvmVisibility.PUBLIC, adornments.get(associations.getInferredType(element))); } public String text(Suite element) { return nameProvider.describe(element); } }