else
{
// Now add any sequences between min and max
- sg.getSequences(null).removeAllElements();
+ sg.clear();
for (int i = min; i < max; i++)
{
sg.addSequence(av.getAlignment().getSequenceAt(i), false);
if (groupEditing)
{
- Vector vseqs = sg.getSequences(av.getHiddenRepSequences());
- int g, groupSize = vseqs.size();
- SequenceI[] groupSeqs = new SequenceI[groupSize];
- for (g = 0; g < groupSeqs.length; g++)
- {
- groupSeqs[g] = (SequenceI) vseqs.elementAt(g);
- }
+ SequenceI[] groupSeqs = sg.getSequences(av.getHiddenRepSequences()).toArray(new SequenceI[0]);
// drag to right
if (insertGap)
{
blank = true;
- for (g = 0; g < groupSize; g++)
+ for (SequenceI gs:groupSeqs)
{
for (int j = 0; j < startres - lastres; j++)
{
- if (!jalview.util.Comparison.isGap(groupSeqs[g]
+ if (!jalview.util.Comparison.isGap(gs
.getCharAt(fixedRight - j)))
{
blank = false;
// / Are we able to delete?
// ie are all columns blank?
- for (g = 0; g < groupSize; g++)
+ for (SequenceI gs:groupSeqs)
{
for (int j = startres; j < lastres; j++)
{
- if (groupSeqs[g].getLength() <= j)
+ if (gs.getLength() <= j)
{
continue;
}
- if (!jalview.util.Comparison.isGap(groupSeqs[g].getCharAt(j)))
+ if (!jalview.util.Comparison.isGap(gs.getCharAt(j)))
{
// Not a gap, block edit not valid
endEditing();
return;
}
+ stretchGroup.recalcConservation(); // always do this - annotation has own
+ // state
if (stretchGroup.cs != null)
{
- if (stretchGroup.cs instanceof ClustalxColourScheme)
- {
- ((ClustalxColourScheme) stretchGroup.cs).resetClustalX(
- stretchGroup.getSequences(av.getHiddenRepSequences()),
- stretchGroup.getWidth());
- }
-
- if (stretchGroup.cs instanceof Blosum62ColourScheme
- || stretchGroup.cs instanceof PIDColourScheme
- || stretchGroup.cs.conservationApplied()
- || stretchGroup.cs.getThreshold() > 0)
- {
- stretchGroup.recalcConservation();
- }
-
+ stretchGroup.cs.alignmentChanged(stretchGroup,av.getHiddenRepSequences());
+
if (stretchGroup.cs.conservationApplied())
{
SliderPanel.setConservationSlider(ap, stretchGroup.cs,
stretchGroup.getName());
- stretchGroup.recalcConservation();
}
else
{
row = row<0 ? ap.av.startSeq : row;
column = column<0 ? ap.av.startRes : column;
- ap.scrollTo(row, row, column, true, true);
+ ap.scrollTo(column, column, row, true, true);
}
/**
* scroll to the given row - or nearest visible location
{
row = row<0 ? ap.av.startSeq : row;
- ap.scrollTo(row, row, ap.av.startRes, true, true);
+ ap.scrollTo(ap.av.startRes, ap.av.startRes, row, true, true);
}
/**
* scroll to the given column - or nearest visible location
{
column = column<0 ? ap.av.startRes : column;
- ap.scrollTo(ap.av.startRes, ap.av.startRes, column, true, true);
+ ap.scrollTo( column, column, ap.av.startSeq, true, true);
}
}