PopupMenu displays URL links
authoramwaterhouse <Andrew Waterhouse>
Wed, 7 Jun 2006 12:59:07 +0000 (12:59 +0000)
committeramwaterhouse <Andrew Waterhouse>
Wed, 7 Jun 2006 12:59:07 +0000 (12:59 +0000)
src/jalview/gui/IdPanel.java
src/jalview/gui/PopupMenu.java

index eb6c3bc..9e0ed33 100755 (executable)
@@ -279,7 +279,8 @@ public class IdPanel extends JPanel implements MouseListener,
         if (javax.swing.SwingUtilities.isRightMouseButton(e))\r
         {\r
             jalview.gui.PopupMenu pop = new jalview.gui.PopupMenu(alignPanel,\r
-                    (Sequence) av.getAlignment().getSequenceAt(seq));\r
+                    (Sequence) av.getAlignment().getSequenceAt(seq),\r
+                    Preferences.sequenceURLLinks);\r
             pop.show(this, e.getX(), y);\r
 \r
             return;\r
index f99b1ed..480b195 100755 (executable)
@@ -32,6 +32,8 @@ import java.awt.event.*;
 \r
 import javax.swing.*;\r
 \r
+import java.util.Vector;\r
+\r
 \r
 /**\r
  * DOCUMENT ME!\r
@@ -81,7 +83,7 @@ public class PopupMenu extends JPopupMenu
      * @param ap DOCUMENT ME!\r
      * @param seq DOCUMENT ME!\r
      */\r
-    public PopupMenu(final AlignmentPanel ap, Sequence seq)\r
+    public PopupMenu(final AlignmentPanel ap, Sequence seq, Vector links)\r
     {\r
         ///////////////////////////////////////////////////////////\r
         // If this is activated from the sequence panel, the user may want to\r
@@ -252,24 +254,31 @@ public class PopupMenu extends JPopupMenu
         {\r
             sequenceMenu.setVisible(false);\r
         }\r
-        else\r
-        {\r
-          java.util.Vector links = Preferences.sequenceURLLinks;\r
 \r
+        if(links != null && links.size()>0)\r
+        {\r
           JMenu linkMenu = new JMenu("Link");\r
           JMenuItem item;\r
           for(int i=0; i<links.size(); i++)\r
           {\r
             String link = links.elementAt(i).toString();\r
+            final String label = link.substring(0, link.indexOf("|"));\r
+            item = new JMenuItem(label);\r
+            final String url;\r
 \r
-            item = new JMenuItem(link.substring(0, link.indexOf("|")));\r
-            String id = sequence.getName();\r
-            if(id.indexOf("|")>-1)\r
-              id = id.substring(id.lastIndexOf("|")+1);\r
-\r
-            final String url = link.substring(link.indexOf("|")+1, link.indexOf("$SEQUENCE_ID$"))\r
-                + id +\r
-                link.substring(link.indexOf("$SEQUENCE_ID$") + 13);\r
+            if (link.indexOf("$SEQUENCE_ID$") > -1)\r
+            {\r
+              String id = seq.getName();\r
+              if (id.indexOf("|") > -1)\r
+                id = id.substring(id.lastIndexOf("|") + 1);\r
+\r
+              url = link.substring(link.indexOf("|") + 1,\r
+                                   link.indexOf("$SEQUENCE_ID$"))\r
+                  + id +\r
+                  link.substring(link.indexOf("$SEQUENCE_ID$") + 13);\r
+            }\r
+            else\r
+              url = link.substring(link.lastIndexOf("|")+1);\r
 \r
 \r
             item.addActionListener(new java.awt.event.ActionListener()\r