从 ProgressBar 中删除句柄(使其成为 NoMove)

Remove handle from the ProgressBar (make it NoMove)

我们正在将 rcp 应用程序从 e3 迁移到 e4。在我们升级之后,我们以编程方式实例化的所有工具控件都变得可移动,因为 CoolBarManager2 没有实现用于使所有项目不可移动的锁定布局功能。

为了避免这个问题,我们引入了自己的 *e4xmi 并以声明方式构建了几乎所有的布局 - 除了 ProgressBar(在 StandardTrim 中)。这个 *e4xmi 没有设置为主。


要从该控件中删除可移动方面,我们尝试了以下方法但未成功:


如何让eclipse原生的进度条不可移动?

我们找到了一种方法来绕过我们的问题,使用原始问题中发布的解决方案之一,但进行了(非常奇怪的)修改。

我们的解决方案是在底部 Trim 中创建我们自己的 ToolItem,id org.eclipse.ui.ProgressBar 和 StandardTrim class 带有 NoMove 标签。这会在启动期间产生异常,除非 "To Be Rendered" 未选中 .

Supplementary 选项卡中添加了 NoMove 标签以使其不可移动。

出于某种神奇的原因,这有效,并且不会在 Neon.2 版本 (4.6.2) 中产生错误。