*/
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;
-
- final Color RESIDUE_COLOUR;
+ /*
+ * colour for gaps (unless overridden by colour scheme)
+ * - as set in Preferences, _or_ read from a project file
+ */
+ Color gapColour;
- final Color HIDDEN_COLOUR;
+ /*
+ * colour for residues if no colour scheme set (before feature colouring)
+ * - as set in Preferences, _or_ read from a project file
+ */
+ Color residueColour;
- boolean useLegacy = false;
+ /*
+ * 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()
{
- GAP_COLOUR = Color.lightGray; // new Color(240, 240, 240);
- RESIDUE_COLOUR = Color.white;
- HIDDEN_COLOUR = Color.DARK_GRAY.darker();
+ this(Color.lightGray, Color.white, Color.darkGray.darker());
}
- public OverviewResColourFinder(boolean useLegacyColouring, Color gapCol,
- Color hiddenCol)
+ /**
+ * Constructor given default colours for gaps, residues and hidden regions
+ *
+ * @param gaps
+ * @param residues
+ * @param hidden
+ */
+ public OverviewResColourFinder(Color gaps, Color residues, Color hidden)
{
- if (useLegacyColouring)
- {
- GAP_COLOUR = Color.white;
- RESIDUE_COLOUR = Color.lightGray;
- HIDDEN_COLOUR = hiddenCol;
- }
- else
- {
- GAP_COLOUR = gapCol;
- RESIDUE_COLOUR = Color.white;
- HIDDEN_COLOUR = hiddenCol;
- }
+ gapColour = gaps;
+ residueColour = residues;
+ hiddenColour = hidden;
}
@Override
public Color getBoxColour(ResidueShaderI shader, SequenceI seq, int i)
{
- Color resBoxColour = RESIDUE_COLOUR;
+ Color resBoxColour = residueColour;
char currentChar = seq.getCharAt(i);
// In the overview window, gaps are coloured grey, unless the colour scheme
// settings
if (shader.getColourScheme() != null)
{
- if (!shader.getColourScheme().hasGapColour()
- && Comparison.isGap(currentChar))
+ if (Comparison.isGap(currentChar)
+ && (!shader.getColourScheme().hasGapColour()))
{
- resBoxColour = GAP_COLOUR;
+ resBoxColour = gapColour;
}
else
{
}
else if (Comparison.isGap(currentChar))
{
- resBoxColour = GAP_COLOUR;
+ resBoxColour = gapColour;
}
return resBoxColour;
*/
@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,
return getBoxColour(currentShader, seq, i);
}
- protected Color getHiddenColour()
+ /**
+ * 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 HIDDEN_COLOUR;
+ return residueColour;
}
}