From: amwaterhouse Date: Thu, 13 Jan 2005 18:11:16 +0000 (+0000) Subject: Maintain PID or conservation status when changing colour X-Git-Tag: Release_2_0~770 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=9eaa1ff9aac185a7094b5e82516a7f675b3a5890;p=jalview.git Maintain PID or conservation status when changing colour --- diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 3336bb6..ede7eac 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -452,95 +452,173 @@ public class AlignFrame extends GAlignFrame protected void noColourmenuItem_actionPerformed(ActionEvent e) { viewport.setGlobalColourScheme( null ); - alignPanel.setColourScheme(); + changeColour(); } public void clustalColour_actionPerformed(ActionEvent e) { viewport.setGlobalColourScheme(new ClustalxColourScheme( )); - alignPanel.setColourScheme( ); + changeColour(); } public void zappoColour_actionPerformed(ActionEvent e) { viewport.setGlobalColourScheme(new ZappoColourScheme() ); - alignPanel.setColourScheme( ); + changeColour(); } public void taylorColour_actionPerformed(ActionEvent e) { viewport.setGlobalColourScheme(new TaylorColourScheme() ); - alignPanel.setColourScheme( ); + changeColour(); } public void hydrophobicityColour_actionPerformed(ActionEvent e) { viewport.setGlobalColourScheme( new HydrophobicColourScheme() ); - alignPanel.setColourScheme( ); + changeColour(); } public void helixColour_actionPerformed(ActionEvent e) { viewport.setGlobalColourScheme( new HelixColourScheme() ); - alignPanel.setColourScheme(); + changeColour(); } public void strandColour_actionPerformed(ActionEvent e) { viewport.setGlobalColourScheme(new StrandColourScheme() ); - alignPanel.setColourScheme( ); + changeColour(); } public void turnColour_actionPerformed(ActionEvent e) { viewport.setGlobalColourScheme(new TurnColourScheme() ); - alignPanel.setColourScheme( ); + changeColour(); } public void buriedColour_actionPerformed(ActionEvent e) { viewport.setGlobalColourScheme( new BuriedColourScheme() ); - alignPanel.setColourScheme( ); + changeColour(); } + void changeColour() + { + if(abovePIDThreshold.isSelected()) + { + abovePIDThreshold_actionPerformed(null); + alignPanel.setColourScheme( ); + } + else if(conservationMenuItem.isSelected()) + conservationMenuItem_actionPerformed(null); + else + alignPanel.setColourScheme( ); + + } protected void conservationMenuItem_actionPerformed(ActionEvent e) { viewport.setConservationSelected(conservationMenuItem.isSelected()); + alignPanel.setColourScheme(); + ColourSchemeI oldCs = viewport.getGlobalColourScheme(); if(conservationMenuItem.isSelected()) { - SliderPanel sp = new SliderPanel(alignPanel, 30, true, viewport.getGlobalColourScheme()); - JInternalFrame frame = new JInternalFrame(); - frame.setContentPane(sp); - Desktop.addInternalFrame(frame, "Conservation Colour Increment", 400, 90); - frame.setMaximizable(false); - frame.setResizable(false); + if(sliderPanel!=null) + { + sliderPanel.cs = oldCs; + } + + else + { + sliderPanel = new SliderPanel(alignPanel, 30, true, + viewport.getGlobalColourScheme()); + JInternalFrame frame = new JInternalFrame(); + frame.setContentPane(sliderPanel); + Desktop.addInternalFrame(frame, "Conservation Colour Increment", 400, + 90); + frame.setMaximizable(false); + frame.setResizable(false); + frame.addInternalFrameListener(new javax.swing.event. + InternalFrameAdapter() + { + public void internalFrameClosed(javax.swing.event.InternalFrameEvent + evt) + { + sliderPanel = null; + }; + }); + } + } + else + { + if(oldCs instanceof ConservationColourScheme) + { + ConservationColourScheme ccs = (ConservationColourScheme)oldCs; + viewport.setGlobalColourScheme( ccs.cs ); + } + alignPanel.setColourScheme(); } - } + } + SliderPanel sliderPanel; public void abovePIDThreshold_actionPerformed(ActionEvent e) { + ColourSchemeI oldCs = viewport.getGlobalColourScheme(); + int threshold = 0; + if(abovePIDThreshold.isSelected()) { - SliderPanel sp = new SliderPanel(alignPanel, 70, false, - viewport.getGlobalColourScheme()); - JInternalFrame frame = new JInternalFrame(); - frame.setContentPane(sp); - Desktop.addInternalFrame(frame, "Percentage Identity Threshold", 400, 90); - frame.setMaximizable(false); - frame.setResizable(false); + if(sliderPanel!=null) + sliderPanel.cs = oldCs; + + else + { + sliderPanel = new SliderPanel(alignPanel, 70, false, oldCs); + JInternalFrame frame = new JInternalFrame(); + frame.setContentPane(sliderPanel); + Desktop.addInternalFrame(frame, "Percentage Identity Threshold", 400, + 90); + frame.setMaximizable(false); + frame.setResizable(false); + frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() + { + public void internalFrameClosed(javax.swing.event.InternalFrameEvent evt) + { + sliderPanel = null; + }; + }); + + } + + threshold = sliderPanel.getValue(); + } + + if (oldCs instanceof ResidueColourScheme) + { + ResidueColourScheme rcs = (ResidueColourScheme) oldCs; + rcs.setThreshold(threshold); } + else if (oldCs instanceof ScoreColourScheme) + { + ScoreColourScheme scs = (ScoreColourScheme) oldCs; + scs.setThreshold(threshold); + } + + alignPanel.setColourScheme(); + } + public void userDefinedColour_actionPerformed(ActionEvent e) { JInternalFrame frame = new JInternalFrame();