/** * @author carlk * Principally we wish to provide less confusing icons for the outline, etc. * i.e. a Circle with a D for a define; with an I for an instance and with a P for a property. */ public class ULabelProvider extends AppearanceAwareLabelProvider { private static Image defineImage = null; private static Image instanceImage = null; private static Image propertyImage = null; private static Image eventImage = null; /** * */ public ULabelProvider() { super(UIDEPlugin.getDefault().getPreferenceStore()); IStatus status = new Status(IStatus.INFO, UIDEPlugin.PLUGIN_ID, 0, "Creating ULabelProvider", null); UIDEPlugin.getDefault().getLog().log(status); } @Override public String getText(Object element) { /* * Override this method and return null activate DLTK's default * behavior. Else way, parent class just returns toString(), which is * less convenient */ return null; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object) */ @Override public Image getImage(Object element) { IStatus status = new Status(IStatus.INFO, UIDEPlugin.PLUGIN_ID, 0, "Fetching image for object", null); UIDEPlugin.getDefault().getLog().log(status); IMember member = getMember(element); if (member != null){ try { if (member.exists()) { // Special icon for umajin type if (member instanceof IType ){ int flags = member.getFlags(); if( (flags & IUModifiers.U_PROPERTY_MOD) != 0 ) return getPropertyImage(); ...