Example usage for com.intellij.openapi.wm IdeFocusManager getInstance

List of usage examples for com.intellij.openapi.wm IdeFocusManager getInstance

Introduction

In this page you can find the example usage for com.intellij.openapi.wm IdeFocusManager getInstance.

Prototype

public static IdeFocusManager getInstance(@Nullable Project project) 

Source Link

Usage

From source file:com.intellij.ide.util.FileStructurePopup.java

License:Apache License

public void show() {
    //final long time = System.currentTimeMillis();
    JComponent panel = createCenterPanel();
    new MnemonicHelper().register(panel);
    boolean shouldSetWidth = DimensionService.getInstance().getSize(getDimensionServiceKey(),
            myProject) == null;//from   w w  w.j a  v a 2  s .c o  m
    myPopup = JBPopupFactory.getInstance().createComponentPopupBuilder(panel, null).setTitle(myTitle)
            .setResizable(true).setModalContext(false).setFocusable(true).setRequestFocus(true).setMovable(true)
            .setBelongsToGlobalPopupStack(true)
            //.setCancelOnClickOutside(false) //for debug and snapshots
            .setCancelKeyEnabled(false).setDimensionServiceKey(null, getDimensionServiceKey(), false)
            .setCancelCallback(new Computable<Boolean>() {
                @Override
                public Boolean compute() {
                    DimensionService.getInstance().setLocation(getDimensionServiceKey(),
                            myPopup.getLocationOnScreen(), myProject);
                    return true;
                }
            }).createPopup();

    myTree.addTreeSelectionListener(new TreeSelectionListener() {
        @Override
        public void valueChanged(TreeSelectionEvent e) {
            if (myPopup.isVisible()) {
                final PopupUpdateProcessor updateProcessor = myPopup.getUserData(PopupUpdateProcessor.class);
                if (updateProcessor != null) {
                    final AbstractTreeNode node = getSelectedNode();
                    updateProcessor.updatePopup(node);
                }
            }
        }
    });
    Disposer.register(myPopup, this);
    Disposer.register(myPopup, new Disposable() {
        @Override
        public void dispose() {
            if (!myTreeHasBuilt.isDone()) {
                myTreeHasBuilt.setRejected();
            }
        }
    });
    myTree.getEmptyText().setText("Loading...");
    final Point location = DimensionService.getInstance().getLocation(getDimensionServiceKey(), myProject);
    if (location != null) {
        myPopup.showInScreenCoordinates(myFileEditor.getComponent(), location);
    } else {
        myPopup.showCenteredInCurrentWindow(myProject);
    }

    ((AbstractPopup) myPopup).setShowHints(true);
    if (shouldSetWidth) {
        myPopup.setSize(new Dimension(myPreferredWidth + 10, myPopup.getSize().height));
    }

    IdeFocusManager.getInstance(myProject).requestFocus(myTree, true);
    SwingUtilities.windowForComponent(myPopup.getContent()).addWindowFocusListener(new WindowFocusListener() {
        @Override
        public void windowGainedFocus(WindowEvent e) {
        }

        @Override
        public void windowLostFocus(WindowEvent e) {
            myPopup.cancel();
        }
    });
    ApplicationManager.getApplication().executeOnPooledThread(new Runnable() {
        @Override
        public void run() {
            ApplicationManager.getApplication().runReadAction(new Runnable() {
                @Override
                public void run() {
                    myFilteringStructure.rebuild();
                }
            });

            //noinspection SSBasedInspection
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    myAbstractTreeBuilder.queueUpdate().doWhenDone(new Runnable() {
                        @Override
                        public void run() {
                            myTreeHasBuilt.setDone();
                            //noinspection SSBasedInspection
                            SwingUtilities.invokeLater(new Runnable() {
                                @Override
                                public void run() {
                                    if (myAbstractTreeBuilder.isDisposed())
                                        return;
                                    if (selectPsiElement(myInitialPsiElement) == null) {
                                        TreeUtil.ensureSelection(myAbstractTreeBuilder.getTree());
                                        myAbstractTreeBuilder.revalidateTree();
                                    }
                                }
                            });
                        }
                    });
                    installUpdater();
                }
            });
        }
    });
}

