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
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
{\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
}\r
\r
}\r
+\r
+ public void setHighlighted(java.util.ArrayList found)\r
+ {\r
+ searchResults = found;\r
+ repaint();\r
+ }\r
}\r
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