X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPopupMenu.java;h=a93c92e8f6af8b7d9cdfd718012de6ad85e94b7f;hb=66170487efac01381b97cda847c4a381a8c731ab;hp=a487fc7de03ffb89543c2dcea45fa9e61a6401cd;hpb=9fc1c4d049a16cccb933e80b5be07ec36e6bda7f;p=jalview.git diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java index a487fc7..a93c92e 100644 --- a/src/jalview/gui/PopupMenu.java +++ b/src/jalview/gui/PopupMenu.java @@ -38,6 +38,8 @@ import jalview.datamodel.Sequence; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; +import jalview.io.FileFormat; +import jalview.io.FileFormatI; import jalview.io.FormatAdapter; import jalview.io.SequenceAnnotationReport; import jalview.schemes.AnnotationColourGradient; @@ -77,7 +79,6 @@ import javax.swing.JCheckBoxMenuItem; import javax.swing.JColorChooser; import javax.swing.JMenu; import javax.swing.JMenuItem; -import javax.swing.JOptionPane; import javax.swing.JPopupMenu; import javax.swing.JRadioButtonMenuItem; @@ -247,17 +248,15 @@ public class PopupMenu extends JPopupMenu colours.add(strandColour); colours.add(turnColour); colours.add(buriedColour); - colours.add(abovePIDColour); colours.add(userDefinedColour); colours.add(PIDColour); colours.add(BLOSUM62Colour); colours.add(purinePyrimidineColour); colours.add(RNAInteractionColour); - for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++) + for (String ff : FileFormat.getWritableFormats(true)) { - JMenuItem item = new JMenuItem( - jalview.io.FormatAdapter.WRITEABLE_FORMATS[i]); + JMenuItem item = new JMenuItem(ff); item.addActionListener(new java.awt.event.ActionListener() { @@ -535,9 +534,16 @@ public class PopupMenu extends JPopupMenu noColourmenuItem.setSelected(true); } - if (sg.cs != null && sg.cs.conservationApplied()) + if (sg.cs != null) { + if (sg.cs.conservationApplied()) + { conservationMenuItem.setSelected(true); + } + if (sg.cs.getThreshold() > 0) + { + abovePIDColour.setSelected(true); + } } displayNonconserved.setSelected(sg.getShowNonconserved()); showText.setSelected(sg.getDisplayText()); @@ -641,6 +647,16 @@ public class PopupMenu extends JPopupMenu addshowLinks(linkMenu, linkset.values()); + // disable link menu if there are no valid entries + if (linkMenu.getItemCount() > 0) + { + linkMenu.setEnabled(true); + } + else + { + linkMenu.setEnabled(false); + } + if (sequence != null) { sequenceMenu.add(linkMenu); @@ -649,6 +665,7 @@ public class PopupMenu extends JPopupMenu { add(linkMenu); } + } @@ -1666,7 +1683,7 @@ public class PopupMenu extends JPopupMenu public void createSequenceDetailsReport(SequenceI[] sequences) { CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer(); - StringBuffer contents = new StringBuffer(); + StringBuilder contents = new StringBuilder(128); for (SequenceI seq : sequences) { contents.append("

" @@ -1681,7 +1698,6 @@ public class PopupMenu extends JPopupMenu seq, true, true, - false, (ap.getSeqPanel().seqCanvas.fr != null) ? ap .getSeqPanel().seqCanvas.fr.getMinMax() : null); @@ -1969,7 +1985,7 @@ public class PopupMenu extends JPopupMenu if (conservationMenuItem.isSelected()) { // JBPNote: Conservation name shouldn't be i18n translated - Conservation c = new Conservation("Group", 3, sg.getSequences(ap.av + Conservation c = new Conservation("Group", sg.getSequences(ap.av .getHiddenRepSequences()), sg.getStartRes(), sg.getEndRes() + 1); @@ -2078,14 +2094,14 @@ public class PopupMenu extends JPopupMenu { if (dialog.getName().indexOf(" ") > -1) { - JOptionPane + JvOptionPane .showMessageDialog( ap, MessageManager .getString("label.spaces_converted_to_backslashes"), MessageManager .getString("label.no_spaces_allowed_sequence_name"), - JOptionPane.WARNING_MESSAGE); + JvOptionPane.WARNING_MESSAGE); } sequence.setName(dialog.getName().replace(' ', '_')); @@ -2184,10 +2200,10 @@ public class PopupMenu extends JPopupMenu jalview.util.BrowserLauncher.openURL(url); } catch (Exception ex) { - JOptionPane.showInternalMessageDialog(Desktop.desktop, + JvOptionPane.showInternalMessageDialog(Desktop.desktop, MessageManager.getString("label.web_browser_not_found_unix"), MessageManager.getString("label.web_browser_not_found"), - JOptionPane.WARNING_MESSAGE); + JvOptionPane.WARNING_MESSAGE); ex.printStackTrace(); } @@ -2263,8 +2279,8 @@ public class PopupMenu extends JPopupMenu // or we simply trust the user wants // wysiwig behaviour - cap.setText(new FormatAdapter(ap).formatSequences(e.getActionCommand(), - ap, true)); + FileFormatI fileFormat = FileFormat.forName(e.getActionCommand()); + cap.setText(new FormatAdapter(ap).formatSequences(fileFormat, ap, true)); } public void sequenceFeature_actionPerformed()