From source file:com.intellij.ide.util.gotoByName.ChooseByNameBase.java

License:Apache License

/**
 * @param modalityState          - if not null rebuilds list in given {@link ModalityState}
 *//*from w  w  w.jav  a  2s  .  com*/
protected void initUI(final ChooseByNamePopupComponent.Callback callback, final ModalityState modalityState,
        final boolean allowMultipleSelection) {
    myPreviouslyFocusedComponent = WindowManagerEx.getInstanceEx().getFocusedComponent(myProject);

    myActionListener = callback;
    myTextFieldPanel.setLayout(new BoxLayout(myTextFieldPanel, BoxLayout.Y_AXIS));

    final JPanel hBox = new JPanel();
    hBox.setLayout(new BoxLayout(hBox, BoxLayout.X_AXIS));

    JPanel caption2Tools = new JPanel(new BorderLayout());

    if (myModel.getPromptText() != null) {
        JLabel label = new JLabel(myModel.getPromptText());
        if (UIUtil.isUnderAquaLookAndFeel()) {
            label.setBorder(new CompoundBorder(new EmptyBorder(0, 9, 0, 0), label.getBorder()));
        }
        label.setFont(UIUtil.getLabelFont().deriveFont(Font.BOLD));
        caption2Tools.add(label, BorderLayout.WEST);
    }

    caption2Tools.add(hBox, BorderLayout.EAST);

    myCardContainer.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 4)); // space between checkbox and filter/show all in view buttons

    final String checkBoxName = myModel.getCheckBoxName();
    myCheckBox = new JCheckBox(checkBoxName != null ? checkBoxName + (myCheckBoxShortcut != null
            ? " (" + KeymapUtil.getShortcutsText(myCheckBoxShortcut.getShortcuts()) + ")"
            : "") : "");
    myCheckBox.setAlignmentX(SwingConstants.RIGHT);

    if (!SystemInfo.isMac) {
        myCheckBox.setBorder(null);
    }

    myCheckBox.setSelected(myModel.loadInitialCheckBoxState());

    if (checkBoxName == null) {
        myCheckBox.setVisible(false);
    }

    addCard(myCheckBox, CHECK_BOX_CARD);

    addCard(new HintLabel(myModel.getNotInMessage()), NOT_FOUND_IN_PROJECT_CARD);
    addCard(new HintLabel(IdeBundle.message("label.choosebyname.no.matches.found")), NOT_FOUND_CARD);
    JPanel searching = new JPanel(new BorderLayout(5, 0));
    searching.add(new AsyncProcessIcon("searching"), BorderLayout.WEST);
    searching.add(new HintLabel(IdeBundle.message("label.choosebyname.searching")), BorderLayout.CENTER);
    addCard(searching, SEARCHING_CARD);
    myCard.show(myCardContainer, CHECK_BOX_CARD);

    if (isCheckboxVisible()) {
        hBox.add(myCardContainer);
    }

    final DefaultActionGroup group = new DefaultActionGroup();
    group.add(new ShowFindUsagesAction() {
        @Override
        public PsiElement[][] getElements() {
            final Object[] objects = myListModel.toArray();
            final List<PsiElement> prefixMatchElements = new ArrayList<PsiElement>(objects.length);
            final List<PsiElement> nonPrefixMatchElements = new ArrayList<PsiElement>(objects.length);
            List<PsiElement> curElements = prefixMatchElements;
            for (Object object : objects) {
                if (object instanceof PsiElement) {
                    curElements.add((PsiElement) object);
                } else if (object instanceof DataProvider) {
                    final PsiElement psi = CommonDataKeys.PSI_ELEMENT.getData((DataProvider) object);
                    if (psi != null) {
                        curElements.add(psi);
                    }
                } else if (object == NON_PREFIX_SEPARATOR) {
                    curElements = nonPrefixMatchElements;
                }
            }
            return new PsiElement[][] { PsiUtilCore.toPsiElementArray(prefixMatchElements),
                    PsiUtilCore.toPsiElementArray(nonPrefixMatchElements) };
        }
    });
    final ActionToolbar actionToolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN,
            group, true);
    actionToolbar.setLayoutPolicy(ActionToolbar.NOWRAP_LAYOUT_POLICY);
    final JComponent toolbarComponent = actionToolbar.getComponent();
    toolbarComponent.setBorder(null);

    if (myToolArea == null) {
        myToolArea = new JLabel(EmptyIcon.create(1, 24));
    }
    hBox.add(myToolArea);
    hBox.add(toolbarComponent);

    myTextFieldPanel.add(caption2Tools);

    final ActionMap actionMap = new ActionMap();
    actionMap.setParent(myTextField.getActionMap());
    actionMap.put(DefaultEditorKit.copyAction, new AbstractAction() {
        @Override
        public void actionPerformed(@NotNull ActionEvent e) {
            if (myTextField.getSelectedText() != null) {
                actionMap.getParent().get(DefaultEditorKit.copyAction).actionPerformed(e);
                return;
            }
            final Object chosenElement = getChosenElement();
            if (chosenElement instanceof PsiElement) {
                CopyReferenceAction.doCopy((PsiElement) chosenElement, myProject);
            }
        }
    });
    myTextField.setActionMap(actionMap);

    myTextFieldPanel.add(myTextField);
    Font editorFont = getEditorFont();
    myTextField.setFont(editorFont);

    if (checkBoxName != null) {
        if (myCheckBox != null && myCheckBoxShortcut != null) {
            new AnAction("change goto check box", null, null) {
                @RequiredDispatchThread
                @Override
                public void actionPerformed(@NotNull AnActionEvent e) {
                    myCheckBox.setSelected(!myCheckBox.isSelected());
                }
            }.registerCustomShortcutSet(myCheckBoxShortcut, myTextField);
        }
    }

    if (isCloseByFocusLost()) {
        myTextField.addFocusListener(new FocusAdapter() {
            @Override
            public void focusLost(@NotNull final FocusEvent e) {
                cancelListUpdater(); // cancel thread as early as possible
                myHideAlarm.addRequest(new Runnable() {
                    @Override
                    public void run() {
                        JBPopup popup = JBPopupFactory.getInstance().getChildFocusedPopup(e.getComponent());
                        if (popup != null) {
                            popup.addListener(new JBPopupListener.Adapter() {
                                @Override
                                public void onClosed(@NotNull LightweightWindowEvent event) {
                                    if (event.isOk()) {
                                        hideHint();
                                    }
                                }
                            });
                        } else {
                            Component oppositeComponent = e.getOppositeComponent();
                            if (oppositeComponent == myCheckBox) {
                                IdeFocusManager.getInstance(myProject).requestFocus(myTextField, true);
                                return;
                            }
                            if (oppositeComponent != null && !(oppositeComponent instanceof JFrame)
                                    && myList.isShowing() && (oppositeComponent == myList
                                            || SwingUtilities.isDescendingFrom(myList, oppositeComponent))) {
                                IdeFocusManager.getInstance(myProject).requestFocus(myTextField, true);// Otherwise me may skip some KeyEvents
                                return;
                            }

                            if (oppositeComponent != null) {
                                ToolWindowManager toolWindowManager = ToolWindowManager.getInstance(myProject);
                                ToolWindow toolWindow = toolWindowManager
                                        .getToolWindow(toolWindowManager.getActiveToolWindowId());
                                if (toolWindow != null) {
                                    JComponent toolWindowComponent = toolWindow.getComponent();
                                    if (SwingUtilities.isDescendingFrom(oppositeComponent,
                                            toolWindowComponent)) {
                                        return; // Allow toolwindows to gain focus (used by QuickDoc shown in a toolwindow)
                                    }
                                }
                            }

                            EventQueue queue = Toolkit.getDefaultToolkit().getSystemEventQueue();
                            if (queue instanceof IdeEventQueue) {
                                if (!((IdeEventQueue) queue).wasRootRecentlyClicked(oppositeComponent)) {
                                    Component root = SwingUtilities.getRoot(myTextField);
                                    if (root != null && root.isShowing()) {
                                        IdeFocusManager.getInstance(myProject).requestFocus(myTextField, true);
                                        return;
                                    }
                                }
                            }

                            hideHint();
                        }
                    }
                }, 5);
            }
        });
    }

    if (myCheckBox != null) {
        myCheckBox.addItemListener(new ItemListener() {
            @Override
            public void itemStateChanged(@NotNull ItemEvent e) {
                rebuildList(false);
            }
        });
        myCheckBox.setFocusable(false);
    }

    myTextField.getDocument().addDocumentListener(new DocumentAdapter() {
        @Override
        protected void textChanged(DocumentEvent e) {
            clearPostponedOkAction(false);
            rebuildList(false);
        }
    });

    final Set<KeyStroke> upShortcuts = getShortcuts(IdeActions.ACTION_EDITOR_MOVE_CARET_UP);
    final Set<KeyStroke> downShortcuts = getShortcuts(IdeActions.ACTION_EDITOR_MOVE_CARET_DOWN);
    myTextField.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(@NotNull KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_ENTER && (e.getModifiers() & InputEvent.SHIFT_MASK) != 0) {
                myClosedByShiftEnter = true;
                close(true);
            }
            if (!myListScrollPane.isVisible()) {
                return;
            }
            final int keyCode;

            // Add support for user-defined 'caret up/down' shortcuts.
            KeyStroke stroke = KeyStroke.getKeyStrokeForEvent(e);
            if (upShortcuts.contains(stroke)) {
                keyCode = KeyEvent.VK_UP;
            } else if (downShortcuts.contains(stroke)) {
                keyCode = KeyEvent.VK_DOWN;
            } else {
                keyCode = e.getKeyCode();
            }
            switch (keyCode) {
            case KeyEvent.VK_DOWN:
                ListScrollingUtil.moveDown(myList, e.getModifiersEx());
                break;
            case KeyEvent.VK_UP:
                ListScrollingUtil.moveUp(myList, e.getModifiersEx());
                break;
            case KeyEvent.VK_PAGE_UP:
                ListScrollingUtil.movePageUp(myList);
                break;
            case KeyEvent.VK_PAGE_DOWN:
                ListScrollingUtil.movePageDown(myList);
                break;
            case KeyEvent.VK_TAB:
                close(true);
                break;
            case KeyEvent.VK_ENTER:
                if (myList.getSelectedValue() == EXTRA_ELEM) {
                    myMaximumListSizeLimit += myListSizeIncreasing;
                    rebuildList(myList.getSelectedIndex(), myRebuildDelay, ModalityState.current(), null);
                    e.consume();
                }
                break;
            }

            if (myList.getSelectedValue() == NON_PREFIX_SEPARATOR) {
                if (keyCode == KeyEvent.VK_UP || keyCode == KeyEvent.VK_PAGE_UP) {
                    ListScrollingUtil.moveUp(myList, e.getModifiersEx());
                } else {
                    ListScrollingUtil.moveDown(myList, e.getModifiersEx());
                }
            }
        }
    });

    myTextField.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(@NotNull ActionEvent actionEvent) {
            doClose(true);
        }
    });

    myList.setFocusable(false);
    myList.setSelectionMode(allowMultipleSelection ? ListSelectionModel.MULTIPLE_INTERVAL_SELECTION
            : ListSelectionModel.SINGLE_SELECTION);
    new ClickListener() {
        @Override
        public boolean onClick(@NotNull MouseEvent e, int clickCount) {
            if (!myTextField.hasFocus()) {
                IdeFocusManager.getInstance(myProject).requestFocus(myTextField, true);
            }

            if (clickCount == 2) {
                int selectedIndex = myList.getSelectedIndex();
                Rectangle selectedCellBounds = myList.getCellBounds(selectedIndex, selectedIndex);

                if (selectedCellBounds != null && selectedCellBounds.contains(e.getPoint())) { // Otherwise it was reselected in the selection listener
                    if (myList.getSelectedValue() == EXTRA_ELEM) {
                        myMaximumListSizeLimit += myListSizeIncreasing;
                        rebuildList(selectedIndex, myRebuildDelay, ModalityState.current(), null);
                    } else {
                        doClose(true);
                    }
                }
                return true;
            }

            return false;
        }
    }.installOn(myList);

    myList.setCellRenderer(myModel.getListCellRenderer());
    myList.setFont(editorFont);

    myList.addListSelectionListener(new ListSelectionListener() {
        private int myPreviousSelectionIndex = 0;

        @Override
        public void valueChanged(@NotNull ListSelectionEvent e) {
            if (myList.getSelectedValue() != NON_PREFIX_SEPARATOR) {
                myPreviousSelectionIndex = myList.getSelectedIndex();
                chosenElementMightChange();
                updateDocumentation();
            } else if (allowMultipleSelection) {
                myList.setSelectedIndex(myPreviousSelectionIndex);
            }
        }
    });

    myListScrollPane = ScrollPaneFactory.createScrollPane(myList);
    myListScrollPane.setViewportBorder(new EmptyBorder(0, 0, 0, 0));

    myTextFieldPanel.setBorder(new EmptyBorder(2, 2, 2, 2));

    showTextFieldPanel();

    myInitialized = true;

    if (modalityState != null) {
        rebuildList(myInitialIndex, 0, modalityState, null);
    }
}

