Eclipse plugin 如何避免用户以编程方式关闭RCP eclipse插件中的编辑器窗口?

Eclipse plugin 如何避免用户以编程方式关闭RCP eclipse插件中的编辑器窗口?,eclipse-plugin,eclipse-rcp,rcp,Eclipse Plugin,Eclipse Rcp,Rcp,如何消除RCP eclipse插件编辑器窗口中的“X”并避免用户以编程方式关闭编辑器 有可能吗?如果有,如何实现?对于Eclipse e4应用程序,您可以在零件设计中取消选中“closeable”选项 对于3.x兼容模式RCP,您不能使用closeable选项。使零件不可关闭的一种方法是使用覆盖零件堆栈呈现程序org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer并覆盖isCloseable方法: public类MyStackRendere

如何消除RCP eclipse插件编辑器窗口中的“X”并避免用户以编程方式关闭编辑器


有可能吗?如果有,如何实现?

对于Eclipse e4应用程序,您可以在零件设计中取消选中“closeable”选项

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

public类MyStackRenderer扩展StackRenderer
{
@凌驾
受保护布尔不可关闭(最终MPart部分)
{
if(MyEditor的part.getObject()实例){
返回false;
}
返回超级不可关闭(部分);
}
}
其中
MyEditor
是您的编辑器类


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

对于Eclipse4应用程序,您只需在零件设计中取消选中“closeable”选项即可

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

public类MyStackRenderer扩展StackRenderer
{
@凌驾
受保护布尔不可关闭(最终MPart部分)
{
if(MyEditor的part.getObject()实例){
返回false;
}
返回超级不可关闭(部分);
}
}
其中
MyEditor
是您的编辑器类


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

摆脱x非常困难。@greg-449:但有可能吗?或者可以用另一种方式禁用关闭编辑器吗?摆脱X是非常困难的。@greg-449:但是有可能吗?或者可以通过其他方式禁用关闭编辑器吗?
public class EditorUnclosableRenderer扩展StackRenderer{@Override protected boolean isClosable(最终MPart部分){if(part.getObject()instanceof BDDEditor){return false;}return false;//return super.isClosable(part)}
只需在
isClosable
-方法中返回
false
,这对我很有用。
公共类编辑器UnclosableRenderer扩展StackRenderer{@Override protected boolean isClosable(final MPart part){if(part.getObject()instanceof BDDEditor){返回false;}return false;//return super.isClosable(part);}}
只需在
isClosable
-方法中返回
false
,这对我很有用。