/*******************************************************************************
* Copyright (c) 2011, 2014 Ericsson
*
* 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:
* Francois Chouinard - Initial API and implementation
* Patrick Tasse - Add support for unknown trace type icon
*******************************************************************************/
package org.eclipse.tracecompass.tmf.ui.project.model;
import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.StyledString;
import org.eclipse.jface.viewers.StyledString.Styler;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.navigator.ICommonContentExtensionSite;
import org.eclipse.ui.navigator.ICommonLabelProvider;
/**
* The TMF project label provider for the tree viewer in the project explorer view.
* <p>
* @version 1.0
* @author Francois Chouinard
*/
public class TmfNavigatorLabelProvider implements ICommonLabelProvider, IStyledLabelProvider {
// ------------------------------------------------------------------------
// ICommonLabelProvider
// ------------------------------------------------------------------------
@Override
public Image getImage(Object element) {
if (element instanceof ITmfProjectModelElement) {
return ((ITmfProjectModelElement) element).getIcon();
}
return null;
}
@Override
public String getText(Object element) {
if (element instanceof ITmfProjectModelElement) {
return ((ITmfProjectModelElement) element).getLabelText();
}
return null;
}
@Override
public void addListener(ILabelProviderListener listener) {
}
@Override
public void dispose() {
}
@Override
public boolean isLabelProperty(Object element, String property) {
return false;
}
@Override
public void removeListener(ILabelProviderListener listener) {
}
@Override
public void restoreState(IMemento aMemento) {
}
@Override
public void saveState(IMemento aMemento) {
}
@Override
public String getDescription(Object anElement) {
return getText(anElement);
}
@Override
public void init(ICommonContentExtensionSite aConfig) {
}
@Override
public StyledString getStyledText(Object element) {
String text = getText(element);
if (text != null) {
if (element instanceof ITmfStyledProjectModelElement) {
Styler styler = ((ITmfStyledProjectModelElement) element).getStyler();
if (styler != null) {
return new StyledString(text, styler);
}
}
return new StyledString(text);
}
return null;
}
}