X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fviewmodel%2FAlignmentViewport.java;h=01668a5bb5dc8eaf8af5cc900a77ce79d1ff91bd;hb=f2b03e9fecf41886ebf5f747fd4be02edf042bee;hp=19ebf45da75b631ddfae0a3851e77e1bdc1cd9ed;hpb=1811f4469c23e9cce0a72649e17b634f60f9fbe0;p=jalview.git diff --git a/src/jalview/viewmodel/AlignmentViewport.java b/src/jalview/viewmodel/AlignmentViewport.java index 19ebf45..01668a5 100644 --- a/src/jalview/viewmodel/AlignmentViewport.java +++ b/src/jalview/viewmodel/AlignmentViewport.java @@ -25,6 +25,7 @@ import jalview.analysis.Conservation; import jalview.api.AlignCalcManagerI; import jalview.api.AlignViewportI; import jalview.api.AlignmentViewPanel; +import jalview.api.ColorI; import jalview.api.FeaturesDisplayedI; import jalview.api.ViewStyleI; import jalview.commands.CommandI; @@ -42,6 +43,7 @@ import jalview.datamodel.SequenceCollectionI; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.schemes.Blosum62ColourScheme; +import jalview.schemes.Colour; import jalview.schemes.ColourSchemeI; import jalview.schemes.PIDColourScheme; import jalview.schemes.ResidueProperties; @@ -57,7 +59,6 @@ import jalview.workers.ComplementConsensusThread; import jalview.workers.ConsensusThread; import jalview.workers.StrucConsensusThread; -import java.awt.Color; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.BitSet; @@ -1107,6 +1108,13 @@ public abstract class AlignmentViewport implements AlignViewportI, } @Override + public boolean hasSelectedColumns() + { + ColumnSelection columnSelection = getColumnSelection(); + return columnSelection != null && columnSelection.hasSelectedColumns(); + } + + @Override public boolean hasHiddenColumns() { return colSel != null && colSel.hasHiddenColumns(); @@ -1245,7 +1253,7 @@ public abstract class AlignmentViewport implements AlignViewportI, protected boolean showConsensus = true; - private Map sequenceColours = new HashMap(); + private Map sequenceColours = new HashMap(); protected SequenceAnnotationOrder sortAnnotationsBy = null; @@ -2121,14 +2129,14 @@ public abstract class AlignmentViewport implements AlignViewportI, } @Override - public Color getSequenceColour(SequenceI seq) + public ColorI getSequenceColour(SequenceI seq) { - Color sqc = sequenceColours.get(seq); - return (sqc == null ? Color.white : sqc); + ColorI sqc = sequenceColours.get(seq); + return (sqc == null ? Colour.white : sqc); } @Override - public void setSequenceColour(SequenceI seq, Color col) + public void setSequenceColour(SequenceI seq, ColorI col) { if (col == null) { @@ -2285,7 +2293,7 @@ public abstract class AlignmentViewport implements AlignViewportI, * @see jalview.api.ViewStyleI#getTextColour() */ @Override - public Color getTextColour() + public ColorI getTextColour() { return viewStyle.getTextColour(); } @@ -2295,7 +2303,7 @@ public abstract class AlignmentViewport implements AlignViewportI, * @see jalview.api.ViewStyleI#getTextColour2() */ @Override - public Color getTextColour2() + public ColorI getTextColour2() { return viewStyle.getTextColour2(); } @@ -2366,7 +2374,7 @@ public abstract class AlignmentViewport implements AlignViewportI, * @see jalview.api.ViewStyleI#setTextColour(java.awt.Color) */ @Override - public void setTextColour(Color textColour) + public void setTextColour(ColorI textColour) { viewStyle.setTextColour(textColour); } @@ -2386,7 +2394,7 @@ public abstract class AlignmentViewport implements AlignViewportI, * @see jalview.api.ViewStyleI#setTextColour2(java.awt.Color) */ @Override - public void setTextColour2(Color textColour2) + public void setTextColour2(ColorI textColour2) { viewStyle.setTextColour2(textColour2); } @@ -2730,7 +2738,7 @@ public abstract class AlignmentViewport implements AlignViewportI, } seqMappings = MappingUtils .findMappingsForSequenceAndOthers(sequence, mappings, - getCodingComplement().getAlignment()); + getCodingComplement().getAlignment().getSequences()); if (!seqMappings.isEmpty()) { break; @@ -2763,8 +2771,7 @@ public abstract class AlignmentViewport implements AlignViewportI, if (sg != null && (sgs = sg.getStartRes()) >= 0 && sg.getStartRes() <= (sge = sg.getEndRes()) - && (colSel == null || colSel.getSelected() == null || colSel - .getSelected().size() == 0)) + && !this.hasSelectedColumns()) { if (!wholewidth && alignment.getWidth() == (1 + sge - sgs)) { @@ -2782,5 +2789,32 @@ public abstract class AlignmentViewport implements AlignViewportI, } } + /** + * hold status of current selection group - defined on alignment or not. + */ + private boolean selectionIsDefinedGroup = false; + @Override + public boolean isSelectionDefinedGroup() + { + if (selectionGroup == null) + { + return false; + } + if (isSelectionGroupChanged(true)) + { + selectionIsDefinedGroup = false; + List gps = alignment.getGroups(); + if (gps == null || gps.size() == 0) + { + selectionIsDefinedGroup = false; + } + else + { + selectionIsDefinedGroup = gps.contains(selectionGroup); + } + } + return selectionGroup.getContext() == alignment + || selectionIsDefinedGroup; + } }