X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGAlignFrame.java;h=78aaca66a0e66b53d1a45044eda2d6391bd2865c;hb=ad15cff29620f960119f80176f1fd443da9f6763;hp=f070c8412d6765a1fe96d2415b0d3889b5965e11;hpb=452e24303ecf7861ff827c19fcd0fdaa1d288ea1;p=jalview.git diff --git a/src/jalview/jbgui/GAlignFrame.java b/src/jalview/jbgui/GAlignFrame.java index f070c84..78aaca6 100755 --- a/src/jalview/jbgui/GAlignFrame.java +++ b/src/jalview/jbgui/GAlignFrame.java @@ -1,22 +1,29 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) - * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.jbgui; +import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder; +import jalview.bin.Cache; +import jalview.gui.JvSwingUtils; +import jalview.gui.Preferences; import jalview.schemes.ColourSchemeProperty; import jalview.util.MessageManager; @@ -60,6 +67,8 @@ public class GAlignFrame extends JInternalFrame protected JMenu viewMenu = new JMenu(); + protected JMenu annotationsMenu = new JMenu(); + protected JMenu colourMenu = new JMenu(); protected JMenu calculateMenu = new JMenu(); @@ -140,6 +149,8 @@ public class GAlignFrame extends JInternalFrame protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem RNAInteractionColour = new JRadioButtonMenuItem(); + // protected JRadioButtonMenuItem covariationColour = new // JRadioButtonMenuItem(); @@ -182,8 +193,9 @@ public class GAlignFrame extends JInternalFrame public JCheckBoxMenuItem showSeqFeaturesHeight = new JCheckBoxMenuItem(); JMenuItem deleteGroups = new JMenuItem(); - + JMenuItem createGroup = new JMenuItem(); + JMenuItem unGroup = new JMenuItem(); JMenuItem delete = new JMenuItem(); @@ -202,6 +214,10 @@ public class GAlignFrame extends JInternalFrame JMenuItem createPNG = new JMenuItem(); + JMenuItem createBioJS = new JMenuItem(); + + JMenuItem createSVG = new JMenuItem(); + protected JMenuItem font = new JMenuItem(); public JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem(); @@ -242,6 +258,8 @@ public class GAlignFrame extends JInternalFrame protected JMenuItem extractScores = new JMenuItem(); + protected JMenuItem expandAlignment = new JMenuItem(); + protected JMenu showProducts = new JMenu(); public JMenuItem openFeatureSettings = new JMenuItem(); @@ -250,6 +268,8 @@ public class GAlignFrame extends JInternalFrame JMenuItem annotationColour = new JMenuItem(); + JMenuItem annotationColumn = new JMenuItem(); + protected JMenuItem rnahelicesColour = new JMenuItem(); JMenuItem associatedData = new JMenuItem(); @@ -294,6 +314,18 @@ public class GAlignFrame extends JInternalFrame JMenuItem showAllhidden = new JMenuItem(); + protected JMenuItem showAllSeqAnnotations = new JMenuItem(); + + protected JMenuItem hideAllSeqAnnotations = new JMenuItem(); + + protected JMenuItem showAllAlAnnotations = new JMenuItem(); + + protected JMenuItem hideAllAlAnnotations = new JMenuItem(); + + protected JCheckBoxMenuItem sortAnnBySequence = new JCheckBoxMenuItem(); + + protected JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem(); JMenuItem invertColSel = new JMenuItem(); @@ -346,8 +378,16 @@ public class GAlignFrame extends JInternalFrame protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem(); + protected JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem(); + + protected JRadioButtonMenuItem showAutoLast = new JRadioButtonMenuItem(); + private JMenuItem grpsFromSelection = new JMenuItem(); + private SequenceAnnotationOrder annotationSortOrder; + + private boolean showAutoCalculatedAbove = false; + public GAlignFrame() { try @@ -363,6 +403,7 @@ public class GAlignFrame extends JInternalFrame item.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { outputText_actionPerformed(e); @@ -373,6 +414,7 @@ public class GAlignFrame extends JInternalFrame } } catch (Exception e) { + System.err.println(e.toString()); } if (!new jalview.util.Platform().isAMac()) @@ -399,6 +441,7 @@ public class GAlignFrame extends JInternalFrame radioItem.setName("USER_DEFINED"); radioItem.addMouseListener(new MouseAdapter() { + @Override public void mousePressed(MouseEvent evt) { if (evt.isControlDown() @@ -408,8 +451,10 @@ public class GAlignFrame extends JInternalFrame int option = JOptionPane.showInternalConfirmDialog( jalview.gui.Desktop.desktop, - MessageManager.getString("label.remove_from_default_list"), - MessageManager.getString("label.remove_user_defined_colour"), + MessageManager + .getString("label.remove_from_default_list"), + MessageManager + .getString("label.remove_user_defined_colour"), JOptionPane.YES_NO_OPTION); if (option == JOptionPane.YES_OPTION) { @@ -421,6 +466,7 @@ public class GAlignFrame extends JInternalFrame { radioItem.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent evt) { userDefinedColour_actionPerformed(evt); @@ -432,6 +478,7 @@ public class GAlignFrame extends JInternalFrame }); radioItem.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent evt) { userDefinedColour_actionPerformed(evt); @@ -457,7 +504,7 @@ public class GAlignFrame extends JInternalFrame colours.add(purinePyrimidineColour); // colours.add(covariationColour); colours.add(tcoffeeColour); - + colours.add(RNAInteractionColour); setColourSelected(jalview.bin.Cache .getDefault("DEFAULT_COLOUR", "None")); @@ -535,6 +582,11 @@ public class GAlignFrame extends JInternalFrame purinePyrimidineColour.setSelected(true); break; + + case ColourSchemeProperty.RNAINTERACTION: + RNAInteractionColour.setSelected(true); + + break; /* * case ColourSchemeProperty.COVARIATION: * covariationColour.setSelected(true); @@ -557,116 +609,145 @@ public class GAlignFrame extends JInternalFrame private void jbInit() throws Exception { - fileMenu.setText("File"); - saveAs.setText("Save As..."); + fileMenu.setText(MessageManager.getString("action.file")); + saveAs.setText(MessageManager.getString("action.save_as") + "..."); saveAs.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_S, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask() | java.awt.event.KeyEvent.SHIFT_MASK, false)); saveAs.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { saveAs_actionPerformed(e); } }); - closeMenuItem.setText("Close"); + closeMenuItem.setText(MessageManager.getString("action.close")); closeMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_W, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); closeMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { closeMenuItem_actionPerformed(false); } }); - editMenu.setText("Edit"); - viewMenu.setText("View"); - colourMenu.setText("Colour"); - calculateMenu.setText("Calculate"); - webService.setText("Web Service"); - selectAllSequenceMenuItem.setText("Select All"); + editMenu.setText(MessageManager.getString("action.edit")); + viewMenu.setText(MessageManager.getString("action.view")); + annotationsMenu.setText(MessageManager.getString("action.annotations")); + colourMenu.setText(MessageManager.getString("action.colour")); + calculateMenu.setText(MessageManager.getString("action.calculate")); + webService.setText(MessageManager.getString("action.web_service")); + selectAllSequenceMenuItem.setText(MessageManager + .getString("action.select_all")); selectAllSequenceMenuItem.setAccelerator(javax.swing.KeyStroke .getKeyStroke(java.awt.event.KeyEvent.VK_A, Toolkit .getDefaultToolkit().getMenuShortcutKeyMask(), false)); selectAllSequenceMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { selectAllSequenceMenuItem_actionPerformed(e); } }); - deselectAllSequenceMenuItem.setText("Deselect All"); + deselectAllSequenceMenuItem.setText(MessageManager + .getString("action.deselect_all")); deselectAllSequenceMenuItem.setAccelerator(javax.swing.KeyStroke .getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false)); deselectAllSequenceMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { deselectAllSequenceMenuItem_actionPerformed(e); } }); - invertSequenceMenuItem.setText("Invert Sequence Selection"); + invertSequenceMenuItem.setText(MessageManager + .getString("action.invert_sequence_selection")); invertSequenceMenuItem.setAccelerator(javax.swing.KeyStroke .getKeyStroke(java.awt.event.KeyEvent.VK_I, Toolkit .getDefaultToolkit().getMenuShortcutKeyMask(), false)); invertSequenceMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { invertSequenceMenuItem_actionPerformed(e); } }); - grpsFromSelection.setText("Make Groups For Selection"); + grpsFromSelection.setText(MessageManager + .getString("action.make_groups_selection")); grpsFromSelection.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { makeGrpsFromSelection_actionPerformed(e); } }); - - remove2LeftMenuItem.setText("Remove Left"); + expandAlignment.setText(MessageManager + .getString("action.view_flanking_regions")); + expandAlignment.setToolTipText(MessageManager + .getString("label.view_flanking_regions")); + expandAlignment.addActionListener(new java.awt.event.ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + expand_newalign(e); + } + }); + remove2LeftMenuItem.setText(MessageManager + .getString("action.remove_left")); remove2LeftMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_L, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); remove2LeftMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { remove2LeftMenuItem_actionPerformed(e); } }); - remove2RightMenuItem.setText("Remove Right"); + remove2RightMenuItem.setText(MessageManager + .getString("action.remove_right")); remove2RightMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_R, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); remove2RightMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { remove2RightMenuItem_actionPerformed(e); } }); - removeGappedColumnMenuItem.setText("Remove Empty Columns"); + removeGappedColumnMenuItem.setText(MessageManager + .getString("action.remove_empty_columns")); removeGappedColumnMenuItem.setAccelerator(javax.swing.KeyStroke .getKeyStroke(java.awt.event.KeyEvent.VK_E, Toolkit .getDefaultToolkit().getMenuShortcutKeyMask(), false)); removeGappedColumnMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { removeGappedColumnMenuItem_actionPerformed(e); } }); - removeAllGapsMenuItem.setText("Remove All Gaps"); + removeAllGapsMenuItem.setText(MessageManager + .getString("action.remove_all_gaps")); removeAllGapsMenuItem.setAccelerator(javax.swing.KeyStroke .getKeyStroke(java.awt.event.KeyEvent.VK_E, Toolkit .getDefaultToolkit().getMenuShortcutKeyMask() @@ -674,134 +755,158 @@ public class GAlignFrame extends JInternalFrame removeAllGapsMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { removeAllGapsMenuItem_actionPerformed(e); } }); - justifyLeftMenuItem.setText("Left Justify Alignment"); + justifyLeftMenuItem.setText(MessageManager + .getString("action.left_justify_alignment")); justifyLeftMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { justifyLeftMenuItem_actionPerformed(e); } }); - justifyRightMenuItem.setText("Right Justify Alignment"); + justifyRightMenuItem.setText(MessageManager + .getString("action.right_justify_alignment")); justifyRightMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { justifyRightMenuItem_actionPerformed(e); } }); - viewBoxesMenuItem.setText("Boxes"); + viewBoxesMenuItem.setText(MessageManager.getString("action.boxes")); viewBoxesMenuItem.setState(true); viewBoxesMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { viewBoxesMenuItem_actionPerformed(e); } }); - viewTextMenuItem.setText("Text"); + viewTextMenuItem.setText(MessageManager.getString("action.text")); viewTextMenuItem.setState(true); viewTextMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { viewTextMenuItem_actionPerformed(e); } }); - showNonconservedMenuItem.setText("Show nonconserved"); + showNonconservedMenuItem.setText(MessageManager + .getString("label.show_non_conversed")); showNonconservedMenuItem.setState(false); showNonconservedMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showUnconservedMenuItem_actionPerformed(e); } }); - sortPairwiseMenuItem.setText("by Pairwise Identity"); + sortPairwiseMenuItem.setText(MessageManager + .getString("action.by_pairwise_id")); sortPairwiseMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { sortPairwiseMenuItem_actionPerformed(e); } }); - sortIDMenuItem.setText("by ID"); + sortIDMenuItem.setText(MessageManager.getString("action.by_id")); sortIDMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { sortIDMenuItem_actionPerformed(e); } }); - sortLengthMenuItem.setText("By Length"); + sortLengthMenuItem + .setText(MessageManager.getString("action.by_length")); sortLengthMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { sortLengthMenuItem_actionPerformed(e); } }); - sortGroupMenuItem.setText("by Group"); + sortGroupMenuItem.setText(MessageManager.getString("action.by_group")); sortGroupMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { sortGroupMenuItem_actionPerformed(e); } }); - removeRedundancyMenuItem.setText("Remove Redundancy..."); + removeRedundancyMenuItem.setText(MessageManager + .getString("action.remove_redundancy").concat("...")); removeRedundancyMenuItem.setAccelerator(javax.swing.KeyStroke .getKeyStroke(java.awt.event.KeyEvent.VK_D, Toolkit .getDefaultToolkit().getMenuShortcutKeyMask(), false)); removeRedundancyMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { removeRedundancyMenuItem_actionPerformed(e); } }); - pairwiseAlignmentMenuItem.setText("Pairwise Alignments..."); + pairwiseAlignmentMenuItem.setText(MessageManager + .getString("action.pairwise_alignment")); pairwiseAlignmentMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { pairwiseAlignmentMenuItem_actionPerformed(e); } }); - PCAMenuItem.setText("Principal Component Analysis"); + PCAMenuItem.setText(MessageManager + .getString("label.principal_component_analysis")); PCAMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { PCAMenuItem_actionPerformed(e); } }); - averageDistanceTreeMenuItem - .setText("Average Distance Using % Identity"); + averageDistanceTreeMenuItem.setText(MessageManager + .getString("label.average_distance_identity")); averageDistanceTreeMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { averageDistanceTreeMenuItem_actionPerformed(e); } }); - neighbourTreeMenuItem.setText("Neighbour Joining Using % Identity"); + neighbourTreeMenuItem.setText(MessageManager + .getString("label.neighbour_joining_identity")); neighbourTreeMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { neighbourTreeMenuItem_actionPerformed(e); @@ -812,116 +917,147 @@ public class GAlignFrame extends JInternalFrame statusBar.setBackground(Color.white); statusBar.setFont(new java.awt.Font("Verdana", 0, 11)); statusBar.setBorder(BorderFactory.createLineBorder(Color.black)); - statusBar.setText("Status bar"); - outputTextboxMenu.setText("Output to Textbox"); - clustalColour.setText("Clustalx"); + statusBar.setText(MessageManager.getString("label.status_bar")); + outputTextboxMenu.setText(MessageManager + .getString("label.out_to_textbox")); + clustalColour.setText(MessageManager.getString("label.clustalx")); clustalColour.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { clustalColour_actionPerformed(e); } }); - zappoColour.setText("Zappo"); + zappoColour.setText(MessageManager.getString("label.zappo")); zappoColour.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { zappoColour_actionPerformed(e); } }); - taylorColour.setText("Taylor"); + taylorColour.setText(MessageManager.getString("label.taylor")); taylorColour.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { taylorColour_actionPerformed(e); } }); - hydrophobicityColour.setText("Hydrophobicity"); + hydrophobicityColour.setText(MessageManager + .getString("label.hydrophobicity")); hydrophobicityColour .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { hydrophobicityColour_actionPerformed(e); } }); - helixColour.setText("Helix Propensity"); + helixColour.setText(MessageManager.getString("label.helix_propensity")); helixColour.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { helixColour_actionPerformed(e); } }); - strandColour.setText("Strand Propensity"); + strandColour.setText(MessageManager + .getString("label.strand_propensity")); strandColour.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { strandColour_actionPerformed(e); } }); - turnColour.setText("Turn Propensity"); + turnColour.setText(MessageManager.getString("label.turn_propensity")); turnColour.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { turnColour_actionPerformed(e); } }); - buriedColour.setText("Buried Index"); + buriedColour.setText(MessageManager.getString("label.buried_index")); buriedColour.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { buriedColour_actionPerformed(e); } }); - userDefinedColour.setText("User Defined..."); + userDefinedColour.setText(MessageManager + .getString("action.user_defined")); userDefinedColour.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { userDefinedColour_actionPerformed(e); } }); - PIDColour.setText("Percentage Identity"); + PIDColour + .setText(MessageManager.getString("label.percentage_identity")); PIDColour.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { PIDColour_actionPerformed(e); } }); - BLOSUM62Colour.setText("BLOSUM62 Score"); + BLOSUM62Colour + .setText(MessageManager.getString("label.blosum62_score")); BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { BLOSUM62Colour_actionPerformed(e); } }); - nucleotideColour.setText("Nucleotide"); + nucleotideColour.setText(MessageManager.getString("label.nucleotide")); nucleotideColour.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { nucleotideColour_actionPerformed(e); } }); - purinePyrimidineColour.setText("Purine/Pyrimidine"); + purinePyrimidineColour.setText(MessageManager + .getString("label.purine_pyrimidine")); purinePyrimidineColour .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { purinePyrimidineColour_actionPerformed(e); } }); + + RNAInteractionColour.setText("RNA Interaction type"); + RNAInteractionColour + .addActionListener(new java.awt.event.ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + RNAInteractionColour_actionPerformed(e); + } + }); /* * covariationColour.setText("Covariation"); * covariationColour.addActionListener(new java.awt.event.ActionListener() { @@ -929,153 +1065,273 @@ public class GAlignFrame extends JInternalFrame * covariationColour_actionPerformed(e); } }); */ - avDistanceTreeBlosumMenuItem.setText("Average Distance Using BLOSUM62"); + avDistanceTreeBlosumMenuItem.setText(MessageManager + .getString("label.average_distance_bloslum62")); avDistanceTreeBlosumMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { avTreeBlosumMenuItem_actionPerformed(e); } }); - njTreeBlosumMenuItem.setText("Neighbour Joining using BLOSUM62"); + njTreeBlosumMenuItem.setText(MessageManager + .getString("label.neighbour_blosum62")); njTreeBlosumMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { njTreeBlosumMenuItem_actionPerformed(e); } }); annotationPanelMenuItem.setActionCommand(""); - annotationPanelMenuItem.setText("Show Annotations"); - annotationPanelMenuItem.setState(jalview.bin.Cache.getDefault( - "SHOW_ANNOTATIONS", true)); - annotationPanelMenuItem - .addActionListener(new java.awt.event.ActionListener() - { - public void actionPerformed(ActionEvent e) - { - annotationPanelMenuItem_actionPerformed(e); - } - }); - colourTextMenuItem.setText("Colour Text"); + annotationPanelMenuItem.setText(MessageManager + .getString("label.show_annotations")); + annotationPanelMenuItem.setState(Cache.getDefault("SHOW_ANNOTATIONS", + true)); + annotationPanelMenuItem.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + annotationPanelMenuItem_actionPerformed(e); + } + }); + showAllAlAnnotations.setText(MessageManager + .getString("label.show_all_al_annotations")); + final boolean isAnnotationPanelShown = annotationPanelMenuItem + .getState(); + showAllAlAnnotations.setEnabled(isAnnotationPanelShown); + showAllAlAnnotations.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + showAllAnnotations_actionPerformed(false, true); + } + }); + hideAllAlAnnotations.setText(MessageManager + .getString("label.hide_all_al_annotations")); + hideAllAlAnnotations.setEnabled(isAnnotationPanelShown); + hideAllAlAnnotations.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + hideAllAnnotations_actionPerformed(false, true); + } + }); + showAllSeqAnnotations.setText(MessageManager + .getString("label.show_all_seq_annotations")); + showAllSeqAnnotations.setEnabled(isAnnotationPanelShown); + showAllSeqAnnotations.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + showAllAnnotations_actionPerformed(true, false); + } + }); + hideAllSeqAnnotations.setText(MessageManager + .getString("label.hide_all_seq_annotations")); + hideAllSeqAnnotations.setEnabled(isAnnotationPanelShown); + hideAllSeqAnnotations.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + hideAllAnnotations_actionPerformed(true, false); + } + }); + SequenceAnnotationOrder sortAnnotationsBy = SequenceAnnotationOrder + .valueOf(Cache.getDefault(Preferences.SORT_ANNOTATIONS, + SequenceAnnotationOrder.NONE.name())); + sortAnnBySequence.setText(MessageManager + .getString("label.sort_annotations_by_sequence")); + sortAnnBySequence + .setSelected(sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL); + sortAnnBySequence.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + boolean newState = sortAnnBySequence.getState(); + sortAnnByLabel.setSelected(false); + setAnnotationSortOrder(newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL + : SequenceAnnotationOrder.NONE); + sortAnnotations_actionPerformed(); + } + }); + sortAnnByLabel.setText(MessageManager + .getString("label.sort_annotations_by_label")); + sortAnnByLabel + .setSelected(sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE); + sortAnnByLabel.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + boolean newState = sortAnnByLabel.getState(); + sortAnnBySequence.setSelected(false); + setAnnotationSortOrder(newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE + : SequenceAnnotationOrder.NONE); + sortAnnotations_actionPerformed(); + } + }); + colourTextMenuItem.setText(MessageManager + .getString("label.colour_text")); colourTextMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { colourTextMenuItem_actionPerformed(e); } }); - htmlMenuItem.setText("HTML"); + htmlMenuItem.setText(MessageManager.getString("label.html")); htmlMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { htmlMenuItem_actionPerformed(e); } }); - overviewMenuItem.setText("Overview Window"); + + // TODO uncomment when supported by MassageManager + // createBioJS.setText(MessageManager.getString("label.biojs_html_export")); + createBioJS.setText("BioJS"); + createBioJS.addActionListener(new java.awt.event.ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + bioJSMenuItem_actionPerformed(e); + } + }); + + overviewMenuItem.setText(MessageManager + .getString("label.overview_window")); overviewMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { overviewMenuItem_actionPerformed(e); } }); undoMenuItem.setEnabled(false); - undoMenuItem.setText("Undo"); + undoMenuItem.setText(MessageManager.getString("action.undo")); undoMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_Z, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); undoMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { undoMenuItem_actionPerformed(e); } }); redoMenuItem.setEnabled(false); - redoMenuItem.setText("Redo"); + redoMenuItem.setText(MessageManager.getString("action.redo")); redoMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_Y, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); redoMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { redoMenuItem_actionPerformed(e); } }); - conservationMenuItem.setText("By Conservation"); + conservationMenuItem.setText(MessageManager + .getString("action.by_conservation")); conservationMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { conservationMenuItem_actionPerformed(e); } }); - noColourmenuItem.setText("None"); + noColourmenuItem.setText(MessageManager.getString("label.none")); noColourmenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { noColourmenuItem_actionPerformed(e); } }); - wrapMenuItem.setText("Wrap"); + wrapMenuItem.setText(MessageManager.getString("label.wrap")); wrapMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { wrapMenuItem_actionPerformed(e); } }); - printMenuItem.setText("Print ..."); + printMenuItem.setText(MessageManager.getString("action.print") + "..."); printMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_P, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); printMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { printMenuItem_actionPerformed(e); } }); - renderGapsMenuItem.setText("Show Gaps"); + renderGapsMenuItem + .setText(MessageManager.getString("action.show_gaps")); renderGapsMenuItem.setState(true); renderGapsMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { renderGapsMenuItem_actionPerformed(e); } }); - findMenuItem.setText("Find..."); + findMenuItem.setText(MessageManager.getString("action.find")); findMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_F, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); + findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true, + MessageManager.getString("label.find_tip"))); findMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { findMenuItem_actionPerformed(e); } }); - abovePIDThreshold.setText("Above Identity Threshold"); + abovePIDThreshold.setText(MessageManager + .getString("label.above_identity_threshold")); abovePIDThreshold.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { abovePIDThreshold_actionPerformed(e); } }); - showSeqFeatures.setText("Show Sequence Features"); + showSeqFeatures.setText(MessageManager + .getString("label.show_sequence_features")); showSeqFeatures.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent actionEvent) { showSeqFeatures_actionPerformed(actionEvent); @@ -1087,30 +1343,36 @@ public class GAlignFrame extends JInternalFrame * void actionPerformed(ActionEvent actionEvent) { * showSeqFeaturesHeight_actionPerformed(actionEvent); } }); */ - showDbRefsMenuitem.setText("Show Database Refs"); + showDbRefsMenuitem.setText(MessageManager + .getString("label.show_database_refs")); showDbRefsMenuitem.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showDbRefs_actionPerformed(e); } }); - showNpFeatsMenuitem.setText("Show Non-Positional Features"); + showNpFeatsMenuitem.setText(MessageManager + .getString("label.show_non_positional_features")); showNpFeatsMenuitem.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showNpFeats_actionPerformed(e); } }); - showGroupConservation.setText("Group Conservation"); + showGroupConservation.setText(MessageManager + .getString("label.group_conservation")); showGroupConservation.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showGroupConservation_actionPerformed(e); @@ -1118,69 +1380,106 @@ public class GAlignFrame extends JInternalFrame }); - showGroupConsensus.setText("Group Consensus"); + showGroupConsensus.setText(MessageManager + .getString("label.group_consensus")); showGroupConsensus.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showGroupConsensus_actionPerformed(e); } }); - showConsensusHistogram.setText("Show Consensus Histogram"); + showConsensusHistogram.setText(MessageManager + .getString("label.show_consensus_histogram")); showConsensusHistogram.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showConsensusHistogram_actionPerformed(e); } }); - showSequenceLogo.setText("Show Consensus Logo"); + showSequenceLogo.setText(MessageManager + .getString("label.show_consensus_logo")); showSequenceLogo.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showSequenceLogo_actionPerformed(e); } }); - normaliseSequenceLogo.setText("Normalise Consensus Logo"); + normaliseSequenceLogo.setText(MessageManager + .getString("label.norm_consensus_logo")); normaliseSequenceLogo.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { normaliseSequenceLogo_actionPerformed(e); } }); - applyAutoAnnotationSettings.setText("Apply to all groups"); + applyAutoAnnotationSettings.setText(MessageManager + .getString("label.apply_all_groups")); applyAutoAnnotationSettings.setState(false); applyAutoAnnotationSettings.setVisible(true); applyAutoAnnotationSettings.addActionListener(new ActionListener() { - + @Override public void actionPerformed(ActionEvent e) { applyAutoAnnotationSettings_actionPerformed(e); } + }); + ButtonGroup buttonGroup = new ButtonGroup(); + buttonGroup.add(showAutoFirst); + buttonGroup.add(showAutoLast); + showAutoFirst.setText(MessageManager.getString("label.show_first")); + showAutoFirst.setSelected(Cache.getDefault( + Preferences.SHOW_AUTOCALC_ABOVE, + false)); + showAutoFirst.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + setShowAutoCalculatedAbove(showAutoFirst.isSelected()); + sortAnnotations_actionPerformed(); + } + }); + showAutoLast.setText(MessageManager.getString("label.show_last")); + showAutoLast.setSelected(!showAutoFirst.isSelected()); + showAutoLast.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + setShowAutoCalculatedAbove(!showAutoLast.isSelected()); + sortAnnotations_actionPerformed(); + } }); - nucleotideColour.setText("Nucleotide"); + nucleotideColour.setText(MessageManager.getString("label.nucleotide")); nucleotideColour.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { nucleotideColour_actionPerformed(e); } }); - tcoffeeColour.setText("T-Coffee scores"); + tcoffeeColour.setText(MessageManager.getString("label.tcoffee_scores")); tcoffeeColour.setEnabled(false); tcoffeeColour.addActionListener(new ActionListener() { @@ -1192,99 +1491,109 @@ public class GAlignFrame extends JInternalFrame } }); - deleteGroups.setText("Undefine groups"); + deleteGroups + .setText(MessageManager.getString("action.undefine_groups")); deleteGroups.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_U, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); deleteGroups.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { deleteGroups_actionPerformed(e); } }); - createGroup.setText("Create group"); + createGroup.setText(MessageManager.getString("action.create_groups")); createGroup.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_G, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); createGroup.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { createGroup_actionPerformed(e); } }); - unGroup.setText("Remove Group"); + unGroup.setText(MessageManager.getString("action.remove_group")); unGroup.setAccelerator(javax.swing.KeyStroke.getKeyStroke( - java.awt.event.KeyEvent.VK_G,Toolkit.getDefaultToolkit() - .getMenuShortcutKeyMask() | java.awt.event.KeyEvent.SHIFT_MASK, false)); + java.awt.event.KeyEvent.VK_G, Toolkit.getDefaultToolkit() + .getMenuShortcutKeyMask() + | java.awt.event.KeyEvent.SHIFT_MASK, false)); unGroup.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { unGroup_actionPerformed(e); } }); - copy.setText("Copy"); + copy.setText(MessageManager.getString("action.copy")); copy.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_C, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); copy.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { copy_actionPerformed(e); } }); - cut.setText("Cut"); + cut.setText(MessageManager.getString("action.cut")); cut.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_X, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); cut.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { cut_actionPerformed(e); } }); - delete.setText("Delete"); - delete.setAccelerator(javax.swing.KeyStroke.getKeyStroke( - java.awt.event.KeyEvent.VK_BACK_SPACE, 0, false)); + delete.setText(MessageManager.getString("action.delete")); delete.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { delete_actionPerformed(e); } }); - pasteMenu.setText("Paste"); - pasteNew.setText("To New Alignment"); + pasteMenu.setText(MessageManager.getString("action.paste")); + pasteNew.setText(MessageManager.getString("label.to_new_alignment")); pasteNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_V, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask() | java.awt.event.KeyEvent.SHIFT_MASK, false)); pasteNew.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { pasteNew_actionPerformed(e); } }); - pasteThis.setText("Add To This Alignment"); + pasteThis.setText(MessageManager.getString("label.to_this_alignment")); pasteThis.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_V, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); pasteThis.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { pasteThis_actionPerformed(e); } }); - applyToAllGroups.setText("Apply Colour To All Groups"); + applyToAllGroups.setText(MessageManager + .getString("label.apply_colour_to_all_groups")); applyToAllGroups.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { applyToAllGroups_actionPerformed(e); @@ -1292,26 +1601,31 @@ public class GAlignFrame extends JInternalFrame }); createPNG.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { createPNG(null); } }); - createPNG.setActionCommand("Save As PNG Image"); + createPNG.setActionCommand(MessageManager + .getString("label.save_png_image")); createPNG.setText("PNG"); - font.setText("Font..."); + + font.setText(MessageManager.getString("action.font")); font.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { font_actionPerformed(e); } }); - - seqLimits.setText("Show Sequence Limits"); + seqLimits.setText(MessageManager + .getString("label.show_sequence_limits")); seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true)); seqLimits.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { seqLimit_actionPerformed(e); @@ -1320,15 +1634,30 @@ public class GAlignFrame extends JInternalFrame epsFile.setText("EPS"); epsFile.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { createEPS(null); } }); - LoadtreeMenuItem.setActionCommand("Load a tree for this sequence set"); - LoadtreeMenuItem.setText("Load Associated Tree"); + + createSVG.setText("SVG"); + createSVG.addActionListener(new java.awt.event.ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + createSVG(null); + } + }); + + LoadtreeMenuItem.setActionCommand(MessageManager + .getString("label.load_tree_for_sequence_set")); + LoadtreeMenuItem.setText(MessageManager + .getString("label.load_associated_tree")); LoadtreeMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { LoadtreeMenuItem_actionPerformed(e); @@ -1336,9 +1665,10 @@ public class GAlignFrame extends JInternalFrame }); scaleAbove.setVisible(false); - scaleAbove.setText("Scale Above"); + scaleAbove.setText(MessageManager.getString("action.scale_above")); scaleAbove.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { scaleAbove_actionPerformed(e); @@ -1346,9 +1676,10 @@ public class GAlignFrame extends JInternalFrame }); scaleLeft.setVisible(false); scaleLeft.setSelected(true); - scaleLeft.setText("Scale Left"); + scaleLeft.setText(MessageManager.getString("action.scale_left")); scaleLeft.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { scaleLeft_actionPerformed(e); @@ -1356,9 +1687,10 @@ public class GAlignFrame extends JInternalFrame }); scaleRight.setVisible(false); scaleRight.setSelected(true); - scaleRight.setText("Scale Right"); + scaleRight.setText(MessageManager.getString("action.scale_right")); scaleRight.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { scaleRight_actionPerformed(e); @@ -1366,10 +1698,12 @@ public class GAlignFrame extends JInternalFrame }); centreColumnLabelsMenuItem.setVisible(true); centreColumnLabelsMenuItem.setState(false); - centreColumnLabelsMenuItem.setText("Centre Column Labels"); + centreColumnLabelsMenuItem.setText(MessageManager + .getString("label.centre_column_labels")); centreColumnLabelsMenuItem .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { centreColumnLabels_actionPerformed(e); @@ -1377,10 +1711,12 @@ public class GAlignFrame extends JInternalFrame }); followHighlightMenuItem.setVisible(true); followHighlightMenuItem.setState(true); - followHighlightMenuItem.setText("Automatic Scrolling"); + followHighlightMenuItem.setText(MessageManager + .getString("label.automatic_scrolling")); followHighlightMenuItem.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { followHighlight_actionPerformed(); @@ -1388,53 +1724,65 @@ public class GAlignFrame extends JInternalFrame }); - modifyPID.setText("Modify Identity Threshold..."); + modifyPID.setText(MessageManager + .getString("label.modify_identity_thereshold")); modifyPID.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { modifyPID_actionPerformed(e); } }); - modifyConservation.setText("Modify Conservation Threshold..."); + modifyConservation.setText(MessageManager + .getString("label.modify_conservation_thereshold")); modifyConservation .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { modifyConservation_actionPerformed(e); } }); - sortByTreeMenu.setText("By Tree Order"); - sort.setText("Sort"); + sortByTreeMenu + .setText(MessageManager.getString("action.by_tree_order")); + sort.setText(MessageManager.getString("action.sort")); sort.addMenuListener(new MenuListener() { + @Override public void menuSelected(MenuEvent e) { buildTreeMenu(); } + @Override public void menuDeselected(MenuEvent e) { } + @Override public void menuCanceled(MenuEvent e) { } }); - sortByAnnotScore.setText("by Score"); + sortByAnnotScore.setText(MessageManager + .getString("label.sort_by_score")); sort.add(sortByAnnotScore); - sortByAnnotScore.addMenuListener(new javax.swing.event.MenuListener() + sort.addMenuListener(new javax.swing.event.MenuListener() { + @Override public void menuCanceled(MenuEvent e) { } + @Override public void menuDeselected(MenuEvent e) { } + @Override public void menuSelected(MenuEvent e) { buildSortByAnnotationScoresMenu(); @@ -1442,39 +1790,46 @@ public class GAlignFrame extends JInternalFrame }); sortByAnnotScore.setVisible(false); - calculateTree.setText("Calculate Tree"); + calculateTree + .setText(MessageManager.getString("action.calculate_tree")); - jMenu2.setText("Export Image"); - padGapsMenuitem.setText("Pad Gaps"); + jMenu2.setText(MessageManager.getString("label.export_image")); + padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps")); padGapsMenuitem.setState(jalview.bin.Cache .getDefault("PAD_GAPS", false)); padGapsMenuitem.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { padGapsMenuitem_actionPerformed(e); } }); vamsasStore.setVisible(false); - vamsasStore.setText("VAMSAS store"); + vamsasStore.setText(MessageManager.getString("label.vamsas_store")); vamsasStore.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { vamsasStore_actionPerformed(e); } }); - showTranslation.setText("Translate cDNA"); + showTranslation.setText(MessageManager + .getString("label.translate_cDNA")); showTranslation.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showTranslation_actionPerformed(e); } }); - extractScores.setText("Extract Scores..."); + extractScores.setText(MessageManager.getString("label.extract_scores") + + "..."); extractScores.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { extractScores_actionPerformed(e); @@ -1482,214 +1837,272 @@ public class GAlignFrame extends JInternalFrame }); extractScores.setVisible(true); // JBPNote: TODO: make gui for regex based // score extraction - showProducts.setText("Get Cross References"); + showProducts.setText(MessageManager.getString("label.get_cross_refs")); /* * showProducts.addActionListener(new ActionListener() { * * public void actionPerformed(ActionEvent e) { * showProducts_actionPerformed(e); } }); */ - openFeatureSettings.setText("Feature Settings..."); + openFeatureSettings.setText(MessageManager + .getString("label.feature_settings")); openFeatureSettings.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { featureSettings_actionPerformed(e); } }); - fetchSequence.setText("Fetch Sequence(s)..."); + fetchSequence + .setText(MessageManager.getString("label.fetch_sequences")); fetchSequence.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { fetchSequence_actionPerformed(e); } }); - annotationColour.setText("By Annotation..."); + annotationColour.setText(MessageManager + .getString("action.by_annotation")); annotationColour.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { annotationColour_actionPerformed(e); } }); - rnahelicesColour.setText("By RNA helices"); + annotationColumn.setText(MessageManager + .getString("action.select_by_annotation")); + annotationColumn.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + annotationColumn_actionPerformed(e); + } + }); + + rnahelicesColour.setText(MessageManager + .getString("action.by_rna_helixes")); rnahelicesColour.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { rnahelicesColour_actionPerformed(e); } }); - associatedData.setText("Load Features / Annotations"); + associatedData.setText(MessageManager + .getString("label.load_features_annotations")); associatedData.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { associatedData_actionPerformed(e); } }); - autoCalculate.setText("Autocalculate Consensus"); + autoCalculate.setText(MessageManager + .getString("label.autocalculate_consensus")); autoCalculate.setState(jalview.bin.Cache.getDefault( "AUTO_CALC_CONSENSUS", true)); autoCalculate.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { autoCalculate_actionPerformed(e); } }); - sortByTree.setText("Sort Alignment With New Tree"); + sortByTree.setText(MessageManager + .getString("label.sort_alignment_new_tree")); sortByTree - .setToolTipText("Enable this to automatically sort
the alignment when you open
a new tree."); + .setToolTipText("" + + MessageManager + .getString("label.enable_automatically_sort_alignment_when_open_new_tree")); sortByTree .setState(jalview.bin.Cache.getDefault("SORT_BY_TREE", false)); sortByTree.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { sortByTreeOption_actionPerformed(e); } }); - listenToViewSelections.setText("Listen for selections"); + listenToViewSelections.setText(MessageManager + .getString("label.listen_for_selections")); listenToViewSelections - .setToolTipText("When selected, selections in this view will mirror
selections made on the same sequences in other views."); + .setToolTipText("" + + MessageManager + .getString("label.selections_mirror_selections_made_same_sequences_other_views")); listenToViewSelections.setState(false); listenToViewSelections.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { listenToViewSelections_actionPerformed(e); } }); - addSequenceMenu.setText("Add Sequences"); - addFromFile.setText("From File"); + addSequenceMenu + .setText(MessageManager.getString("label.add_sequences")); + addFromFile.setText(MessageManager.getString("label.from_file")); addFromFile.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { addFromFile_actionPerformed(e); } }); - addFromText.setText("From Textbox"); + addFromText.setText(MessageManager.getString("label.from_textbox")); addFromText.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { addFromText_actionPerformed(e); } }); - addFromURL.setText("From URL"); + addFromURL.setText(MessageManager.getString("label.from_url")); addFromURL.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { addFromURL_actionPerformed(e); } }); - exportFeatures.setText("Export Features..."); + exportFeatures.setText(MessageManager + .getString("label.export_features")); exportFeatures.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { exportFeatures_actionPerformed(e); } }); - exportAnnotations.setText("Export Annotations..."); + exportAnnotations.setText(MessageManager + .getString("label.export_annotations")); exportAnnotations.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { exportAnnotations_actionPerformed(e); } }); statusPanel.setLayout(gridLayout1); - jMenu3.setText("Show"); - showAllSeqs.setText("All Sequences"); - showAllSeqs.setToolTipText("Shift+H toggles sequence visiblity."); + jMenu3.setText(MessageManager.getString("action.show")); + showAllSeqs.setText(MessageManager.getString("label.all_sequences")); + showAllSeqs.setToolTipText(MessageManager + .getString("label.toggle_sequence_visibility")); showAllSeqs.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showAllSeqs_actionPerformed(e); } }); - showAllColumns.setText("All Columns"); - showAllColumns.setToolTipText("Ctrl+H toggles column visiblity."); + showAllColumns.setText(MessageManager.getString("label.all_columns")); + showAllColumns.setToolTipText(MessageManager + .getString("label.toggle_columns_visibility")); showAllColumns.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showAllColumns_actionPerformed(e); } }); - hideMenu.setText("Hide"); - hideSelSequences.setText("Selected Sequences"); - hideSelSequences.setToolTipText("Shift+H toggles sequence visiblity."); + hideMenu.setText(MessageManager.getString("action.hide")); + hideSelSequences.setText(MessageManager + .getString("label.selected_sequences")); + hideSelSequences.setToolTipText(MessageManager + .getString("label.toggle_sequence_visibility")); hideSelSequences.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { hideSelSequences_actionPerformed(e); } }); - hideSelColumns.setText("Selected Columns"); - hideSelColumns.setToolTipText("Ctrl+H toggles column visiblity."); + hideSelColumns.setText(MessageManager + .getString("label.selected_columns")); + hideSelColumns.setToolTipText(MessageManager + .getString("label.toggle_columns_visibility")); hideSelColumns.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { hideSelColumns_actionPerformed(e); } }); - hideAllSelection.setText("Selected Region"); + hideAllSelection.setText(MessageManager + .getString("label.selected_region")); hideAllSelection.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { hideAllSelection_actionPerformed(e); } }); // TODO: should be hidden if no selection exists. - hideAllButSelection.setText("All but Selected Region (Shift+Ctrl+H)"); + hideAllButSelection.setText(MessageManager + .getString("label.all_but_selected_region")); hideAllButSelection.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { hideAllButSelection_actionPerformed(e); } }); - showAllhidden.setText("All Sequences and Columns"); - showAllhidden - .setToolTipText("H toggles visibility of hidden or selected regions."); + showAllhidden.setText(MessageManager + .getString("label.all_sequences_columns")); + showAllhidden.setToolTipText(MessageManager + .getString("label.toggles_visibility_hidden_selected_regions")); showAllhidden.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { showAllhidden_actionPerformed(e); } }); - - hiddenMarkers.setText("Show Hidden Markers"); + hiddenMarkers.setText(MessageManager + .getString("action.show_hidden_markers")); hiddenMarkers.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { hiddenMarkers_actionPerformed(e); } }); - invertColSel.setText("Invert Column Selection"); + invertColSel.setText(MessageManager + .getString("action.invert_column_selection")); invertColSel.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_I, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask() | java.awt.event.KeyEvent.ALT_MASK, false)); invertColSel.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { invertColSel_actionPerformed(e); @@ -1697,6 +2110,7 @@ public class GAlignFrame extends JInternalFrame }); tabbedPane.addChangeListener(new javax.swing.event.ChangeListener() { + @Override public void stateChanged(ChangeEvent evt) { JTabbedPane pane = (JTabbedPane) evt.getSource(); @@ -1706,6 +2120,7 @@ public class GAlignFrame extends JInternalFrame }); tabbedPane.addMouseListener(new MouseAdapter() { + @Override public void mousePressed(MouseEvent e) { tabbedPane_mousePressed(e); @@ -1713,106 +2128,124 @@ public class GAlignFrame extends JInternalFrame }); tabbedPane.addFocusListener(new FocusAdapter() { + @Override public void focusGained(FocusEvent e) { tabbedPane_focusGained(e); } }); - save.setText("Save"); + save.setText(MessageManager.getString("action.save")); save.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_S, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); save.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { save_actionPerformed(e); } }); reload.setEnabled(false); - reload.setText("Reload"); + reload.setText(MessageManager.getString("action.reload")); reload.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { reload_actionPerformed(e); } }); - newView.setText("New View"); + newView.setText(MessageManager.getString("action.new_view")); newView.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_T, Toolkit.getDefaultToolkit() .getMenuShortcutKeyMask(), false)); newView.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { newView_actionPerformed(e); } }); - tabbedPane.setToolTipText(" Right-click to rename tab" - + "
Press X to eXpand tabs, G to reGroup.
"); - textColour.setText("Colour Text ..."); + tabbedPane.setToolTipText("" + + MessageManager.getString("label.rename_tab_eXpand_reGroup") + + ""); + textColour.setText(MessageManager.getString("label.colour_text") + + "..."); textColour.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { textColour_actionPerformed(e); } }); - formatMenu.setText("Format"); - selectMenu.setText("Select"); - idRightAlign.setText("Right Align Sequence Id"); + formatMenu.setText(MessageManager.getString("action.format")); + selectMenu.setText(MessageManager.getString("action.select")); + idRightAlign.setText(MessageManager + .getString("label.right_align_sequence_id")); idRightAlign.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { idRightAlign_actionPerformed(e); } }); gatherViews.setEnabled(false); - gatherViews.setText("Gather Views"); + gatherViews.setText(MessageManager.getString("action.gather_views")); gatherViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_G, 0, false)); gatherViews.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { gatherViews_actionPerformed(e); } }); expandViews.setEnabled(false); - expandViews.setText("Expand Views"); + expandViews.setText(MessageManager.getString("action.expand_views")); expandViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_X, 0, false)); expandViews.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { expandViews_actionPerformed(e); } }); - pageSetup.setText("Page Setup ..."); + pageSetup + .setText(MessageManager.getString("action.page_setup") + "..."); pageSetup.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { pageSetup_actionPerformed(e); } }); - alignmentProperties.setText("Alignment Properties..."); + alignmentProperties.setText(MessageManager + .getString("label.alignment_props") + "..."); alignmentProperties.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent actionEvent) { alignmentProperties(); } }); - tooltipSettingsMenu.setText("Sequence ID Tooltip"); - autoAnnMenu.setText("Autocalculated Annotation"); + tooltipSettingsMenu.setText(MessageManager + .getString("label.sequence_id_tooltip")); + autoAnnMenu.setText(MessageManager + .getString("label.autocalculated_annotation")); alignFrameMenuBar.add(fileMenu); alignFrameMenuBar.add(editMenu); alignFrameMenuBar.add(selectMenu); alignFrameMenuBar.add(viewMenu); + alignFrameMenuBar.add(annotationsMenu); alignFrameMenuBar.add(formatMenu); alignFrameMenuBar.add(colourMenu); alignFrameMenuBar.add(calculateMenu); @@ -1862,7 +2295,19 @@ public class GAlignFrame extends JInternalFrame viewMenu.add(hideMenu); viewMenu.addSeparator(); viewMenu.add(followHighlightMenuItem); - viewMenu.add(annotationPanelMenuItem); + annotationsMenu.add(annotationPanelMenuItem); + annotationsMenu.addSeparator(); + annotationsMenu.add(showAllAlAnnotations); + annotationsMenu.add(hideAllAlAnnotations); + annotationsMenu.addSeparator(); + annotationsMenu.add(showAllSeqAnnotations); + annotationsMenu.add(hideAllSeqAnnotations); + annotationsMenu.add(sortAnnBySequence); + annotationsMenu.add(sortAnnByLabel); + annotationsMenu.addSeparator(); + autoAnnMenu.add(showAutoFirst); + autoAnnMenu.add(showAutoLast); + autoAnnMenu.addSeparator(); autoAnnMenu.add(applyAutoAnnotationSettings); autoAnnMenu.add(showConsensusHistogram); autoAnnMenu.add(showSequenceLogo); @@ -1870,7 +2315,7 @@ public class GAlignFrame extends JInternalFrame autoAnnMenu.addSeparator(); autoAnnMenu.add(showGroupConservation); autoAnnMenu.add(showGroupConsensus); - viewMenu.add(autoAnnMenu); + annotationsMenu.add(autoAnnMenu); viewMenu.addSeparator(); viewMenu.add(showSeqFeatures); // viewMenu.add(showSeqFeaturesHeight); @@ -1899,6 +2344,7 @@ public class GAlignFrame extends JInternalFrame colourMenu.add(buriedColour); colourMenu.add(nucleotideColour); colourMenu.add(purinePyrimidineColour); + colourMenu.add(RNAInteractionColour); // colourMenu.add(covariationColour); colourMenu.add(tcoffeeColour); colourMenu.add(userDefinedColour); @@ -1921,7 +2367,8 @@ public class GAlignFrame extends JInternalFrame calculateMenu.add(sortByTree); calculateMenu.addSeparator(); calculateMenu.add(extractScores); - webServiceNoServices = new JMenuItem(""); + webServiceNoServices = new JMenuItem( + MessageManager.getString("label.no_services")); webService.add(webServiceNoServices); pasteMenu.add(pasteNew); pasteMenu.add(pasteThis); @@ -1930,13 +2377,11 @@ public class GAlignFrame extends JInternalFrame sort.add(sortGroupMenuItem); sort.add(sortPairwiseMenuItem); sort.add(sortByTreeMenu); - calculateTree.add(averageDistanceTreeMenuItem); - calculateTree.add(neighbourTreeMenuItem); - calculateTree.add(avDistanceTreeBlosumMenuItem); - calculateTree.add(njTreeBlosumMenuItem); jMenu2.add(htmlMenuItem); jMenu2.add(epsFile); jMenu2.add(createPNG); + jMenu2.add(createBioJS); + jMenu2.add(createSVG); addSequenceMenu.add(addFromFile); addSequenceMenu.add(addFromText); addSequenceMenu.add(addFromURL); @@ -1976,12 +2421,67 @@ public class GAlignFrame extends JInternalFrame selectMenu.add(unGroup); selectMenu.add(grpsFromSelection); selectMenu.add(deleteGroups); + selectMenu.add(annotationColumn); + calculateMenu.add(expandAlignment); // TODO - determine if the listenToViewSelections button is needed : see bug // JAL-574 // selectMenu.addSeparator(); // selectMenu.add(listenToViewSelections); } + /** + * Action on clicking sort annotations by type. + * + * @param sortOrder + */ + protected void sortAnnotations_actionPerformed() + { + } + + /** + * Action on clicking Show all annotations. + * + * @param forSequences + * update sequence-related annotations + * @param forAlignment + * update non-sequence-related annotations + */ + protected void showAllAnnotations_actionPerformed(boolean forSequences, + boolean forAlignment) + { + setAnnotationsVisibility(true, forSequences, forAlignment); + } + + /** + * Action on clicking Hide all annotations. + * + * @param forSequences + * update sequence-related annotations + * @param forAlignment + * update non-sequence-related annotations + */ + protected void hideAllAnnotations_actionPerformed(boolean forSequences, + boolean forAlignment) + { + setAnnotationsVisibility(false, forSequences, forAlignment); + } + + /** + * Set the visibility of annotations to true or false. Can act on + * sequence-related annotations, or alignment-related, or both. + * + * @param visible + * @param forSequences + * update sequence-related annotations + * @param forAlignment + * update non-sequence-related annotations + */ + protected void setAnnotationsVisibility(boolean visible, + boolean forSequences, boolean forAlignment) + { + + } + protected void normaliseSequenceLogo_actionPerformed(ActionEvent e) { // TODO Auto-generated method stub @@ -2140,6 +2640,11 @@ public class GAlignFrame extends JInternalFrame { } + protected void bioJSMenuItem_actionPerformed(ActionEvent e) + { + + } + protected void closeMenuItem_actionPerformed(boolean b) { } @@ -2296,6 +2801,10 @@ public class GAlignFrame extends JInternalFrame { } + protected void RNAInteractionColour_actionPerformed(ActionEvent e) + { + } + /* * protected void covariationColour_actionPerformed(ActionEvent e) { } */ @@ -2335,11 +2844,11 @@ public class GAlignFrame extends JInternalFrame protected void deleteGroups_actionPerformed(ActionEvent e) { } - + protected void createGroup_actionPerformed(ActionEvent e) { } - + protected void unGroup_actionPerformed(ActionEvent e) { } @@ -2389,6 +2898,10 @@ public class GAlignFrame extends JInternalFrame { } + public void createSVG(java.io.File f) + { + + } protected void LoadtreeMenuItem_actionPerformed(ActionEvent e) { @@ -2487,6 +3000,11 @@ public class GAlignFrame extends JInternalFrame } + public void annotationColumn_actionPerformed(ActionEvent e) + { + + } + public void rnahelicesColour_actionPerformed(ActionEvent e) { @@ -2616,4 +3134,30 @@ public class GAlignFrame extends JInternalFrame { } + + protected void expand_newalign(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected boolean isShowAutoCalculatedAbove() + { + return showAutoCalculatedAbove; + } + + protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove) + { + this.showAutoCalculatedAbove = showAutoCalculatedAbove; + } + + protected SequenceAnnotationOrder getAnnotationSortOrder() + { + return annotationSortOrder; + } + + protected void setAnnotationSortOrder(SequenceAnnotationOrder annotationSortOrder) + { + this.annotationSortOrder = annotationSortOrder; + } }