否决Eclipse 4视图变得不可见?

时间:2016-08-22 12:27:09

标签: eclipse e4

在我们的E4 RCP应用程序中,我们的透视图包含一个带有几个E4视图(MParts)的视图文件夹。 其中一个视图是CRUD视图,即。允许编辑和保存特定实体实例的视图。

每当此视图变脏时,即已编辑的实体已更改但尚未保存(由于某些内部原因),我们希望阻止更改到同一视图文件夹中的另一个视图(这将使CRUD视图不可见)。 在E4中是否有可能否决视图变得不可见?

当然我们可以在EPartService中为MPart注册一个部件监听器,但这只会允许接收partHidden事件,这已经太晚了。

1 个答案:

答案 0 :(得分:0)

我无法找到合理的方法来做到这一点。

零件堆栈使用org.eclipse.e4.ui.workbench.renderers.swt.StackRendererCTabFolder中实现。

虽然CTabFolder有一个选择侦听器,可让您收听选项卡选项但它没有提供否决选择的方法。因此,即使您编写了一个扩展标准渲染器的自定义堆栈渲染器,您仍然无法控制它。

您可以编写一个全新的堆栈渲染器,但不会使用CTabFolder,但这需要做很多工作。