0

我正在创建 E4 RCP 应用程序,因为我只有一个部分。我想为我的部件实现“另存为”功能,因为它是为编辑器(如:Java 文件编辑器)实现的。

要求:

  1. 当用户单击我的部分时,应启用“另存为”选项。
  2. 当用户单击“另存为”选项时,我的代码应该运行,以便我可以做我想做的事。

所以我的问题是我应该怎么做,我必须实现任何扩展点还是其他任何东西。?

4

2 回答 2

0

在纯 e4 应用程序中,没有内置的另存为支持,因此您需要自己编写代码。

为了与@Persist保存的支持保持一致,我建议使用注释来执行此操作,我们称之为@PersistAs

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface PersistAs
{
}

您必须以通常的方式添加“另存为”的命令定义以及处理程序和菜单项。

Save As 的处理程序如下所示:

@Execute
public void execute(@Named(IServiceConstants.ACTIVE_PART) final MPart part)
{
  Object client = part.getObject();
  ContextInjectionFactory.invoke(client, PersistAs.class, part.getContext());
}

就您而言,您将拥有:

@PersistAs
public void saveAs()
{
  // You save as code
}
于 2013-10-23T08:42:06.493 回答
0

在 Eclipse 3 兼容模式下,您doSaveAs可以isSaveAsAllowedEditorPart.

于 2013-10-23T10:07:16.177 回答