Example usage for com.intellij.openapi.ui ComboBox ComboBox

List of usage examples for com.intellij.openapi.ui ComboBox ComboBox

Introduction

In this page you can find the example usage for com.intellij.openapi.ui ComboBox ComboBox.

Prototype

public ComboBox(E @NotNull [] items) 

Source Link

Usage

From source file:com.aijia.plugin.gradle.GradleRunTaskDialog.java

License:Apache License

private void setUpDialog() {
    JComponent commandLineComponent;
    if (myHistory == null) {
        commandLineEditor = new EditorTextField("", myProject, PlainTextFileType.INSTANCE);
        commandLineComponent = commandLineEditor;

        commandLineLabel.setLabelFor(commandLineEditor);
    } else {/*w  w w. j  av  a2 s .  c  om*/
        commandLineComboBox = new ComboBox(ArrayUtilRt.toStringArray(myHistory));
        commandLineComponent = commandLineComboBox;

        commandLineLabel.setLabelFor(commandLineComboBox);

        commandLineComboBox.setLightWeightPopupEnabled(false);

        EditorComboBoxEditor editor = new StringComboboxEditor(myProject, PlainTextFileType.INSTANCE,
                commandLineComboBox);
        //noinspection GtkPreferredJComboBoxRenderer
        commandLineComboBox.setRenderer(new EditorComboBoxRenderer(editor));

        commandLineComboBox.setEditable(true);
        commandLineComboBox.setEditor(editor);
        commandLineComboBox.setFocusable(true);

        commandLineEditor = editor.getEditorComponent();
    }

    commandLinePanel.add(commandLineComponent);

    ExternalSystemManager<?, ?, ?, ?, ?> manager = ExternalSystemApiUtil.getManager(GradleConstants.SYSTEM_ID);
    FileChooserDescriptor projectPathChooserDescriptor = null;
    if (manager instanceof ExternalSystemUiAware) {
        projectPathChooserDescriptor = ((ExternalSystemUiAware) manager).getExternalProjectConfigDescriptor();
    }
    if (projectPathChooserDescriptor == null) {
        projectPathChooserDescriptor = FileChooserDescriptorFactory.createSingleLocalFileDescriptor();
    }

    String title = ExternalSystemBundle.message("settings.label.select.project",
            GradleConstants.SYSTEM_ID.getReadableName());
    myProjectPathField = new ExternalProjectPathField(myProject, GradleConstants.SYSTEM_ID,
            projectPathChooserDescriptor, title) {
        @Override
        public Dimension getPreferredSize() {
            return commandLinePanel == null ? super.getPreferredSize() : commandLinePanel.getPreferredSize();
        }
    };

    projectPathFieldPanel.add(myProjectPathField);

    new GradleArgumentsCompletionProvider(myProject, myProjectPathField).apply(commandLineEditor);
}

From source file:com.android.tools.idea.avdmanager.ConfigureDeviceOptionsStep.java

License:Apache License

private void createUIComponents() {
    myNavigationControlsCombo = new ComboBox(new EnumComboBoxModel<>(Navigation.class)) {
        @Override/*from ww  w  .  j  a v  a 2  s.  co m*/
        public ListCellRenderer getRenderer() {
            return new ColoredListCellRenderer() {
                @Override
                protected void customizeCellRenderer(@NotNull JList list, Object value, int index,
                        boolean selected, boolean hasFocus) {
                    append(((Navigation) value).getShortDisplayValue());
                }
            };
        }
    };

    myHardwareSkinHelpLabel = new HyperlinkLabel("How do I create a custom hardware skin?");
    myHardwareSkinHelpLabel.setHyperlinkTarget(AvdWizardUtils.CREATE_SKIN_HELP_LINK);
    myCustomSkinPath = new SkinChooser(null, false);
    myDeviceDefinitionPreview = new DeviceDefinitionPreview(getModel().getDeviceData());
}

From source file:com.android.tools.idea.editors.hierarchyview.WindowPickerDialog.java

License:Apache License

public WindowPickerDialog(@NotNull Project project, @NotNull final Client client,
        @NotNull List<ClientWindow> windows) {
    super(project, true);
    setTitle(AndroidBundle.message("android.ddms.actions.hierarchyview.windowpicker"));

    myPanel = new JPanel(new BorderLayout());

    myWindowsCombo = new ComboBox(new CollectionComboBoxModel<ClientWindow>(windows));
    myWindowsCombo.setRenderer(new ClientWindowRenderer());
    myWindowsCombo.setSelectedIndex(0);//from  w  w  w .  j ava  2  s  . c  om
    myPanel.add(myWindowsCombo, BorderLayout.CENTER);

    init();
}