From source file:com.intellij.ide.util.gotoByName.ChooseByNameBase.java

License:Apache License

private boolean postponeCloseWhenListReady(boolean ok) {
    if (!isToFixLostTyping())
        return false;

    final String text = myTextField.getText();
    if (ok && myCalcElementsThread != null && text != null && !text.trim().isEmpty()) {
        myPostponedOkAction = new ActionCallback();
        IdeFocusManager.getInstance(myProject).typeAheadUntil(myPostponedOkAction);
        return true;
    }//from   ww w  . j  a  v  a2  s  . co m

    return false;
}

From source file:com.intellij.internal.psiView.PsiViewerDialog.java

License:Apache License

private void focusEditor() {
    IdeFocusManager.getInstance(myProject).requestFocus(myEditor.getContentComponent(), true);
}

From source file:com.intellij.internal.psiView.PsiViewerDialog.java

License:Apache License

private void focusTree() {
    IdeFocusManager.getInstance(myProject).requestFocus(myPsiTree, true);
}

From source file:com.intellij.internal.psiView.PsiViewerDialog.java

License:Apache License

private void focusRefs() {
    IdeFocusManager.getInstance(myProject).requestFocus(myRefs, true);
    if (myRefs.getModel().getSize() > 0) {
        if (myRefs.getSelectedIndex() == -1) {
            myRefs.setSelectedIndex(0);//from www .ja  v  a  2  s . c  om
        }
    }
}

