The org.eclipse.ui.decorators extension point can add different icon displays for the corresponding nodes.
The usage methods are almost the same, the following will reproduce the usage methods:
1. Add extension point org.eclipse.ui.decorators
2. Modify plugin.xml
<extension
point="org.eclipse.ui.decorators">
<decorator
id="my .ui.decorator"
label="IFolder Decorator"
state="true"
class="my.ui.decorators.LabelDecorator">
<enablement>
<objectClass name="org.eclipse.core.resources.IFolder"/>
</ enablement>
</decorator>
</extension>
3、my.ui.decorators.LabelDecorator类源码
package my.ui.decorators;
import org.eclipse.core.internal.resources.Folder;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ILabelDecorator;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.swt.graphics.Image;
import my.ui.BabaowgtkitUIPlugIn;
/**
* 更改图标
* ClassName:LabelDecorator
*/
@SuppressWarnings({ "restriction", "unused" })
public class LabelDecoratorimplementsILabelDecorator{
/**
*
* (non-Javadoc)
* @see org.eclipse.jface.viewers.ILabelDecorator#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object)
*/
public Image decorateImage(Image image, Object element) {
//更改src文件夹图标
if (element instanceof Folder
&& ((Folder) element).getName().equals("src")) {
return MyUIPlugIn.getImage("icons/packagefolder_obj.gif");
}
returnnull;
}
public String decorateText(String text, Object element) {
// TODO Auto-generated method stub
return null;
}
public void addListener(ILabelProviderListener listener) {
// TODO Auto-generated method stub
}
public void dispose() {
// TODO Auto-generated method stub
}
public boolean isLabelProperty(Object element, String property) {
// TODO Auto-generated method stub
return false;
}
public void removeListener(ILabelProviderListener listener) {
// TODO Auto-generated method stub
}
}
The method of MyUIPlugIn.getImage is used above, and the source code is posted below, the purpose is to get the icon file in the project directory;
MyUIPlugIn is automatically generated when the plug-in project is created, and inherits AbstractUIPlugin;
public static ImageDescriptor getImageDescriptor(String path) {
return imageDescriptorFromPlugin( PLUGIN_ID, path);
}
public static Image getImage(String path){
return getImageDescriptor(path).createImage();
}
PLUGIN_ID is the ID of the plugin project;
org.eclipse.ui.decorators use (transfer)
Guess you like
Origin http://10.200.1.11:23101/article/api/json?id=326754964&siteId=291194637
Recommended
Ranking