/** * Closes an editor. * * @param edit editor to be closed. {@code null} closes the currently opened editor. * @return {@code true} if editor was closed */ public boolean close(final EditorArea edit) { final EditorArea ea = edit != null ? edit : getEditor(); if (!confirm(ea)) return false; tabs.remove(ea); final int t = tabs.getTabCount(); final int i = tabs.getSelectedIndex(); if (t == 1) { // reopen single tab addTab(); } else if (i + 1 == t) { // if necessary, activate last editor tab tabs.setSelectedIndex(i - 1); } return true; }