From source file:com.intellij.internal.psiView.PsiViewerDialog.java

License:Apache License

private void focusBlockTree() {
    IdeFocusManager.getInstance(myProject).requestFocus(myBlockTree, true);
}

From source file:com.intellij.refactoring.extractMethodObject.ExtractMethodObjectDialog.java

License:Apache License

protected JComponent createCenterPanel() {
    mySignatureArea.setEditable(false);/* w w  w  . j av  a 2s  . c o m*/
    myCreateInnerClassRb.setSelected(true);

    final ActionListener enableDisableListener = new ActionListener() {
        public void actionPerformed(final ActionEvent e) {
            enable(myCreateInnerClassRb.isSelected());
        }
    };
    myCreateInnerClassRb.addActionListener(enableDisableListener);
    myCreateAnonymousClassWrapperRb.addActionListener(enableDisableListener);
    myCreateAnonymousClassWrapperRb.setEnabled(!myMultipleExitPoints);

    myFoldCb.setSelected(myVariableData.isFoldingSelectedByDefault());
    myFoldCb.setVisible(myVariableData.isFoldable());
    myVariableData.setFoldingAvailable(myFoldCb.isSelected());
    myInputVariables = myVariableData.getInputVariables()
            .toArray(new VariableData[myVariableData.getInputVariables().size()]);
    myFoldCb.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            myVariableData.setFoldingAvailable(myFoldCb.isSelected());
            myInputVariables = myVariableData.getInputVariables()
                    .toArray(new VariableData[myVariableData.getInputVariables().size()]);
            myParametersTableContainer.removeAll();
            myParametersTableContainer.add(createParametersPanel(), BorderLayout.CENTER);
            updateSignature();
            updateVarargsEnabled();
        }
    });
    myParametersTableContainer.add(createParametersPanel(), BorderLayout.CENTER);

    final ActionListener updateSugnatureListener = new ActionListener() {
        public void actionPerformed(final ActionEvent e) {
            updateSignature();
            IdeFocusManager.getInstance(myProject)
                    .requestFocus(myCreateInnerClassRb.isSelected() ? myInnerClassName : myMethodName, false);
        }
    };

    if (myStaticFlag || myCanBeStatic) {
        myCbMakeStatic.setEnabled(!myStaticFlag);
        myCbMakeStatic.setSelected(myStaticFlag);

        myCbMakeStatic.addActionListener(updateSugnatureListener);
    } else {
        myCbMakeStatic.setSelected(false);
        myCbMakeStatic.setEnabled(false);
    }

    updateVarargsEnabled();

    myCbMakeVarargs.setSelected(myWasStatic);
    myCbMakeVarargs.addActionListener(updateSugnatureListener);

    myCbMakeVarargsAnonymous.setSelected(myWasStatic);
    myCbMakeVarargsAnonymous.addActionListener(updateSugnatureListener);

    final com.intellij.openapi.editor.event.DocumentAdapter nameListener = new com.intellij.openapi.editor.event.DocumentAdapter() {
        @Override
        public void documentChanged(final DocumentEvent e) {
            update();
        }
    };
    myInnerClassName.getDocument().addDocumentListener(nameListener);
    myMethodName.getDocument().addDocumentListener(nameListener);

    myPrivateRadioButton.setSelected(true);

    myCreateInnerClassRb.addActionListener(updateSugnatureListener);
    myCreateAnonymousClassWrapperRb.addActionListener(updateSugnatureListener);

    final Enumeration<AbstractButton> visibilities = myVisibilityGroup.getElements();
    while (visibilities.hasMoreElements()) {
        visibilities.nextElement().addActionListener(updateSugnatureListener);
    }

    enable(true);
    return myWholePanel;
}

