only recalc group conservation after last sequence operated on in a bulk add/remove...
[jalview.git] / src / jalview / appletgui / IdPanel.java
index 1497616..8a0efc3 100755 (executable)
@@ -1,6 +1,6 @@
 /*
  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
  * 
  * This file is part of Jalview.
  * 
@@ -19,6 +19,7 @@ package jalview.appletgui;
 
 import java.awt.*;
 import java.awt.event.*;
+import java.util.List;
 import java.util.Vector;
 
 import jalview.datamodel.*;
@@ -272,7 +273,7 @@ public class IdPanel extends Panel implements MouseListener,
     }
 
     if (mouseDragging && e.getY() >= getSize().height
-            && av.alignment.getHeight() > av.getEndSeq())
+            && av.getAlignment().getHeight() > av.getEndSeq())
     {
       scrollThread = new ScrollThread(false);
     }
@@ -331,7 +332,7 @@ public class IdPanel extends Panel implements MouseListener,
     {
       av.setSelectionGroup(new SequenceGroup());
       av.getSelectionGroup().setStartRes(0);
-      av.getSelectionGroup().setEndRes(av.alignment.getWidth() - 1);
+      av.getSelectionGroup().setEndRes(av.getAlignment().getWidth() - 1);
     }
 
     if (e.isShiftDown() && lastid != -1)
@@ -377,7 +378,7 @@ public class IdPanel extends Panel implements MouseListener,
     for (int i = start; i <= end; i++)
     {
       av.getSelectionGroup().addSequence(
-              av.getAlignment().getSequenceAt(i), false);
+              av.getAlignment().getSequenceAt(i), i==end);
     }
 
   }
@@ -400,16 +401,16 @@ public class IdPanel extends Panel implements MouseListener,
     av.sendSelection();
   }
 
-  public void highlightSearchResults(java.util.Vector found)
+  public void highlightSearchResults(List<SequenceI> list)
   {
-    idCanvas.setHighlighted(found);
+    idCanvas.setHighlighted(list);
 
-    if (found == null)
+    if (list == null)
     {
       return;
     }
 
-    int index = av.alignment.findIndex((SequenceI) found.elementAt(0));
+    int index = av.getAlignment().findIndex(list.get(0));
 
     // do we need to scroll the panel?
     if (av.getStartSeq() > index || av.getEndSeq() < index)
@@ -454,7 +455,7 @@ public class IdPanel extends Panel implements MouseListener,
           {
             selectSeqs(lastid - 1, seq);
           }
-          else if (seq > lastid && seq < av.alignment.getHeight())
+          else if (seq > lastid && seq < av.getAlignment().getHeight())
           {
             selectSeqs(lastid + 1, seq);
           }