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;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.SortedMap;
import java.util.TreeMap;
import java.util.Vector;
import javax.swing.JColorChooser;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;
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()
{
void addFeatureLinks(final SequenceI seq, List<String> links)
{
JMenu linkMenu = new JMenu(MessageManager.getString("action.link"));
- Map<String, String[]> linkset = new LinkedHashMap<String, String[]>();
+ Map<String, List<String>> linkset = new LinkedHashMap<String, List<String>>();
for (String link : links)
{
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);
{
add(linkMenu);
}
+
}
}
}
- private void addshowLinks(JMenu linkMenu, Collection<String[]> linkset)
+ private void addshowLinks(JMenu linkMenu, Collection<List<String>> linkset)
{
- for (String[] linkstrset : linkset)
+ for (List<String> linkstrset : linkset)
{
// split linkstr into label and url
- addshowLink(linkMenu, linkstrset[1], linkstrset[3]);
+ addshowLink(linkMenu, linkstrset.get(1), linkstrset.get(3));
}
}
colourMenu.add(nucleotideMenuItem);
if (ap.getAlignment().isNucleotide())
{
- // JBPNote - commented since the colourscheme isn't functional
colourMenu.add(purinePyrimidineColour);
}
- colourMenu.add(userDefinedColour);
- if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
+ SortedMap<String, UserColourScheme> userColourSchemes = UserDefinedColours
+ .getUserColourSchemes();
+ if (userColourSchemes != null)
{
- java.util.Enumeration userColours = jalview.gui.UserDefinedColours
- .getUserColourSchemes().keys();
-
- while (userColours.hasMoreElements())
- {
- JMenuItem item = new JMenuItem(userColours.nextElement().toString());
+ for (String userColour : userColourSchemes.keySet())
+ {
+ JMenuItem item = new JMenuItem(userColour);
item.addActionListener(new ActionListener()
{
@Override
colourMenu.add(item);
}
}
+ colourMenu.add(userDefinedColour);
colourMenu.addSeparator();
colourMenu.add(abovePIDColour);
}
});
- clustalColour.setText(MessageManager
- .getString("label.clustalx_colours"));
+ clustalColour.setText(MessageManager.getString("label.clustalx"));
clustalColour.addActionListener(new java.awt.event.ActionListener()
{
@Override
PIDColour_actionPerformed();
}
});
- BLOSUM62Colour.setText(MessageManager.getString("label.blosum62"));
+ BLOSUM62Colour
+ .setText(MessageManager.getString("label.blosum62_score"));
BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener()
{
@Override
* Temporary store to hold distinct calcId / type pairs for the tooltip.
* Using TreeMap means calcIds are shown in alphabetical order.
*/
- Map<String, String> tipEntries = new TreeMap<String, String>();
+ SortedMap<String, String> tipEntries = new TreeMap<String, String>();
final Map<SequenceI, List<AlignmentAnnotation>> candidates = new LinkedHashMap<SequenceI, List<AlignmentAnnotation>>();
AlignmentI al = this.ap.av.getAlignment();
AlignmentUtils.findAddableReferenceAnnotations(forSequences,
public void createSequenceDetailsReport(SequenceI[] sequences)
{
CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer();
- StringBuffer contents = new StringBuffer();
+ StringBuilder contents = new StringBuilder(128);
for (SequenceI seq : sequences)
{
contents.append("<p><h2>"
seq,
true,
true,
- false,
(ap.getSeqPanel().seqCanvas.fr != null) ? ap
.getSeqPanel().seqCanvas.fr.getMinMax()
: null);
}
else
{
- UserColourScheme udc = (UserColourScheme) UserDefinedColours
+ UserColourScheme udc = UserDefinedColours
.getUserColourSchemes().get(e.getActionCommand());
sg.cs = udc;
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);
{
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(' ', '_'));
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();
}
// 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()