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

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

Introduction

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

Prototype

@NotNull
ActionCallback requestFocus(@NotNull Component c, boolean forced);

Source Link

Document

Requests focus on a component

Usage

From source file:com.android.tools.idea.configurations.ThemeSelectionPanel.java

License:Apache License

public void focus() {
    final Project project = myConfiguration.getModule().getProject();
    final IdeFocusManager focusManager = project.isDefault() ? IdeFocusManager.getGlobalInstance()
            : IdeFocusManager.getInstance(project);
    focusManager.doWhenFocusSettlesDown(new Runnable() {
        @Override/*from www . j  a  v  a  2  s.com*/
        public void run() {
            focusManager.requestFocus(myThemeList, true);
        }
    });
}

From source file:com.intellij.help.impl.IdeaHelpBroker.java

License:Apache License

/**
 * Displays the presentation to the user.
 *//*from www  .j  a v  a  2 s . co m*/
public void setDisplayed(boolean visible) {
    createHelpWindow();
    if (myModallyActivated) {
        myDialog.setVisible(visible);
        if (visible) {
            myDialog.setLocationRelativeTo(myDialog.getOwner());
        }
    } else {
        //myFrame.setLocationRelativeTo(null);
        myFrame.setVisible(visible);
        myFrame.setState(JFrame.NORMAL);
        IdeFocusManager focusManager = IdeFocusManager.findInstance();
        JComponent target = focusManager.getFocusTargetFor(myFrame.getRootPane());
        focusManager.requestFocus(target != null ? target : myFrame, true);
    }
}

From source file:com.intellij.ide.actions.SearchEverywhereAction.java

License:Apache License

