Package runjettyrun.tabs.action.helper

Source Code of runjettyrun.tabs.action.helper.ProjectLabelProvider

package runjettyrun.tabs.action.helper;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.model.IWorkbenchAdapter;

/**
* Extracted from DefaultLabelProvider , only for IProject .
* @author tony
*
*/
public class ProjectLabelProvider implements ILabelProvider{

  private Map<ImageDescriptor, Image> fImages = new HashMap<ImageDescriptor, Image>();

  public void addListener(ILabelProviderListener listener) {

  }

  public void dispose() {
    Iterator<Image> iterator = fImages.values().iterator();
    while (iterator.hasNext()) {
      Image image = (Image) iterator.next();
      image.dispose();
    }
    fImages.clear();
  }

  public boolean isLabelProperty(Object element, String property) {
    return false;
  }

  public void removeListener(ILabelProviderListener listener) {

  }

  private Image getImage(ImageDescriptor descriptor) {
    Image image = (Image) fImages.get(descriptor);
    if (image != null) {
      return image;
    }
    image = descriptor.createImage();
    if (image != null) {
      fImages.put(descriptor, image);
    }
    return image;
  }

  public Image getImage(Object element) {
    if (element instanceof IAdaptable) {
      IWorkbenchAdapter de= (IWorkbenchAdapter) ((IAdaptable) element).getAdapter(IWorkbenchAdapter.class);
      if (de != null) {
        ImageDescriptor descriptor= de.getImageDescriptor(element);
        if( descriptor != null) {
          return getImage(descriptor);
        }
      }
      return null;
    }
    return null;
  }

  public String getText(Object element) {
    if (element instanceof IAdaptable) {
      IWorkbenchAdapter de= (IWorkbenchAdapter) ((IAdaptable) element).getAdapter(IWorkbenchAdapter.class);
      if (de != null) {
        return de.getLabel(element);
      }
    }
    return "";
  }


}
TOP

Related Classes of runjettyrun.tabs.action.helper.ProjectLabelProvider

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.