View | Details | Raw Unified | Return to bug 52085
Collapse All | Expand All

(-)ArgumentsPanel.java (-17 / +16 lines)
Lines 358-389 Link Here
358
    protected void deleteArgument() {
358
    protected void deleteArgument() {
359
        cancelEditing();
359
        cancelEditing();
360
360
361
        int rowSelected = table.getSelectedRow();
361
        int[] rowsSelected = table.getSelectedRows();
362
        if (rowSelected >= 0) {
362
        int anchorSelection = table.getSelectionModel().getAnchorSelectionIndex();
363
            tableModel.removeRow(rowSelected);
363
        table.clearSelection();
364
            tableModel.fireTableDataChanged();
364
        if (rowsSelected.length > 0) {
365
            for (int i = rowsSelected.length - 1; i >= 0; i--) {
366
                tableModel.removeRow(rowsSelected[i]);
367
            }
365
368
366
            // Disable DELETE if there are no rows in the table to delete.
369
            // Disable DELETE if there are no rows in the table to delete.
367
            if (tableModel.getRowCount() == 0) {
370
            if (tableModel.getRowCount() == 0) {
368
                delete.setEnabled(false);
371
                delete.setEnabled(false);
369
            }
372
            }
373
            // Table still contains one or more rows, so highlight (select)
374
            // the appropriate one.
375
            else if (tableModel.getRowCount() > 0) {
376
                if (anchorSelection >= tableModel.getRowCount()) {
377
                    anchorSelection = tableModel.getRowCount() - 1;
378
                }
379
                table.setRowSelectionInterval(anchorSelection, anchorSelection);
380
            }
370
            
381
            
371
            if(enableUpDown && tableModel.getRowCount()>1) {
382
            if(enableUpDown && tableModel.getRowCount()>1) {
372
                up.setEnabled(true);
383
                up.setEnabled(true);
373
                down.setEnabled(true);
384
                down.setEnabled(true);
374
            }
385
            }
375
376
            // Table still contains one or more rows, so highlight (select)
377
            // the appropriate one.
378
            else {
379
                int rowToSelect = rowSelected;
380
381
                if (rowSelected >= tableModel.getRowCount()) {
382
                    rowToSelect = rowSelected - 1;
383
                }
384
385
                table.setRowSelectionInterval(rowToSelect, rowToSelect);
386
            }
387
        }
386
        }
388
    }
387
    }
389
388
Lines 467-473 Link Here
467
        initializeTableModel();
466
        initializeTableModel();
468
        table = new JTable(tableModel);
467
        table = new JTable(tableModel);
469
        table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
468
        table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
470
        table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
469
        table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
471
        if (this.background != null) {
470
        if (this.background != null) {
472
            table.setBackground(this.background);
471
            table.setBackground(this.background);
473
        }
472
        }

Return to bug 52085