X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSeqPanel.java;h=675325a52b6f2a642ba0987384d75556e8eec886;hb=0452450533728e478ef8c893ea2cb3483c740fb3;hp=bc9adfea44964eae35149f7a60b9315cdf53cc9e;hpb=dbcfef03ad3d2853eda62c727978a160fc347f58;p=jalview.git diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java index bc9adfe..675325a 100755 --- a/src/jalview/gui/SeqPanel.java +++ b/src/jalview/gui/SeqPanel.java @@ -366,7 +366,7 @@ public class SeqPanel extends JPanel implements MouseListener, SequenceGroup sg = av.selectionGroup; //Find the top and bottom of this group int min = av.alignment.getHeight(), max = 0; - for(int i=0; i max) @@ -402,7 +402,7 @@ public class SeqPanel extends JPanel implements MouseListener, else { // Now add any sequences between min and max - sg.getSequences(false).clear(); + sg.getSequences(null).clear(); for (int i = min; i < max; i++) { sg.addSequence(av.alignment.getSequenceAt(i), false); @@ -809,24 +809,20 @@ public class SeqPanel extends JPanel implements MouseListener, boolean fixedColumns = false; SequenceGroup sg = av.getSelectionGroup(); + SequenceI seq = av.alignment.getSequenceAt(startseq); + //No group, but the sequence may represent a group if (!groupEditing && av.hasHiddenRows) { - if (av.alignment.getSequenceAt(startseq).getHiddenSequences() != null) + if (av.hiddenRepSequences!=null + && av.hiddenRepSequences.containsKey(seq)) { + sg = (SequenceGroup)av.hiddenRepSequences.get(seq); groupEditing = true; } } - //No group, but the sequence may represent a group - if (groupEditing - && sg == null - && av.alignment.getSequenceAt(startseq).getHiddenSequences() == null) - { - groupEditing = false; - } - SequenceI seq = av.alignment.getSequenceAt(startseq); StringBuffer message = new StringBuffer(); if (groupEditing) { @@ -855,7 +851,7 @@ public class SeqPanel extends JPanel implements MouseListener, //Are we editing within a selection group? if (groupEditing - || (sg != null && sg.getSequences(true).contains(seq))) + || (sg != null && sg.getSequences(av.hiddenRepSequences).contains(seq))) { fixedColumns = true; @@ -863,9 +859,7 @@ public class SeqPanel extends JPanel implements MouseListener, //but the sequence represents a group if (sg == null) { - sg = new SequenceGroup(null, null, false, false, false, 0, - av.alignment.getWidth()-1); - sg.addSequence(av.alignment.getSequenceAt(startseq), false); + sg = (SequenceGroup) av.hiddenRepSequences.get(seq); } fixedLeft = sg.getStartRes(); @@ -924,7 +918,7 @@ public class SeqPanel extends JPanel implements MouseListener, if (groupEditing) { - Vector vseqs = sg.getSequences(true); + Vector vseqs = sg.getSequences(av.hiddenRepSequences); int g, groupSize = vseqs.size(); SequenceI[] groupSeqs = new SequenceI[groupSize]; for (g = 0; g < groupSeqs.length; g++) @@ -972,7 +966,7 @@ public class SeqPanel extends JPanel implements MouseListener, if (!blank) { - if(sg.getSize(false) == av.alignment.getHeight() ) + if(sg.getSize() == av.alignment.getHeight() ) { if((av.hasHiddenColumns && startres1) { - if (av.getSelectionGroup().getSize(false) == 1 + if (av.getSelectionGroup().getSize() == 1 && av.getSelectionGroup().getEndRes() - av.getSelectionGroup().getStartRes() < 2) av.setSelectionGroup(null); @@ -1327,7 +1321,7 @@ public class SeqPanel extends JPanel implements MouseListener, stretchGroup = null; } } - else if (!stretchGroup.getSequences(false).contains(sequence) || + else if (!stretchGroup.getSequences(null).contains(sequence) || (stretchGroup.getStartRes() > res) || (stretchGroup.getEndRes() < res)) { @@ -1442,7 +1436,7 @@ public class SeqPanel extends JPanel implements MouseListener, if (stretchGroup.cs instanceof ClustalxColourScheme) { ( (ClustalxColourScheme) stretchGroup.cs).resetClustalX( - stretchGroup.getSequences(true), + stretchGroup.getSequences(av.hiddenRepSequences), stretchGroup.getWidth()); } @@ -1549,7 +1543,7 @@ public class SeqPanel extends JPanel implements MouseListener, Sequence nextSeq = (Sequence) av.getAlignment().getSequenceAt(oldSeq); - if (stretchGroup.getSequences(false).contains(nextSeq)) + if (stretchGroup.getSequences(null).contains(nextSeq)) { stretchGroup.deleteSequence(seq, false); }