【发布时间】:2017-06-08 16:24:20
【问题描述】:
我正在尝试创建一个不可关闭的 RCP 视图。我需要一种以编程方式设置此属性的方法,因为我正在代码中创建具有辅助 ID 的视图。因此,我无法通过扩展编辑器对话框执行此操作。
有没有办法以编程方式从视图中删除 x?
【问题讨论】:
我正在尝试创建一个不可关闭的 RCP 视图。我需要一种以编程方式设置此属性的方法,因为我正在代码中创建具有辅助 ID 的视图。因此,我无法通过扩展编辑器对话框执行此操作。
有没有办法以编程方式从视图中删除 x?
【问题讨论】:
我终于明白了。
在您透视图的createInitialLayout() 函数中,您可以获取视图的布局并设置其可关闭属性:
IViewLayout vLayout = layout.getViewLayout(View.ID);
vLayout.setCloseable(false);
这也适用于具有辅助 ID 的视图。在这种情况下,代码将完全相同,因为它将 closeable 属性应用于共享相同主 ID 的所有辅助视图。
我发现以下方法不起作用:
IViewLayout vLayout = layout.getViewLayout(View.ID + ":1");
vLayout.setCloseable(false);
因此,您不能根据辅助 ID 使单个视图可关闭。整个组要么是,要么不是。
【讨论】:
您可以轻松完成。
只需将 view 的可关闭属性设置为 False 即可。
IViewLayout layout= layout.getViewLayout(View.ID);
layout.setCloseable(false);
【讨论】: