【问题标题】:How to avoid that the user can close the editor window in a RCP-eclipse-plugin programmatically?如何避免用户以编程方式关闭 RCP-eclipse-plugin 中的编辑器窗口?
【发布时间】:2016-10-04 17:53:01
【问题描述】:

如何去掉 RCP-eclipse-plugin 的编辑器窗口中的“X”,避免用户以编程方式关闭编辑器?

有可能吗?如果可以,怎么做?

【问题讨论】:

  • 摆脱 X 非常困难。
  • @greg-449:但这可能吗?或者是否可以通过其他方式禁用关闭编辑器?

标签: eclipse-plugin eclipse-rcp rcp


【解决方案1】:

对于 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,这对我有用。
猜你喜欢
  • 2016-09-19
  • 2010-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多