package org.ntlab.traceanalyzer; 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; public class CallTreeLabelProvider extends LabelProvider { public Image getImage(Object element) { if (element instanceof MarkedMethodExecution){ int uniqueness = ((MarkedMethodExecution)element).isUniqueMethodInvokedFrom(); ImageRegistry registry = Activator.getDefault().getImageRegistry(); Image image; switch (uniqueness) { case 1: image = registry.get("TraceAnalyzer.STACK_FRAME_IMAGE2"); break; case 2: image = registry.get("TraceAnalyzer.STACK_FRAME_IMAGE3"); break; case 0: default: image = registry.get("TraceAnalyzer.STACK_FRAME_IMAGE"); } return image; } else if(element instanceof MarkedThread){ int uniqueness = ((MarkedThread)element).isUniqueMethodInvokedFrom(); ImageRegistry registry = Activator.getDefault().getImageRegistry(); Image image; switch (uniqueness) { case 1: image = registry.get("TraceAnalyzer.THREAD_IMAGE2"); break; case 0: default: image = registry.get("TraceAnalyzer.THREAD_IMAGE"); } return image; } else { return null; } } public String getText(Object element) { String name = null; if (element instanceof MarkedMethodExecution){ MarkedMethodExecution method = (MarkedMethodExecution)element; name = method.getSignature(); } else if (element instanceof MarkedThread){ name = ((MarkedThread)element).getId(); } return name; } }