Remove empty() from feature ToolTip
[jalview.git] / src / jalview / appletgui / IdPanel.java
index 71acfa2..f6e7d44 100755 (executable)
@@ -1,6 +1,6 @@
 /*\r
  * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
  *\r
  * This program is free software; you can redistribute it and/or\r
  * modify it under the terms of the GNU General Public License\r
@@ -50,12 +50,12 @@ public class IdPanel
     idCanvas.addMouseMotionListener(this);\r
 \r
     String label, url;\r
-    if(parent.alignFrame.applet!=null)\r
+    if(av.applet!=null)\r
     {\r
       for (int i = 1; i < 10; i++)\r
       {\r
-        label = parent.alignFrame.applet.getParameter("linkLabel_" + i);\r
-        url = parent.alignFrame.applet.getParameter("linkURL_" + i);\r
+        label = av.applet.getParameter("linkLabel_" + i);\r
+        url = av.applet.getParameter("linkURL_" + i);\r
 \r
         if (label != null && url != null)\r
           links.addElement(label + "|" + url);\r
@@ -65,29 +65,43 @@ public class IdPanel
     if (links.size() < 1)\r
     {\r
       links = new java.util.Vector();\r
-      links.addElement("SRS|http://srs.ebi.ac.uk/srs7bin/cgi-bin/wgetz?-e+[uniprot-all:$SEQUENCE_ID$]+-vn+2");\r
+      links.addElement("SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");\r
     }\r
   }\r
 \r
+  Tooltip tooltip;\r
   public void mouseMoved(MouseEvent e)\r
-  {}\r
-\r
-  public void mouseDragged(MouseEvent e)\r
   {\r
-    mouseDragging = true;\r
+    int seq = alignPanel.seqPanel.findSeq(e);\r
 \r
-    int y = e.getY();\r
-    if (av.getWrapAlignment())\r
-    {\r
-      y -= 2 * av.charHeight;\r
-    }\r
-    int seq = av.getIndex(y);\r
+    SequenceI sequence = av.getAlignment().getSequenceAt(seq);\r
 \r
-    if (seq < 0)\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
+    mouseDragging = true;\r
+\r
+    int seq = Math.max(0, alignPanel.seqPanel.findSeq(e));\r
+\r
     if (seq < lastid)\r
     {\r
       selectSeqs(lastid - 1, seq);\r
@@ -106,15 +120,9 @@ public class IdPanel
     if (e.getClickCount() < 2)\r
         return;\r
 \r
-    int y = e.getY();\r
-\r
-    if (av.getWrapAlignment())\r
-    {\r
-      y -= (2 * av.charHeight);\r
-    }\r
 \r
     //DEFAULT LINK IS FIRST IN THE LINK LIST\r
-    int seq = av.getIndex(y);\r
+    int seq = alignPanel.seqPanel.findSeq(e);\r
     String id = av.getAlignment().getSequenceAt(seq).getName();\r
     if (id.indexOf("|") > -1)\r
         id = id.substring(id.lastIndexOf("|") + 1);\r
@@ -178,11 +186,7 @@ public class IdPanel
       y -= 2 * av.charHeight;\r
     }\r
 \r
-    int seq = av.getIndex(y);\r
-    if (seq == -1)\r
-    {\r
-      return;\r
-    }\r
+    int seq = alignPanel.seqPanel.findSeq(e);\r
 \r
     if ( (e.getModifiers() & InputEvent.BUTTON3_MASK) ==\r
         InputEvent.BUTTON3_MASK)\r
@@ -226,6 +230,12 @@ public class IdPanel
   {\r
 \r
     lastid = start;\r
+\r
+    if (end >= av.getAlignment().getHeight())\r
+    {\r
+      end = av.getAlignment().getHeight() - 1;\r
+    }\r
+\r
     if (end < start)\r
     {\r
       int tmp = start;\r
@@ -308,11 +318,12 @@ public class IdPanel
           {\r
             selectSeqs(lastid - 1, seq);\r
           }\r
-          else if (seq > lastid)\r
+          else if (seq > lastid && seq<av.alignment.getHeight())\r
           {\r
             selectSeqs(lastid + 1, seq);\r
           }\r
 \r
+\r
           lastid = seq;\r
         }\r
         else\r