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.debugger.ui.DebuggerEditorImpl.java

License:Apache License

private ListPopup createLanguagePopup() {
    DefaultActionGroup actions = new DefaultActionGroup();
    for (final CodeFragmentFactory fragmentFactory : DebuggerUtilsEx.getCodeFragmentFactories(myContext)) {
        actions.add(new AnAction(fragmentFactory.getFileType().getLanguage().getDisplayName(), null,
                fragmentFactory.getFileType().getIcon()) {
            @Override//  w  ww . j a  v a2 s .c o  m
            public void actionPerformed(AnActionEvent e) {
                setFactory(fragmentFactory);
                setText(getText());
                IdeFocusManager.getInstance(getProject()).requestFocus(DebuggerEditorImpl.this, true);
            }
        });
    }

    DataContext dataContext = DataManager.getInstance().getDataContext(this);
    return JBPopupFactory.getInstance().createActionGroupPopup("Choose language", actions, dataContext,
            JBPopupFactory.ActionSelectionAid.SPEEDSEARCH, false);
}

From source file:com.intellij.designer.LightToolWindow.java

License:Apache License

public LightToolWindow(@NotNull LightToolWindowContent content, @NotNull String title, @NotNull Icon icon,
        @NotNull JComponent component, @NotNull JComponent focusedComponent,
        @NotNull ThreeComponentsSplitter contentSplitter, @Nullable ToolWindowAnchor anchor,
        @NotNull LightToolWindowManager manager, @NotNull Project project,
        @NotNull PropertiesComponent propertiesComponent, @NotNull String key, int defaultWidth,
        @Nullable AnAction[] actions) {//from w w  w . j  a  v  a2s.c  om
    super(new BorderLayout());
    myContent = content;
    myFocusedComponent = focusedComponent;
    myContentSplitter = contentSplitter;
    myAnchor = anchor;
    myProject = project;
    myManager = manager;
    myPropertiesComponent = propertiesComponent;

    myShowStateKey = LightToolWindowManager.EDITOR_MODE + key + ".SHOW";
    myWidthKey = LightToolWindowManager.EDITOR_MODE + key + ".WIDTH";

    HeaderPanel header = new HeaderPanel();
    header.setLayout(new BorderLayout());
    add(header, BorderLayout.NORTH);

    JLabel titleLabel = new JLabel(title);
    titleLabel.setBorder(IdeBorderFactory.createEmptyBorder(2, 5, 2, 10));
    titleLabel.setFont(UIUtil.getLabelFont(UIUtil.FontSize.SMALL));
    header.add(titleLabel, BorderLayout.CENTER);

    JPanel actionPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 0));
    actionPanel.setBorder(IdeBorderFactory.createEmptyBorder(3, 0, 2, 0));
    actionPanel.setOpaque(false);
    header.add(actionPanel, BorderLayout.EAST);

    if (actions != null) {
        for (AnAction action : actions) {
            addAction(actionPanel, action);
        }

        actionPanel.add(new JLabel(AllIcons.General.Divider));
    }

    addAction(actionPanel, new GearAction());
    addAction(actionPanel, new HideAction());

    JPanel contentWrapper = new JPanel(new BorderLayout());
    contentWrapper.setBorder(IdeBorderFactory.createBorder(SideBorder.TOP));
    contentWrapper.add(component, BorderLayout.CENTER);

    add(contentWrapper, BorderLayout.CENTER);

    addMouseListener(new MouseAdapter() {
        public void mouseReleased(final MouseEvent e) {
            IdeFocusManager.getInstance(myProject).requestFocus(myFocusedComponent, true);
        }
    });

    addMouseListener(new PopupHandler() {
        public void invokePopup(Component component, int x, int y) {
            showGearPopup(component, x, y);
        }
    });

    myMinimizeButton = new AnchoredButton(title, icon) {
        @Override
        public void updateUI() {
            setUI(StripeButtonUI.createUI(this));
            setFont(UIUtil.getLabelFont(UIUtil.FontSize.SMALL));
        }

        @Override
        public int getMnemonic2() {
            return 0;
        }

        @Override
        public ToolWindowAnchor getAnchor() {
            return myAnchor;
        }
    };
    myMinimizeButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            myMinimizeButton.setSelected(false);
            updateContent(true, true);
        }
    });
    myMinimizeButton.setBorder(BorderFactory.createEmptyBorder(5, 5, 0, 5));
    myMinimizeButton.setFocusable(false);

    myMinimizeButton.setRolloverEnabled(true);
    myMinimizeButton.setOpaque(false);

    myMinimizeComponent = new JPanel() {
        @Override
        public void doLayout() {
            Dimension size = myMinimizeButton.getPreferredSize();
            myMinimizeButton.setBounds(0, 0, getWidth(), size.height);
        }
    };
    myMinimizeComponent.add(myMinimizeButton);

    configureBorder();
    configureWidth(defaultWidth);
    updateContent(myPropertiesComponent.getBoolean(myShowStateKey, true), false);
}

From source file:com.intellij.designer.LightToolWindow.java

License:Apache License

private boolean isActive() {
    IdeFocusManager fm = IdeFocusManager.getInstance(myProject);
    Component component = fm.getFocusedDescendantFor(this);
    if (component != null) {
        return true;
    }//w  ww .j a  va2 s .  com
    Component owner = fm.getLastFocusedFor(WindowManager.getInstance().getIdeFrame(myProject));
    return owner != null && SwingUtilities.isDescendingFrom(owner, this);
}

