如何关闭视图部件而不保存其状态?

问题描述 投票:0回答:1

我们正在将 RCP 应用程序从 Eclipse 3.8 迁移到 Eclipse 4。 在 Eclipse 3.8 中,视图的 saveState (IMemento) 方法仅在关闭应用程序时调用,对于仍然打开的视图。

在 Eclipse 4 中,当我关闭视图而不关闭应用程序时,也会调用 saveState 方法。

有什么方法可以将 Eclipse 4 的行为更改为与 Eclipse 3.8 相同吗?

我已经在寻找要添加到视图中的标签来更改此行为,但我找不到它。

eclipse eclipse-rcp e4
1个回答
1
投票

正如 greg-449 所说,没有什么可以阻止 Eclipse 在关闭时保存视图的状态。

因此,为了解决我的情况,在我的 saveState(IMemento) 方法中,我测试应用程序是否正在关闭,如果没有,我不会将视图设置保存在 memento 键中。

为了知道应用程序是否正在关闭,我有一个 IWorkbenchListener 接口的实现,它有 preShutdown 方法。当调用此方法时,我知道应用程序正在关闭。

© www.soinside.com 2019 - 2024. All rights reserved.