X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fappletgui%2FAlignFrame.java;h=fae50d9e45073d08a22f98813773b311637f8fdb;hb=4f8907121d304b0f9b499578578c3381b815db9d;hp=613825747cda7cb262627c66f0aea9b87065c034;hpb=95a46891288f4fc63d690cab4f56879678f54fb6;p=jalview.git diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index 6138257..fae50d9 100755 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -46,8 +46,18 @@ public class AlignFrame alignPanel = new AlignmentPanel(this, viewport); add(alignPanel); alignPanel.validate(); + + this.addWindowListener(new WindowAdapter() + { + public void windowClosing(WindowEvent e) + { + closeMenuItem_actionPerformed(null); + } + }); + } + public AlignFrame(AlignmentI al, jalview.bin.JalviewLite applet) { this.applet = applet; @@ -57,7 +67,6 @@ public class AlignFrame alignPanel.validate(); String treeFile = applet.getParameter("treeFile"); - TreePanel treepanel = null; if (treeFile != null) { try @@ -82,6 +91,15 @@ public class AlignFrame } } + this.addWindowListener(new WindowAdapter() + { + public void windowClosing(WindowEvent e) + { + closeMenuItem_actionPerformed(null); + } + }); + + } @@ -108,6 +126,7 @@ public class AlignFrame public void closeMenuItem_actionPerformed(ActionEvent e) { + PaintRefresher.components.remove(viewport.alignment); dispose(); } @@ -488,7 +507,7 @@ public class AlignFrame { sg.addSequence(viewport.getAlignment().getSequenceAt(i), false); } - sg.setEndRes(viewport.alignment.getWidth()); + sg.setEndRes(viewport.alignment.getWidth()-1); viewport.setSelectionGroup(sg); alignPanel.repaint(); PaintRefresher.Refresh(null, viewport.alignment); @@ -804,49 +823,48 @@ public class AlignFrame { int threshold = 0; - if (viewport.getAbovePIDThreshold()) + if(cs!=null) { - threshold = SliderPanel.setPIDSliderSource(alignPanel, cs, "Background"); - - cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus()); + if (viewport.getAbovePIDThreshold()) + { + threshold = SliderPanel.setPIDSliderSource(alignPanel, cs, "Background"); - viewport.setGlobalColourScheme(cs); - } - else - { - cs.setThreshold(0, viewport.getIgnoreGapsConsensus()); - } + cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus()); - if (viewport.getConservationSelected()) - { + viewport.setGlobalColourScheme(cs); + } + else + { + cs.setThreshold(0, viewport.getIgnoreGapsConsensus()); + } - Alignment al = (Alignment) viewport.alignment; - Conservation c = new Conservation("All", - ResidueProperties.propHash, 3, - al.getSequences(), 0, - al.getWidth() - 1); + if (viewport.getConservationSelected()) + { - c.calculate(); - c.verdict(false, viewport.ConsPercGaps); + Alignment al = (Alignment) viewport.alignment; + Conservation c = new Conservation("All", + ResidueProperties.propHash, 3, + al.getSequences(), 0, + al.getWidth() - 1); - cs.setConservation(c); + c.calculate(); + c.verdict(false, viewport.ConsPercGaps); - // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS! - cs.setConsensus(viewport.vconsensus); - viewport.setGlobalColourScheme(cs); + cs.setConservation(c); - SliderPanel.setConservationSlider(alignPanel, cs, "Background"); + cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel, cs, + "Background")); - } - else - { - // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS! - if (cs != null) + } + else { - cs.setConsensus(viewport.vconsensus); + cs.setConservation(null); } - viewport.setGlobalColourScheme(cs); + + cs.setConsensus(viewport.vconsensus); + } + viewport.setGlobalColourScheme(cs); if (viewport.getColourAppliesToAllGroups()) { @@ -862,9 +880,7 @@ public class AlignFrame } if (cs instanceof ClustalxColourScheme) { - ClustalxColourScheme cxs = (ClustalxColourScheme) cs; - cxs.resetClustalX(viewport.alignment.getSequences(), viewport.alignment.getWidth()); - sg.cs = cxs; + sg.cs = new ClustalxColourScheme(sg.sequences, sg.getWidth()); } else { @@ -879,12 +895,15 @@ public class AlignFrame } } - if (viewport.getAbovePIDThreshold()) + if (viewport.getAbovePIDThreshold() + || cs instanceof PIDColourScheme + || cs instanceof Blosum62ColourScheme) { sg.cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus()); - sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0, sg.getWidth())); } + else + sg.cs.setThreshold(0, viewport.getIgnoreGapsConsensus()); if (viewport.getConservationSelected()) { @@ -894,21 +913,17 @@ public class AlignFrame viewport.alignment.getWidth() - 1); c.calculate(); c.verdict(false, viewport.ConsPercGaps); - - // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS! - cs.setConsensus(AAFrequency.calculate(sg.sequences, 0, sg.getWidth())); - sg.cs = cs; + sg.cs.setConservation(c); } else { - // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS! - sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0, sg.getWidth())); + sg.cs.setConservation(null); + sg.cs.setThreshold(0, viewport.getIgnoreGapsConsensus()); } } } - updateCSConsensus(); if (alignPanel.getOverviewPanel() != null) { @@ -918,15 +933,11 @@ public class AlignFrame alignPanel.repaint(); } - public void updateCSConsensus() - { - //Colour schemes must have their consensus updated - } protected void modifyPID_actionPerformed(ActionEvent e) { - if (viewport.getAbovePIDThreshold()) + if (viewport.getAbovePIDThreshold() && viewport.globalColourScheme!=null) { SliderPanel.setPIDSliderSource(alignPanel, viewport.getGlobalColourScheme(), "Background"); @@ -936,7 +947,7 @@ public class AlignFrame protected void modifyConservation_actionPerformed(ActionEvent e) { - if (viewport.getConservationSelected()) + if (viewport.getConservationSelected() && viewport.globalColourScheme!=null) { SliderPanel.setConservationSlider(alignPanel, viewport.globalColourScheme, "Background");