X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSeqPanel.java;h=348c21c28f32399e7f170b8317ecf396bab15411;hb=fc2dbe249bddd693c94bfa88b3468abc41c6d80b;hp=900626231799735d16b77ffc119960aaf168a0a2;hpb=92392d967a7cc28241ed079a8bee348fb92c4566;p=jalview.git diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java index 9006262..348c21c 100644 --- a/src/jalview/gui/SeqPanel.java +++ b/src/jalview/gui/SeqPanel.java @@ -836,7 +836,8 @@ public class SeqPanel extends JPanel implements MouseListener, * set if av.getSelectionGroup() refers to a group that is defined on the * alignment view, rather than a transient selection */ - private boolean editingDefinedGroup = false; // TODO: refactor to avcontroller or viewModel + // private boolean editingDefinedGroup = false; // TODO: refactor to + // avcontroller or viewModel /** * Set status message in alignment panel @@ -857,7 +858,8 @@ public class SeqPanel extends JPanel implements MouseListener, * Sequence number (if known), and sequence name. */ String seqno = seq == -1 ? "" : " " + (seq + 1); - text.append("Sequence" + seqno + " ID: " + sequence.getName()); + text.append("Sequence").append(seqno).append(" ID: ") + .append(sequence.getName()); String residue = null; /* @@ -1582,12 +1584,10 @@ public class SeqPanel extends JPanel implements MouseListener, && (res < stretchGroup.getEndRes())) { av.setSelectionGroup(stretchGroup); - editingDefinedGroup = true; } else { stretchGroup = null; - editingDefinedGroup = false; } } else if (!stretchGroup.getSequences(null).contains(sequence) @@ -1606,7 +1606,6 @@ public class SeqPanel extends JPanel implements MouseListener, && (allGroups[i].getEndRes() >= res)) { stretchGroup = allGroups[i]; - editingDefinedGroup = true; break; } } @@ -1656,7 +1655,6 @@ public class SeqPanel extends JPanel implements MouseListener, sg.setEndRes(res); sg.addSequence(sequence, false); av.setSelectionGroup(sg); - editingDefinedGroup = false; stretchGroup = sg; if (av.getConservationSelected()) @@ -1702,7 +1700,7 @@ public class SeqPanel extends JPanel implements MouseListener, // always do this - annotation has own state // but defer colourscheme update until hidden sequences are passed in boolean vischange = stretchGroup.recalcConservation(true); - needOverviewUpdate |= vischange && editingDefinedGroup; + needOverviewUpdate |= vischange && av.isSelectionDefinedGroup(); if (stretchGroup.cs != null) { stretchGroup.cs.alignmentChanged(stretchGroup, @@ -1722,7 +1720,6 @@ public class SeqPanel extends JPanel implements MouseListener, PaintRefresher.Refresh(this, av.getSequenceSetId()); ap.paintAlignment(needOverviewUpdate); needOverviewUpdate =false; - editingDefinedGroup = false; changeEndRes = false; changeStartRes = false; stretchGroup = null; @@ -1776,7 +1773,7 @@ public class SeqPanel extends JPanel implements MouseListener, if (res > (stretchGroup.getStartRes() - 1)) { stretchGroup.setEndRes(res); - needOverviewUpdate |= editingDefinedGroup; + needOverviewUpdate |= av.isSelectionDefinedGroup(); } } else if (changeStartRes) @@ -1784,7 +1781,7 @@ public class SeqPanel extends JPanel implements MouseListener, if (res < (stretchGroup.getEndRes() + 1)) { stretchGroup.setStartRes(res); - needOverviewUpdate |= editingDefinedGroup; + needOverviewUpdate |= av.isSelectionDefinedGroup(); } } @@ -1818,7 +1815,7 @@ public class SeqPanel extends JPanel implements MouseListener, if (stretchGroup.getSequences(null).contains(nextSeq)) { stretchGroup.deleteSequence(seq, false); - needOverviewUpdate |= editingDefinedGroup; + needOverviewUpdate |= av.isSelectionDefinedGroup(); } else { @@ -1828,7 +1825,7 @@ public class SeqPanel extends JPanel implements MouseListener, } stretchGroup.addSequence(nextSeq, false); - needOverviewUpdate |= editingDefinedGroup; + needOverviewUpdate |= av.isSelectionDefinedGroup(); } } @@ -1970,10 +1967,12 @@ public class SeqPanel extends JPanel implements MouseListener, // do we want to thread this ? (contention with seqsel and colsel locks, I // suspect) - // rules are: colsel is copied if there is a real intersection between - // sequence selection + /* + * only copy colsel if there is a real intersection between + * sequence selection and this panel's alignment + */ boolean repaint = false; - boolean copycolsel = true; + boolean copycolsel = false; SequenceGroup sgroup = null; if (seqsel != null && seqsel.getSize() > 0) @@ -1987,11 +1986,9 @@ public class SeqPanel extends JPanel implements MouseListener, } sgroup = seqsel.intersect(av.getAlignment(), (av.hasHiddenRows()) ? av.getHiddenRepSequences() : null); - if ((sgroup == null || sgroup.getSize() == 0) - || (colsel == null || colsel.isEmpty())) + if ((sgroup != null && sgroup.getSize() > 0)) { - // don't copy columns if the region didn't intersect. - copycolsel = false; + copycolsel = true; } } if (sgroup != null && sgroup.getSize() > 0)