+ String tmp = sequence.hashCode()+index+"";\r
+ if (lastMessage == null || !lastMessage.equals(tmp))\r
+ ssm.mouseOverSequence(sequence, index);\r
+\r
+ lastMessage = tmp;\r
+ }\r
+\r
+\r
+ public void highlightSequence(jalview.datamodel.SequenceI seq, int index)\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
+ }\r
+\r
+ public void updateColours(SequenceI seq, int index)\r
+ {\r
+ System.out.println("update the seqPanel colours");\r
+ //repaint();\r
+ }\r
+\r
+ public void mouseMoved(MouseEvent evt)\r
+ {\r
+ int res = findRes(evt);\r
+ int seq = findSeq(evt);\r
+\r
+ if (seq >= av.getAlignment().getHeight() || seq < 0 || res < 0)\r
+ {\r
+ if (tooltip != null)\r
+ {\r
+ tooltip.setTip("");\r
+ }\r
+ return;\r
+ }\r
+\r
+ SequenceI sequence = av.getAlignment().getSequenceAt(seq);\r
+ if (res > sequence.getLength())\r
+ {\r
+ if (tooltip != null)\r
+ {\r
+ tooltip.setTip("");\r
+ }\r
+ return;\r
+ }\r
+\r
+\r
+ if (ssm != null)\r
+ mouseOverSequence(sequence, sequence.findPosition(res));\r
+\r
+\r
+ StringBuffer text = new StringBuffer("Sequence " + (seq + 1) + " ID: " +\r
+ sequence.getName());\r
+\r
+ Object obj = null;\r
+ if (av.alignment.isNucleotide())\r
+ {\r
+ obj = ResidueProperties.nucleotideName.get(sequence.getCharAt(res) +\r
+ "");\r
+ if (obj != null)\r
+ {\r
+ text.append(" Nucleotide: ");\r
+ }\r
+ }\r
+ else\r
+ {\r
+ obj = ResidueProperties.aa2Triplet.get(sequence.getCharAt(res) + "");\r
+ if (obj != null)\r
+ {\r
+ text.append(" Residue: ");\r
+ }\r
+ }\r
+\r
+ if (obj != null)\r
+ {\r
+ if (obj != "")\r
+ {\r
+ text.append(obj + " (" + sequence.findPosition(res) + ")");\r
+ }\r
+ }\r
+\r
+ ap.alignFrame.statusBar.setText(text.toString());\r
+\r
+ StringBuffer tooltipText = new StringBuffer();\r
+ SequenceGroup[] groups = av.alignment.findAllGroups(sequence);\r
+ if (groups != null)\r
+ {\r
+ for (int g = 0; g < groups.length; g++)\r
+ {\r
+ if (groups[g].getStartRes() <= res && groups[g].getEndRes() >= res)\r
+ {\r
+ if (!groups[g].getName().startsWith("JTreeGroup") &&\r
+ !groups[g].getName().startsWith("JGroup"))\r
+ {\r
+ tooltipText.append(groups[g].getName() + " ");\r
+ }\r
+ if (groups[g].getDescription() != null)\r
+ {\r
+ tooltipText.append(groups[g].getDescription());\r
+ }\r
+ tooltipText.append("\n");\r
+ }\r
+ }\r
+ }\r
+\r
+ // use aa to see if the mouse pointer is on a\r
+ if (av.showSequenceFeatures\r
+ && sequence.getSequenceFeatures() != null\r
+ && av.featuresDisplayed != null)\r