parseFeaturesFile
[jalview.git] / src / jalview / appletgui / IdPanel.java
index d159a4c..1a61429 100755 (executable)
@@ -69,8 +69,42 @@ public class IdPanel
     }\r
   }\r
 \r
+  Tooltip tooltip;\r
   public void mouseMoved(MouseEvent e)\r
-  {}\r
+  {\r
+    int y = e.getY();\r
+    if (av.getWrapAlignment())\r
+    {\r
+      y -= 2 * av.charHeight;\r
+    }\r
+\r
+    int seq = av.getIndex(y);\r
+    if (seq == -1)\r
+    {\r
+      return;\r
+    }\r
+\r
+    SequenceI sequence = av.getAlignment().getSequenceAt(seq);\r
+\r
+    if(sequence.getDescription()==null)\r
+    {\r
+      if(tooltip!=null)\r
+        tooltip.setVisible(false);\r
+      tooltip = null;\r
+      return;\r
+    }\r
+\r
+    if (tooltip == null)\r
+      tooltip = new Tooltip(\r
+          sequence.getDisplayId(true)\r
+          + "\n" + sequence.getDescription(), idCanvas);\r
+    else\r
+      tooltip.setTip(sequence.getDisplayId(true)\r
+                     + "\n" + sequence.getDescription());\r
+\r
+    tooltip.repaint();\r
+\r
+  }\r
 \r
   public void mouseDragged(MouseEvent e)\r
   {\r
@@ -193,31 +227,15 @@ public class IdPanel
       return;\r
     }\r
 \r
-    if (!e.isControlDown() && !e.isShiftDown() &&\r
-        av.alignment.findGroup(av.alignment.getSequenceAt(seq)) != null)\r
-    {\r
-\r
-      SequenceGroup selection = new SequenceGroup();\r
-      SequenceGroup sg = av.alignment.findGroup(av.alignment.getSequenceAt(seq));\r
-      selection.setStartRes(0);\r
-      selection.setEndRes(av.alignment.getWidth() - 1);\r
-      for (int i = 0; i < sg.getSize(); i++)\r
-      {\r
-        selection.addSequence(sg.getSequenceAt(i), true);\r
-      }\r
-\r
-      av.setSelectionGroup(selection);\r
-      return;\r
-    }\r
 \r
-    if (av.getSelectionGroup() == null ||\r
-        (!e.isControlDown() && av.getSelectionGroup() != null))\r
+    if ((av.getSelectionGroup() == null) ||\r
+            ((!e.isControlDown() && !e.isShiftDown()) && av.getSelectionGroup() != null))\r
     {\r
       av.setSelectionGroup(new SequenceGroup());\r
+      av.getSelectionGroup().setStartRes(0);\r
+      av.getSelectionGroup().setEndRes(av.alignment.getWidth() - 1);\r
     }\r
 \r
-    av.getSelectionGroup().setStartRes(0);\r
-    av.getSelectionGroup().setEndRes(av.alignment.getWidth() - 1);\r
 \r
     if (e.isShiftDown() && lastid != -1)\r
     {\r