From source file:com.android.tools.idea.gradle.structure.editors.ModuleDependenciesPanel.java

License:Apache License

public ModuleDependenciesPanel(@NotNull Project project, @NotNull String modulePath) {
    super(new BorderLayout());

    myModulePath = modulePath;//  w w  w .j ava  2  s  . c  om
    myProject = project;
    myModel = new ModuleDependenciesTableModel();
    myGradleSettingsFile = GradleSettingsFile.get(myProject);

    Module module = GradleUtil.findModuleByGradlePath(myProject, modulePath);
    myGradleBuildFile = module != null ? GradleBuildFile.get(module) : null;
    if (myGradleBuildFile != null) {
        List<BuildFileStatement> dependencies = myGradleBuildFile.getDependencies();
        for (BuildFileStatement dependency : dependencies) {
            myModel.addItem(new ModuleDependenciesTableItem(dependency));
        }
    } else {
        LOG.warn("Unable to find Gradle build file for module " + myModulePath);
    }
    myModel.resetModified();

    myEntryTable = new JBTable(myModel);
    TableRowSorter<ModuleDependenciesTableModel> sorter = new TableRowSorter<>(myModel);
    sorter.setRowFilter(myModel.getFilter());
    myEntryTable.setRowSorter(sorter);
    myEntryTable.setShowGrid(false);
    myEntryTable.setDragEnabled(false);
    myEntryTable.setIntercellSpacing(new Dimension(0, 0));

    myEntryTable.setDefaultRenderer(ModuleDependenciesTableItem.class, new TableItemRenderer());

    if (myGradleBuildFile == null) {
        return;
    }
    final boolean isAndroid = myGradleBuildFile.hasAndroidPlugin();
    List<Dependency.Scope> scopes = Lists.newArrayList(Sets.filter(EnumSet.allOf(Dependency.Scope.class),
            input -> isAndroid ? input.isAndroidScope() : input.isJavaScope()));
    ComboBoxModel<Dependency.Scope> boxModel = new CollectionComboBoxModel<>(scopes, null);
    JComboBox<Dependency.Scope> scopeEditor = new ComboBox<>(boxModel);
    myEntryTable.setDefaultEditor(Dependency.Scope.class, new DefaultCellEditor(scopeEditor));
    myEntryTable.setDefaultRenderer(Dependency.Scope.class,
            new ComboBoxTableRenderer<Dependency.Scope>(Dependency.Scope.values()) {
                @Override
                protected String getTextFor(@NotNull final Dependency.Scope value) {
                    return value.getDisplayName();
                }
            });

    myEntryTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

    new SpeedSearchBase<JBTable>(myEntryTable) {
        @Override
        public int getSelectedIndex() {
            return myEntryTable.getSelectedRow();
        }

        @Override
        protected int convertIndexToModel(int viewIndex) {
            return myEntryTable.convertRowIndexToModel(viewIndex);
        }

        @Override
        @NotNull
        public Object[] getAllElements() {
            return myModel.getItems().toArray();
        }

        @Override
        @NotNull
        public String getElementText(Object element) {
            return getCellAppearance((ModuleDependenciesTableItem) element).getText();
        }

        @Override
        public void selectElement(@NotNull Object element, @NotNull String selectedText) {
            final int count = myModel.getRowCount();
            for (int row = 0; row < count; row++) {
                if (element.equals(myModel.getItemAt(row))) {
                    final int viewRow = myEntryTable.convertRowIndexToView(row);
                    myEntryTable.getSelectionModel().setSelectionInterval(viewRow, viewRow);
                    TableUtil.scrollSelectionToVisible(myEntryTable);
                    break;
                }
            }
        }
    };

    TableColumn column = myEntryTable.getTableHeader().getColumnModel()
            .getColumn(ModuleDependenciesTableModel.SCOPE_COLUMN);
    column.setResizable(false);
    column.setMaxWidth(SCOPE_COLUMN_WIDTH);
    column.setMinWidth(SCOPE_COLUMN_WIDTH);

    add(createTableWithButtons(), BorderLayout.CENTER);

    if (myEntryTable.getRowCount() > 0) {
        myEntryTable.getSelectionModel().setSelectionInterval(0, 0);
    }

    DefaultActionGroup actionGroup = new DefaultActionGroup();
    actionGroup.add(myRemoveButton);
    PopupHandler.installPopupHandler(myEntryTable, actionGroup, ActionPlaces.UNKNOWN,
            ActionManager.getInstance());
}

From source file:com.android.tools.idea.structure.gradle.ModuleDependenciesPanel.java

License:Apache License

