java - 关闭 Eclipse RCP 4 中的部件时的自定义消息

标签 java eclipse-rcp e4

我们遇到以下问题:

在我们的 Eclipse RCP 4 应用程序中,有多个部分,并且这些部分是可关闭的。当用户关闭某个部件时,应该有一个自定义弹出窗口(取决于某些内部部件状态),询问用户是否确实想要关闭该部件。 在 Eclipse RCP 4 中实现似乎并不那么容易,或者我们刚刚完全监督了一些事情。 我将向您简要介绍一下我们尝试过的事情:

  • 在部件中使用 dirtyable 和 @persist 方法。尽管问题是,我们不想要这个标准的 Eclipse 保存对话框。那么有没有办法覆盖这个?
  • public int PromptToSaveOnClose():这似乎很有希望,但不适用于 Eclipse 4,或者有没有办法以这种方式集成它?比较:http://e-rcp.blogspot.de/2007/09/prevent-that-rcp-editor-is-closed.html
  • 我们最后一次尝试是集成自定义部件监听器,简单示例如下所示:

    partService.addPartListener(new IPartListener() {           
       public void partVisible(MPart part) {                
       }
    
        public void partHidden(MPart part) {
            partService.showPart(part, PartState.ACTIVATE);
        }
    
        public void partDeactivated(MPart part) {
    
        }
    
        public void partBroughtToTop(MPart part) {
    
        }
    
        public void partActivated(MPart part) {
    
        }
    });
    

问题是我们遇到了一个连续的循环。在最后一条评论中发布了类似的内容:Detect tab close in Eclipse editor

所以我可以写更多关于这个问题的内容,但我认为目前就足够了。如果您需要更多输入,请给我提示。 感谢您的帮助。

最佳答案

保存提示由在包含MPartMWindow 上下文中注册的ISaveHandler 生成。您可以编写自己的 ISaveHandler 并将其设置在窗口上下文中以替换默认值。

您可能还想查看窗口上下文中的 IWindowCloseHandler

关于java - 关闭 Eclipse RCP 4 中的部件时的自定义消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22156920/

相关文章:

java - Eclipse RCP 应用程序 - 自定义启动画面

java - 我的 Eclipse E4 插件只适用于新工作区,workbench.xmi 不更新

java - 处理程序和 Viewparts 中的 ClassNotFoundException eclipse rcp e4

java - 获取方法消耗的时间

java - Eclipse RCP : How to listen to CheckboxTableViewer selection in other view

java - Firebase:在 Kotlin/Java 中使用枚举字段的干净方式?

java - eclipse rcp 进度监视器

java - 类未注入(inject) IEclipseContext

java - 这个算法的时间复杂度是O(n)还是O(n^2)?

java - GUI 构建后启动线程