Remove unnecessary refresh
[jalview.git] / src / jalview / appletgui / SeqPanel.java
index 97f3703..0596468 100755 (executable)
@@ -246,8 +246,6 @@ public class SeqPanel
 \r
    void insertGapAtCursor(boolean group)\r
    {\r
-     ap.alignFrame.addHistoryItem(new HistoryItem("Edit Sequence",\r
-                                                  av.alignment, HistoryItem.EDIT));\r
      groupEditing = group;\r
      startseq = seqCanvas.cursorY;\r
      lastres = seqCanvas.cursorX;\r
@@ -257,8 +255,6 @@ public class SeqPanel
 \r
    void deleteGapAtCursor(boolean group)\r
    {\r
-     ap.alignFrame.addHistoryItem(new HistoryItem("Edit Sequence",\r
-                                                  av.alignment, HistoryItem.EDIT));\r
      groupEditing = group;\r
      startseq = seqCanvas.cursorY;\r
      lastres = seqCanvas.cursorX+getKeyboardNo(keyboardNo1);\r
@@ -354,8 +350,6 @@ public class SeqPanel
        if(seq<0 || res<0)\r
          return;\r
 \r
-       ap.alignFrame.addHistoryItem(new HistoryItem("Edit Sequence",\r
-                                                          av.alignment, HistoryItem.EDIT));\r
 \r
          if ((seq < av.getAlignment().getHeight()) &&\r
                  (res < av.getAlignment().getSequenceAt(seq).getLength()))\r
@@ -472,8 +466,6 @@ public class SeqPanel
 \r
   public void doMousePressed(MouseEvent evt)\r
   {\r
-    ap.alignFrame.addHistoryItem(new HistoryItem(\r
-        "Edit Sequence", av.alignment, HistoryItem.EDIT));\r
 \r
     int seq = findSeq(evt);\r
     int res = findRes(evt);\r
@@ -814,8 +806,15 @@ public class SeqPanel
       }\r
 \r
 \r
+\r
       if (groupEditing)\r
       {\r
+        Vector vseqs = sg.getSequences(true);\r
+        int g, groupSize = vseqs.size();\r
+        SequenceI[] groupSeqs = new SequenceI[groupSize];\r
+        for (g = 0; g < groupSeqs.length; g++)\r
+          groupSeqs[g] = (SequenceI) vseqs.elementAt(g);\r
+\r
         // drag to right\r
         if (insertGap)\r
         {\r
@@ -839,13 +838,13 @@ public class SeqPanel
                fixedRight--)\r
           {\r
             blank = true;\r
-            for (int s = 0; s < sg.getSize(true); s++)\r
+\r
+            for (g = 0; g < groupSize; g++)\r
             {\r
-              seq = (SequenceI)sg.getSequences(true).elementAt(s);\r
               for (int j = 0; j < startres - lastres; j++)\r
               {\r
                 if (!jalview.util.Comparison.isGap(\r
-                    seq.getCharAt(fixedRight - j)))\r
+                    groupSeqs[g].getCharAt(fixedRight - j)))\r
                 {\r
                   blank = false;\r
                   break;\r
@@ -894,19 +893,17 @@ public class SeqPanel
           /// Are we able to delete?\r
           // ie are all columns blank?\r
 \r
-          for (int s = 0; s < sg.getSize(true); s++)\r
+          for (g = 0; g < groupSize; g++)\r
           {\r
-            seq = (SequenceI)sg.getSequences(true).elementAt(s);\r
-\r
             for (int j = startres; j < lastres; j++)\r
             {\r
-              if (seq.getSequence().length() <= j)\r
+              if (groupSeqs[g].getLength() <= j)\r
               {\r
                 continue;\r
               }\r
 \r
               if (!jalview.util.Comparison.isGap(\r
-                  seq.getSequence().charAt(j)))\r
+                  groupSeqs[g].getCharAt(j)))\r
               {\r
                 // Not a gap, block edit not valid\r
                 endEditing();\r
@@ -917,10 +914,8 @@ public class SeqPanel
         }\r
 \r
 \r
-        for (int i = 0; i < sg.getSize(true); i++)\r
+        for (g = 0; g < groupSize; g++)\r
         {\r
-          seq = (SequenceI) sg.getSequences(true).elementAt(i);\r
-\r
           if (insertGap)\r
           {\r
             // dragging to the right\r
@@ -928,10 +923,10 @@ public class SeqPanel
             {\r
               if (fixedColumns && fixedRight != -1)\r
               {\r
-                insertChar(j, seq, fixedRight);\r
+                insertChar(j, groupSeqs[g], fixedRight);\r
               }\r
               else\r
-                insertChar(j, seq);\r
+                insertChar(j, groupSeqs[g]);\r
             }\r
           }\r
           else\r
@@ -941,17 +936,16 @@ public class SeqPanel
             {\r
               if (fixedColumns && fixedRight != -1)\r
               {\r
-                deleteChar(startres, seq, fixedRight);\r
+                deleteChar(startres, groupSeqs[g], fixedRight);\r
               }\r
               else\r
               {\r
-                deleteChar(startres, seq);\r
+                deleteChar(startres, groupSeqs[g]);\r
               }\r
             }\r
           }\r
         }\r
-      }\r
-      else /////Editing a single sequence///////////\r
+      }      else /////Editing a single sequence///////////\r
       {\r
         if (insertGap)\r
         {\r
@@ -1272,7 +1266,7 @@ public class SeqPanel
         y = av.alignment.getHeight() -1;\r
       }\r
 \r
-      if(res>av.alignment.getWidth())\r
+      if(res>=av.alignment.getWidth())\r
         res = av.alignment.getWidth()-1;\r
 \r
       if (stretchGroup.getEndRes() == res)\r