// ============================================================================
//
// Copyright (C) 2006-2016 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.cwm.compare.ui.actions.provider;
import org.eclipse.core.resources.IFile;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
/**
* DOC mzhao 2009-03-10 class global comment. Detailled comment
*/
public class CompareModelStructureLabelProvider extends LabelProvider {
/**
* We use this generic label provider, but we want to customize some aspects that's why we choose to aggregate it.
*/
AdapterFactoryLabelProvider adapterProvider;
/**
* Default constructor.
*/
public CompareModelStructureLabelProvider() {
// adapterProvider = new AdapterFactoryLabelProvider(AdapterUtils.getAdapterFactory());
}
/**
* Returns the platform icon for a given {@link IFile}. If not an {@link IFile}, delegates to the
* {@link AdapterFactoryLabelProvider} to get the {@link Image}.
*
* @param object Object to get the {@link Image} for.
* @return The platform icon for the given object.
* @see AdapterFactoryLabelProvider#getImage(Object)
*/
@Override
public Image getImage(Object object) {
Image image = null;
// if (object instanceof AbstractDiffExtension) {
// image = (Image) ((AbstractDiffExtension) object).getImage();
// }
// if (object instanceof IFile) {
// image = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
// } else {
// if (image == null) {
// image = adapterProvider.getImage(object);
// }
// }
return image;
}
/**
* Returns the name of the given {@link IFile}, delegates to {@link AdapterFactoryLabelProvider#getText(Object)} if
* not an {@link IFile}. MOD mzhao 2009-03-10 adapt for upper panel customized displaying items.
*
* @param object Object we seek the name for.
* @return The name of the given object.
* @see AdapterFactoryLabelProvider#getText(Object)
*/
@Override
public String getText(Object object) {
String text = null;
// if (object instanceof AbstractDiffExtension) {
// text = ((AbstractDiffExtension) object).getText();
// } else {
// if (object instanceof IFile) {
// text = ((IFile) object).getName();
// } else {
// if (object instanceof DiffGroup) {
// DiffGroup diffGroup = (DiffGroup) object;
// int subChanges = diffGroup.getSubchanges();
// text = Messages.getString("CompareModelStructureLabelProvider.ChangeInModel", subChanges); //$NON-NLS-1$
// if (diffGroup.getRightParent() != null && diffGroup.getRightParent() instanceof ModelElement) {
// text += ":\"" + ((ModelElement) diffGroup.getRightParent()).getName() + "\"";//$NON-NLS-1$ //$NON-NLS-2$
// }
// } else if (object instanceof ModelElementChangeRightTarget) {
// ModelElementChangeRightTarget addModelElement = (ModelElementChangeRightTarget) object;
//
// String modelName = ""; //$NON-NLS-1$
// EObject leftElement = addModelElement.getRightElement();
// if (leftElement != null && leftElement instanceof ModelElement) {
// modelName = ((ModelElement) leftElement).getName();
// }
// text = Messages.getString("CompareModelStructureLabelProvider.ModelAdded", modelName); //$NON-NLS-1$
//
// } else if (object instanceof ModelElementChangeLeftTarget) {
// ModelElementChangeLeftTarget removeModelElement = (ModelElementChangeLeftTarget) object;
// String modelName = ""; //$NON-NLS-1$
// EObject leftElement = removeModelElement.getLeftElement();
// if (leftElement != null && leftElement instanceof ModelElement) {
// modelName = ((ModelElement) leftElement).getName();
// }
// EObject rightElement = removeModelElement.getLeftElement();
// if (rightElement != null && rightElement instanceof ModelElement) {
// modelName = ((ModelElement) rightElement).getName();
// }
// text = Messages.getString("CompareModelStructureLabelProvider.ModelRemoved", modelName); //$NON-NLS-1$
// } else {
// text = adapterProvider.getText(object);
// }
// }
// }
return text;
}
}