public void actionPerformed(AnActionEvent e, MouseEvent me) {
    if (myBalloon != null && myBalloon.isVisible()) {
        showAll.set(!showAll.get());/*from  w  w  w .j av a2  s .co  m*/
        myNonProjectCheckBox.setSelected(showAll.get());
        //      myPopupField.getTextEditor().setBackground(showAll.get() ? new JBColor(new Color(0xffffe4), new Color(0x494539)) : UIUtil.getTextFieldBackground());
        rebuildList(myPopupField.getText());
        return;
    }
    myCurrentWorker = ActionCallback.DONE;
    if (e != null) {
        myEditor = e.getData(CommonDataKeys.EDITOR);
        myFileEditor = e.getData(PlatformDataKeys.FILE_EDITOR);
        myFile = e.getData(CommonDataKeys.PSI_FILE);
    }
    if (e == null && myFocusOwner != null) {
        e = new AnActionEvent(me, DataManager.getInstance().getDataContext(myFocusOwner), ActionPlaces.UNKNOWN,
                getTemplatePresentation(), ActionManager.getInstance(), 0);
    }
    if (e == null)
        return;
    final Project project = e.getProject();
    if (project == null)
        return;

    updateComponents();
    myContextComponent = PlatformDataKeys.CONTEXT_COMPONENT.getData(e.getDataContext());
    Window wnd = myContextComponent != null ? SwingUtilities.windowForComponent(myContextComponent)
            : KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusedWindow();
    if (wnd == null && myContextComponent instanceof Window) {
        wnd = (Window) myContextComponent;
    }
    if (wnd == null || wnd.getParent() != null)
        return;
    myActionEvent = e;
    if (myPopupField != null) {
        Disposer.dispose(myPopupField);
    }
    myPopupField = new MySearchTextField();
    myPopupField.getTextEditor().addKeyListener(new KeyAdapter() {
        @Override
        public void keyTyped(KeyEvent e) {
            myHistoryIndex = 0;
            myHistoryItem = null;
        }

        @Override
        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_SHIFT) {
                myList.repaint();
            }
        }

        @Override
        public void keyReleased(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_SHIFT) {
                myList.repaint();
            }
        }
    });
    initSearchField(myPopupField);
    myPopupField.setOpaque(false);
    final JTextField editor = myPopupField.getTextEditor();
    editor.setColumns(SEARCH_FIELD_COLUMNS);
    final JPanel panel = new JPanel(new BorderLayout()) {
        @Override
        protected void paintComponent(Graphics g) {
            final Gradient gradient = getGradientColors();
            ((Graphics2D) g).setPaint(
                    new GradientPaint(0, 0, gradient.getStartColor(), 0, getHeight(), gradient.getEndColor()));
            g.fillRect(0, 0, getWidth(), getHeight());
        }
    };
    final JLabel title = new JLabel(" Search Everywhere:       ");
    final JPanel topPanel = new NonOpaquePanel(new BorderLayout());
    title.setForeground(new JBColor(Gray._240, Gray._200));
    if (SystemInfo.isMac) {
        title.setFont(title.getFont().deriveFont(Font.BOLD, title.getFont().getSize() - 1f));
    } else {
        title.setFont(title.getFont().deriveFont(Font.BOLD));
    }
    topPanel.add(title, BorderLayout.WEST);
    final JPanel controls = new JPanel(new BorderLayout());
    controls.setOpaque(false);
    final JLabel settings = new JLabel(AllIcons.General.SearchEverywhereGear);
    new ClickListener() {
        @Override
        public boolean onClick(@NotNull MouseEvent event, int clickCount) {
            showSettings();
            return true;
        }
    }.installOn(settings);
    controls.add(settings, BorderLayout.EAST);
    myNonProjectCheckBox.setForeground(new JBColor(Gray._240, Gray._200));
    myNonProjectCheckBox.setText("Include non-project items (" + getShortcut() + ")  ");
    controls.add(myNonProjectCheckBox, BorderLayout.WEST);
    topPanel.add(controls, BorderLayout.EAST);
    panel.add(myPopupField, BorderLayout.CENTER);
    panel.add(topPanel, BorderLayout.NORTH);
    panel.setBorder(IdeBorderFactory.createEmptyBorder(3, 5, 4, 5));
    DataManager.registerDataProvider(panel, this);
    final ComponentPopupBuilder builder = JBPopupFactory.getInstance().createComponentPopupBuilder(panel,
            editor);
    myBalloon = builder.setCancelOnClickOutside(true).setModalContext(false).setRequestFocus(true)
            .setCancelCallback(new Computable<Boolean>() {
                @Override
                public Boolean compute() {
                    return !mySkipFocusGain;
                }
            }).createPopup();
    myBalloon.getContent().setBorder(new EmptyBorder(0, 0, 0, 0));
    final Window window = WindowManager.getInstance().suggestParentWindow(project);

    project.getMessageBus().connect(myBalloon).subscribe(DumbService.DUMB_MODE,
            new DumbService.DumbModeListener() {
                @Override
                public void enteredDumbMode() {
                }

                @Override
                public void exitDumbMode() {
                    rebuildList(myPopupField.getText());
                }
            });

    Component parent = UIUtil.findUltimateParent(window);
    registerDataProvider(panel, project);
    final RelativePoint showPoint;
    if (me != null) {
        final Component label = me.getComponent();
        final Component button = label.getParent();
        assert button != null;
        showPoint = new RelativePoint(button,
                new Point(button.getWidth() - panel.getPreferredSize().width, button.getHeight()));
    } else {
        if (parent != null) {
            int height = UISettings.getInstance().SHOW_MAIN_TOOLBAR ? 135 : 115;
            if (parent instanceof IdeFrameImpl && ((IdeFrameImpl) parent).isInFullScreen()) {
                height -= 20;
            }
            showPoint = new RelativePoint(parent,
                    new Point((parent.getSize().width - panel.getPreferredSize().width) / 2, height));
        } else {
            showPoint = JBPopupFactory.getInstance().guessBestPopupLocation(e.getDataContext());
        }
    }
    myList.setFont(UIUtil.getListFont());
    myBalloon.show(showPoint);
    initSearchActions(myBalloon, myPopupField);
    IdeFocusManager focusManager = IdeFocusManager.getInstance(project);
    focusManager.requestFocus(editor, true);
    FeatureUsageTracker.getInstance().triggerFeatureUsed(IdeActions.ACTION_SEARCH_EVERYWHERE);
}

From source file:com.intellij.ide.wizard.AbstractWizard.java

License:Apache License

private static void requestFocusTo(final JComponent component) {
    UiNotifyConnector.doWhenFirstShown(component, new Runnable() {
        @Override/*from w w w. ja v a  2s .c  o m*/
        public void run() {
            final IdeFocusManager focusManager = IdeFocusManager.findInstanceByComponent(component);
            focusManager.requestFocus(component, false);
        }
    });
}

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.j  a  va 2  s  .c om*/
        }
    };
    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.wrapreturnvalue.WrapReturnValueDialog.java

License:Apache License

private void toggleRadioEnablement() {
    UIUtil.setEnabled(myExistingClassPanel, useExistingClassButton.isSelected(), true);
    UIUtil.setEnabled(myNewClassPanel, createNewClassButton.isSelected(), true);
    UIUtil.setEnabled(myCreateInnerPanel, myCreateInnerClassButton.isSelected(), true);
    final IdeFocusManager focusManager = IdeFocusManager.getInstance(myProject);
    if (useExistingClassButton.isSelected()) {
        focusManager.requestFocus(existingClassField, true);
    } else if (myCreateInnerClassButton.isSelected()) {
        focusManager.requestFocus(myInnerClassNameTextField, true);
    } else {/*from w w w . ja v  a 2s  .  co  m*/
        focusManager.requestFocus(classNameField, true);
    }
    validateButtons();
}

