我正在尝试创建一个不可关闭的RCP视图。我需要一种以编程方式设置此属性的方法,因为我在代码中创建具有辅助ID的视图。我不能通过扩展编辑器对话框来实现这一点。
有没有办法以编程方式从视图中删除x?
答案 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);