use of javax.swing.event.ListSelectionEvent in project intellij-community by JetBrains.
the class SelectTagDialog method createList.
private void createList(String title, Collection<String> data, String listDescription) {
setTitle(title);
final JList list = new JBList();
myLists.add(list);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if (list.getSelectedValue() != null)
cancelOtherSelections(list);
setOkEnabled();
}
});
new DoubleClickListener() {
@Override
protected boolean onDoubleClick(MouseEvent e) {
if (isOKActionEnabled()) {
doOKAction();
return true;
}
return false;
}
}.installOn(list);
fillList(data, list);
JPanel panel = new JPanel(new BorderLayout(4, 4));
panel.add(new JLabel(listDescription, JLabel.LEFT), BorderLayout.NORTH);
panel.add(ScrollPaneFactory.createScrollPane(list), BorderLayout.CENTER);
myPanel.add(panel);
}
use of javax.swing.event.ListSelectionEvent in project intellij-community by JetBrains.
the class HintUpdateSupply method installTableListener.
protected void installTableListener(@NotNull final JTable table) {
ListSelectionListener listener = new ListSelectionListener() {
@Override
public void valueChanged(final ListSelectionEvent e) {
if (!isHintVisible(HintUpdateSupply.this.myHint) || isSelectedByMouse(table))
return;
int selected = ((ListSelectionModel) e.getSource()).getLeadSelectionIndex();
int rowCount = table.getRowCount();
if (selected == -1 || rowCount == 0)
return;
PsiElement element = getPsiElementForHint(table.getValueAt(Math.min(selected, rowCount - 1), 0));
if (element != null && element.isValid()) {
updateHint(element);
}
}
};
table.getSelectionModel().addListSelectionListener(listener);
table.getColumnModel().getSelectionModel().addListSelectionListener(listener);
}
use of javax.swing.event.ListSelectionEvent in project intellij-community by JetBrains.
the class OverridingMethodsDialog method createCenterPanel.
protected JComponent createCenterPanel() {
JPanel panel = new JPanel(new BorderLayout());
panel.setBorder(BorderFactory.createEmptyBorder(8, 0, 4, 0));
final MyTableModel tableModel = new MyTableModel();
myTable = new Table(tableModel);
myTable.setShowGrid(false);
TableColumnModel columnModel = myTable.getColumnModel();
// columnModel.getColumn(DISPLAY_NAME_COLUMN).setCellRenderer(new MemberSelectionTable.MyTableRenderer());
TableColumn checkboxColumn = columnModel.getColumn(CHECK_COLUMN);
TableUtil.setupCheckboxColumn(checkboxColumn);
checkboxColumn.setCellRenderer(new BooleanTableCellRenderer());
// make SPACE check/uncheck selected rows
@NonNls InputMap inputMap = myTable.getInputMap();
inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0), "enable_disable");
@NonNls final ActionMap actionMap = myTable.getActionMap();
actionMap.put("enable_disable", new AbstractAction() {
public void actionPerformed(ActionEvent e) {
if (myTable.isEditing())
return;
int[] rows = myTable.getSelectedRows();
if (rows.length > 0) {
boolean valueToBeSet = false;
for (int row : rows) {
if (!myChecked[row]) {
valueToBeSet = true;
break;
}
}
for (int row : rows) {
myChecked[row] = valueToBeSet;
}
tableModel.updateData();
}
}
});
/*Border titledBorder = IdeBorderFactory.createBoldTitledBorder("Select methods");
Border emptyBorder = BorderFactory.createEmptyBorder(0, 5, 5, 5);
Border border = BorderFactory.createCompoundBorder(titledBorder, emptyBorder);
panel.setBorder(border);*/
panel.setLayout(new BorderLayout());
JScrollPane scrollPane = ScrollPaneFactory.createScrollPane(myTable);
panel.add(scrollPane, BorderLayout.CENTER);
ListSelectionListener selectionListener = new ListSelectionListener() {
public void valueChanged(final ListSelectionEvent e) {
int index = myTable.getSelectionModel().getLeadSelectionIndex();
if (index != -1) {
UsageInfo usageInfo = myOverridingMethods.get(index);
myUsagePreviewPanel.updateLayout(Collections.singletonList(usageInfo));
} else {
myUsagePreviewPanel.updateLayout(null);
}
}
};
myTable.getSelectionModel().addListSelectionListener(selectionListener);
final Splitter splitter = new Splitter(true, 0.3f);
splitter.setFirstComponent(panel);
splitter.setSecondComponent(myUsagePreviewPanel);
myUsagePreviewPanel.updateLayout(null);
Disposer.register(myDisposable, new Disposable() {
public void dispose() {
splitter.dispose();
}
});
if (tableModel.getRowCount() != 0) {
myTable.getSelectionModel().addSelectionInterval(0, 0);
}
return splitter;
}
use of javax.swing.event.ListSelectionEvent in project intellij-community by JetBrains.
the class MoveInstanceMethodDialogBase method createTargetVariableChooser.
protected JList createTargetVariableChooser() {
final JList list = new JBList(new MyListModel());
list.setCellRenderer(new MyListCellRenderer());
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setSelectedIndex(0);
list.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
updateOnChanged(list);
}
});
return list;
}
use of javax.swing.event.ListSelectionEvent in project intellij-community by JetBrains.
the class ImportSourceChooserDialog method initSourceList.
private void initSourceList() {
mySourceList.setModel(myListModel);
mySourceList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
mySourceList.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
int index = mySourceList.getSelectedIndex();
if (index >= 0) {
setSelectedSourceName((String) myListModel.getElementAt(index));
}
}
});
mySourceList.setSelectedIndex(0);
}
Aggregations