package com.hundsun.ares.studio.jres.metadata.ui.viewer;
import org.apache.commons.lang.StringUtils;
import org.eclipse.jface.viewers.ColumnLabelProvider;
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.IARESModule;
import com.hundsun.ares.studio.core.IARESModuleRoot;
import com.hundsun.ares.studio.core.registry.IModuleRootDescriptor;
import com.hundsun.ares.studio.core.registry.ModulesRootTypeRegistry;
import com.hundsun.ares.studio.ui.CommonElementContentProvider;
import com.hundsun.ares.studio.ui.CommonElementLabelProvider;
public class IDRangeHeaderLabelProvider extends ColumnLabelProvider {
CommonElementLabelProvider lb;
public IDRangeHeaderLabelProvider() {
lb = new CommonElementLabelProvider(new CommonElementContentProvider());
}
@Override
public String getText(Object element) {
if(element instanceof IARESModule){
IARESModule module = (IARESModule)element;
if(module.getElementName().indexOf('.') == -1){
return getRootCName(module.getRoot()) + "/" + lb.getText(element);
}
}
return lb.getText(element);
}
private String getRootCName(IARESModuleRoot root){
String type = root.getType();
IModuleRootDescriptor rootDesc = ModulesRootTypeRegistry.getInstance().getModuleRootDescriptor(type);
if (rootDesc != null && !StringUtils.isEmpty(rootDesc.getName()))
return rootDesc.getName();
return root.getElementName();
}
@Override
public Image getImage(Object element) {
return lb.getImage(element);
}
@Override
public Color getBackground(Object element) {
return Display.getDefault().getSystemColor(SWT.COLOR_GRAY);
}
}