X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FPopupMenu.java;h=f87dcef6fb4e6a198ec019e860f69c392e26cc29;hb=a94894810c6142a94239ca239ec8e800235c3b35;hp=5ff9ad9099bd3384ae2c697a41e2e3f958695473;hpb=efc31b4a8d5cee63555586804a2b79c06bdb5a14;p=jalview.git diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java index 5ff9ad9..f87dcef 100755 --- a/src/jalview/gui/PopupMenu.java +++ b/src/jalview/gui/PopupMenu.java @@ -63,7 +63,6 @@ public class PopupMenu extends JPopupMenu JMenuItem sequenceName = new JMenuItem(); Sequence sequence; JMenuItem unGroupMenuItem = new JMenuItem(); - JMenuItem pdbMenuItem = new JMenuItem(); JMenuItem outline = new JMenuItem(); JRadioButtonMenuItem nucleotideMenuItem = new JRadioButtonMenuItem(); JMenu colourMenu = new JMenu(); @@ -77,7 +76,7 @@ public class PopupMenu extends JPopupMenu * @param ap DOCUMENT ME! * @param seq DOCUMENT ME! */ - public PopupMenu(AlignmentPanel ap, Sequence seq) + public PopupMenu(final AlignmentPanel ap, Sequence seq) { /////////////////////////////////////////////////////////// // If this is activated from the sequence panel, the user may want to @@ -112,9 +111,27 @@ public class PopupMenu extends JPopupMenu e.printStackTrace(); } - if ((seq == null) || (seq.getPDBId() == null)) + + if ((seq != null) + && seq.getDatasetSequence().getPDBId() != null) { - pdbMenuItem.setVisible(false); + java.util.Enumeration e = seq.getDatasetSequence().getPDBId().elements(); + while(e.hasMoreElements()) + { + + final PDBEntry pdb = (PDBEntry)e.nextElement(); + JMenuItem pdbMenuItem = new JMenuItem(); + pdbMenuItem.setText("View PDB entry: "+pdb.getId()); + pdbMenuItem.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + new PDBViewer(pdb, sequence, ap.seqPanel.seqCanvas); + } + }); + sequenceMenu.add(pdbMenuItem); + } + } SequenceGroup sg = ap.av.getSelectionGroup(); @@ -172,7 +189,7 @@ public class PopupMenu extends JPopupMenu noColourmenuItem.setSelected(true); } - if (sg.cs instanceof ConservationColourScheme) + if (sg.cs!=null && sg.cs.conservationApplied()) { conservationMenuItem.setSelected(true); } @@ -195,6 +212,35 @@ public class PopupMenu extends JPopupMenu { sequenceMenu.setVisible(false); } + else + { + java.util.Vector links = Preferences.sequenceURLLinks; + + JMenu linkMenu = new JMenu("Link"); + JMenuItem item; + for(int i=0; i