X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAPopupMenu.java;h=3401cc4b31d676978eb35fa75ec243603051d7ee;hb=7bc213bae5828287329a3490faba291706599b03;hp=8f6e49f44740cad34fa0f08a384677204afa3b56;hpb=e13e34f4fce46de357b79344076ebfa7413ad86f;p=jalview.git diff --git a/src/jalview/appletgui/APopupMenu.java b/src/jalview/appletgui/APopupMenu.java index 8f6e49f..3401cc4 100755 --- a/src/jalview/appletgui/APopupMenu.java +++ b/src/jalview/appletgui/APopupMenu.java @@ -82,11 +82,16 @@ public class APopupMenu SequenceGroup sg = ap.av.getSelectionGroup(); - if (sg != null && sg.getSize()>0) + if (sg != null && sg.getSize(false)>0) { showText.setState(sg.getDisplayText()); showColourText.setState(sg.getColourText()); showBoxes.setState(sg.getDisplayBoxes()); + if (!ap.av.alignment.getGroups().contains(sg)) + { + groupMenu.remove(unGroupMenuItem); + } + } else { @@ -94,12 +99,7 @@ public class APopupMenu remove(editMenu); } - if (!ap.av.alignment.getGroups().contains(sg)) - { - groupMenu.remove(unGroupMenuItem); - } - - if (seq != null && links!=null) + if (links!=null) { Menu linkMenu = new Menu("Link"); MenuItem item; @@ -109,13 +109,22 @@ public class APopupMenu link = links.elementAt(i).toString(); final String target = link.substring(0, link.indexOf("|")); item = new MenuItem(target); - String id = seq.getName(); - if(id.indexOf("|")>-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); + final String url; + + 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() { @@ -128,18 +137,19 @@ public class APopupMenu } add(linkMenu); - item = new MenuItem("Show PDB Structure"); - item.addActionListener(new java.awt.event.ActionListener() - { - public void actionPerformed(ActionEvent e) - { - addPDB(seq); - } - }); - - add(item); - + if(seq!=null) + { + item = new MenuItem("Show PDB Structure"); + item.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + addPDB(seq); + } + }); + add(item); + } } } @@ -199,12 +209,14 @@ public class APopupMenu SequenceGroup sg = ap.av.getSelectionGroup(); if (sg != null) { - for (int g = 0; g < sg.getSize(); g++) + for (int g = 0; g < sg.getSize(true); g++) { if (source == toggleCase) - sg.getSequenceAt(g).toggleCase(sg.getStartRes(), sg.getEndRes() + 1); + ((SequenceI) sg.getSequences(true).elementAt(g)) + .toggleCase(sg.getStartRes(), sg.getEndRes() + 1); else - sg.getSequenceAt(g).changeCase(source == toUpper, sg.getStartRes(), + ((SequenceI) sg.getSequences(true).elementAt(g)) + .changeCase(source == toUpper, sg.getStartRes(), sg.getEndRes() + 1); } ap.seqPanel.seqCanvas.repaint(); @@ -323,7 +335,7 @@ public class APopupMenu protected void clustalColour_actionPerformed() { SequenceGroup sg = getGroup(); - sg.cs = new ClustalxColourScheme(sg.sequences, ap.av.alignment.getWidth()); + sg.cs = new ClustalxColourScheme(sg.getSequences(true), ap.av.alignment.getWidth()); refresh(); } @@ -383,7 +395,7 @@ public class APopupMenu if (abovePIDColour.getState()) { - sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0, + sg.cs.setConsensus(AAFrequency.calculate(sg.getSequences(true), 0, ap.av.alignment.getWidth())); int threshold = SliderPanel.setPIDSliderSource(ap, sg.cs, getGroup().getName()); @@ -411,7 +423,7 @@ public class APopupMenu { SequenceGroup sg = getGroup(); sg.cs = new PIDColourScheme(); - sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0, + sg.cs.setConsensus(AAFrequency.calculate(sg.getSequences(true), 0, ap.av.alignment.getWidth())); refresh(); } @@ -422,7 +434,7 @@ public class APopupMenu sg.cs = new Blosum62ColourScheme(); - sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0, + sg.cs.setConsensus(AAFrequency.calculate(sg.getSequences(true), 0, ap.av.alignment.getWidth())); refresh(); @@ -445,7 +457,7 @@ public class APopupMenu Conservation c = new Conservation("Group", ResidueProperties.propHash, 3, - sg.sequences, 0, + sg.getSequences(true), 0, ap.av.alignment.getWidth()); c.calculate();