在eclipse rcp中重置已保存的状态

时间:2014-09-08 14:58:15

标签: java eclipse-rcp

我在视图状态下保存了一些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并没有帮助我。

1 个答案:

答案 0 :(得分:2)

没有API可以做到这一点。

在Eclipse 4上,使用-clearPersistedState标志启动RCP应该丢弃已保存的状态。

在Eclipse 4上,IMemento的XML版本保存在MPart密钥下的视图memento持久状态中 - 但这是一个内部实现细节,可能随时更改