自定义 RCP 编辑器和视图标题关闭操作

本文介绍了如何自定义Eclipse RCP应用中编辑器和视图标题的关闭操作,特别是在用户点击关闭按钮时,无论是否需要保存,都能显示提示。通过监听TabFolder的EVENT_CLOSE事件并覆盖默认行为,实现了自定义的关闭逻辑。同时,文章提到了其他可重写的TabFolderEvent事件,可用于扩展更多功能。
摘要由CSDN通过智能技术生成

 

    的关闭操作特指标题栏最右方的关闭按钮操作。一般来说编辑器的关闭事件都是自己默认的实现,比如继承了ISavePart2 的编辑器在Dirty 属性为true 时点击这个按钮会出现确定信息框,这个是由ISavePart2 .promptToSaveOnClose()实现的,一般情况下重写这个函数即可。这种情况下编辑器标题上会出现一个“*”号代表当前编辑器有未保存的修改。

    多讲一下编辑器默认的保存机制,在工具栏和菜单中有个菜单“Save”,这个菜单可以自动根据当前编辑器是否需要保存来切换状态。若不需要保存,则不可用,反之则可以使用。这个菜单的状态与编辑器的Ditry 属性密切相关联。同时ISaveablePart ISaveablePart2 中的一些Save 方法都与它相关。

假如用户点击关闭按钮时需要始终出现退出提示,这种情况下promptToSaveOnClose()就不能用了,因为它也与Dirty属性相关。

这里提供一个可选方案,还是与PresentationFactory 有关。

  关闭按钮位于TabFolder上,可以考虑给它添加一个监听器——TabFolderListener,它负责对TabFolderEvent.EVENT_CLOSE时间进行监听。

    private static void hookTabFolder(final IStackPresentationSite site,

                     TabbedStackPresentation result) {

              AbstractTabFolder tabFolder = result.getTabFolder();

              Object

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值