Tooltips for group names, descriptions
[jalview.git] / src / jalview / appletgui / SeqPanel.java
index 6b93206..1a2da1e 100755 (executable)
@@ -564,13 +564,28 @@ public class SeqPanel
 \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
@@ -578,35 +593,30 @@ public class SeqPanel
       {\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