背景
我正在为基于Eclipse RCP构建的uDig项目开发插件。我的插件包含一个表格,可以从工作台选择中获取数据并填充到表格中。用户可以对表格数据进行分组、排序和过滤。当工作台选择更改时,分组、排序和过滤信息将被重置,并将新的选择数据加载到表格中。
问题
如何将值保存到工作台中,以便稍后访问它们?
当工作台选择更改时,我希望将分组、排序和过滤状态保存到工作台中,以便如果工作台选择再次更改回已保存的选择,则可以恢复状态。
研究
我查看了IViewPart.saveState(IMemento memento),但感觉这只在添加和删除视图时有用。
我还尝试使用首选项,但感觉这是不正确的用法。
IEclipsePreferences node = InstanceScope.INSTANCE.getNode(PluginUI.PLUGIN_ID);
node.put(key, value);
最后
我对Eclipse RCP还比较新,可能是以错误的方式解决这个问题。如果有更好的保存和加载信息的方法,请随时分享。
org.eclipse.core.runtime.Plugin.getStateLocation()
,甚至使用XMLMemento(如果您希望与IMemento保持一致)。 - Paul Webster