JAL-1713 fix typo; overview in project with open overview in preferences
[jalview.git] / src / jalview / renderer / OverviewResColourFinder.java
index a497d92..ef4d04b 100644 (file)
  */
 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; // default colour to use at gaps
-
-  final Color RESIDUE_COLOUR; // default colour to use at residues
-
-  final Color HIDDEN_COLOUR; // colour for hidden regions
-
-  boolean useLegacy = false;
-
-  public static final Color OVERVIEW_DEFAULT_GAP = Color.lightGray;
+  /*
+   * colour for gaps (unless overridden by colour scheme)
+   * - as set in Preferences, _or_ read from a project file
+   */
+  Color gapColour;
 
-  public static final Color OVERVIEW_DEFAULT_LEGACY_GAP = Color.white;
+  /*
+   * colour for residues if no colour scheme set (before feature colouring)
+   * - as set in Preferences, _or_ read from a project file
+   */
+  Color residueColour;
 
-  public static final Color OVERVIEW_DEFAULT_HIDDEN = Color.darkGray
-          .darker();
+  /*
+   * 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(false, OVERVIEW_DEFAULT_GAP, OVERVIEW_DEFAULT_HIDDEN);
+    this(Color.lightGray, Color.white, Color.darkGray.darker());
   }
 
   /**
-   * Constructor with colour settings
+   * Constructor given default colours for gaps, residues and hidden regions
    * 
-   * @param useLegacyColouring
-   *          whether to use legacy gap colouring (white gaps, grey residues)
-   * @param gapCol
-   *          gap colour if not legacy
-   * @param hiddenCol
-   *          hidden region colour (transparency applied by rendering code)
+   * @param gaps
+   * @param residues
+   * @param hidden
    */
-  public OverviewResColourFinder(boolean useLegacyColouring, Color gapCol,
-          Color hiddenCol)
+  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
@@ -92,7 +84,7 @@ public class OverviewResColourFinder extends ResidueColourFinder
       if (Comparison.isGap(currentChar)
               && (!shader.getColourScheme().hasGapColour()))
       {
-        resBoxColour = GAP_COLOUR;
+        resBoxColour = gapColour;
       }
       else
       {
@@ -101,7 +93,7 @@ public class OverviewResColourFinder extends ResidueColourFinder
     }
     else if (Comparison.isGap(currentChar))
     {
-      resBoxColour = GAP_COLOUR;
+      resBoxColour = gapColour;
     }
 
     return resBoxColour;
@@ -113,8 +105,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,
@@ -132,12 +124,34 @@ public class OverviewResColourFinder extends ResidueColourFinder
   }
 
   /**
-   * Supply hidden colour
+   * 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 colour of hidden regions
+   * @return
    */
-  protected Color getHiddenColour()
+  public Color getResidueColour()
   {
-    return HIDDEN_COLOUR;
+    return residueColour;
   }
 }