/** * Returns currently selected template. * * @return template or null if none selected */ @Nullable public IgnoreSettings.UserTemplate getCurrentItem() { int index = myList.getSelectedIndex(); if (index == -1) { return null; } return myListModel.get(index); }
.setItemChoosenCallback( () -> { int i = list.getSelectedIndex(); if (i < 0) return; perform(file, packagesToImport.get(i));
private void performImport(@NotNull List<String> packagesToImport, @NotNull BallerinaFile file, @Nullable Editor editor) { if (packagesToImport.size() > 1 && editor != null) { JBList<String> list = new JBList<>(packagesToImport); list.installCellRenderer(o -> { JBLabel label = new JBLabel(o.toString(), BallerinaIcons.PACKAGE, SwingConstants.LEFT); label.setBorder(JBUI.Borders.empty(2, 4)); return label; }); PopupChooserBuilder popupChooserBuilder = JBPopupFactory.getInstance().createListPopupBuilder(list) .setRequestFocus(true) .setTitle("Package to import") .setItemChoosenCallback(() -> { int i = list.getSelectedIndex(); if (i < 0) { return; } performImport(file, packagesToImport.get(i)); }) .setFilteringEnabled(item -> item instanceof String ? (String) item : item.toString()); JBPopup popup = popupChooserBuilder.createPopup(); popupChooserBuilder.getScrollPane().setBorder(null); popupChooserBuilder.getScrollPane().setViewportBorder(null); popup.showInBestPositionFor(editor); } }
@Override public void run() { listener.selected(list.getSelectedIndex()); } };
private void editEntry() { int selectedIndex = list.getSelectedIndex(); if (selectedIndex >= 0) { T value = model.getElementAt(selectedIndex); T newValue = onEdit.apply(value); if (newValue != null) { model.setElementAt(newValue, selectedIndex); } } }
@Override public void valueChanged(ListSelectionEvent event) { if (ignoreSelection) { return; } valueChanged = true; if (!event.getValueIsAdjusting()) { if (list.getSelectedIndex() == -1) { signOutButton.setEnabled(false); } else { signOutButton.setEnabled(true); // Make newly selected value the active value UsersListItem selectedUser = listModel.get(list.getSelectedIndex()); if (!selectedUser.isActiveUser()) { Services.getLoginService().setActiveUser(selectedUser.getUserEmail()); } // Change order of elements in the list so that the // active user becomes the first element in the list ignoreSelection = true; try { listModel.remove(list.getSelectedIndex()); listModel.add(0, selectedUser); // Re-select the active user list.setSelectedIndex(0); } finally { ignoreSelection = false; } } } }
}); removeButton.addActionListener(e -> { int selectedIndex = includePathList.getSelectedIndex(); if (selectedIndex != -1) { includePathModel.removeRow(selectedIndex);
private void editServer() { SonarQubeServer selectedServer = getSelectedServer(); int selectedIndex = serverList.getSelectedIndex(); if (selectedServer != null) { SQServerWizard serverEditor = new SQServerWizard(selectedServer); if (serverEditor.showAndGet()) { SonarQubeServer newServer = serverEditor.getServer(); ((CollectionListModel) serverList.getModel()).setElementAt(newServer, selectedIndex); servers.set(servers.indexOf(selectedServer), newServer); serverChangeListener.changed(servers); } } }
@Override public void mouseMoved(MouseEvent me) { Point point = new Point(me.getX(), me.getY()); int index = jbList.locationToIndex(point); if (index != hoverIndex) { int oldIndex = hoverIndex; hoverIndex = index; if (oldIndex >= 0) { jbList.repaint(jbList.getUI().getCellBounds(jbList, oldIndex, oldIndex)); } if (hoverIndex >= 0) { if (jbList.getSelectedIndex() >= 0) { jbList.clearSelection(); } jbList.repaint(jbList.getUI().getCellBounds(jbList, hoverIndex, hoverIndex)); } } } });
@Override public void run(AnActionButton anActionButton) { SonarQubeServer server = getSelectedServer(); int selectedIndex = serverList.getSelectedIndex(); if (server == null) { return; } Project[] openProjects = ProjectManager.getInstance().getOpenProjects(); List<String> projectsUsingNames = getOpenProjectNames(openProjects, server); if (!projectsUsingNames.isEmpty()) { String projects = projectsUsingNames.stream().collect(Collectors.joining("<br>")); int response = Messages.showYesNoDialog(serversPanel, "<html>The following opened projects are bound to this server configuration:<br><b>" + projects + "</b><br>Delete the server?</html>", "Server Configuration In Use", Messages.getWarningIcon()); if (response == Messages.NO) { return; } } CollectionListModel model = (CollectionListModel) serverList.getModel(); // it's not removed from serverIds and editorList model.remove(server); servers.remove(server); serverChangeListener.changed(servers); if (model.getSize() > 0) { int newIndex = Math.min(model.getSize() - 1, Math.max(selectedIndex - 1, 0)); serverList.setSelectedValue(model.getElementAt(newIndex), true); } }