/**
*
*/
package de.urszeidler.shr5.ecp.util;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import de.urszeidler.eclipse.shr5.gameplay.provider.GameplayEditPlugin;
import de.urszeidler.eclipse.shr5.provider.Shr5EditPlugin;
import de.urszeidler.eclipse.shr5.util.AdapterFactoryUtil;
import de.urszeidler.eclipse.shr5Management.provider.Shr5ManagementEditPlugin;
import de.urszeidler.shr5.scripting.provider.ScriptingEditPlugin;
/**
* @author urs
*
*/
public class DefaultLabelProvider extends LabelProvider {
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
*/
@Override
public Image getImage(Object element) {
return AdapterFactoryUtil.getInstance().getLabelProvider().getImage(element);
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
*/
@Override
public String getText(Object element) {
if (element instanceof EClass) {
EClass eclass = (EClass)element;
return getEClassName(eclass);
}
return AdapterFactoryUtil.getInstance().getLabelProvider().getText(element);
}
/**
* @param eclass
* @return
*/
public static String getEClassName(EClass eclass) {
String key = "_UI_" + eclass.getName() + "_type";
try {
String packageName = eclass.getEPackage().getName();
if(packageName.equals("gameplay")){
return GameplayEditPlugin.INSTANCE.getString(key);
}else if(packageName.equals("shr5Management")){
return Shr5ManagementEditPlugin.INSTANCE.getString(key);
}else if(packageName.equals("scripting")){
return ScriptingEditPlugin.INSTANCE.getString(key);
}
return Shr5EditPlugin.INSTANCE.getString(key);
} catch (Exception e) {
return eclass.getName();
}
}
}