Package enfo.ui.view

Source Code of enfo.ui.view.ViewLabelProvider

package enfo.ui.view;

import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.views.IViewCategory;
import org.eclipse.ui.views.IViewDescriptor;

public class ViewLabelProvider extends LabelProvider {

  private ImageRegistry images;

  /**
   * Not to be disposed.
   */
  private Image sharedImg;

  public ViewLabelProvider() {
    images = new ImageRegistry(PlatformUI.getWorkbench().getDisplay());
    sharedImg = PlatformUI.getWorkbench().getSharedImages()
        .getImage(ISharedImages.IMG_OBJ_FOLDER);
  }

  @Override
  public Image getImage(Object element) {
    if (element instanceof IViewCategory) {
      return sharedImg;

    } else if (element instanceof IViewDescriptor) {

      IViewDescriptor view = (IViewDescriptor) element;
      Image img = images.get(view.getId());
      if (img == null) {
        img = view.getImageDescriptor().createImage();
        images.put(view.getId(), img);
      }
      return img;
    }
    return null;
  }

  @Override
  public void dispose() {
    images.dispose();
    super.dispose();
  }

  @Override
  public String getText(Object element) {
    if (element instanceof IViewDescriptor) {
      return ((IViewDescriptor) element).getLabel().replace("&", "");
    } else if (element instanceof IViewCategory) {
      return ((IViewCategory) element).getLabel().replace("&", "");
    }
    return null;
  }
}
TOP

Related Classes of enfo.ui.view.ViewLabelProvider

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.