@Override public void selectionChanged(final SelectionEvent<T> event) { if (this.objectSelectionModel.isEmpty() && this.tableSelectionModel.isSelectionEmpty()) { return; } if (this.objectSelectionModel.isEmpty()) { this.tableSelectionModel.clearSelection(); return; } final List<T> objects = getObjects(this.tableModel, this.tableSelectionModel); final List<T> selectedObjects = IterableUtilities.asList(this.objectSelectionModel.getSelectedObjects()); if (objects.size() == this.objectSelectionModel.size() && objects.containsAll(selectedObjects)) { return; } this.tableSelectionModel.setValueIsAdjusting(true); this.tableSelectionModel.clearSelection(); final int[] indexes = this.tableModel.indices(selectedObjects); for (final int index : indexes) { final int row = this.sortedRowMapper.getSortedRow(index); this.tableSelectionModel.addSelectionInterval(row, row); } this.tableSelectionModel.setValueIsAdjusting(false); }
@Override public void valueChanged(final ListSelectionEvent event) { if (event.getValueIsAdjusting()) { return; } if (this.tableSelectionModel.isSelectionEmpty()) { this.objectSelectionModel.removeAllSelectedObjects(); return; } final Set<Integer> indeces = new HashSet<>(); final List<T> objects = new ArrayList<>(); for (int i = this.tableSelectionModel.getMinSelectionIndex(); i <= this.tableSelectionModel.getMaxSelectionIndex(); i++) { if (this.tableSelectionModel.isSelectedIndex(i)) { indeces.add(Integer.valueOf(i)); // objects.add(this.tableModel.get(this.sortedRowMapper.getModelIndex(i))); } } for (final Integer index : indeces) { objects.add(this.tableModel.get(this.sortedRowMapper.getModelIndex(index.intValue()))); } this.objectSelectionModel.setSelectedObjects(objects); } }
protected final void updateParameters( final ISelectionModel<IConfiguration> selectionModel, final ParameterTableModel parameterTableModel) { if (selectionModel.isEmpty()) { parameterTableModel.setParameters(null); return; } final IConfiguration configuration = selectionModel.getSelectedObjects().iterator().next(); parameterTableModel.setParameters(configuration.getParameters()); }
final ISelectionModel<IChooserPanelConfiguration<T>> selectionModel = list.getSelectionModel(); if (!optionPanelConfigurations.isEmpty()) { selectionModel.setSelectedObject(optionPanelConfigurations.get(0)); if (this.valueModel.get() != null) { for (@SuppressWarnings("hiding") continue; selectionModel.setSelectedObject(chooserPanelConfiguration); break; selectionModel.addSelectionListener(new ISelectionListener<IChooserPanelConfiguration<T>>() {
public ConfigurationPanel(final List<IConfiguration> configurations) { super(new BorderLayout()); final ObjectListComponent<IConfiguration> configurationList = createConfigurationList(configurations); final JScrollPane configurationScrollPane = new JScrollPane(configurationList.getComponent()); configurationScrollPane.setPreferredSize(new Dimension(150, 200)); final ParameterTableModel parameterTableModel = new ParameterTableModel(); final JScrollPane parameterScrollPane = new JScrollPane(new ParameterTable(parameterTableModel)); parameterScrollPane.setPreferredSize(new Dimension(300, 200)); final JSplitPane splitPane = new JSplitPane( JSplitPane.HORIZONTAL_SPLIT, configurationScrollPane, parameterScrollPane); splitPane.setOneTouchExpandable(true); splitPane.setResizeWeight(1); add(splitPane, BorderLayout.CENTER); final ISelectionModel<IConfiguration> selectionModel = configurationList.getSelectionModel(); selectionModel.addSelectionListener(new ISelectionListener<IConfiguration>() { @Override public void selectionChanged(final SelectionEvent<IConfiguration> event) { updateParameters(selectionModel, parameterTableModel); } }); updateParameters(selectionModel, parameterTableModel); }
this.chooserPanel.removeInputListener(this.inputListener); if (selectionModel.isEmpty()) { ListChooserDialog.this.chooserPanelConfiguration = null; setTryEnabled(false); return; ListChooserDialog.this.chooserPanelConfiguration = selectionModel.getSelectedObjects().iterator().next(); final IChooserPanelFactory<T> chooserPanelFactory = ListChooserDialog.this.chooserPanelConfiguration .getOptionPanelFactory();
public ObjectListComponent(final IObjectListConfiguration<T> configuration, final IListModel<T> listModel) { this.configuration = configuration; this.list = new JList<>(listModel); this.list.setVisibleRowCount(configuration.getVisibleRowCount()); this.list.setSelectionMode(configuration.getSelectionMode()); this.list.setLayoutOrientation(configuration.getLayoutOrientation()); this.list.setCellRenderer( new ObjectUiListCellRenderer<>( configuration.getObjectUiCellRendererConfiguration(), configuration.getObjectUi())); final ListSelectionModel tableSelectionModel = this.list.getSelectionModel(); this.selectionModel = configuration.getSelectionModel(); tableSelectionModel .addListSelectionListener(new JListSelectionListener<>(listModel, tableSelectionModel, this.selectionModel)); this.selectionModel .addSelectionListener(new SelectionListener<>(listModel, tableSelectionModel, this.selectionModel)); this.list.setTransferHandler(configuration.getTransferHandler()); this.list.setDropMode(configuration.getDropMode()); this.list.setDragEnabled(configuration.isDragEnabled()); Optional.ofNullable(configuration.getMouseListener()).ifPresent(l -> this.list.addMouseListener(l)); this.component = new JScrollPane(this.list); }
@Override public void selectionChanged(final SelectionEvent<T> event) { if (this.objectSelectionModel.isEmpty() && this.tableSelectionModel.isSelectionEmpty()) { return; } if (this.objectSelectionModel.isEmpty()) { this.tableSelectionModel.clearSelection(); return; } final List<T> objects = getObjects(this.listModel, this.tableSelectionModel); final List<T> selectedObjects = IterableUtilities.asList(this.objectSelectionModel.getSelectedObjects()); if (objects.size() == this.objectSelectionModel.size() && objects.containsAll(selectedObjects)) { return; } GuiUtilities.invokeLater(() -> { this.tableSelectionModel.setValueIsAdjusting(true); this.tableSelectionModel.clearSelection(); final int[] indexes = this.listModel.getIndicesOf(selectedObjects); for (final int index : indexes) { try { this.tableSelectionModel.addSelectionInterval(index, index); } catch (final NullPointerException exception) { logger.log(ILevel.ERROR, exception.getMessage(), exception); } } this.tableSelectionModel.setValueIsAdjusting(false); }); }
@Override public void valueChanged(final ListSelectionEvent event) { if (event.getValueIsAdjusting()) { return; } if (this.listSelectionModel.isSelectionEmpty()) { this.objectSelectionModel.removeAllSelectedObjects(); return; } final List<T> objects = new ArrayList<>(); for (int i = this.listSelectionModel.getMinSelectionIndex(); i <= this.listSelectionModel .getMaxSelectionIndex(); i++) { if (this.listSelectionModel.isSelectedIndex(i)) { objects.add(this.listModel.getObject(i)); } } this.objectSelectionModel.setSelectedObjects(objects); } }