public ModuleDependenciesPanel(@NotNull Project project, @NotNull String modulePath) {
    super(new BorderLayout());

    myModulePath = modulePath;/*from w ww  . j av a2s  .  c  o m*/
    myProject = project;
    myModel = new ModuleDependenciesTableModel();
    myGradleSettingsFile = GradleSettingsFile.get(myProject);

    Module module = GradleUtil.findModuleByGradlePath(myProject, modulePath);
    myGradleBuildFile = module != null ? GradleBuildFile.get(module) : null;
    if (myGradleBuildFile != null) {
        List<BuildFileStatement> dependencies = myGradleBuildFile.getDependencies();
        for (BuildFileStatement dependency : dependencies) {
            myModel.addItem(new ModuleDependenciesTableItem(dependency));
        }
    } else {
        LOG.warn("Unable to find Gradle build file for module " + myModulePath);
    }
    myModel.resetModified();

    myEntryTable = new JBTable(myModel);
    TableRowSorter<ModuleDependenciesTableModel> sorter = new TableRowSorter<ModuleDependenciesTableModel>(
            myModel);
    sorter.setRowFilter(myModel.getFilter());
    myEntryTable.setRowSorter(sorter);
    myEntryTable.setShowGrid(false);
    myEntryTable.setDragEnabled(false);
    myEntryTable.setIntercellSpacing(new Dimension(0, 0));

    myEntryTable.setDefaultRenderer(ModuleDependenciesTableItem.class, new TableItemRenderer());

    if (myGradleBuildFile == null) {
        return;
    }
    final boolean isAndroid = myGradleBuildFile.hasAndroidPlugin();
    List<Dependency.Scope> scopes = Lists
            .newArrayList(Sets.filter(EnumSet.allOf(Dependency.Scope.class), new Predicate<Dependency.Scope>() {
                @Override
                public boolean apply(Dependency.Scope input) {
                    return isAndroid ? input.isAndroidScope() : input.isJavaScope();
                }
            }));
    ComboBoxModel boxModel = new CollectionComboBoxModel(scopes, null);
    JComboBox scopeEditor = new ComboBox(boxModel);
    myEntryTable.setDefaultEditor(Dependency.Scope.class, new DefaultCellEditor(scopeEditor));
    myEntryTable.setDefaultRenderer(Dependency.Scope.class,
            new ComboBoxTableRenderer<Dependency.Scope>(Dependency.Scope.values()) {
                @Override
                protected String getTextFor(@NotNull final Dependency.Scope value) {
                    return value.getDisplayName();
                }
            });

    myEntryTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

    new SpeedSearchBase<JBTable>(myEntryTable) {
        @Override
        public int getSelectedIndex() {
            return myEntryTable.getSelectedRow();
        }

        @Override
        protected int convertIndexToModel(int viewIndex) {
            return myEntryTable.convertRowIndexToModel(viewIndex);
        }

        @Override
        @NotNull
        public Object[] getAllElements() {
            return myModel.getItems().toArray();
        }

        @Override
        @NotNull
        public String getElementText(Object element) {
            return getCellAppearance((ModuleDependenciesTableItem) element).getText();
        }

        @Override
        public void selectElement(@NotNull Object element, @NotNull String selectedText) {
            final int count = myModel.getRowCount();
            for (int row = 0; row < count; row++) {
                if (element.equals(myModel.getItemAt(row))) {
                    final int viewRow = myEntryTable.convertRowIndexToView(row);
                    myEntryTable.getSelectionModel().setSelectionInterval(viewRow, viewRow);
                    TableUtil.scrollSelectionToVisible(myEntryTable);
                    break;
                }
            }
        }
    };

    TableColumn column = myEntryTable.getTableHeader().getColumnModel()
            .getColumn(ModuleDependenciesTableModel.SCOPE_COLUMN);
    column.setResizable(false);
    column.setMaxWidth(SCOPE_COLUMN_WIDTH);
    column.setMinWidth(SCOPE_COLUMN_WIDTH);

    add(createTableWithButtons(), BorderLayout.CENTER);

    if (myEntryTable.getRowCount() > 0) {
        myEntryTable.getSelectionModel().setSelectionInterval(0, 0);
    }

    DefaultActionGroup actionGroup = new DefaultActionGroup();
    actionGroup.add(myRemoveButton);
    PopupHandler.installPopupHandler(myEntryTable, actionGroup, ActionPlaces.UNKNOWN,
            ActionManager.getInstance());
}

From source file:com.android.tools.idea.structure.services.ServicePanelBuilder.java

License:Apache License

