【发布时间】:2016-10-17 15:25:02
【问题描述】:
TL;DR:我不知道如何在关闭 EMF Compare 定义的 CompareEditor 之前向用户显示确认对话框。
更多详情:
我想适应一个相对简单的用例:要求用户在按下工作台窗口上的关闭 (x) 按钮后确认他们希望关闭编辑器。
我从Eclipse forum 确定,将IPartListener 附加到窗口不会有帮助,因为它的partClosed() 方法只会在窗口关闭后调用。
推荐的解决方案是在用户关闭的部分实现ISaveablePart2接口。但是,我不能这样做,因为这部分来自插件。特别是 EMF Compare 定义的CompareEditor。所以我不能向它添加任何额外的接口。或者,如果我能做到,我不知道该怎么做(扩展类看起来不是一个选项,因为它是由另一个 EMF 比较类而不是直接由我的代码实例化的)。
我看到的另一个suggestion 是使用IPerspectiveListener2 而不是IPartListener,因为这个监听器会在部件实际关闭之前得到通知。但是,我仍然不知道如何在此侦听器中中止关闭该部分。这甚至可能吗?
【问题讨论】:
-
您使用的是 Eclipse 4 吗?您可能可以在 Eclipse 4 中使用自定义
ISaveHandler。这在 e4 应用程序中很容易做到,但不确定如何在 3.x 兼容模式应用程序中做到这一点。 -
@greg-449 我不幸在 3.x 兼容模式下运行。
标签: eclipse-plugin eclipse-rcp