更新基础 IAction 贡献项时刷新 IContributorManager

Refresh IContributorManager when underlying IAction contribution item gets updated

我有一个 IContributionManager... 作为构造函数参数传递给 class。我们为它们中的每一个添加了一个自定义的 IAction,它上面设置了一个菜单创建器 (setMenuCreator())。菜单创建器是自定义的并实现了 IMenuCreator

现在每次视图更改时,我都会调用一个方法。在此方法中,我需要自定义 IAction 到 return 不同的菜单项,具体取决于视图类型。

但是,随着视图的变化,我似乎无法更新 IContributionManager,它只是显示菜单,其中包含自定义 IAction 的菜单创建者的菜单中的项目它最初建造时。

我尝试在每次视图更改时重置操作上的菜单创建器,删除操作并重新添加它并尝试 IContributionManager#update(true) 但其中 none 有效。有 suggestions/recommendations 吗?如果重要的话,我们在 Java 7

我们从贡献管理器中删除了动作,并在每次刷新视图时重新创建动作。这有助于使用最新的菜单项刷新视图。