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.intellij.uiDesigner.propertyInspector.editors.ComboBoxPropertyEditor.java

License:Apache License

public ComboBoxPropertyEditor() {
    myCbx = new ComboBox(-1);
    myCbx.setBorder(null);
    myCbx.addPopupMenuListener(new MyPopupMenuListener());
}

From source file:com.intellij.xdebugger.impl.breakpoints.ui.BreakpointChooser.java

License:Apache License

public BreakpointChooser(final Project project, Delegate delegate, Object baseBreakpoint,
        List<BreakpointItem> breakpointItems) {
    myDelegate = delegate;//  ww  w  .j ava2  s .  c om
    myBreakpointItems = breakpointItems;

    BreakpointItem breakpointItem = findItem(baseBreakpoint, myBreakpointItems);
    final Ref<Object> hackedSelection = Ref.create();

    myDetailController = new DetailController(new MasterController() {
        JLabel fake = new JLabel();

        @Override
        public ItemWrapper[] getSelectedItems() {
            if (hackedSelection.get() == null) {
                return new ItemWrapper[0];
            }
            return new ItemWrapper[] { ((BreakpointItem) hackedSelection.get()) };
        }

        @Override
        public JLabel getPathLabel() {
            return fake;
        }
    });

    ComboBoxModel model = new CollectionComboBoxModel(myBreakpointItems, breakpointItem);
    myComboBox = new ComboBox(model);

    myComboBox.addPopupMenuListener(new PopupMenuListener() {
        @Override
        public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
        }

        @Override
        public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
            if (myDetailView != null) {
                myDetailView.clearEditor();
            }
        }

        @Override
        public void popupMenuCanceled(PopupMenuEvent e) {
            if (myDetailView != null) {
                myDetailView.clearEditor();
            }
        }
    });
    myComboBox.setRenderer(new ItemWrapperListRenderer(project, null) {
        @Override
        protected void customizeCellRenderer(JList list, Object value, int index, boolean selected,
                boolean hasFocus) {
            super.customizeCellRenderer(list, value, index, selected, hasFocus);
            if (selected) {
                if (hackedSelection.get() != value) {
                    hackedSelection.set(value);
                    myDetailController.updateDetailView();
                }
            }
        }
    });

    myComboBox.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent event) {
            myDelegate.breakpointChosen(project, ((BreakpointItem) myComboBox.getSelectedItem()));
        }
    });
}

From source file:com.intellij.xdebugger.impl.ui.XDebuggerExpressionComboBox.java

License:Apache License

public XDebuggerExpressionComboBox(final @NotNull Project project,
        final @NotNull XDebuggerEditorsProvider debuggerEditorsProvider,
        final @Nullable @NonNls String historyId, final @Nullable XSourcePosition sourcePosition) {
    super(project, debuggerEditorsProvider, EvaluationMode.EXPRESSION, historyId, sourcePosition);
    myComboBox = new ComboBox(100);
    myComboBox.setEditable(true);/*  w w w . j a va2 s.  co  m*/
    myExpression = XExpressionImpl.EMPTY_EXPRESSION;
    Dimension minimumSize = new Dimension(myComboBox.getMinimumSize());
    minimumSize.width = 100;
    myComboBox.setMinimumSize(minimumSize);
    initEditor();
    fillComboBox();
    myComponent = addChooseFactoryLabel(myComboBox, false);
}

From source file:com.microsoft.intellij.wizards.createvm.EndpointStep.java

License:Open Source License

private void createUIComponents() {
    endpointsTable = new JBTable() {
        @Override/*from  ww  w . ja v a 2s.c o  m*/
        public TableCellRenderer getCellRenderer(int row, int col) {
            switch (col) {
            case 0:
                return new ErrorRenderer();
            case 4:
                return new ProtocolRenderer();
            case 5:
                return new DeleteRenderer();
            default:
                return super.getCellRenderer(row, col);
            }
        }

        @Override
        public TableCellEditor getCellEditor(int row, int col) {
            if (col == 4) {
                return new DefaultCellEditor(new ComboBox(new String[] { "TCP", "UDP" }));
            } else {
                return super.getCellEditor(row, col);
            }
        }
    };
}

From source file:com.perl5.lang.perl.idea.configuration.settings.sdk.Perl5ProjectConfigurable.java

License:Apache License