From source file:com.intellij.ui.FocusTrackback.java

License:Apache License

public void restoreFocus() {
    final Application app = ApplicationManager.getApplication();
    if (app == null || wrongOS() || myConsumed || isSheduledForRestore())
        return;//  ww  w . j ava 2  s. c  o m

    Project project = null;
    DataContext context = myParentWindow == null ? DataManager.getInstance().getDataContext()
            : DataManager.getInstance().getDataContext(myParentWindow);
    if (context != null) {
        project = CommonDataKeys.PROJECT.getData(context);
    }

    mySheduledForRestore = true;
    final List<FocusTrackback> stack = getCleanStackForRoot();
    final int index = stack.indexOf(this);
    for (int i = index - 1; i >= 0; i--) {
        if (stack.get(i).isSheduledForRestore()) {
            dispose();
            return;
        }
    }

    if (project != null && !project.isDisposed()) {
        final IdeFocusManager focusManager = IdeFocusManager.getInstance(project);
        cleanParentWindow();
        final Project finalProject = project;
        focusManager.requestFocus(new MyFocusCommand(), myForcedRestore).doWhenProcessed(new Runnable() {
            public void run() {
                dispose();
            }
        }).doWhenRejected(new Runnable() {
            @Override
            public void run() {
                focusManager.revalidateFocus(new ExpirableRunnable.ForProject(finalProject) {
                    @Override
                    public void run() {
                        if (UIUtil.isMeaninglessFocusOwner(focusManager.getFocusOwner())) {
                            focusManager.requestDefaultFocus(false);
                        }
                    }
                });
            }
        });
    } else {
        // no ide focus manager, so no way -- do just later
        //noinspection SSBasedInspection
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                _restoreFocus();
                dispose();
            }
        });
    }
}

From source file:org.codinjutsu.tools.mongo.view.QueryPanel.java

License:Apache License

public void requestFocusOnEditor() {// Code from requestFocus of EditorImpl
    final IdeFocusManager focusManager = IdeFocusManager.getInstance(this.project);
    JComponent editorContentComponent = getCurrentOperatorPanel().getRequestFocusComponent();
    if (focusManager.getFocusOwner() != editorContentComponent) {
        focusManager.requestFocus(editorContentComponent, true);
    }//  w  ww .  j  av  a2 s . c  o  m
}

From source file:ru.list.search.AssistantSearchEverywhereAction.java

License:Apache License

