\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
+ 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(tooltipText.toString(), seqCanvas);\r
+ else\r
+ tooltip.setTip(tooltipText.toString());\r
\r
- if (tooltip == null)\r
- tooltip = new Tooltip(featureText.toString(), seqCanvas);\r
- else\r
- tooltip.setTip(featureText.toString());\r
-\r
- tooltip.repaint();\r
+ tooltip.repaint();\r
\r
- }\r
- else if (tooltip != null)\r
- {\r
- tooltip.setTip("");\r
- }\r
}\r
\r
Vector getAllFeaturesAtRes(SequenceI seq, int res)\r
\r
setStatusMessage(sequence, res, seq);\r
\r
+\r
+\r
+ tooltipText.setLength(6); // Cuts the buffer back to <html>\r
+\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
+ tooltipText.append(groups[g].getName()+" ");\r
+ if(groups[g].getDescription()!=null)\r
+ tooltipText.append(groups[g].getDescription()+"<BR>");\r
+ }\r
+ }\r
+ }\r
+\r
+\r
// use aa to see if the mouse pointer is on a\r
if (av.showSequenceFeatures)\r
{\r
- tooltipText.setLength(6); // Cuts the buffer back to <html>\r
+ SequenceFeature[] features = findFeaturesAtRes(\r
+ sequence.getDatasetSequence(), sequence.findPosition(res));\r
\r
- SequenceFeature[] features = findFeaturesAtRes(\r
- sequence.getDatasetSequence(), sequence.findPosition(res));\r
-\r
- if(features!=null)\r
+ if (features != null)\r
+ {\r
+ for (int i = 0; i < features.length; i++)\r
{\r
- for (int i = 0; i < features.length; i++)\r
+ if (features[i].getType().equals("disulfide bond"))\r
{\r
- if (features[i].getType().equals("disulfide bond"))\r
- {\r
- if (features[i].getBegin() == sequence.findPosition(res)\r
- || features[i].getEnd() == sequence.findPosition(res))\r
- {\r
- if (tooltipText.length() > 6)\r
- tooltipText.append("<br>");\r
- tooltipText.append("disulfide bond " + features[i].getBegin() + ":" +\r
+ if (features[i].getBegin() == sequence.findPosition(res)\r
+ || features[i].getEnd() == sequence.findPosition(res))\r
+ {\r
+ if (tooltipText.length() > 6)\r
+ tooltipText.append("<br>");\r
+ tooltipText.append("disulfide bond " + features[i].getBegin() + ":" +\r
features[i].getEnd());\r
- if (features[i].links != null)\r
- tooltipText.append(" <img src=\"" + linkImageURL + "\">");\r
- }\r
- }\r
- else\r
- {\r
- if (tooltipText.length() > 6)\r
- tooltipText.append("<br>");\r
+ if (features[i].links != null)\r
+ tooltipText.append(" <img src=\"" + linkImageURL + "\">");\r
+ }\r
+ }\r
+ else\r
+ {\r
+ if (tooltipText.length() > 6)\r
+ tooltipText.append("<br>");\r
\r
- tooltipText.append(features[i].getType() + " " +\r
+ tooltipText.append(features[i].getType() + " " +\r
features[i].begin);\r
- if (features[i].begin != features[i].end)\r
- tooltipText.append(" " + features[i].end);\r
+ if (features[i].begin != features[i].end)\r
+ tooltipText.append(" " + features[i].end);\r
\r
- if (features[i].getDescription() != null\r
- && !features[i].description.equals(features[i].getType()))\r
- {\r
- tmpString = features[i].getDescription();\r
- int startTag=tmpString.toUpperCase().indexOf("<HTML>");\r
- if(startTag>-1)\r
- {\r
- tmpString = tmpString.substring(startTag + 6);\r
- }\r
- int endTag=tmpString.toUpperCase().indexOf("</BODY>");\r
- if(endTag>-1)\r
- {\r
- tmpString = tmpString.substring(0, endTag);\r
- }\r
- endTag = tmpString.toUpperCase().indexOf("</HTML>");\r
- if(endTag>-1)\r
- {\r
- tmpString = tmpString.substring(0, endTag);\r
- }\r
-\r
- if(startTag>-1)\r
- {\r
- tooltipText.append("; " + tmpString);\r
- }\r
- else\r
- {\r
- if (tmpString.indexOf("<") > -1 || tmpString.indexOf(">") > -1)\r
- {\r
- //The description does not specify html is to\r
- //be used, so we must remove < > symbols\r
- tmpString = tmpString.replaceAll("<", "<");\r
- tmpString = tmpString.replaceAll(">", ">");\r
-\r
- tooltipText.append("; ");\r
- tooltipText.append(tmpString);\r
-\r
- }\r
- else\r
- tooltipText.append("; "+tmpString);\r
- }\r
- }\r
- if (features[i].getValue("status") != null )\r
+ if (features[i].getDescription() != null\r
+ && !features[i].description.equals(features[i].getType()))\r
+ {\r
+ tmpString = features[i].getDescription();\r
+ int startTag = tmpString.toUpperCase().indexOf("<HTML>");\r
+ if (startTag > -1)\r
+ {\r
+ tmpString = tmpString.substring(startTag + 6);\r
+ }\r
+ int endTag = tmpString.toUpperCase().indexOf("</BODY>");\r
+ if (endTag > -1)\r
+ {\r
+ tmpString = tmpString.substring(0, endTag);\r
+ }\r
+ endTag = tmpString.toUpperCase().indexOf("</HTML>");\r
+ if (endTag > -1)\r
+ {\r
+ tmpString = tmpString.substring(0, endTag);\r
+ }\r
+\r
+ if (startTag > -1)\r
+ {\r
+ tooltipText.append("; " + tmpString);\r
+ }\r
+ else\r
+ {\r
+ if (tmpString.indexOf("<") > -1 || tmpString.indexOf(">") > -1)\r
{\r
- String status = features[i].getValue("status").toString();\r
- if(status.length()>0)\r
- tooltipText.append("; (" + features[i].getValue("status") + ")");\r
- }\r
+ //The description does not specify html is to\r
+ //be used, so we must remove < > symbols\r
+ tmpString = tmpString.replaceAll("<", "<");\r
+ tmpString = tmpString.replaceAll(">", ">");\r
\r
- if (features[i].links != null)\r
- tooltipText.append(" <img src=\"" + linkImageURL + "\">");\r
+ tooltipText.append("; ");\r
+ tooltipText.append(tmpString);\r
\r
+ }\r
+ else\r
+ tooltipText.append("; " + tmpString);\r
}\r
-\r
- // else if(features[i].begin==0 && features[i].end==0)\r
+ }\r
+ if (features[i].getValue("status") != null)\r
{\r
- // seqSpecific.append(features[i].featureGroup+": "\r
- // + features[i].getType()+" "\r
- // +features[i].getDescription()+"<br>");\r
-\r
+ String status = features[i].getValue("status").toString();\r
+ if (status.length() > 0)\r
+ tooltipText.append("; (" + features[i].getValue("status") + ")");\r
}\r
- }\r
\r
- if(tooltipText.length()==6) // <html></html>\r
- {\r
- setToolTipText(null);\r
- }\r
- else\r
- {\r
- tooltipText.append("</html>");\r
- setToolTipText(tooltipText.toString());\r
+ if (features[i].links != null)\r
+ tooltipText.append(" <img src=\"" + linkImageURL + "\">");\r
+\r
}\r
}\r
- else\r
- setToolTipText(null);\r
+ }\r
+ }\r
+ if (tooltipText.length() == 6) // <html></html>\r
+ {\r
+ setToolTipText(null);\r
+ }\r
+ else\r
+ {\r
+ tooltipText.append("</html>");\r
+ setToolTipText(tooltipText.toString());\r
}\r
+ // else\r
+ // setToolTipText(null);\r
}\r
\r
void setStatusMessage(SequenceI sequence, int res, int seq)\r