@Nullable
@Override/*ww w.  j a  v a2  s  .  co m*/
public JComponent createComponent() {
    FormBuilder builder = FormBuilder.createFormBuilder();
    builder.getPanel().setLayout(new VerticalFlowLayout());

    builder.addComponent(myPerl5SdkConfigurable.createComponent());

    FormBuilder versionBuilder = FormBuilder.createFormBuilder();
    ComboBoxModel<PerlVersion> versionModel = new CollectionComboBoxModel<>(PerlVersion.ALL_VERSIONS);
    myTargetPerlVersionComboBox = new ComboBox<>(versionModel);
    myTargetPerlVersionComboBox.setRenderer(new ColoredListCellRenderer<PerlVersion>() {
        @Override
        protected void customizeCellRenderer(@NotNull JList<? extends PerlVersion> list, PerlVersion value,
                int index, boolean selected, boolean hasFocus) {
            append(value.getStrictDottedVersion());
            String versionDescription = PerlVersion.PERL_VERSION_DESCRIPTIONS.get(value);
            if (StringUtil.isNotEmpty(versionDescription)) {
                append(" (" + versionDescription + ")");
            }
        }
    });
    versionBuilder.addLabeledComponent(PerlBundle.message("perl.config.language.level"),
            myTargetPerlVersionComboBox);
    builder.addComponent(versionBuilder.getPanel());

    myLibsModel = new CollectionListModel<>();
    myLibsList = new JBList<>(myLibsModel);
    myLibsList.setVisibleRowCount(ourRowsCount);
    myLibsList.setCellRenderer(new ColoredListCellRenderer<VirtualFile>() {
        @Override
        protected void customizeCellRenderer(@NotNull JList<? extends VirtualFile> list, VirtualFile value,
                int index, boolean selected, boolean hasFocus) {
            setIcon(PerlIcons.PERL_LANGUAGE_ICON);
            append(FileUtil.toSystemDependentName(value.getPath()));
        }
    });
    builder.addLabeledComponent(PerlBundle.message("perl.settings.external.libs"), ToolbarDecorator
            .createDecorator(myLibsList).setAddAction(this::doAddExternalLibrary).createPanel());

    simpleMainCheckbox = new JCheckBox(PerlBundle.message("perl.config.simple.main"));
    builder.addComponent(simpleMainCheckbox);

    autoInjectionCheckbox = new JCheckBox(PerlBundle.message("perl.config.heredoc.injections"));
    builder.addComponent(autoInjectionCheckbox);

    allowInjectionWithInterpolation = new JCheckBox(PerlBundle.message("perl.config.heredoc.injections.qq"));
    builder.addComponent(allowInjectionWithInterpolation);

    allowRegexpInjections = new JCheckBox(PerlBundle.message("perl.config.regex.injections"));
    builder.addComponent(allowRegexpInjections);
    allowRegexpInjections.setEnabled(false);
    allowRegexpInjections.setVisible(false);

    perlAnnotatorCheckBox = new JCheckBox(PerlBundle.message("perl.config.annotations.cw"));
    //      builder.addComponent(perlAnnotatorCheckBox);

    perlCriticCheckBox = new JCheckBox(PerlBundle.message("perl.config.annotations.critic"));
    builder.addComponent(perlCriticCheckBox);

    enablePerlSwitchCheckbox = new JCheckBox(PerlBundle.message("perl.config.enable.switch"));
    builder.addComponent(enablePerlSwitchCheckbox);

    perlCriticPathInputField = new TextFieldWithBrowseButton();
    perlCriticPathInputField.setEditable(false);
    FileChooserDescriptor perlCriticDescriptor = new FileChooserDescriptor(true, false, false, false, false,
            false) {
        @Override
        public boolean isFileVisible(VirtualFile file, boolean showHiddenFiles) {
            return super.isFileVisible(file, showHiddenFiles) && (file.isDirectory() || StringUtil
                    .equals(file.getNameWithoutExtension(), PerlCriticAnnotator.PERL_CRITIC_LINUX_NAME));
        }
    };

    //noinspection DialogTitleCapitalization
    perlCriticPathInputField.addBrowseFolderListener(PerlBundle.message("perl.config.select.file.title"),
            PerlBundle.message("perl.config.select.critic"), null, // project
            perlCriticDescriptor);
    builder.addLabeledComponent(new JLabel(PerlBundle.message("perl.config.path.critic")),
            perlCriticPathInputField);
    perlCriticArgsInputField = new RawCommandLineEditor();
    builder.addComponent(copyDialogCaption(
            LabeledComponent.create(perlCriticArgsInputField,
                    PerlBundle.message("perl.config.critic.cmd.arguments")),
            PerlBundle.message("perl.config.critic.cmd.arguments")));

    perlTidyPathInputField = new TextFieldWithBrowseButton();
    perlTidyPathInputField.setEditable(false);
    FileChooserDescriptor perlTidyDescriptor = new FileChooserDescriptor(true, false, false, false, false,
            false) {
        @Override
        public boolean isFileVisible(VirtualFile file, boolean showHiddenFiles) {
            return super.isFileVisible(file, showHiddenFiles) && (file.isDirectory() || StringUtil
                    .equals(file.getNameWithoutExtension(), PerlFormatWithPerlTidyAction.PERL_TIDY_LINUX_NAME));
        }
    };

    //noinspection DialogTitleCapitalization
    perlTidyPathInputField.addBrowseFolderListener(PerlBundle.message("perl.config.select.file.title"),
            PerlBundle.message("perl.config.select.tidy"), null, // project
            perlTidyDescriptor);
    builder.addLabeledComponent(new JLabel(PerlBundle.message("perl.config.path.tidy")),
            perlTidyPathInputField);
    perlTidyArgsInputField = new RawCommandLineEditor();
    builder.addComponent(copyDialogCaption(
            LabeledComponent.create(perlTidyArgsInputField,
                    PerlBundle.message("perl.config.tidy.options.label")),
            PerlBundle.message("perl.config.tidy.options.label.short")));

    JPanel regeneratePanel = new JPanel(new BorderLayout());
    JButton regenerateButton = new JButton(PerlBundle.message("perl.config.generate.xsubs"));
    regenerateButton.addActionListener(e -> PerlXSubsState.getInstance(myProject).reparseXSubs());
    regeneratePanel.add(regenerateButton, BorderLayout.WEST);
    builder.addComponent(regeneratePanel);

    deparseArgumentsTextField = new JTextField();
    builder.addLabeledComponent(PerlBundle.message("perl.config.deparse.options.label"),
            deparseArgumentsTextField);

    selfNamesModel = new CollectionListModel<>();
    JBList selfNamesList = new JBList<>(selfNamesModel);
    selfNamesList.setVisibleRowCount(ourRowsCount);
    builder.addLabeledComponent(new JLabel(PerlBundle.message("perl.config.self.names.label")),
            ToolbarDecorator.createDecorator(selfNamesList).setAddAction(anActionButton -> {
                String variableName = Messages.showInputDialog(myProject,
                        PerlBundle.message("perl.config.self.add.text"),
                        PerlBundle.message("perl.config.self.add.title"), Messages.getQuestionIcon(), "", null);
                if (StringUtil.isNotEmpty(variableName)) {
                    while (variableName.startsWith("$")) {
                        variableName = variableName.substring(1);
                    }

                    if (StringUtil.isNotEmpty(variableName)
                            && !selfNamesModel.getItems().contains(variableName)) {
                        selfNamesModel.add(variableName);
                    }
                }
            }).createPanel());

    JBScrollPane scrollPane = new JBScrollPane(builder.getPanel(),
            ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
    scrollPane.setBorder(new JBEmptyBorder(JBUI.emptyInsets()));
    return scrollPane;
}

From source file:com.perl5.lang.perl.idea.configuration.settings.sdk.Perl5SdkPanel.java

License:Apache License

private void createUIComponents() {
    // TODO: place custom component creation code here
    mySdkComboBox = new ComboBox<>(375);
}

From source file:com.perl5.lang.perl.idea.run.PerlConfigurationEditor.java

License:Apache License

@NotNull
@Override// w  w  w. j  av  a  2s  . c om
protected JComponent createEditor() {
    myScriptField = new TextFieldWithBrowseButton();
    myScriptField.addBrowseFolderListener("Select Perl Script", "Please select perl script file", myProject,
            FileChooserDescriptorFactory.createSingleFileNoJarsDescriptor()
                    .withFileFilter(new Condition<VirtualFile>() {
                        @Override
                        public boolean value(VirtualFile virtualFile) {
                            return PerlConfigurationProducer.isExecutableFile(virtualFile);
                        }
                    }),
            TextComponentAccessor.TEXT_FIELD_WHOLE_TEXT);

    myStartMode = new ComboBox(new MapComboBoxModel<String, String>(PerlDebugOptionsSets.STARTUP_OPTIONS)) {
        @Override
        public void setRenderer(ListCellRenderer renderer) {
            super.setRenderer(new ColoredListCellRenderer<String>() {
                @Override
                protected void customizeCellRenderer(JList list, String value, int index, boolean selected,
                        boolean hasFocus) {
                    append(PerlDebugOptionsSets.STARTUP_OPTIONS.get(value));
                }
            });
        }
    };

    myConsoleCharset = new ComboBox(
            new CollectionComboBoxModel(new ArrayList<String>(Charset.availableCharsets().keySet())));

    myScriptField.getTextField().getDocument().addDocumentListener(new DocumentAdapter() {
        @Override
        protected void textChanged(DocumentEvent documentEvent) {
            VirtualFile file = LocalFileSystem.getInstance().findFileByPath(myScriptField.getText());
            if (file != null) {
                myConsoleCharset.setSelectedItem(file.getCharset().displayName());
            } else {
                myConsoleCharset.setSelectedItem(null);
            }
        }
    });

    myAlternativeSdkPanel = new PerlAlternativeSdkPanel();

    myParametersPanel = new CommonProgramParametersPanel() {
        @Override
        protected void addComponents() {

            LabeledComponent<?> scriptLabel = LabeledComponent.create(myScriptField, "Script");
            scriptLabel.setLabelLocation(BorderLayout.WEST);
            add(scriptLabel);

            LabeledComponent<?> consoleEncoding = LabeledComponent.create(myConsoleCharset,
                    "Script output encoding");
            consoleEncoding.setLabelLocation(BorderLayout.WEST);
            add(consoleEncoding);

            myScriptCharset = new JTextField();
            LabeledComponent<JTextField> myScriptCharsetLabel = LabeledComponent.create(myScriptCharset,
                    "Script encoding");
            myScriptCharsetLabel.setLabelLocation(BorderLayout.WEST);
            add(myScriptCharsetLabel);

            LabeledComponent<?> startMode = LabeledComponent.create(myStartMode, "Debugger startup mode");
            startMode.setLabelLocation(BorderLayout.WEST);
            add(startMode);

            myPerlParametersPanel = new RawCommandLineEditor();
            LabeledComponent<RawCommandLineEditor> perlParametersPanel = LabeledComponent
                    .create(myPerlParametersPanel, "Perl5 parameters");
            perlParametersPanel.setLabelLocation(BorderLayout.WEST);
            copyDialogCaption(perlParametersPanel);
            add(perlParametersPanel);

            super.addComponents();
            add(myAlternativeSdkPanel);
        }
    };
    myParametersPanel.setProgramParametersLabel("Script parameters:");
    return myParametersPanel;
}

From source file:com.perl5.lang.perl.idea.run.PerlConfigurationEditorBase.java

License:Apache License

@Nullable
protected JComponent getDebuggingComponent() {
    JPanel panel = new JPanel();
    panel.setLayout(new VerticalFlowLayout(VerticalFlowLayout.TOP, 0, 5, true, false));

    myScriptCharset = new JTextField();
    LabeledComponent<JTextField> scriptCharset = LabeledComponent.create(myScriptCharset,
            PerlBundle.message("perl.run.option.script.encoding"));
    scriptCharset.setLabelLocation(BorderLayout.WEST);
    panel.add(scriptCharset);/*from  w w  w.  j  a  v a 2s . c  o m*/

    //noinspection Since15
    myStartMode = new ComboBox(new MapComboBoxModel<String, String>(PerlDebugOptionsSets.STARTUP_OPTIONS)) {
        @Override
        public void setRenderer(ListCellRenderer renderer) {
            super.setRenderer(new ColoredListCellRenderer<String>() {
                @Override
                protected void customizeCellRenderer(JList list, String value, int index, boolean selected,
                        boolean hasFocus) {
                    append(PerlDebugOptionsSets.STARTUP_OPTIONS.get(value));
                }
            });
        }
    };

    LabeledComponent<?> startMode = LabeledComponent.create(myStartMode,
            PerlBundle.message("perl.run.option.debugger.startup.mode"));
    startMode.setLabelLocation(BorderLayout.WEST);
    panel.add(startMode);

    myIsNonInteractiveModeEnabled = new JCheckBox(
            PerlBundle.message("perl.run.option.debugger.noninteractive.mode"));
    panel.add(myIsNonInteractiveModeEnabled);

    myIsCompileTimeBreakpointsEnabled = new JCheckBox(
            PerlBundle.message("perl.run.option.debugger.compile.time.breakpoints"));
    panel.add(myIsCompileTimeBreakpointsEnabled);

    PsiFile fileFromText = PsiFileFactory.getInstance(myProject).createFileFromText("file.dummy",
            PerlFileTypeScript.INSTANCE, "", 0, true);
    Document document = PsiDocumentManager.getInstance(myProject).getDocument(fileFromText);
    myInitCodeTextField = new EditorTextField(document, myProject, PerlFileTypeScript.INSTANCE);
    myInitCodeTextField.setOneLineMode(false);
    myInitCodeTextField.setPreferredSize(new Dimension(0, 100));
    LabeledComponent<EditorTextField> initCode = LabeledComponent.create(myInitCodeTextField,
            PerlBundle.message("perl.run.option.debugger.init.code"));
    initCode.setLabelLocation(BorderLayout.NORTH);
    panel.add(initCode);

    return panel;
}

From source file:com.perl5.lang.perl.idea.run.remote.PerlRemoteDebuggingConfigurationEditor.java

License:Apache License

@NotNull
@Override/*from   w  w  w.j av  a2  s .c  o  m*/
protected JComponent createEditor() {
    return new CommonProgramParametersPanel() {

        @Override
        protected void addComponents() {
            myWorkingDirectoryComponent = new JTextField();
            LabeledComponent<JTextField> workingDirectory = LabeledComponent.create(myWorkingDirectoryComponent,
                    "Remote project root");
            workingDirectory.setLabelLocation(BorderLayout.WEST);
            add(workingDirectory);

            myScriptCharset = new JTextField();
            LabeledComponent<JTextField> scriptCharset = LabeledComponent.create(myScriptCharset,
                    "Script encoding");
            scriptCharset.setLabelLocation(BorderLayout.WEST);
            add(scriptCharset);

            myStartMode = new ComboBox(
                    new MapComboBoxModel<String, String>(PerlDebugOptionsSets.STARTUP_OPTIONS)) {
                @Override
                public void setRenderer(ListCellRenderer renderer) {
                    super.setRenderer(new ColoredListCellRenderer<String>() {
                        @Override
                        protected void customizeCellRenderer(JList list, String value, int index,
                                boolean selected, boolean hasFocus) {
                            append(PerlDebugOptionsSets.STARTUP_OPTIONS.get(value));
                        }
                    });
                }
            };
            ;
            LabeledComponent<?> startMode = LabeledComponent.create(myStartMode, "Debugger startup mode");
            startMode.setLabelLocation(BorderLayout.WEST);
            add(startMode);

            myPerlRole = new ComboBox(new MapComboBoxModel<String, String>(PerlDebugOptionsSets.ROLE_OPTIONS)) {
                @Override
                public void setRenderer(ListCellRenderer renderer) {
                    super.setRenderer(new ColoredListCellRenderer<String>() {
                        @Override
                        protected void customizeCellRenderer(JList list, String value, int index,
                                boolean selected, boolean hasFocus) {
                            append(PerlDebugOptionsSets.ROLE_OPTIONS.get(value));
                        }
                    });
                }
            };
            ;
            LabeledComponent<?> perlRole = LabeledComponent.create(myPerlRole, "Connection mode");
            perlRole.setLabelLocation(BorderLayout.WEST);
            add(perlRole);

            myDebuggingHost = new JTextField();
            LabeledComponent<JTextField> debuggingHost = LabeledComponent.create(myDebuggingHost,
                    "Server host");
            debuggingHost.setLabelLocation(BorderLayout.WEST);
            add(debuggingHost);

            NumberFormat numberFormat = NumberFormat.getInstance();
            numberFormat.setMaximumIntegerDigits(6);
            numberFormat.setGroupingUsed(false);

            NumberFormatter formatter = new NumberFormatter(numberFormat);
            formatter.setAllowsInvalid(false);
            formatter.setMaximum(65535);
            formatter.setMinimum(0);

            myDebuggingPort = new JFormattedTextField(formatter);
            LabeledComponent<JFormattedTextField> debuggingPort = LabeledComponent.create(myDebuggingPort,
                    "Server port");
            debuggingPort.setLabelLocation(BorderLayout.WEST);
            add(debuggingPort);
        }
    };
}

From source file:com.thomas.needham.neurophidea.forms.export.ExportNetworkForm.java

License:Open Source License

private void createUIComponents() {
    Vector<String> items = new Vector<>(4);
    items.add("Java");
    items.add("Kotlin");
    items.add("Scala");
    items.add("Groovy");
    ComboBoxModel<String> model = new CollectionComboBoxModel<>(items);
    cmbLanguage = new ComboBox<String>(model);

}