alignPanel = new AlignmentPanel(this, viewport);\r
add(alignPanel);\r
alignPanel.validate();\r
+\r
+ this.addWindowListener(new WindowAdapter()\r
+ {\r
+ public void windowClosing(WindowEvent e)\r
+ {\r
+ closeMenuItem_actionPerformed(null);\r
+ }\r
+ });\r
+\r
}\r
\r
+\r
public AlignFrame(AlignmentI al, jalview.bin.JalviewLite applet)\r
{\r
this.applet = applet;\r
alignPanel.validate();\r
\r
String treeFile = applet.getParameter("treeFile");\r
- TreePanel treepanel = null;\r
if (treeFile != null)\r
{\r
try\r
}\r
}\r
\r
+ this.addWindowListener(new WindowAdapter()\r
+ {\r
+ public void windowClosing(WindowEvent e)\r
+ {\r
+ closeMenuItem_actionPerformed(null);\r
+ }\r
+ });\r
+\r
+\r
\r
}\r
\r
\r
public void closeMenuItem_actionPerformed(ActionEvent e)\r
{\r
+ PaintRefresher.components.remove(viewport.alignment);\r
dispose();\r
}\r
\r
{\r
sg.addSequence(viewport.getAlignment().getSequenceAt(i), false);\r
}\r
- sg.setEndRes(viewport.alignment.getWidth());\r
+ sg.setEndRes(viewport.alignment.getWidth()-1);\r
viewport.setSelectionGroup(sg);\r
alignPanel.repaint();\r
- PaintRefresher.Refresh(null);\r
+ PaintRefresher.Refresh(null, viewport.alignment);\r
}\r
\r
public void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
viewport.setSelectionGroup(null);\r
viewport.getColumnSelection().clear();\r
viewport.setSelectionGroup(null);\r
- PaintRefresher.Refresh(null);\r
+ PaintRefresher.Refresh(null, viewport.alignment);\r
}\r
\r
public void invertSequenceMenuItem_actionPerformed(ActionEvent e)\r
sg.addOrRemove(viewport.getAlignment().getSequenceAt(i), false);\r
}\r
\r
- PaintRefresher.Refresh(null);\r
+ PaintRefresher.Refresh(null, viewport.alignment);\r
}\r
\r
public void remove2LeftMenuItem_actionPerformed(ActionEvent e)\r
{\r
int threshold = 0;\r
\r
- if (viewport.getAbovePIDThreshold())\r
+ if(cs!=null)\r
{\r
- threshold = SliderPanel.setPIDSliderSource(alignPanel, cs, "Background");\r
-\r
- if (cs instanceof ResidueColourScheme)\r
+ if (viewport.getAbovePIDThreshold())\r
{\r
- ( (ResidueColourScheme) cs).setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
- }\r
+ threshold = SliderPanel.setPIDSliderSource(alignPanel, cs, "Background");\r
\r
- viewport.setGlobalColourScheme(cs);\r
- }\r
- else if (cs instanceof ResidueColourScheme)\r
- {\r
- ( (ResidueColourScheme) cs).setThreshold(0, viewport.getIgnoreGapsConsensus());\r
- }\r
+ cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
\r
- if (viewport.getConservationSelected())\r
- {\r
- ConservationColourScheme ccs = null;\r
+ viewport.setGlobalColourScheme(cs);\r
+ }\r
+ else\r
+ {\r
+ cs.setThreshold(0, viewport.getIgnoreGapsConsensus());\r
+ }\r
\r
- Alignment al = (Alignment) viewport.alignment;\r
- Conservation c = new Conservation("All",\r
- ResidueProperties.propHash, 3,\r
- al.getSequences(), 0,\r
- al.getWidth() - 1);\r
+ if (viewport.getConservationSelected())\r
+ {\r
\r
- c.calculate();\r
- c.verdict(false, viewport.ConsPercGaps);\r
+ Alignment al = (Alignment) viewport.alignment;\r
+ Conservation c = new Conservation("All",\r
+ ResidueProperties.propHash, 3,\r
+ al.getSequences(), 0,\r
+ al.getWidth() - 1);\r
\r
- ccs = new ConservationColourScheme(c, cs);\r
+ c.calculate();\r
+ c.verdict(false, viewport.ConsPercGaps);\r
\r
- // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS!\r
- ccs.setConsensus(viewport.vconsensus);\r
- viewport.setGlobalColourScheme(ccs);\r
+ cs.setConservation(c);\r
\r
- SliderPanel.setConservationSlider(alignPanel, ccs, "Background");\r
+ cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel, cs,\r
+ "Background"));\r
\r
- }\r
- else\r
- {\r
- // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS!\r
- if (cs != null)\r
+ }\r
+ else\r
{\r
- cs.setConsensus(viewport.vconsensus);\r
+ cs.setConservation(null);\r
}\r
- viewport.setGlobalColourScheme(cs);\r
+\r
+ cs.setConsensus(viewport.vconsensus);\r
+\r
}\r
+ viewport.setGlobalColourScheme(cs);\r
\r
if (viewport.getColourAppliesToAllGroups())\r
{\r
}\r
if (cs instanceof ClustalxColourScheme)\r
{\r
- ClustalxColourScheme cxs = (ClustalxColourScheme) cs;\r
- cxs.resetClustalX(viewport.alignment.getSequences(), viewport.alignment.getWidth());\r
- sg.cs = cxs;\r
+ sg.cs = new ClustalxColourScheme(sg.sequences, sg.getWidth());\r
}\r
else\r
{\r
}\r
}\r
\r
- if (viewport.getAbovePIDThreshold())\r
+ if (viewport.getAbovePIDThreshold()\r
+ || cs instanceof PIDColourScheme\r
+ || cs instanceof Blosum62ColourScheme)\r
{\r
- if (sg.cs instanceof ResidueColourScheme)\r
- {\r
- ( (ResidueColourScheme) sg.cs).setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
- }\r
-\r
+ sg.cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0, sg.getWidth()));\r
}\r
+ else\r
+ sg.cs.setThreshold(0, viewport.getIgnoreGapsConsensus());\r
\r
if (viewport.getConservationSelected())\r
{\r
viewport.alignment.getWidth() - 1);\r
c.calculate();\r
c.verdict(false, viewport.ConsPercGaps);\r
- ConservationColourScheme ccs = new ConservationColourScheme(c, sg.cs);\r
-\r
- // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS!\r
- ccs.setConsensus(AAFrequency.calculate(sg.sequences, 0, sg.getWidth()));\r
- sg.cs = ccs;\r
+ sg.cs.setConservation(c);\r
}\r
else\r
{\r
- // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS!\r
- sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0, sg.getWidth()));\r
+ sg.cs.setConservation(null);\r
+ sg.cs.setThreshold(0, viewport.getIgnoreGapsConsensus());\r
}\r
\r
}\r
}\r
\r
- updateCSConsensus();\r
\r
if (alignPanel.getOverviewPanel() != null)\r
{\r
alignPanel.repaint();\r
}\r
\r
- public void updateCSConsensus()\r
- {\r
- //Colour schemes must have their consensus updated\r
\r
- }\r
\r
protected void modifyPID_actionPerformed(ActionEvent e)\r
{\r
- if (viewport.getAbovePIDThreshold())\r
+ if (viewport.getAbovePIDThreshold() && viewport.globalColourScheme!=null)\r
{\r
SliderPanel.setPIDSliderSource(alignPanel, viewport.getGlobalColourScheme(),\r
"Background");\r
\r
protected void modifyConservation_actionPerformed(ActionEvent e)\r
{\r
- if (viewport.getConservationSelected())\r
+ if (viewport.getConservationSelected() && viewport.globalColourScheme!=null)\r
{\r
SliderPanel.setConservationSlider(alignPanel, viewport.globalColourScheme,\r
"Background");\r
viewport.setAbovePIDThreshold(false);\r
abovePIDThreshold.setState(false);\r
\r
- ColourSchemeI cs = viewport.getGlobalColourScheme();\r
- if (cs instanceof ConservationColourScheme)\r
- {\r
- changeColour( ( (ConservationColourScheme) cs).cs);\r
- }\r
- else\r
- {\r
- changeColour(cs);\r
- }\r
+ changeColour(viewport.getGlobalColourScheme());\r
\r
modifyConservation_actionPerformed(null);\r
}\r
conservationMenuItem.setState(false);\r
viewport.setConservationSelected(false);\r
\r
- ColourSchemeI cs = viewport.getGlobalColourScheme();\r
-\r
- if (cs instanceof ConservationColourScheme)\r
- {\r
- changeColour( ( (ConservationColourScheme) cs).cs);\r
- }\r
- else\r
- {\r
- changeColour(cs);\r
- }\r
+ changeColour(viewport.getGlobalColourScheme());\r
\r
modifyPID_actionPerformed(null);\r
}\r