New implementation for holding search results
[jalview.git] / src / jalview / gui / AlignmentPanel.java
index fdd01d3..f81e471 100755 (executable)
@@ -240,24 +240,24 @@ public class AlignmentPanel extends GAlignmentPanel
    *\r
    * @param results DOCUMENT ME!\r
    */\r
-  public void highlightSearchResults(int[] results)\r
+  public void highlightSearchResults(SearchResults results)\r
   {\r
     seqPanel.seqCanvas.highlightSearchResults(results);\r
 \r
     // do we need to scroll the panel?\r
     if (results != null)\r
     {\r
-      SequenceI seq = av.alignment.getSequenceAt(results[0]);\r
-      int start = seq.findIndex(results[1]) - 1;\r
-      int end = seq.findIndex(results[2]) - 1;\r
+      SequenceI seq = results.getResultSequence(0);\r
+      int seqIndex = av.alignment.findIndex(seq);\r
+      int start = seq.findIndex(results.getResultStart(0)) - 1;\r
+      int end = seq.findIndex(results.getResultEnd(0)) - 1;\r
 \r
       if(!av.wrapAlignment)\r
       {\r
-        if ( (av.getStartRes() > start) || (av.getEndRes() < end) ||\r
-            ( (av.getStartSeq() > results[0]) ||\r
-             (av.getEndSeq() < results[0])))\r
+        if ( (av.getStartRes() > end)  || (av.getEndRes() < start) ||\r
+           ( (av.getStartSeq() > seqIndex) || (av.getEndSeq() < seqIndex)))\r
         {\r
-          setScrollValues(start, results[0]);\r
+          setScrollValues(start, seqIndex);\r
         }\r
       }\r
       else\r
@@ -266,6 +266,7 @@ public class AlignmentPanel extends GAlignmentPanel
         if( start<av.getStartRes() || start>(av.getStartRes()+cwidth) )\r
         {\r
           vscroll.setValue(start / cwidth);\r
+          av.startRes = vscroll.getValue() * cwidth;\r
         }\r
       }\r
     }\r