/** * Դ�������ƣ�MetadataOverviewMapColumnLabelProvider.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.metadata.ui * ����˵����$desc * ����ĵ��� * ���ߣ���Ҷ�� */ package com.hundsun.ares.studio.jres.metadata.ui.viewer; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EReference; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.widgets.Display; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.jres.metadata.ui.model.MetadataOverviewElement; import com.hundsun.ares.studio.jres.model.metadata.MetadataItem; import com.hundsun.ares.studio.jres.model.metadata.util.CircularReferenceException; import com.hundsun.ares.studio.jres.model.metadata.util.MetadataUtil; import com.hundsun.ares.studio.ui.editor.viewers.EObjectMapColumnLabelProvider; /** * @author gongyf * */ public class MetadataOverviewMapColumnLabelProvider extends EObjectMapColumnLabelProvider { /** * @param reference * @param key */ public MetadataOverviewMapColumnLabelProvider(EReference reference, Object key) { super(reference, key); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.metadata.ui.viewer.MetadataColumnLabelProvider#getOwner(java.lang.Object) */ @Override protected EObject getOwner(Object element) { // �������õĴ��� MetadataItem item = ((MetadataOverviewElement) element).getItem(); IARESResource resource = ((MetadataOverviewElement) element).getResource(); if (MetadataUtil.isReferencableFeature(item, getReference())) { MetadataItem entity = null; try { entity = MetadataUtil.defaultResolve(item, resource).first; } catch (CircularReferenceException e) { } return entity == null ? item : entity; } return item; } @Override public Color getBackground(Object element) { MetadataOverviewElement moe = (MetadataOverviewElement) element; if (moe.isConflict()) { return Display.getDefault().getSystemColor(SWT.COLOR_YELLOW); } return super.getBackground(element); } }