Merge branch 'bugs/JAL-2922' into releases/Release_2_10_4_Branch
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Wed, 7 Mar 2018 11:53:57 +0000 (11:53 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Wed, 7 Mar 2018 11:53:57 +0000 (11:53 +0000)
src/jalview/appletgui/FeatureSettings.java
src/jalview/gui/FeatureSettings.java

index 9a67499..cd85ab7 100755 (executable)
@@ -65,7 +65,7 @@ import java.util.Set;
 
 public class FeatureSettings extends Panel
         implements ItemListener, MouseListener, MouseMotionListener,
-        ActionListener, AdjustmentListener, FeatureSettingsControllerI
+        AdjustmentListener, FeatureSettingsControllerI
 {
   FeatureRenderer fr;
 
@@ -120,8 +120,17 @@ public class FeatureSettings extends Panel
       add(scrollPane, BorderLayout.CENTER);
     }
 
-    Button invert = new Button("Invert Selection");
-    invert.addActionListener(this);
+    Button invert = new Button(
+            MessageManager.getString("label.invert_selection"));
+    invert.addActionListener(new ActionListener()
+    {
+
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        invertSelection();
+      }
+    });
 
     Panel lowerPanel = new Panel(new GridLayout(2, 1, 5, 10));
     lowerPanel.add(invert);
@@ -545,8 +554,7 @@ public class FeatureSettings extends Panel
     }
   }
 
-  @Override
-  public void actionPerformed(ActionEvent evt)
+  protected void invertSelection()
   {
     for (int i = 0; i < featurePanel.getComponentCount(); i++)
     {
index 3f1d9c7..6130ef8 100644 (file)
@@ -961,12 +961,12 @@ public class FeatureSettings extends JPanel
 
   public void invertSelection()
   {
-    for (int i = 0; i < table.getRowCount(); i++)
+    Object[][] data = ((FeatureTableModel) table.getModel()).getData();
+    for (int i = 0; i < data.length; i++)
     {
-      Boolean value = (Boolean) table.getValueAt(i, 2);
-
-      table.setValueAt(new Boolean(!value.booleanValue()), i, 2);
+      data[i][1] = !(Boolean) data[i][1];
     }
+    af.alignPanel.paintAlignment(true, true);
   }
 
   public void orderByAvWidth()