如何避免用户以编程方式关闭 RCP-eclipse-plugin 中的编辑器 window?

How to avoid that the user can close the editor window in a RCP-eclipse-plugin programmatically?

如何消除 RCP-eclipse-plugin 编辑器 window 中的 "X" 并避免用户以编程方式关闭编辑器?

是否可能,如果可能的话如何?

对于 Eclipse e4 应用程序,您只需在部件设计中取消选中 'closeable' 选项即可。

对于 3.x 兼容模式 RCP,您不能使用可关闭选项。使零件不可关闭的一种方法是使用 custom renderer 覆盖零件堆栈渲染器 org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer 并覆盖 isCloseable 方法:

public class MyStackRenderer extends StackRenderer
{
  @Override
  protected boolean isClosable(final MPart part)
  {
    if (part.getObject() instanceof MyEditor) {
      return false;
    }

    return super.isClosable(part);
  }
}

其中 MyEditor 是您的编辑器 class。

这需要 Eclipse 4,但可以与 3.x 兼容模式 RCP 一起使用。