2016-05-05 21 views
0

Eclipse 3. *为WorkbenchWindow提供了方法restoreStatecloseAllPages。什么是4. *替代品?Eclipse 4替换为WorkbenchWindow restoreState和closeAllPages

我在数据库中有数千个持续的WorkbenchWindow saveState(IMemento memento)结果。我需要以某种方式转换它们,或者使用它们在e4应用程序中布置视图和视图。

如果我转换它们,是否有任何工具可以做到这一点,我将如何使用转换结果?有没有什么办法可以解析我所坚持的内容,然后以编程方式进行布局,并最终使用e4格式保持布局?

我在RCP客户端的范例有点特别,我们不隐式保存设置,而是明确地保存设置并在启动时加载它们,并且可以在特定的基础上重新加载特定设置。

回答

1

WorkbenchWindow是一个内部类而不是Eclipse API的一部分。您不应该使用仅在内部类中定义的方法Eclipse API Rules of Engagement

该类在Eclipse 4中已基本重写,并且非API方法的直接等价物不可用。

restoreState方法特别看起来像重构极其困难。 Eclipse 4代码根本不使用IMemento格式来保存窗口状态,所有状态信息都以EMF XMI格式保存。旧的restoreState方法也称其他类中的其他几种内部方法,其中大多数不再存在。

+0

你是对的,但我继承了迁移任务。你有没有任何一种实用的方法来重新设计resoreState在3.中所做的工作。 – dasPing

+0

看着恢复状态的旧代码,它看起来像是非常非常非常难以重做。我用这方面的一些信息更新了答案。 –

+0

玩了之后,我同意。但是,必须有另一种方法来解决这个问题。我已经延长了我原来的帖子,以包括其他一些可能性。 – dasPing