From c20c49427b35c709b8a7d58c6f5b556efc801fb2 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Tue, 23 Aug 2005 16:49:16 +0000 Subject: [PATCH] Remove ref in PaintRefresher on close, changeColour updated --- src/jalview/appletgui/AlignFrame.java | 103 +++++++++++++++------------------ 1 file changed, 47 insertions(+), 56 deletions(-) diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index 010c73d..83c66ec 100755 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -39,15 +39,6 @@ public class AlignFrame public static final int NEW_WINDOW_HEIGHT = 500; jalview.bin.JalviewLite applet; - public AlignFrame(AlignmentI al) - { - this.applet = null; - viewport = new AlignViewport(al, null); - alignPanel = new AlignmentPanel(this, viewport); - add(alignPanel); - alignPanel.validate(); - } - public AlignFrame(AlignmentI al, jalview.bin.JalviewLite applet) { this.applet = applet; @@ -82,6 +73,15 @@ public class AlignFrame } } + this.addWindowListener(new WindowAdapter() + { + public void windowClosing(WindowEvent e) + { + closeMenuItem_actionPerformed(null); + } + }); + + } @@ -108,6 +108,7 @@ public class AlignFrame public void closeMenuItem_actionPerformed(ActionEvent e) { + PaintRefresher.components.remove(viewport.alignment); dispose(); } @@ -804,49 +805,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 +862,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 { @@ -886,6 +884,8 @@ public class AlignFrame 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()) { @@ -895,21 +895,16 @@ 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); } } } - updateCSConsensus(); if (alignPanel.getOverviewPanel() != null) { @@ -919,15 +914,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"); @@ -937,7 +928,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"); -- 1.7.10.2