X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2FOverviewResColourFinder.java;h=4cbb1ba298fb448aa8604920fbf62de913908c5d;hb=refs%2Fheads%2Fspike%2FJAL-4047%2FJAL-4048_columns_in_sequenceID;hp=ec638a7a0ac11ac2dc6bcc7df8aad13078f3616c;hpb=d735b6b655d0689760abf7e5063c36200310a544;p=jalview.git diff --git a/src/jalview/renderer/OverviewResColourFinder.java b/src/jalview/renderer/OverviewResColourFinder.java index ec638a7..4cbb1ba 100644 --- a/src/jalview/renderer/OverviewResColourFinder.java +++ b/src/jalview/renderer/OverviewResColourFinder.java @@ -20,20 +20,61 @@ */ package jalview.renderer; +import java.awt.Color; + import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.util.Comparison; -import java.awt.Color; - public class OverviewResColourFinder extends ResidueColourFinder { - final Color GAP_COLOUR = new Color(240, 240, 240); + /* + * colour for gaps (unless overridden by colour scheme) + * - as set in Preferences, _or_ read from a project file + */ + Color gapColour; + + /* + * colour for residues if no colour scheme set (before feature colouring) + * - as set in Preferences, _or_ read from a project file + */ + Color residueColour; + + /* + * colour for hidden regions + * - as set in Preferences, _or_ read from a project file + */ + Color hiddenColour; + + /** + * Constructor without colour settings (used by applet) + * + * @deprecated + */ + @Deprecated + public OverviewResColourFinder() + { + this(Color.lightGray, Color.white, Color.darkGray.darker()); + } + + /** + * Constructor given default colours for gaps, residues and hidden regions + * + * @param gaps + * @param residues + * @param hidden + */ + public OverviewResColourFinder(Color gaps, Color residues, Color hidden) + { + gapColour = gaps; + residueColour = residues; + hiddenColour = hidden; + } @Override public Color getBoxColour(ResidueShaderI shader, SequenceI seq, int i) { - Color resBoxColour = Color.white; + Color resBoxColour = residueColour; char currentChar = seq.getCharAt(i); // In the overview window, gaps are coloured grey, unless the colour scheme @@ -42,9 +83,9 @@ public class OverviewResColourFinder extends ResidueColourFinder if (shader.getColourScheme() != null) { if (Comparison.isGap(currentChar) - && !shader.getColourScheme().hasGapColour()) + && (!shader.getColourScheme().hasGapColour())) { - resBoxColour = GAP_COLOUR; + resBoxColour = gapColour; } else { @@ -53,7 +94,7 @@ public class OverviewResColourFinder extends ResidueColourFinder } else if (Comparison.isGap(currentChar)) { - resBoxColour = GAP_COLOUR; + resBoxColour = gapColour; } return resBoxColour; @@ -65,8 +106,8 @@ public class OverviewResColourFinder extends ResidueColourFinder */ @Override protected Color getResidueBoxColour(boolean showBoxes, - ResidueShaderI shader, - SequenceGroup[] allGroups, SequenceI seq, int i) + ResidueShaderI shader, SequenceGroup[] allGroups, SequenceI seq, + int i) { ResidueShaderI currentShader; SequenceGroup currentSequenceGroup = getCurrentSequenceGroup(allGroups, @@ -82,4 +123,36 @@ public class OverviewResColourFinder extends ResidueColourFinder return getBoxColour(currentShader, seq, i); } + + /** + * Returns the colour used for hidden regions + * + * @return + */ + public Color getHiddenColour() + { + return hiddenColour; + } + + /** + * Returns the colour used for gaps, if not overridden by the alignment colour + * scheme + * + * @return + */ + public Color getGapColour() + { + return gapColour; + } + + /** + * Returns the colour used for residues (before applying any feature + * colouring) if there is no alignment colour scheme + * + * @return + */ + public Color getResidueColour() + { + return residueColour; + } }