package com.redhat.ceylon.eclipse.code.preferences; import org.eclipse.jdt.internal.debug.ui.Filter; import org.eclipse.jdt.ui.ISharedImages; import org.eclipse.jdt.ui.JavaUI; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; /** * Label provider for Filter model objects */ public class FilterLabelProvider extends LabelProvider implements ITableLabelProvider { private static final Image IMG_CLASS = JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_CLASS); private static final Image IMG_INTERFACE = JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_INTERFACE); private static final Image IMG_FUNCTION = JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_PUBLIC); private static final Image IMG_VALUE = JavaUI.getSharedImages().getImage(ISharedImages.IMG_FIELD_PUBLIC); private static final Image IMG_PKG = JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_PACKAGE); public String getColumnText(Object object, int column) { if (column == 0) { return getText(object); } return ""; } @Override public String getText(Object element) { String name = ((Filter) element).getName(); int loc = name.lastIndexOf('('); if (loc>0) { name = name.substring(0, loc); } return name; } public Image getColumnImage(Object object, int column) { String name = ((Filter) object).getName(); String type = ""; int loc = name.lastIndexOf('('); if (loc>0) { type = name.substring(loc); switch (type) { case "(Class)": return IMG_CLASS; case "(Interface)": return IMG_INTERFACE; case "(Function)": return IMG_FUNCTION; case "(Value)": return IMG_VALUE; default: return null; } } if (name.endsWith("*") || name.equals("(default package)")) { return IMG_PKG; } return null; } }