/** * Դ�������ƣ�MetadataOverviewColumnLabelProvider.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.EAttribute; import org.eclipse.emf.ecore.EObject; 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.BaseEObjectColumnLabelProvider; import com.hundsun.ares.studio.ui.editor.viewers.IEStructuralFeatureProvider; /** * ����ҳ��ı�ǩ�ṩ��<BR> * ����ҳ�����Ŀģ����<code>{@link com.hundsun.ares.studio.jres.metadata.ui.model.MetadataOverviewElement MetadataOverviewElement}</code> * @author gongyf * */ public class MetadataOverviewColumnLabelProvider extends BaseEObjectColumnLabelProvider { /** * @param attribute */ public MetadataOverviewColumnLabelProvider(EAttribute attribute) { super(attribute); } /** * @param attributeProvider */ public MetadataOverviewColumnLabelProvider( IEStructuralFeatureProvider attributeProvider) { super(attributeProvider); } /* (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, getEStructuralFeature(element))) { 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); } }