Hidden Rows
[jalview.git] / src / jalview / gui / IdCanvas.java
index 9b1f10d..214f218 100755 (executable)
@@ -93,15 +93,9 @@ public class IdCanvas extends JPanel
             gg.setColor(Color.black);\r
         }\r
 \r
-        String string = s.getName();\r
 \r
-        if (av.getShowFullId())\r
-        {\r
-            string = s.getDisplayId();\r
-        }\r
-\r
-        gg.drawString(string, 0,\r
-            (((i - starty + 1) * charHeight) + ypos) - (charHeight / 5));\r
+        gg.drawString( s.getDisplayId(av.getShowJVSuffix()),\r
+                      0, (((i - starty + 1) * charHeight) + ypos) - (charHeight / 5));\r
     }\r
 \r
     /**\r
@@ -208,8 +202,10 @@ public class IdCanvas extends JPanel
       Font italic = new Font(av.getFont().getName(), Font.ITALIC,\r
                              av.getFont().getSize());\r
       gg.setFont(italic);\r
-      gg.setRenderingHint(RenderingHints.KEY_ANTIALIASING,\r
-            RenderingHints.VALUE_ANTIALIAS_ON);\r
+\r
+      if (av.antiAlias)\r
+        gg.setRenderingHint(RenderingHints.KEY_ANTIALIASING,\r
+                            RenderingHints.VALUE_ANTIALIAS_ON);\r
 \r
         Color currentColor = Color.white;\r
         Color currentTextColor = Color.black;\r
@@ -243,30 +239,51 @@ public class IdCanvas extends JPanel
             {\r
                 for (int i = starty; i < av.alignment.getHeight(); i++)\r
                 {\r
+\r
                     SequenceI s = av.alignment.getSequenceAt(i);\r
+                    gg.setFont(italic);\r
                     drawIdString(gg, s, i, 0, ypos);\r
                 }\r
 \r
                 if(labels!=null)\r
                 {\r
-                  gg.setFont(av.getFont());\r
                   gg.translate(0, ypos+(av.getAlignment().getHeight() * av.charHeight));\r
                   labels.drawComponent(gg, getWidth());\r
                   gg.translate(0, -ypos-(av.getAlignment().getHeight() * av.charHeight));\r
-                  gg.setFont(italic);\r
+\r
                 }\r
             }\r
         }\r
         else\r
         {\r
             //Now draw the id strings\r
+            int tmp, hiddenIndex = starty;\r
+            boolean markHidden = false;\r
             for (int i = starty; i < endy; i++)\r
             {\r
+              if (av.hasHiddenRows)\r
+              {\r
+                tmp = av.adjustForHiddenSeqs(i);\r
+                if(hiddenIndex != tmp)\r
+                {\r
+                    hiddenIndex = tmp;\r
+                    markHidden = true;\r
+                }\r
+                else\r
+                  markHidden = false;\r
+\r
+                hiddenIndex++;\r
+              }\r
+\r
+              if(av.hasHiddenRows && av.alignment.getSequenceAt(i).getHiddenSequences()!=null)\r
+              {\r
+                currentTextColor = Color.blue;\r
+              }\r
+              else\r
                 // Selected sequence colours\r
                 if ((searchResults != null) &&\r
                         searchResults.contains(av.alignment.getSequenceAt(i)))\r
                 {\r
-                    gg.setColor(Color.black);\r
                     currentColor = Color.black;\r
                     currentTextColor = Color.white;\r
                 }\r
@@ -286,25 +303,36 @@ public class IdCanvas extends JPanel
                 gg.setColor(currentColor);\r
 \r
                 gg.fillRect(0, (i - starty) * av.charHeight, getWidth(),\r
-                    av.charHeight);\r
-\r
-                gg.setColor(currentTextColor);\r
+                            av.charHeight);\r
 \r
-                String string = av.alignment.getSequenceAt(i).getName();\r
-\r
-                if (av.getShowFullId())\r
+                if (markHidden)\r
                 {\r
-                    string = av.alignment.getSequenceAt(i).getDisplayId();\r
+                  gg.setColor(Color.blue);\r
+               //   gg.drawLine(0, (i-starty)*av.charHeight, getWidth(),(i-starty)*av.charHeight);\r
+                  gg.fillPolygon(new int[] { getWidth() - av.charHeight,\r
+                                         getWidth() - av.charHeight,\r
+                                         getWidth() },\r
+                                new int[]\r
+                                {\r
+                                    (i-starty)*av.charHeight -av.charHeight/4,\r
+                                    (i-starty)*av.charHeight +av.charHeight/4,\r
+                                    (i-starty)*av.charHeight\r
+                                }, 3);\r
+\r
                 }\r
 \r
+                gg.setColor(currentTextColor);\r
+\r
+                String string = av.alignment.getSequenceAt(i).getDisplayId( av.getShowJVSuffix());\r
+\r
                 gg.drawString(string, 0,\r
                     (((i - starty) * av.charHeight) + av.charHeight) -\r
                     (av.charHeight / 5));\r
             }\r
 \r
             // add a border\r
-            gg.setColor(Color.white);\r
-            gg.fillRect(getWidth() - 4, 0, 4, getHeight());\r
+         //   gg.setColor(Color.cyan);\r
+          //  gg.fillRect(getWidth() - 4, 0, 4, getHeight());\r
         }\r
     }\r
 \r