\r
if (seq >= av.getAlignment().getHeight() || seq<0 || res<0)\r
{\r
+ if(tooltip!=null)\r
+ tooltip.setTip("");\r
return;\r
}\r
\r
SequenceI sequence = av.getAlignment().getSequenceAt(seq);\r
if (res > sequence.getLength())\r
{\r
+ if(tooltip!=null)\r
+ tooltip.setTip("");\r
return;\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
+ tooltipText.append(groups[g].getName() + " ");\r
+ if(groups[g].getDescription()!=null)\r
+ tooltipText.append(groups[g].getDescription());\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
{\r
- StringBuffer featureText = new StringBuffer();\r
+\r
Vector allFeatures = getAllFeaturesAtRes(sequence, sequence.findPosition(res));\r
\r
int index = 0;\r
{\r
SequenceFeature sf = (SequenceFeature) allFeatures.elementAt(index);\r
\r
- featureText.append(sf.getType()+" "+sf.begin+":"+sf.end);\r
+ tooltipText.append(sf.getType()+" "+sf.begin+":"+sf.end);\r
\r
if (sf.getDescription() != null)\r
- featureText.append(" " + sf.getDescription());\r
+ tooltipText.append(" " + sf.getDescription());\r
\r
if (sf.getValue("status") != null )\r
{\r
String status = sf.getValue("status").toString();\r
if(status.length()>0)\r
- featureText.append(" (" + sf.getValue("status") + ")");\r
+ tooltipText.append(" (" + sf.getValue("status") + ")");\r
}\r
- featureText.append("\n");\r
+ tooltipText.append("\n");\r
\r
index++;\r
}\r
-\r
-\r
- if (tooltip == null)\r
- tooltip = new Tooltip(featureText.toString(), seqCanvas);\r
- else\r
- tooltip.setTip(featureText.toString());\r
-\r
- tooltip.repaint();\r
-\r
}\r
- else if (tooltip != null)\r
- {\r
- tooltip.setTip("");\r
- }\r
+\r
+ if (tooltip == null)\r
+ tooltip = new Tooltip(tooltipText.toString(), seqCanvas);\r
+ else\r
+ tooltip.setTip(tooltipText.toString());\r
}\r
\r
Vector getAllFeaturesAtRes(SequenceI seq, int res)\r
//but the sequence represents a group\r
if (sg == null)\r
{\r
+ if (av.hiddenRepSequences == null\r
+ || !av.hiddenRepSequences.containsKey(seq))\r
+ {\r
+ endEditing();\r
+ return;\r
+ }\r
+\r
sg = (SequenceGroup) av.hiddenRepSequences.get(seq);\r
}\r
\r