/*******************************************************************************
* Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. 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
*
* Contributors:
* Wind River Systems - initial API and implementation
*******************************************************************************/
package org.eclipse.tcf.te.tcf.filesystem.ui.internal.columns;
import org.eclipse.swt.graphics.Image;
import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode;
import org.eclipse.tcf.te.runtime.utils.Host;
import org.eclipse.tcf.te.tcf.filesystem.core.interfaces.runtime.IFSTreeNode;
import org.eclipse.tcf.te.tcf.filesystem.ui.activator.UIPlugin;
import org.eclipse.tcf.te.ui.trees.PendingAwareLabelProvider;
/**
* The label provider for the tree column "name".
*/
public class FSTreeElementLabelProvider extends PendingAwareLabelProvider {
// The image provider to provide platform specific images.
private ImageProvider imgProvider;
/**
* Constructor.
*/
public FSTreeElementLabelProvider() {
if(Host.isWindowsHost()) {
imgProvider = new WindowsImageProvider();
}
else {
imgProvider = new DefaultImageProvider();
}
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
*/
@Override
public String getText(Object element) {
if (element instanceof IFSTreeNode) {
return ((IFSTreeNode) element).getName();
}
else if (element instanceof IModelNode) {
return ((IModelNode)element).getName();
}
return super.getText(element);
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
*/
@Override
public Image getImage(Object element) {
if (element instanceof IFSTreeNode) {
IFSTreeNode node = (IFSTreeNode) element;
return imgProvider.getImage(node);
}
else if (element instanceof IModelNode) {
return UIPlugin.getImage(((IModelNode)element).getImageId());
}
return super.getImage(element);
}
}