case EXPANDED_ACCOUNT_SECTION:
forwardToView(navigatorView, event);
break;
case EDIT_ACCOUNT_ITEM:
case EDIT_CONNECTION_ITEM:
final Workbench wb = (Workbench)Registry.get(Workbench.ID);
// if (wb.getCurrentEditor() != null &&
// wb.getCurrentEditor().isDirty()) {
// }
final IEditor editor = getEditor(event.type);
wb.checkOpen(editor, new Callback<Boolean>(){
public void onSuccess(Boolean result) {
if (result) {
editor.setInput(event.data);
wb.open(editor);
}
}
});
break;
case ADD_ACCOUNT_ITEM:
case ADD_CONNECTION_ITEM:
doAdd(event.type);
break;
case DELETED_ITEM:
// close corresponding editor:
Workbench _wb = (Workbench) Registry.get(Workbench.ID);
if (_wb.getCurrentEditor() != null && _wb.getCurrentEditor().getInput() != null) {
Object input = _wb.getCurrentEditor().getInput();
if (event.data != null && event.data instanceof TreeNode) {
if (((TreeNode) event.data).equals(input)) {
_wb.close(null, null);
}
}
}
forwardToView(navigatorView, event);
break;