From source file:com.intellij.refactoring.introduceparameterobject.IntroduceParameterObjectDialog.java

License:Apache License

public IntroduceParameterObjectDialog(PsiMethod sourceMethod) {
    super(sourceMethod.getProject(), true);
    this.sourceMethod = sourceMethod;
    setTitle(RefactorJBundle.message("introduce.parameter.object.title"));
    final DocumentListener docListener = new DocumentAdapter() {
        protected void textChanged(final DocumentEvent e) {
            validateButtons();/*from  w  w  w.java2 s. co m*/
        }
    };
    final PsiClass containingClass = sourceMethod.getContainingClass();
    keepMethodAsDelegate.setVisible(containingClass != null && !containingClass.isInterface());
    classNameField.getDocument().addDocumentListener(docListener);
    myInnerClassNameTextField.getDocument().addDocumentListener(docListener);
    final PsiParameterList parameterList = sourceMethod.getParameterList();
    final PsiParameter[] parameters = parameterList.getParameters();
    parameterInfo = new VariableData[parameters.length];
    for (int i = 0; i < parameterInfo.length; i++) {
        parameterInfo[i] = new VariableData(parameters[i]);
        parameterInfo[i].name = parameters[i].getName();
        parameterInfo[i].passAsParameter = true;
    }

    sourceMethodTextField.setText(PsiFormatUtil.formatMethod(sourceMethod, PsiSubstitutor.EMPTY,
            PsiFormatUtil.SHOW_CONTAINING_CLASS | PsiFormatUtil.SHOW_NAME, 0));
    final ButtonGroup buttonGroup = new ButtonGroup();
    buttonGroup.add(useExistingClassButton);
    buttonGroup.add(createNewClassButton);
    buttonGroup.add(myCreateInnerClassRadioButton);
    createNewClassButton.setSelected(true);
    if (containingClass != null && containingClass.getQualifiedName() == null) {
        myCreateInnerClassRadioButton.setEnabled(false);
    }
    init();

    final ActionListener listener = new ActionListener() {

        public void actionPerformed(ActionEvent actionEvent) {
            toggleRadioEnablement();
            final IdeFocusManager focusManager = IdeFocusManager.getInstance(myProject);
            if (useExistingClass()) {
                focusManager.requestFocus(existingClassField, true);
            } else if (myCreateInnerClassRadioButton.isSelected()) {
                focusManager.requestFocus(myInnerClassNameTextField, true);
            } else {
                focusManager.requestFocus(classNameField, true);
            }
        }
    };
    useExistingClassButton.addActionListener(listener);
    createNewClassButton.addActionListener(listener);
    myCreateInnerClassRadioButton.addActionListener(listener);
    myGenerateAccessorsCheckBox.setSelected(true);
    myEscalateVisibilityCheckBox.setSelected(true);
    toggleRadioEnablement();
}

