2016-02-29 32 views
0

是否可以在Eclipse 3.x应用程序中更改导入和导出向导的默认图像?我并不意味着其可以在向导扩展点,但图像在周围的向导调用例如当显示了被配置向导图像:更改Eclipse RCP 3.x应用程序中的默认io向导图像

IHandlerService service = (IHandlerService) PlatformUI.getWorkbench() 
          .getService(IHandlerService.class); 
service.executeCommand(ActionFactory.IMPORT.getCommandId(), null); 

有用于改变默认图像为标准命令的扩展点(保存,另存为,删除等):org.eclipse.ui.commandImages。但是,我并没有发现在进口和出口对话框图像(向导和类别图标)

类似的东西(应用程序正在使用兼容性层上的Eclipse 4.4上运行一个Eclipse RCP 3.x的应用程序。)

谢谢, 迈克尔

回答

1

我不太确定你的意思是哪个图像。对于向导顶部的大图像,不支持此操作。

导入/导出向导(org.eclipse.ui.internal.dialogs.ImportExportWizard)从org.eclipse.ui.internal.WorkbenchImages获取图像。

WorkbenchImages中的路径被硬编码为org.eclipse.ui插件的icons目录。

向导的树形部分中的图像来自各个导入/导出向导扩展点声明。

+0

非常感谢您的回答。在org.eclipse.ui.internal.WorkbenchImages'中声明的图像是我想改变的图像。由于没有正式的方法来改变它们,我把你的答案设定为接受。但是,似乎可以通过内部API(请参阅我的答案)。 – Michael

0

正如接受的答案中所述,没有官方方法可以做到这一点,但 可以通过内部类org.eclipse.ui.internal.WorkbenchImagesdeclareImage进行。

在我的我WorkbenchAdvisorinitialize我以下面的方式取代了共享的图像:

@SuppressWarnings("restriction") 
public class MyWorkbenchAdvisor extends WorkbenchAdvisor { 
    ...  
    @Override 
    public void initialize(IWorkbenchConfigurer conf) { 
    ... 
    try { 
     // wizard icon 
     WorkbenchImages.declareImage(
       IWorkbenchGraphicConstants.IMG_WIZBAN_IMPORT_WIZ, 
       <get image descriptor>, true); 
     // folder icon     
     WorkbenchImages.declareImage(
       ISharedImages.IMG_OBJ_FOLDER, 
       <get image descriptor>, true); 
    }... 

这可以用每个Eclipse版本打破,因为我访问内部的API,但它 解决了这个问题对我来说。

相关问题