Eclipse RCP - 以编程方式将视图设置为不可关闭

Mec*_*ara 1 eclipse rcp

我正在尝试创建一个不可关闭的RCP视图.我需要一种以编程方式设置此属性的方法,因为我在代码中创建具有辅助ID的视图.由于这个原因,我不能通过扩展编辑器对话框来完成它.

有没有办法以编程方式从视图中删除x?

Mec*_*ara 10

我终于能够弄清楚了.

在透视图的createInitialLayout()功能中,您可以获取视图的布局并设置其可关闭属性:

IViewLayout vLayout = layout.getViewLayout(View.ID);
vLayout.setCloseable(false);
Run Code Online (Sandbox Code Playgroud)

这也适用于具有辅助ID的视图.在这种情况下,代码将完全相同,因为它会将closeable属性应用于共享相同主ID的所有辅助视图.

我发现以下内容不起作用:

IViewLayout vLayout = layout.getViewLayout(View.ID + ":1");
vLayout.setCloseable(false);
Run Code Online (Sandbox Code Playgroud)

因此,您无法根据其辅助ID使各个视图可关闭.要么整个​​团队是否是.