RCPアプリのUndo その2

前回のは、正式な作法ではなかった。
おそらく正式なUndoは、ActionBarAdvisorで登録するみたいだ。

ApplicationActionBarAdvisor.java
IWorkbenchAction undoAction = ActionFactory.UNDO.create(window);
register(undoAction);

あとは、ViewPartでそこにアクションを割り振るのがいいみたいだ。
ただし、これすると、自動でUndoできるテキストとか無効になるみたいだ。

part.getViewSite().getActionBars().setGlobalActionHandler(ActionFactory.UNDO.getId(),
dtab.createUndoAction());

public IAction createUndoAction(){
Action tmp=new Action(){
public void run(){
doUndo();
}
};
tmp.setAccelerator(SWT.CTRL|'z');
return tmp;
}