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