public JComboBox addComboBox(@NotNull final ObservableList<String> backingList) {
    final CollectionComboBoxModel<String> model = new CollectionComboBoxModel<String>(backingList) {
        @NotNull//  w w w.  j a  v  a  2 s.c  om
        @Override
        public List<String> getItems() {
            return backingList;
        }
    };

    final ComboBox comboBox = new ComboBox(model);

    InvalidationListener onListModified = new InvalidationListener() {
        @Override
        public void onInvalidated(@NotNull ObservableValue<?> sender) {
            model.update();
            if (backingList.size() > 0 && comboBox.getSelectedIndex() < 0) {
                comboBox.setSelectedIndex(0);
            }
        }
    };

    addComponent(comboBox);
    backingList.addWeakListener(onListModified);
    // Keep weak listener alive as long as the combobox is alive
    comboBox.putClientProperty("onListModified", onListModified);
    return comboBox;
}

From source file:com.android.tools.profilers.memory.MemoryClassView.java

License:Apache License

@Nullable
public JComponent buildComponent(@NotNull CaptureObject captureObject) {
    myCaptureObject = captureObject;/*from   w  w  w  .  j  a  va 2  s .c  o m*/

    JPanel classesPanel = new JPanel(new BorderLayout());
    JPanel headingPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 0));
    headingPanel.add(new JLabel(captureObject.toString()));

    JToolBar toolBar = new JToolBar();
    toolBar.setFloatable(false);
    List<HeapObject> heaps = captureObject.getHeaps();

    ComboBoxModel<HeapObject> comboBoxModel = new DefaultComboBoxModel<>(
            heaps.toArray(new HeapObject[heaps.size()]));
    ComboBox<HeapObject> comboBox = new ComboBox<>(comboBoxModel);
    comboBox.addActionListener(e -> {
        // TODO abstract out selection path so we don't need to special case
        Object item = comboBox.getSelectedItem();
        if (item != null && item instanceof HeapObject) {
            HeapObject heap = (HeapObject) item;
            buildTree(classesPanel, heap);
            myStage.selectHeap(heap);
        }
    });
    toolBar.add(comboBox);
    headingPanel.add(toolBar);

    classesPanel.add(headingPanel, BorderLayout.PAGE_START);
    boolean selected = false;
    // TODO provide a default selection in the model API?
    for (HeapObject heap : heaps) {
        if (heap.getHeapName().equals("app")) {
            comboBox.setSelectedItem(heap);
            myStage.selectHeap(heap);
            selected = true;
            break;
        }
    }
    if (!selected) {
        HeapObject heap = heaps.get(0);
        comboBox.setSelectedItem(heap);
        myStage.selectHeap(heap);
    }

    return classesPanel;
}

From source file:com.google.googlejavaformat.intellij.GoogleJavaFormatConfigurable.java

License:Open Source License

private void createUIComponents() {
    styleComboBox = new ComboBox<>(UiFormatterStyle.values());
}

From source file:com.intellij.appengine.facet.AppEngineSdkEditor.java

License:Apache License

public AppEngineSdkEditor(final @Nullable Project project) {
    myPathEditor = new ComboboxWithBrowseButton(new ComboBox(100));
    myPathEditor.addBrowseFolderListener(project,
            new ComponentWithBrowseButton.BrowseFolderActionListener<JComboBox>("Google App Engine SDK",
                    "Specify Google App Engine Java SDK home", myPathEditor, project,
                    FileChooserDescriptorFactory.createSingleFolderDescriptor(),
                    TextComponentAccessor.STRING_COMBOBOX_WHOLE_TEXT));
    final JComboBox comboBox = myPathEditor.getComboBox();
    comboBox.setEditable(true);//from www . j  a  va 2  s  .  c o  m
    comboBox.removeAllItems();
    for (AppEngineSdk sdk : AppEngineSdkManager.getInstance().getValidSdks()) {
        comboBox.addItem(FileUtil.toSystemDependentName(sdk.getSdkHomePath()));
    }
}

From source file:com.intellij.compiler.impl.javaCompiler.TargetOptionsComponent.java

License:Apache License

private static ComboBox createTargetOptionsCombo() {
    final ComboBox combo = new ComboBox(new TargetLevelComboboxModel());
    //combo.setRenderer(new DefaultListCellRenderer() {
    //  @Override
    //  public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
    //    try {//from   w  ww .j  a va2  s .  co m
    //      return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
    //    }
    //    finally {
    //      //if ("".equals(value)) {
    //      //  setText(COMPILER_DEFAULT);
    //      //}
    //    }
    //  }
    //});
    combo.setEditable(true);
    combo.setEditor(new BasicComboBoxEditor() {
        @Override
        protected JTextField createEditorComponent() {
            return new HintTextField(COMPILER_DEFAULT, 10);
        }
    });
    return combo;
}