X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPopupMenu.java;h=480b1959d49250a5db6c3130ba530e43a1fd7b64;hb=c5aa740f1fff4c8caee4ccf0c0e0de517ca4dcb8;hp=968262bf9ef69e6d157aeea79a7e9821247431f0;hpb=10b678ebd64a6ae54d45d1c92acf8de2fb3133ff;p=jalview.git diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java index 968262b..480b195 100755 --- a/src/jalview/gui/PopupMenu.java +++ b/src/jalview/gui/PopupMenu.java @@ -32,6 +32,8 @@ import java.awt.event.*; import javax.swing.*; +import java.util.Vector; + /** * DOCUMENT ME! @@ -68,11 +70,12 @@ public class PopupMenu extends JPopupMenu JCheckBoxMenuItem showBoxes = new JCheckBoxMenuItem(); JCheckBoxMenuItem showText = new JCheckBoxMenuItem(); JCheckBoxMenuItem showColourText = new JCheckBoxMenuItem(); - JMenu jMenu1 = new JMenu(); + JMenu editMenu = new JMenu(); JMenuItem cut = new JMenuItem(); JMenuItem copy = new JMenuItem(); JMenuItem upperCase = new JMenuItem(); JMenuItem lowerCase = new JMenuItem(); + JMenuItem toggle = new JMenuItem(); /** * Creates a new PopupMenu object. @@ -80,7 +83,7 @@ public class PopupMenu extends JPopupMenu * @param ap DOCUMENT ME! * @param seq DOCUMENT ME! */ - public PopupMenu(final AlignmentPanel ap, Sequence seq) + public PopupMenu(final AlignmentPanel ap, Sequence seq, Vector links) { /////////////////////////////////////////////////////////// // If this is activated from the sequence panel, the user may want to @@ -233,7 +236,10 @@ public class PopupMenu extends JPopupMenu showBoxes.setSelected(sg.getDisplayBoxes()); } else + { groupMenu.setVisible(false); + editMenu.setVisible(false); + } if (!ap.av.alignment.getGroups().contains(sg)) { @@ -248,24 +254,31 @@ public class PopupMenu extends JPopupMenu { sequenceMenu.setVisible(false); } - else - { - java.util.Vector links = Preferences.sequenceURLLinks; + if(links != null && links.size()>0) + { JMenu linkMenu = new JMenu("Link"); JMenuItem item; for(int i=0; i-1) - id = id.substring(id.lastIndexOf("|")+1); - - final String url = link.substring(link.indexOf("|")+1, link.indexOf("$SEQUENCE_ID$")) - + id + - link.substring(link.indexOf("$SEQUENCE_ID$") + 13); + if (link.indexOf("$SEQUENCE_ID$") > -1) + { + String id = seq.getName(); + if (id.indexOf("|") > -1) + id = id.substring(id.lastIndexOf("|") + 1); + + url = link.substring(link.indexOf("|") + 1, + link.indexOf("$SEQUENCE_ID$")) + + id + + link.substring(link.indexOf("$SEQUENCE_ID$") + 13); + } + else + url = link.substring(link.lastIndexOf("|")+1); item.addActionListener(new java.awt.event.ActionListener() @@ -362,7 +375,7 @@ public class PopupMenu extends JPopupMenu showColourText_actionPerformed(e); } }); - jMenu1.setText("Edit"); + editMenu.setText("Edit"); cut.setText("Cut"); cut.addActionListener(new ActionListener() { @@ -395,9 +408,17 @@ public class PopupMenu extends JPopupMenu lowerCase_actionPerformed(e); } }); + toggle.setText("Toggle Case"); + toggle.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + toggle_actionPerformed(e); + } + }); add(groupMenu); add(sequenceMenu); - this.add(jMenu1); + this.add(editMenu); groupMenu.add(groupName); groupMenu.addSeparator(); groupMenu.add(unGroupMenuItem); @@ -447,10 +468,11 @@ public class PopupMenu extends JPopupMenu colourMenu.addSeparator(); colourMenu.add(abovePIDColour); colourMenu.add(conservationMenuItem); - jMenu1.add(copy); - jMenu1.add(cut); - jMenu1.add(upperCase); - jMenu1.add(lowerCase); + editMenu.add(copy); + editMenu.add(cut); + editMenu.add(upperCase); + editMenu.add(lowerCase); + editMenu.add(toggle); noColourmenuItem.setText("None"); noColourmenuItem.addActionListener(new java.awt.event.ActionListener() { @@ -1069,4 +1091,18 @@ public class PopupMenu extends JPopupMenu ap.repaint(); } + public void toggle_actionPerformed(ActionEvent e) + { + SequenceGroup sg = ap.av.getSelectionGroup(); + if (sg == null) + return; + + for (int g = 0; g < sg.getSize(); g++) + { + sg.getSequenceAt(g).toggleCase(sg.getStartRes(), sg.getEndRes() + 1); + } + + ap.repaint(); + } + }