如何为我们的Part实现“另存为”功能

时间:2013-10-23 07:22:49

标签: java eclipse eclipse-rcp eclipse-juno eclipse-kepler

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

要求:

  1. 当用户点击我的部分时,应该启用“另存为”选项。
  2. 当用户点击“另存为”选项时,我的代码应该运行,以便我可以做我想做的事。
  3. 所以我的问题是我应该做什么,是否必须实现任何扩展点或其他任何扩展点。 ?

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:0)

在Eclipse 3兼容模式下,您可以在doSaveAs中实施isSaveAsAllowedEditorPart方法。