/**
* This file is protected by Copyright.
* Please refer to the COPYRIGHT file distributed with this source distribution.
*
* This file is part of REDHAWK IDE.
*
* All rights reserved. This program and the accompanying materials are made available under
* the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html.
*
*/
package gov.redhawk.ui.parts;
import org.eclipse.core.runtime.Assert;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.swt.graphics.Image;
/**
* @since 8.0
*/
public class UnwrappingLabelProvider implements ILabelProvider {
private ILabelProvider provider;
public UnwrappingLabelProvider(ILabelProvider provider) {
Assert.isNotNull(provider);
this.provider = provider;
}
@Override
public Image getImage(Object element) {
return provider.getImage(unwrap(element));
}
@Override
public String getText(Object element) {
return provider.getText(unwrap(element));
}
@Override
public void addListener(ILabelProviderListener listener) {
provider.addListener(listener);
}
@Override
public boolean isLabelProperty(Object element, String property) {
return provider.isLabelProperty(unwrap(element), property);
}
@Override
public void removeListener(ILabelProviderListener listener) {
provider.removeListener(listener);
}
@Override
public void dispose() {
provider.dispose();
provider = null;
}
private Object unwrap(Object element) {
return AdapterFactoryEditingDomain.unwrap(element);
}
}