SequenceListener highlights SearchResults, not just a single sequence
authoramwaterhouse <Andrew Waterhouse>
Tue, 15 May 2007 15:35:07 +0000 (15:35 +0000)
committeramwaterhouse <Andrew Waterhouse>
Tue, 15 May 2007 15:35:07 +0000 (15:35 +0000)
src/jalview/appletgui/SeqPanel.java
src/jalview/gui/SeqPanel.java
src/jalview/structure/SequenceListener.java
src/jalview/structure/StructureSelectionManager.java

index c56ded6..24a934c 100755 (executable)
@@ -626,14 +626,9 @@ public class SeqPanel
   }\r
 \r
 \r
-  public void highlightSequence(jalview.datamodel.SequenceI seq, int index)\r
+  public void highlightSequence(SearchResults results)\r
   {\r
-    if(av.alignment.findIndex(seq)>-1)\r
-    {\r
-      SearchResults highlight = new SearchResults();\r
-      highlight.addResult(seq,index,index);\r
-      seqCanvas.highlightSearchResults(highlight);\r
-    }\r
+    seqCanvas.highlightSearchResults(results);\r
   }\r
 \r
   public void updateColours(SequenceI seq, int index)\r
index 893ce2c..37262bb 100755 (executable)
@@ -582,14 +582,9 @@ public class SeqPanel
   }\r
 \r
 \r
-  public void highlightSequence(jalview.datamodel.SequenceI seq, int index)\r
+  public void highlightSequence(SearchResults results)\r
   {\r
-    if(av.alignment.findIndex(seq)>-1)\r
-    {\r
-      SearchResults highlight = new SearchResults();\r
-      highlight.addResult(seq,index,index);\r
-      seqCanvas.highlightSearchResults(highlight);\r
-    }\r
+      seqCanvas.highlightSearchResults(results);\r
   }\r
 \r
   public void updateColours(SequenceI seq, int index)\r
index b4eefd6..bda215e 100644 (file)
@@ -24,7 +24,7 @@ public interface SequenceListener
 {\r
   public void mouseOverSequence(SequenceI sequence, int index);\r
 \r
-  public void highlightSequence(jalview.datamodel.SequenceI seq, int index);\r
+  public void highlightSequence(jalview.datamodel.SearchResults results);\r
 \r
   public void updateColours(SequenceI sequence, int index);\r
 }\r
index 48f46ed..cf5054d 100644 (file)
@@ -240,21 +240,30 @@ public class StructureSelectionManager
   public void mouseOverStructure(int pdbResNum, String chain, String pdbfile)
   {
     SequenceListener sl;
+    SearchResults results = new SearchResults();
     for (int i = 0; i < listeners.size(); i++)
     {
       if (listeners.elementAt(i) instanceof SequenceListener)
       {
-        sl = (SequenceListener) listeners.elementAt(i);
 
         for (int j = 0; j < mappings.length; j++)
         {
           if (mappings[j].pdbfile.equals(pdbfile) &&
               mappings[j].pdbchain.equals(chain))
           {
-            sl.highlightSequence(mappings[j].sequence,
-                                 mappings[j].getSeqPos(pdbResNum));
+            results.addResult(mappings[j].sequence,
+               mappings[j].getSeqPos(pdbResNum),
+               mappings[j].getSeqPos(pdbResNum)
+              );
           }
         }
+
+        if(results.getSize()>0)
+        {
+          ( (SequenceListener) listeners.elementAt(i))
+              .highlightSequence(results);
+        }
+
       }
     }
   }