public void actionPerformed(AnActionEvent e, MouseEvent me) {
    if (myBalloon != null && myBalloon.isVisible()) {
        showAll.set(!showAll.get());//from   w  ww . j  a va 2  s.co  m
        myNonProjectCheckBox.setSelected(showAll.get());
        //      myPopupField.getTextEditor().setBackground(showAll.get() ? new JBColor(new Color(0xffffe4), new Color(0x494539)) : UIUtil.getTextFieldBackground());
        rebuildList(myPopupField.getText());
        return;
    }
    myCurrentWorker = ActionCallback.DONE;
    if (e != null) {
        myEditor = e.getData(CommonDataKeys.EDITOR);
        myFileEditor = e.getData(PlatformDataKeys.FILE_EDITOR);
        myFile = e.getData(CommonDataKeys.PSI_FILE);
        myEditorWindow = e.getData(EditorWindow.DATA_KEY);
    }
    if (e == null && myFocusOwner != null) {
        e = AnActionEvent.createFromAnAction(this, me, ActionPlaces.UNKNOWN,
                DataManager.getInstance().getDataContext(myFocusOwner));
    }
    if (e == null)
        return;
    final Project project = e.getProject();
    if (project == null)
        return;

    //noinspection SSBasedInspection
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            LookupManager.getInstance(project).hideActiveLookup();
        }
    });

    updateComponents();
    myContextComponent = PlatformDataKeys.CONTEXT_COMPONENT.getData(e.getDataContext());
    Window wnd = myContextComponent != null ? SwingUtilities.windowForComponent(myContextComponent)
            : KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusedWindow();
    if (wnd == null && myContextComponent instanceof Window) {
        wnd = (Window) myContextComponent;
    }
    if (wnd == null || wnd.getParent() != null)
        return;
    myActionEvent = e;
    if (myPopupField != null) {
        Disposer.dispose(myPopupField);
    }
    myPopupField = new MySearchTextField();
    myPopupField.getTextEditor().addKeyListener(new KeyAdapter() {
        @Override
        public void keyTyped(KeyEvent e) {
            myHistoryIndex = 0;
            myHistoryItem = null;
        }

        @Override
        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_SHIFT) {
                myList.repaint();
            }
        }

        @Override
        public void keyReleased(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_SHIFT) {
                myList.repaint();
            }
        }
    });
    initSearchField(myPopupField);
    myPopupField.setOpaque(false);
    final JTextField editor = myPopupField.getTextEditor();
    editor.setColumns(SEARCH_FIELD_COLUMNS);
    final JPanel panel = new JPanel(new BorderLayout()) {
        @Override
        protected void paintComponent(Graphics g) {
            final Gradient gradient = getGradientColors();
            ((Graphics2D) g).setPaint(
                    new GradientPaint(0, 0, gradient.getStartColor(), 0, getHeight(), gradient.getEndColor()));
            g.fillRect(0, 0, getWidth(), getHeight());
        }
    };
    final JLabel title = new JLabel(" Assistant Search Everywhere:       ");
    final JPanel topPanel = new NonOpaquePanel(new BorderLayout());
    title.setForeground(new JBColor(Gray._240, Gray._200));
    if (SystemInfo.isMac) {
        title.setFont(title.getFont().deriveFont(Font.BOLD, title.getFont().getSize() - 1f));
    } else {
        title.setFont(title.getFont().deriveFont(Font.BOLD));
    }
    topPanel.add(title, BorderLayout.WEST);
    final JPanel controls = new JPanel(new BorderLayout());
    controls.setOpaque(false);
    final JLabel settings = new JLabel(AllIcons.General.SearchEverywhereGear);
    new ClickListener() {
        @Override
        public boolean onClick(@NotNull MouseEvent event, int clickCount) {
            showSettings();
            return true;
        }
    }.installOn(settings);
    controls.add(settings, BorderLayout.EAST);
    myNonProjectCheckBox.setForeground(new JBColor(Gray._240, Gray._200));
    myNonProjectCheckBox.setText("Include non-project items (" + getShortcut() + ")  ");
    if (!NonProjectScopeDisablerEP.isSearchInNonProjectDisabled()) {
        controls.add(myNonProjectCheckBox, BorderLayout.WEST);
    }
    topPanel.add(controls, BorderLayout.EAST);
    panel.add(myPopupField, BorderLayout.CENTER);
    panel.add(topPanel, BorderLayout.NORTH);
    panel.add(new JLabel("Open in main group - (Enter);\t Open in second group - (Alt Enter)"),
            BorderLayout.SOUTH);
    panel.setBorder(IdeBorderFactory.createEmptyBorder(3, 5, 4, 5));
    DataManager.registerDataProvider(panel, this);
    final ComponentPopupBuilder builder = JBPopupFactory.getInstance().createComponentPopupBuilder(panel,
            editor);
    myBalloon = builder.setCancelOnClickOutside(true).setModalContext(false).setRequestFocus(true)
            .setCancelCallback(new Computable<Boolean>() {
                @Override
                public Boolean compute() {
                    return !mySkipFocusGain;
                }
            }).createPopup();
    myBalloon.getContent().setBorder(JBUI.Borders.empty());
    final Window window = WindowManager.getInstance().suggestParentWindow(project);

    project.getMessageBus().connect(myBalloon).subscribe(DumbService.DUMB_MODE,
            new DumbService.DumbModeListener() {
                @Override
                public void enteredDumbMode() {
                }

                @Override
                public void exitDumbMode() {
                    ApplicationManager.getApplication().invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            rebuildList(myPopupField.getText());
                        }
                    });
                }
            });

    Component parent = UIUtil.findUltimateParent(window);
    registerDataProvider(panel, project);
    final RelativePoint showPoint;
    if (parent != null) {
        int height = UISettings.getInstance().SHOW_MAIN_TOOLBAR ? 135 : 115;
        if (parent instanceof IdeFrameImpl && ((IdeFrameImpl) parent).isInFullScreen()) {
            height -= 20;
        }
        showPoint = new RelativePoint(parent,
                new Point((parent.getSize().width - panel.getPreferredSize().width) / 2, height));
    } else {
        showPoint = JBPopupFactory.getInstance().guessBestPopupLocation(e.getDataContext());
    }
    myList.setFont(UIUtil.getListFont());
    myBalloon.show(showPoint);
    initSearchActions(myBalloon, myPopupField);
    IdeFocusManager focusManager = IdeFocusManager.getInstance(project);
    focusManager.requestFocus(editor, true);
    FeatureUsageTracker.getInstance().triggerFeatureUsed(IdeActions.ACTION_SEARCH_EVERYWHERE);
}