【发布时间】:2016-10-04 17:53:01
【问题描述】:
如何去掉 RCP-eclipse-plugin 的编辑器窗口中的“X”,避免用户以编程方式关闭编辑器?
有可能吗?如果可以,怎么做?
【问题讨论】:
-
摆脱 X 非常困难。
-
@greg-449:但这可能吗?或者是否可以通过其他方式禁用关闭编辑器?
标签: eclipse-plugin eclipse-rcp rcp
如何去掉 RCP-eclipse-plugin 的编辑器窗口中的“X”,避免用户以编程方式关闭编辑器?
有可能吗?如果可以,怎么做?
【问题讨论】:
标签: eclipse-plugin eclipse-rcp rcp
对于 Eclipse e4 应用程序,您只需取消选中部件设计中的“可关闭”选项即可。
对于 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 是您的编辑器类。
这需要 Eclipse 4,但可以与 3.x 兼容模式 RCP 一起使用。
【讨论】:
public class EditorUnclosableRenderer extends StackRenderer { @Override protected boolean isClosable(final MPart part) { if (part.getObject() instanceof BDDEditor) { return false; } return false; // return super.isClosable(part); } }
isClosable 方法中返回false,这对我有用。