Я пытаюсь написать базовый декоратор икон, чтобы украсить пакеты моего проекта.
package org.tdd.custom.decorators;
import org.eclipse.core.resources.IResource;
import org.eclipse.jface.viewers.ILabelDecorator;
import org.eclipse.jface.viewers.LabelProvider;
public class CustomDecorator extends LabelProvider implements ILabelDecorator{
@Override
public org.eclipse.swt.graphics.Image decorateImage(org.eclipse.swt.graphics.Image image, Object element) {
IResource objectResource = (IResource) element;
//here I want to check weather objectResource
//is a package, source folder or plain folder
}
@Override
public String decorateText(String text, Object element) {
----
----
}
}
Теперь я хочу применить оформление значков только на пакетах Java Project, но я не могу различать исходную папку и пакеты.
У вас есть дескриптор IResource, который является основным объектом Eclipse. Вы должны перевести это в объект JDT. Правильный API существует в классе JavaCore
. Метод, который вы ищете, это create(IResource resource)
. Он вернет экземпляр IJavaElement
соответствующего типа.