JAL-1366 JAL-2086 reinstate bolding of reference sequence
[jalview.git] / src / jalview / gui / IdCanvas.java
index a7a4e34..37be8bc 100755 (executable)
@@ -86,6 +86,8 @@ public class IdCanvas extends JPanel
    * 
    * @param gg
    *          DOCUMENT ME!
+   * @param hiddenRows
+   *          true - check and display hidden row marker if need be
    * @param s
    *          DOCUMENT ME!
    * @param i
@@ -95,8 +97,8 @@ public class IdCanvas extends JPanel
    * @param ypos
    *          DOCUMENT ME!
    */
-  public void drawIdString(Graphics2D gg, SequenceI s, int i, int starty,
-          int ypos)
+  public void drawIdString(Graphics2D gg, boolean hiddenRows, SequenceI s,
+          int i, int starty, int ypos)
   {
     int xPos = 0;
     int panelWidth = getWidth();
@@ -134,7 +136,7 @@ public class IdCanvas extends JPanel
     gg.drawString(s.getDisplayId(av.getShowJVSuffix()), xPos,
             (((i - starty + 1) * charHeight) + ypos) - (charHeight / 5));
 
-    if (av.hasHiddenRows() && av.getShowHiddenMarkers())
+    if (hiddenRows)
     {
       drawMarker(i, starty, ypos);
     }
@@ -202,6 +204,7 @@ public class IdCanvas extends JPanel
    * @param g
    *          DOCUMENT ME!
    */
+  @Override
   public void paintComponent(Graphics g)
   {
     g.setColor(Color.white);
@@ -274,6 +277,9 @@ public class IdCanvas extends JPanel
     Color currentColor = Color.white;
     Color currentTextColor = Color.black;
 
+    final boolean doHiddenCheck = av.isDisplayReferenceSeq()
+            || av.hasHiddenRows(), hiddenRows = av.hasHiddenRows();
+
     if (av.getWrapAlignment())
     {
       int maxwidth = av.getAlignment().getWidth();
@@ -317,7 +323,7 @@ public class IdCanvas extends JPanel
         for (int i = starty; i < alheight; i++)
         {
           SequenceI s = av.getAlignment().getSequenceAt(i);
-          if (av.isDisplayReferenceSeq() || av.hasHiddenRows())
+          if (doHiddenCheck)
           {
             setHiddenFont(s);
           }
@@ -326,7 +332,7 @@ public class IdCanvas extends JPanel
             gg.setFont(getIdfont());
           }
 
-          drawIdString(gg, s, i, 0, ypos);
+          drawIdString(gg, hiddenRows, s, i, 0, ypos);
         }
 
         if (labels != null && av.isShowAnnotation())
@@ -357,7 +363,7 @@ public class IdCanvas extends JPanel
           continue;
         }
 
-        if (av.isDisplayReferenceSeq() || av.hasHiddenRows())
+        if (doHiddenCheck)
         {
           setHiddenFont(sequence);
         }
@@ -399,7 +405,7 @@ public class IdCanvas extends JPanel
                 (((i - starty) * av.getCharHeight()) + av.getCharHeight())
                         - (av.getCharHeight() / 5));
 
-        if (av.hasHiddenRows() && av.getShowHiddenMarkers())
+        if (hiddenRows)
         {
           drawMarker(i, starty, 0);
         }
@@ -447,11 +453,9 @@ public class IdCanvas extends JPanel
     if (below)
     {
       gg.fillPolygon(
-              new int[]
-              { getWidth() - av.getCharHeight(),
-                  getWidth() - av.getCharHeight(),
-                  getWidth() }, new int[]
-              {
+              new int[] { getWidth() - av.getCharHeight(),
+                  getWidth() - av.getCharHeight(), getWidth() },
+              new int[] {
                   (i - starty) * av.getCharHeight() + yoffset,
                   (i - starty) * av.getCharHeight() + yoffset
                           + av.getCharHeight() / 4,
@@ -460,11 +464,9 @@ public class IdCanvas extends JPanel
     if (above)
     {
       gg.fillPolygon(
-              new int[]
-              { getWidth() - av.getCharHeight(),
-                  getWidth() - av.getCharHeight(),
-                  getWidth() }, new int[]
-              {
+              new int[] { getWidth() - av.getCharHeight(),
+                  getWidth() - av.getCharHeight(), getWidth() },
+              new int[] {
                   (i - starty + 1) * av.getCharHeight() + yoffset,
                   (i - starty + 1) * av.getCharHeight() + yoffset
                           - av.getCharHeight() / 4,
@@ -478,7 +480,7 @@ public class IdCanvas extends JPanel
     Font bold = new Font(av.getFont().getName(), Font.BOLD, av.getFont()
             .getSize());
 
-    if (av.isHiddenRepSequence(seq))
+    if (av.isReferenceSeq(seq) || av.isHiddenRepSequence(seq))
     {
       gg.setFont(bold);
     }