我正在创建 E4 RCP 应用程序,因为我只有一个部分。我想为我的部件实现“另存为”功能,因为它是为编辑器(如:Java 文件编辑器)实现的。
要求:
- 当用户单击我的部分时,应启用“另存为”选项。
- 当用户单击“另存为”选项时,我的代码应该运行,以便我可以做我想做的事。
所以我的问题是我应该怎么做,我必须实现任何扩展点还是其他任何东西。?
我正在创建 E4 RCP 应用程序,因为我只有一个部分。我想为我的部件实现“另存为”功能,因为它是为编辑器(如:Java 文件编辑器)实现的。
要求:
所以我的问题是我应该怎么做,我必须实现任何扩展点还是其他任何东西。?
在纯 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
}
在 Eclipse 3 兼容模式下,您doSaveAs
可以isSaveAsAllowed
在EditorPart
.