List of usage examples for com.intellij.openapi.ui ComboBox ComboBox
public ComboBox(E @NotNull [] items)
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; }