use of javax.swing.event.ListSelectionEvent in project intellij-community by JetBrains.
the class PythonSdkDetailsDialog method addListeners.
private void addListeners() {
myListener = new SdkModel.Listener() {
@Override
public void sdkAdded(Sdk sdk) {
}
@Override
public void beforeSdkRemove(Sdk sdk) {
}
@Override
public void sdkChanged(Sdk sdk, String previousName) {
refreshSdkList();
}
@Override
public void sdkHomeSelected(Sdk sdk, String newSdkHome) {
}
};
myProjectSdksModel.addListener(myListener);
mySdkList.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent event) {
updateOkButton();
}
});
}
use of javax.swing.event.ListSelectionEvent in project intellij-community by JetBrains.
the class AbstractTableView method setToolbarActions.
public final void setToolbarActions(final AnAction... actions) {
final DefaultActionGroup actionGroup = new DefaultActionGroup();
for (final AnAction action : actions) {
actionGroup.add(action);
}
if (getHelpId() != null) {
actionGroup.add(Separator.getInstance());
actionGroup.add(new ContextHelpAction(getHelpId()));
}
final ActionManager actionManager = ActionManager.getInstance();
final ToolbarPosition position = getToolbarPosition();
final ActionToolbar myActionToolbar = actionManager.createActionToolbar(ActionPlaces.PROJECT_VIEW_TOOLBAR, actionGroup, position == ToolbarPosition.TOP || position == ToolbarPosition.BOTTOM);
myActionToolbar.setTargetComponent(myInnerPanel);
final JComponent toolbarComponent = myActionToolbar.getComponent();
final MatteBorder matteBorder = BorderFactory.createMatteBorder(0, 0, position == ToolbarPosition.TOP ? 1 : 0, 0, JBColor.DARK_GRAY);
toolbarComponent.setBorder(BorderFactory.createCompoundBorder(matteBorder, toolbarComponent.getBorder()));
getTable().getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
myActionToolbar.updateActionsImmediately();
}
});
add(toolbarComponent, position.getPosition());
}
use of javax.swing.event.ListSelectionEvent in project intellij-community by JetBrains.
the class ToBeMergedDialog method initUI.
private void initUI() {
final ListSelectionListener selectionListener = e -> {
List<SvnChangeList> changeLists = myRevisionsList.getSelectedObjects();
myAlreadyMerged.clear();
for (SvnChangeList changeList : changeLists) {
myAlreadyMerged.addAll(getAlreadyMergedPaths(changeList));
}
myRepositoryChangesBrowser.setChangesToDisplay(collectChanges(changeLists, false));
mySplitter.doLayout();
myRepositoryChangesBrowser.repaint();
};
final MyListCellRenderer listCellRenderer = new MyListCellRenderer();
myRevisionsList = new TableView<SvnChangeList>() {
@Override
public TableCellRenderer getCellRenderer(int row, int column) {
return listCellRenderer;
}
@Override
public void valueChanged(ListSelectionEvent e) {
super.valueChanged(e);
selectionListener.valueChanged(e);
}
};
myRevisionsList.setExpandableItemsEnabled(false);
new TableViewSpeedSearch<SvnChangeList>(myRevisionsList) {
@Override
protected String getItemText(@NotNull SvnChangeList element) {
return element.getComment();
}
};
myRevisionsList.setModelAndUpdateColumns(myRevisionsModel);
myRevisionsList.setTableHeader(null);
myRevisionsList.setShowGrid(false);
final AbstractBaseTagMouseListener mouseListener = new AbstractBaseTagMouseListener() {
@Override
public Object getTagAt(@NotNull MouseEvent e) {
JTable table = (JTable) e.getSource();
int row = table.rowAtPoint(e.getPoint());
int column = table.columnAtPoint(e.getPoint());
if (row == -1 || column == -1)
return null;
listCellRenderer.customizeCellRenderer(table, table.getValueAt(row, column), table.isRowSelected(row));
return listCellRenderer.myRenderer.getFragmentTagAt(e.getPoint().x - table.getCellRect(row, column, false).x);
}
};
mouseListener.installOn(myRevisionsList);
myMore100Action = new MoreXAction(100);
myMore500Action = new MoreXAction(500);
BorderLayoutPanel panel = JBUI.Panels.simplePanel().addToCenter(ScrollPaneFactory.createScrollPane(myRevisionsList)).addToTop(createToolbar().getComponent());
mySplitter = new Splitter(false, 0.7f);
mySplitter.setFirstComponent(panel);
myRepositoryChangesBrowser = new RepositoryChangesBrowser(myMergeContext.getProject(), Collections.<SvnChangeList>emptyList(), emptyList(), null);
myRepositoryChangesBrowser.getDiffAction().registerCustomShortcutSet(myRepositoryChangesBrowser.getDiffAction().getShortcutSet(), myRevisionsList);
setChangesDecorator();
mySplitter.setSecondComponent(myRepositoryChangesBrowser);
mySplitter.setDividerWidth(2);
addRevisionListListeners();
myPanel.add(mySplitter, BorderLayout.CENTER);
}
use of javax.swing.event.ListSelectionEvent in project intellij-community by JetBrains.
the class CreateResourceBundleDialogComponent method createUIComponents.
@SuppressWarnings("unchecked")
private void createUIComponents() {
final JBList projectExistLocalesList = new JBList();
final MyExistLocalesListModel existLocalesListModel = new MyExistLocalesListModel();
projectExistLocalesList.setModel(existLocalesListModel);
projectExistLocalesList.setCellRenderer(getLocaleRenderer());
myProjectExistLocalesPanel = ToolbarDecorator.createDecorator(projectExistLocalesList).disableRemoveAction().disableUpDownActions().createPanel();
myProjectExistLocalesPanel.setBorder(IdeBorderFactory.createTitledBorder("Project locales", false));
final JBList localesToAddList = new JBList();
final List<Locale> locales;
final List<Locale> restrictedLocales;
if (myResourceBundle == null) {
locales = Collections.singletonList(PropertiesUtil.DEFAULT_LOCALE);
restrictedLocales = Collections.emptyList();
} else {
locales = Collections.emptyList();
restrictedLocales = ContainerUtil.map(myResourceBundle.getPropertiesFiles(), PropertiesFile::getLocale);
}
myLocalesModel = new CollectionListModel<Locale>(locales) {
@Override
public void add(@NotNull List<? extends Locale> elements) {
final List<Locale> currentItems = getItems();
elements = ContainerUtil.filter(elements, locale -> !restrictedLocales.contains(locale) && !currentItems.contains(locale));
super.add(elements);
}
};
localesToAddList.setModel(myLocalesModel);
localesToAddList.setCellRenderer(getLocaleRenderer());
localesToAddList.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent e) {
projectExistLocalesList.clearSelection();
}
});
projectExistLocalesList.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent e) {
localesToAddList.clearSelection();
}
});
myNewBundleLocalesPanel = ToolbarDecorator.createDecorator(localesToAddList).setAddAction(new AnActionButtonRunnable() {
@Override
public void run(AnActionButton button) {
final String rawAddedLocales = Messages.showInputDialog(myProject, PropertiesBundle.message("create.resource.bundle.dialog.add.locales.validator.message"), PropertiesBundle.message("create.resource.bundle.dialog.add.locales.validator.title"), null, null, new InputValidatorEx() {
@Nullable
@Override
public String getErrorText(String inputString) {
return checkInput(inputString) ? null : "Invalid locales";
}
@Override
public boolean checkInput(String inputString) {
return extractLocalesFromString(inputString) != null;
}
@Override
public boolean canClose(String inputString) {
return checkInput(inputString);
}
});
if (rawAddedLocales != null) {
final List<Locale> locales = extractLocalesFromString(rawAddedLocales);
LOG.assertTrue(locales != null);
myLocalesModel.add(locales);
}
}
}).setAddActionName("Add locales by suffix").disableUpDownActions().createPanel();
myNewBundleLocalesPanel.setBorder(IdeBorderFactory.createTitledBorder("Locales to add", false));
myAddLocaleFromExistButton = new JButton(AllIcons.Actions.Forward);
new ClickListener() {
@Override
public boolean onClick(@NotNull MouseEvent event, int clickCount) {
if (clickCount == 1) {
myLocalesModel.add(ContainerUtil.map(projectExistLocalesList.getSelectedValues(), o -> (Locale) o));
return true;
}
return false;
}
}.installOn(myAddLocaleFromExistButton);
projectExistLocalesList.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
final List<Locale> currentItems = myLocalesModel.getItems();
for (Object o : projectExistLocalesList.getSelectedValues()) {
Locale l = (Locale) o;
if (!restrictedLocales.contains(l) && !currentItems.contains(l)) {
myAddLocaleFromExistButton.setEnabled(true);
return;
}
}
myAddLocaleFromExistButton.setEnabled(false);
}
});
myAddLocaleFromExistButton.setEnabled(false);
myAddAllButton = new JButton("Add All");
new ClickListener() {
@Override
public boolean onClick(@NotNull MouseEvent event, int clickCount) {
if (clickCount == 1) {
myLocalesModel.add(existLocalesListModel.getLocales());
}
return false;
}
}.installOn(myAddAllButton);
}
use of javax.swing.event.ListSelectionEvent in project zaproxy by zaproxy.
the class SearchPanel method initialize.
/**
* This method initializes this
*/
private void initialize() {
resultsModel = new SearchResultsTableModel();
resultsTable = new SearchResultsTable(resultsModel);
resultsTable.setName(HTTP_MESSAGE_CONTAINER_NAME);
resultsTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent evt) {
if (!evt.getValueIsAdjusting()) {
SearchResult searchResult = resultsTable.getSelectedSearchResult();
if (searchResult == null) {
return;
}
displayMessage(resultsTable.getSelectedSearchResult());
// Get the focus back so that the arrow keys work
resultsTable.requestFocusInWindow();
}
}
});
this.setLayout(new CardLayout());
//this.setSize(474, 251);
this.setName(Constant.messages.getString("search.panel.title"));
// 'magnifying glass' icon
this.setIcon(new ImageIcon(SearchPanel.class.getResource("/resource/icon/16/049.png")));
this.add(getPanelCommand(), getPanelCommand().getName());
this.setShowByDefault(true);
}
Aggregations