我正在开发基于Eclipse的RCP。我们需要阻止其中一个打开的编辑器被用户关闭。
理想的行为是:
哦,是的,这甚至可能吗?
谢谢, GK
答案 0 :(得分:6)
您可以使用org.eclipse.ui.ISaveablePart2
,更具体地说,使用方法promptToSaveOnClose()
。
但是,如this thread所述,
只有编辑器在关闭时是脏的才会显示。
请参阅此SaveableHelper.java
source file中的示例。
另请参阅文章Prevent that a RCP Editor is closed,该文章解释了此方法的工作原理:
答案 1 :(得分:4)
您也可以取消
中的保存@Override
public void doSave(IProgressMonitor monitor) {
致电
monitor.setCanceled(true);
在 EditorPart 实现中
答案 2 :(得分:1)
没有直接相关但我正在寻找一种方法来阻止编辑关闭并找到这个小黑客,希望它可以帮助。
page.addPartListener(new IPartListener2() {
// [...]
@Override
public void partClosed(IWorkbenchPartReference partRef) {
try {
page.openEditor(input, id);
} catch (PartInitException e) {
e.printStackTrace();
}
}
});