我在视图状态下保存了一些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);
}
有没有办法以编程方式将状态重置为初始值?我试图重置视角,但这不起作用。同时重置Workbench并没有帮助我。
答案 0 :(得分:2)
没有API可以做到这一点。
在Eclipse 4上,使用-clearPersistedState
标志启动RCP应该丢弃已保存的状态。
在Eclipse 4上,IMemento
的XML版本保存在MPart
密钥下的视图memento
持久状态中 - 但这是一个内部实现细节,可能随时更改