/******************************************************************************* * 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; } }