package com.hundsun.ares.studio.jres.metadata.ui.viewer;
import org.apache.commons.lang.StringUtils;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import com.hundsun.ares.studio.core.IARESResource;
import com.hundsun.ares.studio.jres.metadata.ui.MetadataUI;
import com.hundsun.ares.studio.jres.model.metadata.MenuItem;
import com.hundsun.ares.studio.ui.editor.viewers.EObjectColumnLabelProvider;
import com.hundsun.ares.studio.ui.editor.viewers.IEStructuralFeatureProvider;
public class MenuHeaderColumnLabelProvider extends EObjectColumnLabelProvider {
private static Image IMG_MENU = MetadataUI.getImage2("icons/full/obj16/menu.gif");
private IARESResource resource;
public MenuHeaderColumnLabelProvider(EStructuralFeature attribute , IARESResource resource) {
super(attribute);
this.resource = resource;
}
public MenuHeaderColumnLabelProvider(
IEStructuralFeatureProvider attributeProvider) {
super(attributeProvider);
}
@Override
protected Image doGetImage(Object element) {
if (element instanceof MenuItem) {
return IMG_MENU;
}
return super.doGetImage(element);
}
@Override
public Color getBackground(Object element) {
if(element instanceof MenuItem){
MenuItem item = (MenuItem)element;
if(StringUtils.isNotBlank(item.getRefId())){
return Display.getDefault().getSystemColor(SWT.COLOR_GRAY);
}
}
if (resource.isReadOnly()) {
return Display.getDefault().getSystemColor(SWT.COLOR_GRAY);
}
return super.getBackground(element);
}
}