X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fappletgui%2FAlignFrame.java;h=fd426d3effe0243ff0610c8d848679a765185c66;hb=8d2724b83aca38ef75d68787cc5939d950467e63;hp=865f0d485bb4daf71879902d5d134169367a8178;hpb=21c29b20790ac555b2e2a124a034f6c6b4486270;p=jalview.git diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index 865f0d4..fd426d3 100644 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -1,6 +1,6 @@ /* - * 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 2.8.0b1) + * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. * @@ -14,11 +14,14 @@ * 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 . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.appletgui; import jalview.analysis.AlignmentSorter; import jalview.analysis.Conservation; +import jalview.api.AlignViewControllerGuiI; +import jalview.api.AlignViewControllerI; import jalview.api.SequenceStructureBinding; import jalview.bin.JalviewLite; import jalview.commands.CommandI; @@ -50,6 +53,7 @@ import jalview.schemes.NucleotideColourScheme; import jalview.schemes.PIDColourScheme; import jalview.schemes.PurinePyrimidineColourScheme; import jalview.schemes.RNAHelicesColourChooser; +import jalview.schemes.RNAInteractionColourScheme; import jalview.schemes.ResidueProperties; import jalview.schemes.StrandColourScheme; import jalview.schemes.TCoffeeColourScheme; @@ -91,8 +95,9 @@ import java.util.StringTokenizer; import java.util.Vector; public class AlignFrame extends EmbmenuFrame implements ActionListener, - ItemListener, KeyListener + ItemListener, KeyListener, AlignViewControllerGuiI { + public AlignViewControllerI avc; public AlignmentPanel alignPanel; public AlignViewport viewport; @@ -121,7 +126,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, viewport = new AlignViewport(al, applet); alignPanel = new AlignmentPanel(this, viewport); - + avc = new jalview.controller.AlignViewController(this, viewport, alignPanel); viewport.updateConservation(alignPanel); viewport.updateConsensus(alignPanel); @@ -542,6 +547,20 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, } break; + case KeyEvent.VK_G: + if (evt.isControlDown()) + { + if (evt.isShiftDown()) + { + this.unGroup_actionPerformed(); + } + else + { + this.createGroup_actionPerformed(); + } + } + break; + case KeyEvent.VK_U: if (evt.isControlDown()) { @@ -1022,6 +1041,10 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, { changeColour(new PurinePyrimidineColourScheme()); } + else if (source == RNAInteractionColour) + { + changeColour(new RNAInteractionColourScheme()); + } else if (source == RNAHelixColour) { new RNAHelicesColourChooser(viewport, alignPanel); @@ -1887,41 +1910,30 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, protected void makeGrpsFromSelection_actionPerformed() { - if (viewport.getSelectionGroup() != null) - { - SequenceGroup[] gps = jalview.analysis.Grouping.makeGroupsFrom( - viewport.getSequenceSelection(), - viewport.getAlignmentView(true).getSequenceStrings( - viewport.getGapCharacter()), viewport.getAlignment() - .getGroups()); - viewport.getAlignment().deleteAllGroups(); - viewport.sequenceColours = null; - viewport.setSelectionGroup(null); - // set view properties for each group - for (int g = 0; g < gps.length; g++) - { - // gps[g].setShowunconserved(viewport.getShowUnconserved()); - gps[g].setshowSequenceLogo(viewport.isShowSequenceLogo()); - viewport.getAlignment().addGroup(gps[g]); - Color col = new Color((int) (Math.random() * 255), - (int) (Math.random() * 255), (int) (Math.random() * 255)); - col = col.brighter(); - for (SequenceI sq : gps[g].getSequences(null)) - viewport.setSequenceColour(sq, col); - } + if (avc.makeGroupsFromSelection()) { PaintRefresher.Refresh(this, viewport.getSequenceSetId()); alignPanel.updateAnnotation(); alignPanel.paintAlignment(true); } } + protected void createGroup_actionPerformed() + { + avc.createGroup(); + } + protected void unGroup_actionPerformed() + { + if (avc.unGroup()) + { + alignPanel.alignmentChanged(); + } + } protected void deleteGroups_actionPerformed() { - viewport.getAlignment().deleteAllGroups(); - viewport.sequenceColours = null; - viewport.setSelectionGroup(null); - - alignPanel.paintAlignment(true); + if (avc.deleteGroups()) + { + alignPanel.alignmentChanged(); + } } public void selectAllSequenceMenuItem_actionPerformed() @@ -2820,6 +2832,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, MenuItem purinePyrimidineColour = new MenuItem(); + MenuItem RNAInteractionColour = new MenuItem(); + MenuItem RNAHelixColour = new MenuItem(); MenuItem userDefinedColour = new MenuItem(); @@ -2866,6 +2880,10 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, MenuItem grpsFromSelection = new MenuItem(); + MenuItem createGroup = new MenuItem(); + + MenuItem unGroup = new MenuItem(); + MenuItem delete = new MenuItem(); MenuItem copy = new MenuItem(); @@ -3023,6 +3041,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, buriedColour.addActionListener(this); purinePyrimidineColour.setLabel(MessageManager.getString("label.purine_pyrimidine")); purinePyrimidineColour.addActionListener(this); + RNAInteractionColour.setLabel(MessageManager.getString("label.rna_interaction")); + RNAInteractionColour.addActionListener(this); RNAHelixColour.setLabel(MessageManager.getString("action.by_rna_helixes")); RNAHelixColour.addActionListener(this); userDefinedColour.setLabel(MessageManager.getString("action.user_defined")); @@ -3074,6 +3094,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, deleteGroups.addActionListener(this); grpsFromSelection.setLabel(MessageManager.getString("action.make_groups_selection")); grpsFromSelection.addActionListener(this); + createGroup.setLabel(MessageManager.getString("action.create_group")); + unGroup.setLabel(MessageManager.getString("action.remove_group")); copy.setLabel(MessageManager.getString("action.copy")); copy.addActionListener(this); cut.setLabel(MessageManager.getString("action.cut")); @@ -3247,6 +3269,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, colourMenu.add(buriedColour); colourMenu.add(nucleotideColour); colourMenu.add(purinePyrimidineColour); + // colourMenu.add(RNAInteractionColour); colourMenu.add(tcoffeeColour); colourMenu.add(userDefinedColour); colourMenu.addSeparator(); @@ -3302,11 +3325,18 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, selectMenu.add(deselectAllSequenceMenuItem); selectMenu.add(invertSequenceMenuItem); selectMenu.add(invertColSel); + selectMenu.add(createGroup); + selectMenu.add(unGroup); selectMenu.add(grpsFromSelection); selectMenu.add(deleteGroups); } + + public void setStatus(String string) { + statusBar.setText(string); + }; + MenuItem featureSettings = new MenuItem(); CheckboxMenuItem sequenceFeatures = new CheckboxMenuItem();