search ids added
authoramwaterhouse <Andrew Waterhouse>
Thu, 28 Apr 2005 15:31:09 +0000 (15:31 +0000)
committeramwaterhouse <Andrew Waterhouse>
Thu, 28 Apr 2005 15:31:09 +0000 (15:31 +0000)
src/jalview/gui/IdCanvas.java
src/jalview/gui/IdPanel.java

index 6c50f31..d7a034c 100755 (executable)
@@ -19,6 +19,8 @@ public class IdCanvas extends JPanel
   int imgHeight=0;\r
   boolean fastPaint = false;\r
 \r
+  java.util.ArrayList searchResults;\r
+\r
   public IdCanvas(AlignViewport av)\r
   {\r
     setLayout(new BorderLayout());\r
@@ -29,8 +31,13 @@ public class IdCanvas extends JPanel
   public void drawIdString(Graphics2D gg,SequenceI s,int i, int starty, int ypos) {\r
       int charHeight = av.getCharHeight();\r
 \r
-\r
-      if (av.getSelectionGroup()!=null && av.getSelectionGroup().sequences.contains(s)) {\r
+      if(searchResults!=null && searchResults.contains(s))\r
+      {\r
+        gg.setColor(Color.black);\r
+        gg.fillRect(0,AlignmentUtil.getPixelHeight(starty,i,charHeight)+ ypos,getWidth(),charHeight);\r
+        gg.setColor(Color.white);\r
+      }\r
+      else if (av.getSelectionGroup()!=null && av.getSelectionGroup().sequences.contains(s)) {\r
          gg.setColor(Color.lightGray);\r
          gg.fillRect(0,AlignmentUtil.getPixelHeight(starty,i,charHeight)+ ypos,getWidth(),charHeight);\r
          gg.setColor(Color.white);\r
@@ -145,10 +152,15 @@ public class IdCanvas extends JPanel
       {\r
         // Selected sequence colours\r
 \r
-        if (av.getSelectionGroup()!= null\r
+        if(searchResults!=null && searchResults.contains(av.alignment.getSequenceAt(i)))\r
+        {\r
+          gg.setColor(Color.black);\r
+          currentColor = Color.black;\r
+          currentTextColor = Color.white;\r
+      }\r
+      else if (av.getSelectionGroup()!= null\r
             && av.getSelectionGroup().sequences.contains(av.alignment.getSequenceAt(i)))\r
         {\r
-       //   if(av.alignment.findGroup(al.getSequenceAt(i)).getEndRes()==\r
           currentColor = Color.lightGray;\r
           currentTextColor = Color.black;\r
         }\r
@@ -180,4 +192,10 @@ public class IdCanvas extends JPanel
     }\r
 \r
   }\r
+\r
+  public void setHighlighted(java.util.ArrayList found)\r
+  {\r
+    searchResults = found;\r
+    repaint();\r
+  }\r
 }\r
index 3444881..fcf8e92 100755 (executable)
@@ -176,6 +176,20 @@ public class IdPanel extends JPanel implements MouseListener, MouseMotionListene
     PaintRefresher.Refresh(this);\r
   }\r
 \r
+  public void highlightSearchResults( java.util.ArrayList found )\r
+  {\r
+    idCanvas.setHighlighted( found );\r
+\r
+    if(found == null)\r
+      return;\r
+\r
+    int index = av.alignment.findIndex( (SequenceI)found.get(0));\r
+\r
+    // do we need to scroll the panel?\r
+    if(av.getStartSeq()>index || av.getEndSeq()<index)\r
+        alignPanel.setScrollValues( av.getStartRes(), index);\r
+  }\r
+\r
   // this class allows scrolling off the bottom of the visible alignment\r
   class ScrollThread\r
       extends Thread\r