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