X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGAlignFrame.java;h=b38fab4d1fba9bbc140939b2a1383025292dd97f;hb=b0cee3aaf7d8873910939f97b6acb217d518968d;hp=4de3d3ab6fd19279189b73450ed3efa32c908038;hpb=483e7163b1fb8d4bcb9393014816c944befce328;p=jalview.git diff --git a/src/jalview/jbgui/GAlignFrame.java b/src/jalview/jbgui/GAlignFrame.java index 4de3d3a..b38fab4 100755 --- a/src/jalview/jbgui/GAlignFrame.java +++ b/src/jalview/jbgui/GAlignFrame.java @@ -23,12 +23,17 @@ package jalview.jbgui; import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder; import jalview.api.SplitContainerI; import jalview.bin.Cache; +import jalview.gui.Desktop; import jalview.gui.JvOptionPane; import jalview.gui.JvSwingUtils; import jalview.gui.Preferences; +import jalview.gui.UserDefinedColours; import jalview.io.FileFormat; -import jalview.schemes.ColourSchemeProperty; +import jalview.schemes.JalviewColourScheme; +import jalview.schemes.ResidueColourScheme; +import jalview.schemes.UserColourScheme; import jalview.util.MessageManager; +import jalview.util.Platform; import java.awt.BorderLayout; import java.awt.Color; @@ -62,6 +67,8 @@ import javax.swing.event.MenuListener; public class GAlignFrame extends JInternalFrame { + protected static final String USER_DEFINED_COLOUR_SCHEME = "USER_DEFINED"; + protected JMenuBar alignFrameMenuBar = new JMenuBar(); protected JMenuItem closeMenuItem = new JMenuItem(); @@ -72,9 +79,9 @@ public class GAlignFrame extends JInternalFrame protected JMenuItem webServiceNoServices; - public JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem(); - public JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem(); protected JMenu sortByAnnotScore = new JMenu(); @@ -82,58 +89,59 @@ public class GAlignFrame extends JInternalFrame protected JMenu outputTextboxMenu = new JMenu(); - protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem textColour; + + protected JRadioButtonMenuItem clustalColour; - protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem zappoColour; - protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem taylorColour; - protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem hydrophobicityColour; - protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem helixColour; - protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem strandColour; - protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem turnColour; - protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem buriedColour; - protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem userDefinedColour; - protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem PIDColour; - protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem BLOSUM62Colour; - protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem nucleotideColour; - protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem purinePyrimidineColour; - protected JRadioButtonMenuItem RNAInteractionColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem RNAInteractionColour; - // protected JRadioButtonMenuItem covariationColour = new - // JRadioButtonMenuItem(); + // protected JRadioButtonMenuItem covariationColour; - protected JRadioButtonMenuItem tcoffeeColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem tcoffeeColour; - public JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem(); - public JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem(); - public JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem(); protected JMenuItem undoMenuItem = new JMenuItem(); protected JMenuItem redoMenuItem = new JMenuItem(); - public JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem conservationMenuItem; - JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem(); + JRadioButtonMenuItem noColourmenuItem; - public JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem(); - public JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem(); - public JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem abovePIDThreshold; public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem(); @@ -143,17 +151,21 @@ public class GAlignFrame extends JInternalFrame JMenu pasteMenu = new JMenu(); - public JCheckBoxMenuItem applyToAllGroups = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem applyToAllGroups; + + protected JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem(); + + protected JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem(); - public JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem(); - public JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem(); - public JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem(); + protected JMenuItem modifyPID; - public JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem(); + protected JMenuItem modifyConservation; - protected JMenuItem modifyConservation = new JMenuItem(); + protected JMenuItem annotationColour; protected JMenu sortByTreeMenu = new JMenu(); @@ -179,7 +191,7 @@ public class GAlignFrame extends JInternalFrame protected JMenuItem runGroovy = new JMenuItem(); - protected JMenuItem rnahelicesColour = new JMenuItem(); + protected JMenuItem rnahelicesColour; protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem(); @@ -265,7 +277,7 @@ public class GAlignFrame extends JInternalFrame System.err.println(e.toString()); } - if (!jalview.util.Platform.isAMac()) + if (!Platform.isAMac()) { closeMenuItem.setMnemonic('C'); outputTextboxMenu.setMnemonic('T'); @@ -276,201 +288,78 @@ public class GAlignFrame extends JInternalFrame pasteMenu.setMnemonic('P'); reload.setMnemonic('R'); } - - if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null) - { - java.util.Enumeration userColours = jalview.gui.UserDefinedColours - .getUserColourSchemes().keys(); - - while (userColours.hasMoreElements()) - { - final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem( - userColours.nextElement().toString()); - radioItem.setName("USER_DEFINED"); - radioItem.addMouseListener(new MouseAdapter() - { - @Override - public void mousePressed(MouseEvent evt) - { - if (evt.isPopupTrigger()) // Mac - { - offerRemoval(radioItem); - } - } - - @Override - public void mouseReleased(MouseEvent evt) - { - if (evt.isPopupTrigger()) // Windows - { - offerRemoval(radioItem); - } - } - - /** - * @param radioItem - */ - void offerRemoval(final JRadioButtonMenuItem radioItem) - { - radioItem.removeActionListener(radioItem.getActionListeners()[0]); - - int option = JvOptionPane.showInternalConfirmDialog( - jalview.gui.Desktop.desktop, MessageManager - .getString("label.remove_from_default_list"), - MessageManager - .getString("label.remove_user_defined_colour"), - JvOptionPane.YES_NO_OPTION); - if (option == JvOptionPane.YES_OPTION) - { - jalview.gui.UserDefinedColours - .removeColourFromDefaults(radioItem.getText()); - colourMenu.remove(radioItem); - } - else - { - radioItem.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent evt) - { - userDefinedColour_actionPerformed(evt); - } - }); - } - } - }); - radioItem.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent evt) - { - userDefinedColour_actionPerformed(evt); - } - }); - colourMenu.insert(radioItem, 15); - colours.add(radioItem); - } - } - colours.add(noColourmenuItem); - colours.add(clustalColour); - colours.add(zappoColour); - colours.add(taylorColour); - colours.add(hydrophobicityColour); - colours.add(helixColour); - colours.add(strandColour); - colours.add(turnColour); - colours.add(buriedColour); - colours.add(userDefinedColour); - colours.add(PIDColour); - colours.add(BLOSUM62Colour); - colours.add(nucleotideColour); - colours.add(purinePyrimidineColour); - // colours.add(covariationColour); - colours.add(tcoffeeColour); - colours.add(RNAInteractionColour); - setColourSelected(jalview.bin.Cache.getDefault( - Preferences.DEFAULT_COLOUR, "None")); } public void setColourSelected(String defaultColour) { - - if (defaultColour != null) + JalviewColourScheme scheme = JalviewColourScheme.forName(defaultColour); + if (scheme == null) + { + noColourmenuItem.setSelected(true); + return; + } + switch (scheme) { - int index = ColourSchemeProperty - .getColourIndexFromName(defaultColour); - switch (index) - { - case ColourSchemeProperty.CLUSTAL: + case Clustal: clustalColour.setSelected(true); - break; - - case ColourSchemeProperty.BLOSUM: + case Blosum62: BLOSUM62Colour.setSelected(true); - break; - - case ColourSchemeProperty.PID: + case PID: PIDColour.setSelected(true); - break; - - case ColourSchemeProperty.ZAPPO: + case Zappo: zappoColour.setSelected(true); - break; - - case ColourSchemeProperty.TAYLOR: + case Taylor: taylorColour.setSelected(true); break; - - case ColourSchemeProperty.HYDROPHOBIC: + case Hydrophobic: hydrophobicityColour.setSelected(true); - break; - - case ColourSchemeProperty.HELIX: + case Helix: helixColour.setSelected(true); - break; - - case ColourSchemeProperty.STRAND: + case Strand: strandColour.setSelected(true); - break; - - case ColourSchemeProperty.TURN: + case Turn: turnColour.setSelected(true); - break; - - case ColourSchemeProperty.BURIED: + case Buried: buriedColour.setSelected(true); - break; - - case ColourSchemeProperty.NUCLEOTIDE: + case Nucleotide: nucleotideColour.setSelected(true); - break; - - case ColourSchemeProperty.TCOFFEE: + case TCoffee: tcoffeeColour.setSelected(true); break; - - case ColourSchemeProperty.PURINEPYRIMIDINE: + case PurinePyrimidine: purinePyrimidineColour.setSelected(true); - - break; - - case ColourSchemeProperty.RNAINTERACTION: - RNAInteractionColour.setSelected(true); - break; - /* - * case ColourSchemeProperty.COVARIATION: - * covariationColour.setSelected(true); - * - * break; - */ - case ColourSchemeProperty.USER_DEFINED: + // case RNAInteraction: + // RNAInteractionColour.setSelected(true); + // break; + case RNAHelices: + rnahelicesColour.setSelected(true); + break; + case UserDefined: userDefinedColour.setSelected(true); - break; - case ColourSchemeProperty.NONE: default: noColourmenuItem.setSelected(true); break; - } - } - } private void jbInit() throws Exception { + initColourMenu(); + buildColourMenu(); + JMenuItem saveAs = new JMenuItem( MessageManager.getString("action.save_as")); ActionListener al = new ActionListener() @@ -481,6 +370,8 @@ public class GAlignFrame extends JInternalFrame saveAs_actionPerformed(e); } }; + + // FIXME getDefaultToolkit throws an exception in Headless mode KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit .getDefaultToolkit().getMenuShortcutKeyMask() | KeyEvent.SHIFT_MASK, false); @@ -669,7 +560,7 @@ public class GAlignFrame extends JInternalFrame } }); showNonconservedMenuItem.setText(MessageManager - .getString("label.show_non_conversed")); + .getString("label.show_non_conserved")); showNonconservedMenuItem.setState(false); showNonconservedMenuItem.addActionListener(new ActionListener() { @@ -783,146 +674,7 @@ public class GAlignFrame extends JInternalFrame statusBar.setText(MessageManager.getString("label.status_bar")); outputTextboxMenu.setText(MessageManager .getString("label.out_to_textbox")); - clustalColour.setText(MessageManager.getString("label.clustalx")); - clustalColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - clustalColour_actionPerformed(e); - } - }); - zappoColour.setText(MessageManager.getString("label.zappo")); - zappoColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - zappoColour_actionPerformed(e); - } - }); - taylorColour.setText(MessageManager.getString("label.taylor")); - taylorColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - taylorColour_actionPerformed(e); - } - }); - hydrophobicityColour.setText(MessageManager - .getString("label.hydrophobicity")); - hydrophobicityColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - hydrophobicityColour_actionPerformed(e); - } - }); - helixColour.setText(MessageManager.getString("label.helix_propensity")); - helixColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - helixColour_actionPerformed(e); - } - }); - strandColour.setText(MessageManager - .getString("label.strand_propensity")); - strandColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - strandColour_actionPerformed(e); - } - }); - turnColour.setText(MessageManager.getString("label.turn_propensity")); - turnColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - turnColour_actionPerformed(e); - } - }); - buriedColour.setText(MessageManager.getString("label.buried_index")); - buriedColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - buriedColour_actionPerformed(e); - } - }); - userDefinedColour.setText(MessageManager - .getString("action.user_defined")); - userDefinedColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - userDefinedColour_actionPerformed(e); - } - }); - PIDColour - .setText(MessageManager.getString("label.percentage_identity")); - PIDColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - PIDColour_actionPerformed(e); - } - }); - BLOSUM62Colour - .setText(MessageManager.getString("label.blosum62_score")); - BLOSUM62Colour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - BLOSUM62Colour_actionPerformed(e); - } - }); - nucleotideColour.setText(MessageManager.getString("label.nucleotide")); - nucleotideColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - nucleotideColour_actionPerformed(e); - } - }); - - purinePyrimidineColour.setText(MessageManager - .getString("label.purine_pyrimidine")); - purinePyrimidineColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - purinePyrimidineColour_actionPerformed(e); - } - }); - RNAInteractionColour.setText("RNA Interaction type"); - RNAInteractionColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - RNAInteractionColour_actionPerformed(e); - } - }); - /* - * covariationColour.setText("Covariation"); - * covariationColour.addActionListener(new ActionListener() { public void - * actionPerformed(ActionEvent e) { covariationColour_actionPerformed(e); } - * }); - */ JMenuItem avDistanceTreeBlosumMenuItem = new JMenuItem( MessageManager.getString("label.average_distance_bloslum62")); @@ -1039,7 +791,8 @@ public class GAlignFrame extends JInternalFrame sortAnnotations_actionPerformed(); } }); - colourTextMenuItem.setText(MessageManager + colourTextMenuItem = new JCheckBoxMenuItem( + MessageManager .getString("label.colour_text")); colourTextMenuItem.addActionListener(new ActionListener() { @@ -1111,25 +864,6 @@ public class GAlignFrame extends JInternalFrame }; addMenuActionAndAccelerator(keyStroke, redoMenuItem, al); - conservationMenuItem.setText(MessageManager - .getString("action.by_conservation")); - conservationMenuItem.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - conservationMenuItem_actionPerformed(e); - } - }); - noColourmenuItem.setText(MessageManager.getString("label.none")); - noColourmenuItem.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - noColourmenuItem_actionPerformed(e); - } - }); wrapMenuItem.setText(MessageManager.getString("label.wrap")); wrapMenuItem.addActionListener(new ActionListener() { @@ -1182,16 +916,6 @@ public class GAlignFrame extends JInternalFrame }; addMenuActionAndAccelerator(keyStroke, findMenuItem, al); - abovePIDThreshold.setText(MessageManager - .getString("label.above_identity_threshold")); - abovePIDThreshold.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - abovePIDThreshold_actionPerformed(e); - } - }); showSeqFeatures.setText(MessageManager .getString("label.show_sequence_features")); showSeqFeatures.addActionListener(new ActionListener() @@ -1337,42 +1061,31 @@ public class GAlignFrame extends JInternalFrame } }); - nucleotideColour.setText(MessageManager.getString("label.nucleotide")); - nucleotideColour.addActionListener(new ActionListener() + JMenuItem deleteGroups = new JMenuItem( + MessageManager.getString("action.undefine_groups")); + keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U, Toolkit + .getDefaultToolkit().getMenuShortcutKeyMask(), false); + al = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - nucleotideColour_actionPerformed(e); + deleteGroups_actionPerformed(e); } - }); + }; + addMenuActionAndAccelerator(keyStroke, deleteGroups, al); - tcoffeeColour.setText(MessageManager.getString("label.tcoffee_scores")); - tcoffeeColour.setEnabled(false); - tcoffeeColour.addActionListener(new ActionListener() + JMenuItem annotationColumn = new JMenuItem( + MessageManager.getString("action.select_by_annotation")); + annotationColumn.addActionListener(new ActionListener() { - @Override public void actionPerformed(ActionEvent e) { - tcoffeeColorScheme_actionPerformed(e); + annotationColumn_actionPerformed(e); } }); - JMenuItem deleteGroups = new JMenuItem( - MessageManager.getString("action.undefine_groups")); - keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U, Toolkit - .getDefaultToolkit().getMenuShortcutKeyMask(), false); - al = new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - deleteGroups_actionPerformed(e); - } - }; - addMenuActionAndAccelerator(keyStroke, deleteGroups, al); - JMenuItem createGroup = new JMenuItem( MessageManager.getString("action.create_groups")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit @@ -1470,16 +1183,6 @@ public class GAlignFrame extends JInternalFrame }; addMenuActionAndAccelerator(keyStroke, pasteThis, al); - applyToAllGroups.setText(MessageManager - .getString("label.apply_colour_to_all_groups")); - applyToAllGroups.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - applyToAllGroups_actionPerformed(e); - } - }); JMenuItem createPNG = new JMenuItem("PNG"); createPNG.addActionListener(new ActionListener() { @@ -1604,26 +1307,6 @@ public class GAlignFrame extends JInternalFrame }); - JMenuItem modifyPID = new JMenuItem( - MessageManager.getString("label.modify_identity_threshold")); - modifyPID.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - modifyPID_actionPerformed(e); - } - }); - modifyConservation.setText(MessageManager - .getString("label.modify_conservation_threshold")); - modifyConservation.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - modifyConservation_actionPerformed(e); - } - }); sortByTreeMenu .setText(MessageManager.getString("action.by_tree_order")); sort.setText(MessageManager.getString("action.sort")); @@ -1773,39 +1456,6 @@ public class GAlignFrame extends JInternalFrame } }); - JMenuItem annotationColour = new JMenuItem( - MessageManager.getString("action.by_annotation")); - annotationColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - annotationColour_actionPerformed(e); - } - }); - - JMenuItem annotationColumn = new JMenuItem( - 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); - } - }); - JMenuItem associatedData = new JMenuItem( MessageManager.getString("label.load_features_annotations")); associatedData.addActionListener(new ActionListener() @@ -2112,16 +1762,7 @@ public class GAlignFrame extends JInternalFrame tabbedPane.setToolTipText("" + MessageManager.getString("label.rename_tab_eXpand_reGroup") + ""); - JMenuItem textColour = new JMenuItem( - MessageManager.getString("action.set_text_colour")); - textColour.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - textColour_actionPerformed(e); - } - }); + formatMenu.setText(MessageManager.getString("action.format")); JMenu selectMenu = new JMenu(MessageManager.getString("action.select")); idRightAlign.setText(MessageManager @@ -2303,33 +1944,6 @@ public class GAlignFrame extends JInternalFrame autoAnnMenu.add(showGroupConsensus); annotationsMenu.add(autoAnnMenu); - colourMenu.add(applyToAllGroups); - colourMenu.add(textColour); - colourMenu.addSeparator(); - colourMenu.add(noColourmenuItem); - colourMenu.add(clustalColour); - colourMenu.add(BLOSUM62Colour); - colourMenu.add(PIDColour); - colourMenu.add(zappoColour); - colourMenu.add(taylorColour); - colourMenu.add(hydrophobicityColour); - colourMenu.add(helixColour); - colourMenu.add(strandColour); - colourMenu.add(turnColour); - colourMenu.add(buriedColour); - colourMenu.add(nucleotideColour); - colourMenu.add(purinePyrimidineColour); - colourMenu.add(RNAInteractionColour); - // colourMenu.add(covariationColour); - colourMenu.add(tcoffeeColour); - colourMenu.add(userDefinedColour); - colourMenu.addSeparator(); - colourMenu.add(conservationMenuItem); - colourMenu.add(modifyConservation); - colourMenu.add(abovePIDThreshold); - colourMenu.add(modifyPID); - colourMenu.add(annotationColour); - colourMenu.add(rnahelicesColour); sort.add(sortIDMenuItem); sort.add(sortLengthMenuItem); @@ -2402,6 +2016,410 @@ public class GAlignFrame extends JInternalFrame // selectMenu.add(listenToViewSelections); } + /** + * Rebuilds the Colour menu, including any user-defined colours which have + * been loaded either on startup or during the session + */ + public void buildColourMenu() + { + colourMenu.removeAll(); + colours = new ButtonGroup(); + + colourMenu.add(applyToAllGroups); + colourMenu.add(textColour); + colourMenu.addSeparator(); + colourMenu.add(noColourmenuItem); + colourMenu.add(clustalColour); + colourMenu.add(BLOSUM62Colour); + colourMenu.add(PIDColour); + colourMenu.add(zappoColour); + colourMenu.add(taylorColour); + colourMenu.add(hydrophobicityColour); + colourMenu.add(helixColour); + colourMenu.add(strandColour); + colourMenu.add(turnColour); + colourMenu.add(buriedColour); + colourMenu.add(nucleotideColour); + colourMenu.add(purinePyrimidineColour); + // colourMenu.add(RNAInteractionColour); + // colourMenu.add(covariationColour); + colourMenu.add(tcoffeeColour); + + /* + * add any user-defined colours + */ + Map userColourSchemes = UserDefinedColours + .getUserColourSchemes(); + if (userColourSchemes != null) + { + for (String userColour : userColourSchemes.keySet()) + { + final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem( + userColour); + radioItem.setName(USER_DEFINED_COLOUR_SCHEME); + radioItem.addMouseListener(new MouseAdapter() + { + @Override + public void mousePressed(MouseEvent evt) + { + if (evt.isPopupTrigger()) // Mac + { + offerRemoval(); + } + } + + @Override + public void mouseReleased(MouseEvent evt) + { + if (evt.isPopupTrigger()) // Windows + { + offerRemoval(); + } + } + + void offerRemoval() + { + radioItem.removeActionListener(radioItem.getActionListeners()[0]); + + int option = JvOptionPane.showInternalConfirmDialog( + Desktop.desktop, MessageManager + .getString("label.remove_from_default_list"), + MessageManager + .getString("label.remove_user_defined_colour"), + JvOptionPane.YES_NO_OPTION); + if (option == JvOptionPane.YES_OPTION) + { + UserDefinedColours.removeColourFromDefaults(radioItem + .getText()); + colourMenu.remove(radioItem); + } + else + { + radioItem.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent evt) + { + userDefinedColour_actionPerformed(evt); + } + }); + } + } + }); + radioItem.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent evt) + { + userDefinedColour_actionPerformed(evt); + } + }); + colourMenu.add(radioItem); + colours.add(radioItem); + } + } + + colourMenu.add(userDefinedColour); + colourMenu.addSeparator(); + colourMenu.add(conservationMenuItem); + colourMenu.add(modifyConservation); + colourMenu.add(abovePIDThreshold); + colourMenu.add(modifyPID); + colourMenu.add(annotationColour); + colourMenu.add(rnahelicesColour); + + /* + * add colours to a ButtonGroup to make their + * selection mutually exclusive + */ + colours.add(noColourmenuItem); + colours.add(clustalColour); + colours.add(zappoColour); + colours.add(taylorColour); + colours.add(hydrophobicityColour); + colours.add(helixColour); + colours.add(strandColour); + colours.add(turnColour); + colours.add(buriedColour); + colours.add(userDefinedColour); + colours.add(PIDColour); + colours.add(BLOSUM62Colour); + colours.add(nucleotideColour); + colours.add(purinePyrimidineColour); + // colours.add(covariationColour); + colours.add(tcoffeeColour); + colours.add(RNAInteractionColour); + setColourSelected(Cache.getDefault(Preferences.DEFAULT_COLOUR, + ResidueColourScheme.NONE)); + + } + + /** + * Constructs the entries on the Colour menu (but does not add them to the + * menu) + */ + protected void initColourMenu() + { + applyToAllGroups = new JCheckBoxMenuItem( + MessageManager.getString("label.apply_colour_to_all_groups")); + applyToAllGroups.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + applyToAllGroups_actionPerformed(); + } + }); + + textColour = new JRadioButtonMenuItem( + MessageManager.getString("action.set_text_colour")); + textColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + textColour_actionPerformed(); + } + }); + clustalColour = new JRadioButtonMenuItem( + MessageManager.getString("label.clustalx")); + clustalColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + clustalColour_actionPerformed(); + } + }); + zappoColour = new JRadioButtonMenuItem( + MessageManager.getString("label.zappo")); + zappoColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + zappoColour_actionPerformed(); + } + }); + taylorColour = new JRadioButtonMenuItem( + MessageManager.getString("label.taylor")); + taylorColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + taylorColour_actionPerformed(); + } + }); + hydrophobicityColour = new JRadioButtonMenuItem( + MessageManager + .getString("label.hydrophobicity")); + hydrophobicityColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + hydrophobicityColour_actionPerformed(); + } + }); + helixColour = new JRadioButtonMenuItem( + MessageManager.getString("label.helix_propensity")); + helixColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + helixColour_actionPerformed(); + } + }); + strandColour = new JRadioButtonMenuItem( + MessageManager + .getString("label.strand_propensity")); + strandColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + strandColour_actionPerformed(); + } + }); + turnColour = new JRadioButtonMenuItem( + MessageManager.getString("label.turn_propensity")); + turnColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + turnColour_actionPerformed(); + } + }); + buriedColour = new JRadioButtonMenuItem( + MessageManager.getString("label.buried_index")); + buriedColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + buriedColour_actionPerformed(); + } + }); + userDefinedColour = new JRadioButtonMenuItem( + MessageManager + .getString("action.user_defined")); + userDefinedColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + userDefinedColour_actionPerformed(e); + } + }); + PIDColour = new JRadioButtonMenuItem( + MessageManager.getString("label.percentage_identity")); + PIDColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + PIDColour_actionPerformed(); + } + }); + BLOSUM62Colour = new JRadioButtonMenuItem( + MessageManager.getString("label.blosum62_score")); + BLOSUM62Colour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + BLOSUM62Colour_actionPerformed(); + } + }); + nucleotideColour = new JRadioButtonMenuItem( + MessageManager.getString("label.nucleotide")); + nucleotideColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + nucleotideColour_actionPerformed(); + } + }); + purinePyrimidineColour = new JRadioButtonMenuItem( + MessageManager.getString("label.purine_pyrimidine")); + purinePyrimidineColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + purinePyrimidineColour_actionPerformed(); + } + }); + + tcoffeeColour = new JRadioButtonMenuItem( + MessageManager.getString("label.tcoffee_scores")); + tcoffeeColour.setEnabled(false); + tcoffeeColour.addActionListener(new ActionListener() + { + + @Override + public void actionPerformed(ActionEvent e) + { + tcoffeeColorScheme_actionPerformed(); + } + }); + + RNAInteractionColour = new JRadioButtonMenuItem("RNA Interaction type"); + RNAInteractionColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + RNAInteractionColour_actionPerformed(); + } + }); + /* + * covariationColour = new JRadioButtonMenuItem("Covariation"); + * covariationColour.addActionListener(new ActionListener() { public void + * actionPerformed(ActionEvent e) { covariationColour_actionPerformed(); } + * }); + */ + + conservationMenuItem = new JCheckBoxMenuItem( + MessageManager.getString("action.by_conservation")); + conservationMenuItem.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + conservationMenuItem_actionPerformed(); + } + }); + noColourmenuItem = new JRadioButtonMenuItem( + MessageManager.getString("label.none")); + noColourmenuItem.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + noColourmenuItem_actionPerformed(); + } + }); + + abovePIDThreshold = new JCheckBoxMenuItem( + MessageManager.getString("label.above_identity_threshold")); + abovePIDThreshold.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + abovePIDThreshold_actionPerformed(); + } + }); + modifyPID = new JMenuItem( + MessageManager.getString("label.modify_identity_threshold")); + modifyPID.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + modifyPID_actionPerformed(); + } + }); + modifyConservation = new JMenuItem( + MessageManager + .getString("label.modify_conservation_threshold")); + modifyConservation.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + modifyConservation_actionPerformed(); + } + }); + + annotationColour = new JMenuItem( + MessageManager.getString("action.by_annotation")); + annotationColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + annotationColour_actionPerformed(); + } + }); + + rnahelicesColour = new JMenuItem( + MessageManager.getString("action.by_rna_helixes")); + rnahelicesColour.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + rnahelicesColour_actionPerformed(); + } + }); + } + protected void selectHighlightedColumns_actionPerformed( ActionEvent actionEvent) { @@ -2757,35 +2775,35 @@ public class GAlignFrame extends JInternalFrame { } - protected void clustalColour_actionPerformed(ActionEvent e) + protected void clustalColour_actionPerformed() { } - protected void zappoColour_actionPerformed(ActionEvent e) + protected void zappoColour_actionPerformed() { } - protected void taylorColour_actionPerformed(ActionEvent e) + protected void taylorColour_actionPerformed() { } - protected void hydrophobicityColour_actionPerformed(ActionEvent e) + protected void hydrophobicityColour_actionPerformed() { } - protected void helixColour_actionPerformed(ActionEvent e) + protected void helixColour_actionPerformed() { } - protected void strandColour_actionPerformed(ActionEvent e) + protected void strandColour_actionPerformed() { } - protected void turnColour_actionPerformed(ActionEvent e) + protected void turnColour_actionPerformed() { } - protected void buriedColour_actionPerformed(ActionEvent e) + protected void buriedColour_actionPerformed() { } @@ -2793,31 +2811,31 @@ public class GAlignFrame extends JInternalFrame { } - protected void PIDColour_actionPerformed(ActionEvent e) + protected void PIDColour_actionPerformed() { } - protected void BLOSUM62Colour_actionPerformed(ActionEvent e) + protected void BLOSUM62Colour_actionPerformed() { } - protected void purinePyrimidineColour_actionPerformed(ActionEvent e) + protected void purinePyrimidineColour_actionPerformed() { } - protected void RNAInteractionColour_actionPerformed(ActionEvent e) + protected void RNAInteractionColour_actionPerformed() { } /* - * protected void covariationColour_actionPerformed(ActionEvent e) { } + * protected void covariationColour_actionPerformed() { } */ - protected void noColourmenuItem_actionPerformed(ActionEvent e) + protected void noColourmenuItem_actionPerformed() { } - protected void conservationMenuItem_actionPerformed(ActionEvent e) + protected void conservationMenuItem_actionPerformed() { } @@ -2833,7 +2851,7 @@ public class GAlignFrame extends JInternalFrame { } - protected void abovePIDThreshold_actionPerformed(ActionEvent e) + protected void abovePIDThreshold_actionPerformed() { } @@ -2841,7 +2859,7 @@ public class GAlignFrame extends JInternalFrame { } - protected void nucleotideColour_actionPerformed(ActionEvent e) + protected void nucleotideColour_actionPerformed() { } @@ -2877,7 +2895,7 @@ public class GAlignFrame extends JInternalFrame { } - protected void applyToAllGroups_actionPerformed(ActionEvent e) + protected void applyToAllGroups_actionPerformed() { } @@ -2929,11 +2947,8 @@ public class GAlignFrame extends JInternalFrame * Template method to handle the 'Color T-Coffee scores' menu event. *

* Subclasses override this method to provide a custom action. - * - * @param event - * The raised event */ - protected void tcoffeeColorScheme_actionPerformed(ActionEvent event) + protected void tcoffeeColorScheme_actionPerformed() { } @@ -2954,11 +2969,11 @@ public class GAlignFrame extends JInternalFrame { } - protected void modifyPID_actionPerformed(ActionEvent e) + protected void modifyPID_actionPerformed() { } - protected void modifyConservation_actionPerformed(ActionEvent e) + protected void modifyConservation_actionPerformed() { } @@ -3000,17 +3015,15 @@ public class GAlignFrame extends JInternalFrame } - public void annotationColour_actionPerformed(ActionEvent e) + public void annotationColour_actionPerformed() { - } public void annotationColumn_actionPerformed(ActionEvent e) { - } - public void rnahelicesColour_actionPerformed(ActionEvent e) + public void rnahelicesColour_actionPerformed() { } @@ -3105,7 +3118,7 @@ public class GAlignFrame extends JInternalFrame } - public void textColour_actionPerformed(ActionEvent e) + public void textColour_actionPerformed() { }