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

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

Introduction

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

Prototype

@NotNull
    public static IdeFocusManager getGlobalInstance() 

Source Link

Usage

From source file:org.intellij.plugins.hcl.terraform.config.refactoring.VariableIntroduceDialog.java

License:Apache License

private void setUpNameComboBox(Collection<String> possibleNames) {
    final EditorComboBoxEditor comboEditor = new StringComboboxEditor(myProject, TerraformFileType.INSTANCE,
            myNameComboBox);//  w  w w .j a va2  s  . c  om

    myNameComboBox.setEditor(comboEditor);
    myNameComboBox.setRenderer(new EditorComboBoxRenderer(comboEditor));
    myNameComboBox.setEditable(true);
    myNameComboBox.setMaximumRowCount(8);

    myNameComboBox.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            updateControls();
        }
    });
    ((EditorTextField) myNameComboBox.getEditor().getEditorComponent())
            .addDocumentListener(new DocumentListener() {
                public void beforeDocumentChange(DocumentEvent event) {
                }

                public void documentChanged(DocumentEvent event) {
                    updateControls();
                }
            });

    myContentPane.registerKeyboardAction(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            IdeFocusManager.getGlobalInstance().doWhenFocusSettlesDown(new Runnable() {
                @Override
                public void run() {
                    IdeFocusManager.getGlobalInstance().requestFocus(myNameComboBox, true);
                }
            });
        }
    }, KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.ALT_MASK), JComponent.WHEN_IN_FOCUSED_WINDOW);

    for (String possibleName : possibleNames) {
        myNameComboBox.addItem(possibleName);
    }
}