|
|
Re: Load with absolute path in ImageProvider [message #1226639 is a reply to message #1221882] |
Thu, 02 January 2014 09:27 |
excellion fdfds Messages: 14 Registered: July 2012 |
Junior Member |
|
|
I found a solution to my problem.
In org.eclipse.graphiti.ui.internal.editor.GFPaletteRoot, graphiti get image descriptor of palette elements with :
private ImageDescriptor getImageDescriptor(IPaletteCompartmentEntry compartmentEntry) {
ImageDescriptor imageDescriptor = null;
if (compartmentEntry instanceof IEclipseImageDescriptor) {
imageDescriptor = ((IEclipseImageDescriptor) compartmentEntry).getImageDescriptor();
} else {
imageDescriptor = GraphitiUi.getImageService().getImageDescriptorForId(diagramTypeProvider.getProviderId(),
compartmentEntry.getIconId());
}
return imageDescriptor;
}
So, i implements my palette element entry with IEclipseImageDescriptor :
public class MyObjectCreationEntry extends ObjectCreationToolEntry
implements IEclipseImageDescriptor {
public MyObjectCreationEntry(String label, String description,
String iconId, String largeIconId, ICreateFeature createFeature) {
super(label, description, iconId, largeIconId, createFeature);
}
@Override
public ImageDescriptor getImageDescriptor() {
return SWTResourceManager.getImagedescriptor(
Activator.class.getClassLoader(), getIconId(), false);
}
}
After, just use MyObjectCreationEntry in MyToolBehaviorProvider.getPalette().
iconId is an absolute path (C:/folder/icon.jpg) and it works!
[Updated on: Thu, 02 January 2014 09:27] Report message to a moderator
|
|
|
|
Powered by
FUDForum. Page generated in 0.03006 seconds