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

时间:2012-04-13 18:09:15

标签: eclipse rcp

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

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

2 个答案:

答案 0 :(得分:10)

我终于弄清楚了。

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

IViewLayout vLayout = layout.getViewLayout(View.ID);
vLayout.setCloseable(false);

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

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

IViewLayout vLayout = layout.getViewLayout(View.ID + ":1");
vLayout.setCloseable(false);

因此,您无法根据辅助ID将各个视图关闭。要么是整个集团,要么是不是。

答案 1 :(得分:0)

您可以轻松完成。

只需将view的closable属性设置为False即可。

IViewLayout layout= layout.getViewLayout(View.ID);
layout.setCloseable(false);