text: /**
   * Aptana Studio
   * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
   * Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions).
   * Please see the license.html included with this distribution for details.
   * Any modifications to this file must keep this entire header intact.
   */
  package com.aptana.index.core.ui.views;
  
  import java.util.List;
  
  import org.eclipse.jface.viewers.IColorProvider;
  import org.eclipse.jface.viewers.IFontProvider;
  import org.eclipse.jface.viewers.ILabelProvider;
  import org.eclipse.jface.viewers.ILabelProviderListener;
  import org.eclipse.swt.graphics.Color;
  import org.eclipse.swt.graphics.Font;
  import org.eclipse.swt.graphics.Image;
  
  import com.aptana.core.util.StringUtil;
  
  /**
   * IndexViewLabelProvider
   */
  public class IndexViewLabelProvider extends AbstractProvider<ILabelProvider> implements ILabelProvider, IColorProvider,
  		IFontProvider
  {
  	/*
  	 * (non-Javadoc)
  	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
  	 */
  	public void addListener(ILabelProviderListener listener)
  	{
  	}
  
  	/*
  	 * (non-Javadoc)
  	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
  	 */
  	public void dispose()
  	{
  		// do nothing
  	}
  
  	/*
  	 * (non-Javadoc)
  	 * @see com.aptana.index.core.ui.views.ClassProcessor#getAttributeName()
  	 */
  	@Override
  	public String getAttributeName()
  	{
  		return "label-provider"; //$NON-NLS-1$
  	}
  
  	/*
  	 * (non-Javadoc)
  	 * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
  	 */
  	public Color getBackground(Object element)
  	{
  		return null;
  	}
  
  	/*
  	 * (non-Javadoc)
  	 * @see org.eclipse.jface.viewers.IFontProvider#getFont(java.lang.Object)
  	 */
  	public Font getFont(Object element)
  	{
  		return null;
  	}
  
  	/*
  	 * (non-Javadoc)
  	 * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
  	 */
  	public Color getForeground(Object element)
  	{
  		return null;
  	}
  
  	/*
  	 * (non-Javadoc)
  	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
  	 */
  	public Image getImage(Object element)
  	{
  		List<ILabelProvider> providers = this.getProcessors();
  		Image result = null;
  
  		for (ILabelProvider provider : providers)
  		{
  			result = provider.getImage(element);
  
  			if (result != null)
  			{
  				break;
  			}
  		}
  
  		return result;
  	}
  
  	/*
  	 * (non-Javadoc)
  	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
  	 */
  	public String getText(Object element)
  	{
  		List<ILabelProvider> providers = this.getProcessors();
  		String result = StringUtil.EMPTY;
  
  		for (ILabelProvider provider : providers)
  		{
  			String text = provider.getText(element);
  
  			if (!StringUtil.isEmpty(text))
  			{
  				result = text;
  				break;
  			}
  		}
  
  		return result;
  	}
  
  	/*
  	 * (non-Javadoc)
  	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
  	 */
  	public boolean isLabelProperty(Object element, String property)
  	{
  		return false;
  	}
  
  	/*
  	 * (non-Javadoc)
  	 * @see
  	 * org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
  	 */
  	public void removeListener(ILabelProviderListener listener)
  	{
  	}
  }
  