From source file:com.intellij.refactoring.replaceConstructorWithBuilder.ReplaceConstructorWithBuilderDialog.java

License:Apache License

protected JComponent createCenterPanel() {
    final Splitter splitter = new Splitter(true);
    splitter.setFirstComponent(createTablePanel());
    splitter.setSecondComponent(myWholePanel);
    final ActionListener enableDisableListener = new ActionListener() {
        public void actionPerformed(final ActionEvent e) {
            setEnabled(myCreateBuilderClassRadioButton.isSelected());
            IdeFocusManager.getInstance(myProject)
                    .requestFocus(myCreateBuilderClassRadioButton.isSelected() ? myNewClassName
                            : myExistentClassTF.getChildComponent(), true);
            validateButtons();/*from w w  w  .ja  va  2 s  .com*/
        }
    };
    myCreateBuilderClassRadioButton.addActionListener(enableDisableListener);
    myExistingBuilderClassRadioButton.addActionListener(enableDisableListener);
    myCreateBuilderClassRadioButton.setSelected(true);
    setEnabled(true);

    final DocumentAdapter validateButtonsListener = new DocumentAdapter() {
        @Override
        protected void textChanged(DocumentEvent e) {
            validateButtons();
        }
    };
    myNewClassName.getDocument().addDocumentListener(validateButtonsListener);
    final PsiClass psiClass = myConstructors[0].getContainingClass();
    LOG.assertTrue(psiClass != null);
    myNewClassName.setText(psiClass.getName() + "Builder");

    return splitter;
}