在 Eclipse RCP 3.x 应用程序中更改默认的 io-wizard 图像

Change default io-wizard images in an Eclipse RCP 3.x application

是否可以更改 Eclipse 3.x 应用程序中导入和导出向导的默认图像?我不是指可以在向导扩展点中配置的向导图像,而是在调用时显示的周围向导中的图像,例如:

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

有一个用于更改标准命令(保存、另存为、删除等)的默认图像的扩展点:org.eclipse.ui.commandImages。但是,我没有在导入和导出对话框(向导和类别图标)中找到类似的图像

(该应用程序是使用兼容层的 Eclipse 4.4 上的 Eclipse 3.x RCP 应用程序 运行。)

谢谢, 迈克尔

我不太确定你指的是哪些图片。对于向导顶部的大图像,不支持此功能。

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

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

向导树部分的图像来自单独的 import/export 向导扩展点声明。

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

declareImage

在我 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 但是 它解决了我的问题。