From source file:com.intellij.diff.impl.DiffRequestProcessor.java

License:Apache License

@RequiredDispatchThread
protected void applyRequest(@NotNull DiffRequest request, boolean force,
        @Nullable ScrollToPolicy scrollToChangePolicy) {
    myIterationState = IterationState.NONE;

    force = force || (myQueuedApplyRequest != null && myQueuedApplyRequest.force);
    myQueuedApplyRequest = new ApplyData(request, force, scrollToChangePolicy);
    Runnable task = new Runnable() {
        @Override//w w  w .ja  v a  2 s. c  o  m
        public void run() {
            if (myQueuedApplyRequest == null || myDisposed)
                return;
            doApplyRequest(myQueuedApplyRequest.request, myQueuedApplyRequest.force,
                    myQueuedApplyRequest.scrollToChangePolicy);
            myQueuedApplyRequest = null;
        }
    };

    IdeFocusManager.getInstance(myProject).doWhenFocusSettlesDown(task);
}

From source file:com.intellij.diff.util.DiffUtil.java

License:Apache License

public static boolean isFocusedComponent(@Nullable Project project, @Nullable Component component) {
    if (component == null)
        return false;
    return IdeFocusManager.getInstance(project).getFocusedDescendantFor(component) != null;
}

From source file:com.intellij.diff.util.DiffUtil.java

License:Apache License

public static void requestFocus(@Nullable Project project, @Nullable Component component) {
    if (component == null)
        return;//from w w  w .j a v a  2  s . c o m
    IdeFocusManager.getInstance(project).requestFocus(component, true);
}

From source file:com.intellij.execution.testframework.sm.runner.ui.SMTestRunnerResultsForm.java

License:Apache License

/**
 * On event change selection and probably requests focus. Is used when we want
 * navigate from other component to this
 *
 * @return Listener/*from   w  w w.j a  v  a2  s. c o  m*/
 */
public PropagateSelectionHandler createSelectMeListener() {
    return new PropagateSelectionHandler() {
        @Override
        public void handlePropagateSelectionRequest(@Nullable final SMTestProxy selectedTestProxy,
                @NotNull final Object sender, final boolean requestFocus) {
            SMRunnerUtil.addToInvokeLater(new Runnable() {
                @Override
                public void run() {
                    selectWithoutNotify(selectedTestProxy);

                    // Request focus if necessary
                    if (requestFocus) {
                        //myTreeView.requestFocusInWindow();
                        IdeFocusManager.getInstance(myProject).requestFocus(myTreeView, true);
                    }
                }
            });
        }
    };
}

From source file:com.intellij.execution.testframework.sm.runner.ui.statistics.StatisticsPanel.java

License:Apache License

public void selectProxy(@Nullable final SMTestProxy selectedTestProxy, @NotNull final Object sender,
        final boolean requestFocus) {
    SMRunnerUtil.addToInvokeLater(new Runnable() {
        public void run() {
            // Select tab if focus was requested
            if (requestFocus) {
                IdeFocusManager.getInstance(myProject).requestFocus(myStatisticsTableView, true);
            }/*from   ww w .j  a va 2s .co  m*/

            // Select proxy in table
            selectProxy(selectedTestProxy);
        }
    });
}

From source file:com.intellij.execution.ui.layout.impl.RunnerContentUi.java

License:Apache License

private void processAttraction(final String contentId, final Map<String, LayoutAttractionPolicy> policyMap,
        final LayoutAttractionPolicy defaultPolicy, final boolean afterInitialized, final boolean activate) {
    IdeFocusManager.getInstance(getProject()).doWhenFocusSettlesDown(new Runnable() {
        @Override//from  w  w w  .  java2  s. c o  m
        public void run() {
            myInitialized.processOnDone(new Runnable() {
                @Override
                public void run() {
                    Content content = findContent(contentId);
                    if (content == null)
                        return;

                    final LayoutAttractionPolicy policy = getOrCreatePolicyFor(contentId, policyMap,
                            defaultPolicy);
                    if (activate) {
                        // See IDEA-93683, bounce attraction should not disable further focus attraction
                        if (!(policy instanceof LayoutAttractionPolicy.Bounce)) {
                            myAttractionCount++;
                        }
                        policy.attract(content, myRunnerUi);
                    } else {
                        policy.clearAttraction(content, myRunnerUi);
                    }
                }
            }, afterInitialized);
        }
    });
}

From source file:com.intellij.execution.ui.layout.impl.RunnerLayoutUiImpl.java

License:Apache License

public RunnerLayoutUiImpl(@NotNull Project project, @NotNull Disposable parent, @NotNull String runnerId,
        @NotNull String runnerTitle, @NotNull String sessionName) {
    myLayout = RunnerLayoutSettings.getInstance().getLayout(runnerId);
    Disposer.register(parent, this);

    myContentUI = new RunnerContentUi(project, this, ActionManager.getInstance(),
            IdeFocusManager.getInstance(project), myLayout, runnerTitle + " - " + sessionName);
    Disposer.register(this, myContentUI);
    myContentPanel = new MyContent();

    myViewsContentManager = getContentFactory().createContentManager(myContentUI.getContentUI(), false,
            project);//from  ww w.ja  v a  2 s.  c o  m
    Disposer.register(this, myViewsContentManager);

    myContentPanel.add(myViewsContentManager.getComponent(), BorderLayout.CENTER);
}