Disable the Delete button when not applicable. BLD200309240100
authormentlicher@netbeans.org
Tue, 23 Sep 2003 16:13:44 +0000
changeset 354554314ddc1062
parent 3544 3306b3ee6cbb
child 3546 8d70cc7f6c54
Disable the Delete button when not applicable.
Also selected row is compared to the total number of rows, because
it may happen that selected row is '0', while the total number of rows is '0' !!!
This is a fix of issue #33176.
vcs.advanced/src/org/netbeans/modules/vcs/advanced/VcsCustomizer.java
     1.1 --- a/vcs.advanced/src/org/netbeans/modules/vcs/advanced/VcsCustomizer.java	Tue Sep 23 00:11:02 2003 +0000
     1.2 +++ b/vcs.advanced/src/org/netbeans/modules/vcs/advanced/VcsCustomizer.java	Tue Sep 23 16:13:44 2003 +0000
     1.3 @@ -962,7 +962,7 @@
     1.4      private void deleteEnvButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteEnvButtonActionPerformed
     1.5          // Add your handling code here:
     1.6          int row = envTable.getSelectedRow();
     1.7 -        if (row < 0) return ;
     1.8 +        if (row < 0 || row >= envTable.getRowCount()) return ; // Sometimes the row can be == row count !!! (see issue #33176)
     1.9          String name = (String) envTableModel.getValueAt(row, 0);
    1.10          NotifyDescriptor nd = new NotifyDescriptor.Confirmation(NbBundle.getMessage(VcsCustomizer.class, "DLG_EnvVarDeleteConfirm", name));
    1.11          if (NotifyDescriptor.OK_OPTION.equals(DialogDisplayer.getDefault().notify(nd))) {
    1.12 @@ -1499,6 +1499,17 @@
    1.13          envTableModel = new TableSorter(envTable.getModel());
    1.14          envTableModel.sortByColumn(0, true);
    1.15          envTable.setModel(envTableModel);
    1.16 +        deleteEnvButton.setEnabled(false);
    1.17 +        envTable.getSelectionModel().addListSelectionListener(new javax.swing.event.ListSelectionListener() {
    1.18 +            public void valueChanged(javax.swing.event.ListSelectionEvent lsev) {
    1.19 +                //lsev.getFirstIndex();
    1.20 +                int row = envTable.getSelectedRow();
    1.21 +                int numRows = envTable.getRowCount();
    1.22 +                // There can be row == 0 & numRows == 0 !!!
    1.23 +                //System.out.println("Table selected row: "+row+", numRows = "+numRows);
    1.24 +                deleteEnvButton.setEnabled(row >= 0 && row < numRows);
    1.25 +            }
    1.26 +        });
    1.27          ((javax.swing.table.DefaultTableModel) envTableModel.getModel()).setColumnIdentifiers(new String[] { NbBundle.getMessage(VcsCustomizer.class, "LBL_VarNames"), NbBundle.getMessage(VcsCustomizer.class, "LBL_VarValues") });
    1.28          envTableModel.addMouseListenerToHeaderInTable(envTable);
    1.29          systemEnvTableModel = new TableSorter(systemEnvTable.getModel());