diff --git a/platform/core-api/src/com/intellij/psi/PsiDocumentManager.java b/platform/core-api/src/com/intellij/psi/PsiDocumentManager.java index d2526e421e61..4faee5f03cf4 100644 --- a/platform/core-api/src/com/intellij/psi/PsiDocumentManager.java +++ b/platform/core-api/src/com/intellij/psi/PsiDocumentManager.java @@ -29,15 +29,6 @@ import java.util.EventListener; public abstract class PsiDocumentManager { public abstract boolean isCommitted(@NotNull Document document); - /** - * Defer action until all documents are committed. - * Must be called from the EDT only. - * - * @param action to run when all documents committed - * @return true if action was run immediately (i.e. all documents are already committed) - */ - public abstract boolean performWhenAllCommitted(@NotNull Runnable action); - /** * Returns the document manager instance for the specified project. * @@ -189,4 +180,13 @@ public abstract class PsiDocumentManager { public abstract boolean isDocumentBlockedByPsi(@NotNull Document doc); public abstract void doPostponedOperationsAndUnblockDocument(@NotNull Document doc); + + /** + * Defer action until all documents are committed. + * Must be called from the EDT only. + * + * @param action to run when all documents committed + * @return true if action was run immediately (i.e. all documents are already committed) + */ + public abstract boolean performWhenAllCommitted(@NotNull Runnable action); } diff --git a/plugins/commander/src/com/intellij/ide/commander/Commander.java b/plugins/commander/src/com/intellij/ide/commander/Commander.java index 5ecc9d0b9a57..f0badf4c49a5 100644 --- a/plugins/commander/src/com/intellij/ide/commander/Commander.java +++ b/plugins/commander/src/com/intellij/ide/commander/Commander.java @@ -70,17 +70,17 @@ import java.util.List; )} ) public class Commander extends JPanel implements PersistentStateComponent, DataProvider, TwoPaneIdeView, Disposable { - private Project myProject; + private final Project myProject; private CommanderPanel myLeftPanel; private CommanderPanel myRightPanel; - private Splitter mySplitter; - private ListSelectionListener mySelectionListener; - private ListDataListener myListDataListener; + private final Splitter mySplitter; + private final ListSelectionListener mySelectionListener; + private final ListDataListener myListDataListener; public boolean MOVE_FOCUS = true; // internal option: move focus to editor when class/file/...etc. is created private Element myElement; - private FocusWatcher myFocusWatcher; - private CommanderHistory myHistory; - private boolean myAutoScrollMode = false; + private final FocusWatcher myFocusWatcher; + private final CommanderHistory myHistory; + private boolean myAutoScrollMode; private final ToolWindowManager myToolWindowManager; @NonNls private static final String ACTION_BACKCOMMAND = "backCommand"; @NonNls private static final String ACTION_FORWARDCOMMAND = "forwardCommand"; @@ -140,77 +140,6 @@ public class Commander extends JPanel implements PersistentStateComponent= 0 && proportion <= 1) { - mySplitter.setProportion(proportion); - } - } - catch (NumberFormatException ignored) { - } - } - } - - element = myElement.getChild(ELEMENT_OPTION); - if (element != null) { - //noinspection HardCodedStringLiteral - MOVE_FOCUS = !"false".equals(element.getAttributeValue(ATTRIBUTE_MOVE_FOCUS)); - } - - myLeftPanel.setActive(false); - myRightPanel.setActive(false); - myLeftPanel.setMoveFocus(MOVE_FOCUS); - myRightPanel.setMoveFocus(MOVE_FOCUS); - - myElement = null; - } - - private static KeyStroke[] getKeyStrokes(String actionId, KeymapManager keymapManager) { - final Shortcut[] shortcuts = keymapManager.getActiveKeymap().getShortcuts(actionId); - final List strokes = new ArrayList(); - for (final Shortcut shortcut : shortcuts) { - if (shortcut instanceof KeyboardShortcut) { - strokes.add(((KeyboardShortcut)shortcut).getFirstKeyStroke()); - } - } - return strokes.toArray(new KeyStroke[strokes.size()]); - } - - public void setupImpl() { mySelectionListener = new ListSelectionListener() { @Override public void valueChanged(final ListSelectionEvent e) { @@ -281,6 +210,73 @@ public class Commander extends JPanel implements PersistentStateComponent= 0 && proportion <= 1) { + mySplitter.setProportion(proportion); + } + } + catch (NumberFormatException ignored) { + } + } + } + + element = myElement.getChild(ELEMENT_OPTION); + if (element != null) { + //noinspection HardCodedStringLiteral + MOVE_FOCUS = !"false".equals(element.getAttributeValue(ATTRIBUTE_MOVE_FOCUS)); + } + + myLeftPanel.setActive(false); + myRightPanel.setActive(false); + myLeftPanel.setMoveFocus(MOVE_FOCUS); + myRightPanel.setMoveFocus(MOVE_FOCUS); + + myElement = null; + } + + private static KeyStroke[] getKeyStrokes(String actionId, KeymapManager keymapManager) { + final Shortcut[] shortcuts = keymapManager.getActiveKeymap().getShortcuts(actionId); + final List strokes = new ArrayList(); + for (final Shortcut shortcut : shortcuts) { + if (shortcut instanceof KeyboardShortcut) { + strokes.add(((KeyboardShortcut)shortcut).getFirstKeyStroke()); + } + } + return strokes.toArray(new KeyStroke[strokes.size()]); + } + private DefaultActionGroup createToolbarActions() { final ActionManager actionManager = ActionManager.getInstance(); final DefaultActionGroup group = new DefaultActionGroup(); @@ -408,7 +404,7 @@ public class Commander extends JPanel implements PersistentStateComponent