我正在以视图状态保存一些UI设置。在这种情况下,我将表格的当前列顺序保存在逗号分隔的字符串中。
@Override
public void saveState(final IMemento memento) {
int[] columnOrder = tableViewer.getTable().getColumnOrder();
StringBuilder order = new StringBuilder();
for (int i = 0; i < columnOrder.length; i++) {
order.append(columnOrder[i]);
order.append(",");
}
IMemento viewMemento = memento.createChild(MyView.ID);
viewMemento.putString("viewColumnOrder", order.toString());
super.saveState(memento);
}
有没有办法通过编程将状态重置为初始值?我试图重新设置视角,但这没有用。重置工作台也无济于事。
最佳答案
没有API可以执行此操作。
在Eclipse 4上,使用-clearPersistedState
标志启动RCP应该丢弃保存的状态。
在Eclipse 4上,IMemento
的XML版本保存在MPart
键下的memento
持久状态视图中-但这是内部实现细节,可能随时更改。