X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGAlignFrame.java;h=af7766a8ca5dd3c889081cea16ca208f95f39d07;hb=153dd62dc91da13ae732600e6ea55ddbe15eab39;hp=49ab7c100f4defd6a978ef8f26ee10f4ecc8e4f0;hpb=2de8acfae59aced665e4c37ad0f7dcc2ed68818e;p=jalview.git diff --git a/src/jalview/jbgui/GAlignFrame.java b/src/jalview/jbgui/GAlignFrame.java index 49ab7c1..af7766a 100755 --- a/src/jalview/jbgui/GAlignFrame.java +++ b/src/jalview/jbgui/GAlignFrame.java @@ -1,20 +1,19 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1) - * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) + * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle * - * This program 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 2 - * of the License, or (at your option) any later version. + * This file is part of Jalview. * - * This program 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. + * 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. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * 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 . */ package jalview.jbgui; @@ -122,7 +121,7 @@ public class GAlignFrame extends JInternalFrame public JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem(); - public JCheckBoxMenuItem showUnconservedMenuItem = new JCheckBoxMenuItem(); + public JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem(); JMenuItem htmlMenuItem = new JMenuItem(); @@ -147,6 +146,7 @@ public class GAlignFrame extends JInternalFrame public JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem(); public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem(); + public JCheckBoxMenuItem showSeqFeaturesHeight = new JCheckBoxMenuItem(); protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem(); @@ -196,7 +196,9 @@ public class GAlignFrame extends JInternalFrame JMenu jMenu2 = new JMenu(); protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem(); protected ButtonGroup colours = new ButtonGroup(); @@ -236,7 +238,7 @@ public class GAlignFrame extends JInternalFrame GridLayout gridLayout1 = new GridLayout(); JMenu jMenu3 = new JMenu(); - + JMenuItem showAllSeqs = new JMenuItem(); JMenuItem showAllColumns = new JMenuItem(); @@ -247,6 +249,12 @@ public class GAlignFrame extends JInternalFrame JMenuItem hideSelColumns = new JMenuItem(); + JMenuItem hideAllButSelection = new JMenuItem(); + + JMenuItem hideAllSelection = new JMenuItem(); + + JMenuItem showAllhidden = new JMenuItem(); + protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem(); JMenuItem invertColSel = new JMenuItem(); @@ -270,7 +278,7 @@ public class GAlignFrame extends JInternalFrame protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem(); protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem(); - + protected JMenuItem gatherViews = new JMenuItem(); protected JMenuItem expandViews = new JMenuItem(); @@ -278,13 +286,27 @@ public class GAlignFrame extends JInternalFrame JMenuItem pageSetup = new JMenuItem(); JMenuItem alignmentProperties = new JMenuItem(); - + JMenu tooltipSettingsMenu = new JMenu(); - private JMenuItem justifyLeftMenuItem=new JMenuItem(); + private JMenuItem justifyLeftMenuItem = new JMenuItem(); + + private JMenuItem justifyRightMenuItem = new JMenuItem(); + + JMenu autoAnnMenu = new JMenu(); + + protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem(); + + protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem(); + + protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem(); + + protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem(); + + protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem(); + + private JMenuItem grpsFromSelection = new JMenuItem(); - private JMenuItem justifyRightMenuItem=new JMenuItem(); - public GAlignFrame() { try @@ -408,9 +430,6 @@ public class GAlignFrame extends JInternalFrame switch (index) { - case ColourSchemeProperty.NONE: - noColourmenuItem.setSelected(true); - break; case ColourSchemeProperty.CLUSTAL: clustalColour.setSelected(true); @@ -469,6 +488,11 @@ public class GAlignFrame extends JInternalFrame userDefinedColour.setSelected(true); break; + case ColourSchemeProperty.NONE: + default: + noColourmenuItem.setSelected(true); + break; + } } @@ -540,6 +564,15 @@ public class GAlignFrame extends JInternalFrame invertSequenceMenuItem_actionPerformed(e); } }); + grpsFromSelection.setText("Make Groups for selection"); + grpsFromSelection.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + makeGrpsFromSelection_actionPerformed(e); + } + }); + remove2LeftMenuItem.setText("Remove Left"); remove2LeftMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_L, Toolkit.getDefaultToolkit() @@ -590,21 +623,23 @@ public class GAlignFrame extends JInternalFrame } }); justifyLeftMenuItem.setText("Left Justify Alignment"); - justifyLeftMenuItem.addActionListener(new java.awt.event.ActionListener() - { - public void actionPerformed(ActionEvent e) - { - justifyLeftMenuItem_actionPerformed(e); - } - }); + justifyLeftMenuItem + .addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + justifyLeftMenuItem_actionPerformed(e); + } + }); justifyRightMenuItem.setText("Right Justify Alignment"); - justifyRightMenuItem.addActionListener(new java.awt.event.ActionListener() - { - public void actionPerformed(ActionEvent e) - { - justifyRightMenuItem_actionPerformed(e); - } - }); + justifyRightMenuItem + .addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + justifyRightMenuItem_actionPerformed(e); + } + }); viewBoxesMenuItem.setText("Boxes"); viewBoxesMenuItem.setState(true); viewBoxesMenuItem.addActionListener(new java.awt.event.ActionListener() @@ -623,15 +658,16 @@ public class GAlignFrame extends JInternalFrame viewTextMenuItem_actionPerformed(e); } }); - showUnconservedMenuItem.setText("Show Unconserved"); - showUnconservedMenuItem.setState(false); - showUnconservedMenuItem.addActionListener(new java.awt.event.ActionListener() - { - public void actionPerformed(ActionEvent e) - { - showUnconservedMenuItem_actionPerformed(e); - } - }); + showNonconservedMenuItem.setText("Show nonconserved"); + showNonconservedMenuItem.setState(false); + showNonconservedMenuItem + .addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + showUnconservedMenuItem_actionPerformed(e); + } + }); sortPairwiseMenuItem.setText("by Pairwise Identity"); sortPairwiseMenuItem .addActionListener(new java.awt.event.ActionListener() @@ -650,13 +686,14 @@ public class GAlignFrame extends JInternalFrame } }); sortLengthMenuItem.setText("By Length"); - sortLengthMenuItem.addActionListener(new java.awt.event.ActionListener() - { - public void actionPerformed(ActionEvent e) - { - sortLengthMenuItem_actionPerformed(e); - } - }); + sortLengthMenuItem + .addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + sortLengthMenuItem_actionPerformed(e); + } + }); sortGroupMenuItem.setText("by Group"); sortGroupMenuItem.addActionListener(new java.awt.event.ActionListener() { @@ -962,14 +999,12 @@ public class GAlignFrame extends JInternalFrame showSeqFeatures_actionPerformed(actionEvent); } }); - showSeqFeaturesHeight.setText("Vary Sequence Feature Height"); - showSeqFeaturesHeight.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent actionEvent) - { - showSeqFeaturesHeight_actionPerformed(actionEvent); - } - }); + /* + * showSeqFeaturesHeight.setText("Vary Sequence Feature Height"); + * showSeqFeaturesHeight.addActionListener(new ActionListener() { public + * void actionPerformed(ActionEvent actionEvent) { + * showSeqFeaturesHeight_actionPerformed(actionEvent); } }); + */ showDbRefsMenuitem.setText("Show Database Refs"); showDbRefsMenuitem.addActionListener(new ActionListener() { @@ -978,7 +1013,7 @@ public class GAlignFrame extends JInternalFrame { showDbRefs_actionPerformed(e); } - + }); showNpFeatsMenuitem.setText("Show Non-Positional Features"); showNpFeatsMenuitem.addActionListener(new ActionListener() @@ -988,8 +1023,62 @@ public class GAlignFrame extends JInternalFrame { showNpFeats_actionPerformed(e); } - + }); + showGroupConservation.setText("Group Conservation"); + showGroupConservation.addActionListener(new ActionListener() + { + + public void actionPerformed(ActionEvent e) + { + showGroupConservation_actionPerformed(e); + } + + }); + + showGroupConsensus.setText("Group Consensus"); + showGroupConsensus.addActionListener(new ActionListener() + { + + public void actionPerformed(ActionEvent e) + { + showGroupConsensus_actionPerformed(e); + } + + }); + showConsensusHistogram.setText("Show Consensus Histogram"); + showConsensusHistogram.addActionListener(new ActionListener() + { + + public void actionPerformed(ActionEvent e) + { + showConsensusHistogram_actionPerformed(e); + } + + }); + showSequenceLogo.setText("Show Consensus Logo"); + showSequenceLogo.addActionListener(new ActionListener() + { + + public void actionPerformed(ActionEvent e) + { + showSequenceLogo_actionPerformed(e); + } + + }); + applyAutoAnnotationSettings.setText("Apply to all groups"); + applyAutoAnnotationSettings.setState(false); + applyAutoAnnotationSettings.setVisible(true); + applyAutoAnnotationSettings.addActionListener(new ActionListener() + { + + public void actionPerformed(ActionEvent e) + { + applyAutoAnnotationSettings_actionPerformed(e); + } + + }); + nucleotideColour.setText("Nucleotide"); nucleotideColour.addActionListener(new java.awt.event.ActionListener() { @@ -1168,9 +1257,9 @@ public class GAlignFrame extends JInternalFrame { followHighlight_actionPerformed(); } - + }); - + modifyPID.setText("Modify Identity Threshold..."); modifyPID.addActionListener(new java.awt.event.ActionListener() { @@ -1264,7 +1353,7 @@ public class GAlignFrame extends JInternalFrame } }); extractScores.setVisible(true); // JBPNote: TODO: make gui for regex based - // score extraction + // score extraction showProducts.setText("Get Cross References"); /* * showProducts.addActionListener(new ActionListener() { @@ -1359,6 +1448,7 @@ public class GAlignFrame extends JInternalFrame statusPanel.setLayout(gridLayout1); jMenu3.setText("Show"); showAllSeqs.setText("All Sequences"); + showAllSeqs.setToolTipText("Shift+H toggles sequence visiblity."); showAllSeqs.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -1367,6 +1457,7 @@ public class GAlignFrame extends JInternalFrame } }); showAllColumns.setText("All Columns"); + showAllColumns.setToolTipText("Ctrl+H toggles column visiblity."); showAllColumns.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -1376,6 +1467,7 @@ public class GAlignFrame extends JInternalFrame }); hideMenu.setText("Hide"); hideSelSequences.setText("Selected Sequences"); + hideSelSequences.setToolTipText("Shift+H toggles sequence visiblity."); hideSelSequences.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -1384,6 +1476,7 @@ public class GAlignFrame extends JInternalFrame } }); hideSelColumns.setText("Selected Columns"); + hideSelColumns.setToolTipText("Ctrl+H toggles column visiblity."); hideSelColumns.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -1391,6 +1484,34 @@ public class GAlignFrame extends JInternalFrame hideSelColumns_actionPerformed(e); } }); + hideAllSelection.setText("Selected Region"); + hideAllSelection.addActionListener(new ActionListener() + { + 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.addActionListener(new ActionListener() + { + 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.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + showAllhidden_actionPerformed(e); + } + }); + hiddenMarkers.setText("Show Hidden Markers"); hiddenMarkers.addActionListener(new ActionListener() { @@ -1524,6 +1645,7 @@ public class GAlignFrame extends JInternalFrame } }); tooltipSettingsMenu.setText("Sequence ID Tooltip"); + autoAnnMenu.setText("Autocalculated Annotation"); alignFrameMenuBar.add(fileMenu); alignFrameMenuBar.add(editMenu); alignFrameMenuBar.add(selectMenu); @@ -1564,9 +1686,10 @@ public class GAlignFrame extends JInternalFrame editMenu.add(removeRedundancyMenuItem); editMenu.addSeparator(); // dont add these yet in the CVS build - they cannot be undone! - editMenu.add(justifyLeftMenuItem); - editMenu.add(justifyRightMenuItem); - editMenu.addSeparator(); + // Excluded from Jalview 2.5 release - undo needs to be implemented. + // editMenu.add(justifyLeftMenuItem); + // editMenu.add(justifyRightMenuItem); + // editMenu.addSeparator(); editMenu.add(padGapsMenuitem); viewMenu.add(newView); viewMenu.add(expandViews); @@ -1577,10 +1700,17 @@ public class GAlignFrame extends JInternalFrame viewMenu.addSeparator(); viewMenu.add(followHighlightMenuItem); viewMenu.add(annotationPanelMenuItem); + autoAnnMenu.add(applyAutoAnnotationSettings); + autoAnnMenu.add(showConsensusHistogram); + autoAnnMenu.add(showSequenceLogo); + autoAnnMenu.addSeparator(); + autoAnnMenu.add(showGroupConservation); + autoAnnMenu.add(showGroupConsensus); + viewMenu.add(autoAnnMenu); viewMenu.addSeparator(); viewMenu.add(showSeqFeatures); - viewMenu.add(showSeqFeaturesHeight); - + // viewMenu.add(showSeqFeaturesHeight); + viewMenu.add(featureSettings); tooltipSettingsMenu.add(showDbRefsMenuitem); tooltipSettingsMenu.add(showNpFeatsMenuitem); @@ -1646,8 +1776,12 @@ public class GAlignFrame extends JInternalFrame this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER); jMenu3.add(showAllColumns); jMenu3.add(showAllSeqs); + jMenu3.add(showAllhidden); hideMenu.add(hideSelColumns); hideMenu.add(hideSelSequences); + hideMenu.add(hideAllSelection); + hideMenu.add(hideAllButSelection); + formatMenu.add(font); formatMenu.addSeparator(); formatMenu.add(wrapMenuItem); @@ -1662,7 +1796,7 @@ public class GAlignFrame extends JInternalFrame formatMenu.add(colourTextMenuItem); formatMenu.add(renderGapsMenuItem); formatMenu.add(centreColumnLabelsMenuItem); - formatMenu.add(showUnconservedMenuItem); + formatMenu.add(showNonconservedMenuItem); selectMenu.add(findMenuItem); selectMenu.addSeparator(); selectMenu.add(selectAllSequenceMenuItem); @@ -1670,49 +1804,104 @@ public class GAlignFrame extends JInternalFrame selectMenu.add(invertSequenceMenuItem); selectMenu.add(invertColSel); selectMenu.add(deleteGroups); + selectMenu.add(grpsFromSelection); + } + + protected void showAllhidden_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void hideAllButSelection_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void hideAllSelection_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void showConsensusHistogram_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void showSequenceLogo_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void makeGrpsFromSelection_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void showGroupConsensus_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void showGroupConservation_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + } protected void showUnconservedMenuItem_actionPerformed(ActionEvent e) { // TODO Auto-generated method stub - + } protected void showSeqFeaturesHeight_actionPerformed( ActionEvent actionEvent) { // TODO Auto-generated method stub - + } protected void justifyRightMenuItem_actionPerformed(ActionEvent e) { // TODO Auto-generated method stub - + } protected void justifyLeftMenuItem_actionPerformed(ActionEvent e) { // TODO Auto-generated method stub - + } protected void followHighlight_actionPerformed() { // TODO Auto-generated method stub - + } protected void showNpFeats_actionPerformed(ActionEvent e) { // TODO Auto-generated method stub - + } protected void showDbRefs_actionPerformed(ActionEvent e) { // TODO Auto-generated method stub - + } protected void centreColumnLabels_actionPerformed(ActionEvent e)