我正在创建E4 RCP应用程序,因为我有一个部分。我想为我的Part实现“另存为”功能,因为它是为编辑器实现的(如:Java文件编辑器)。
要求:
所以我的问题是我应该做什么,是否必须实现任何扩展点或其他任何扩展点。 ?
答案 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
中实施isSaveAsAllowed
和EditorPart
方法。