From: amwaterhouse Date: Fri, 10 Dec 2004 14:33:08 +0000 (+0000) Subject: Colour scheme new global implementation X-Git-Tag: Release_2_0~853 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=b455b63542dbdceadd35a6e1ba7a655aeebb410a;p=jalview.git Colour scheme new global implementation --- diff --git a/src/jalview/gui/AlignmentPanel.java b/src/jalview/gui/AlignmentPanel.java index 605450b..eda94a0 100755 --- a/src/jalview/gui/AlignmentPanel.java +++ b/src/jalview/gui/AlignmentPanel.java @@ -1,11 +1,12 @@ package jalview.gui; import jalview.jbgui.GAlignmentPanel; +import jalview.schemes.*; +import jalview.analysis.*; +import jalview.datamodel.*; import java.awt.*; -import java.awt.image.*; import java.awt.event.*; import java.awt.print.*; -import javax.swing.*; public class AlignmentPanel extends GAlignmentPanel implements AdjustmentListener, Printable { @@ -90,7 +91,130 @@ public class AlignmentPanel extends GAlignmentPanel implements AdjustmentListene } - public void setColourScheme(jalview.schemes.ColourSchemeI cs, boolean conservation) + public void setColourScheme() + { + ColourSchemeI cs = av.getGlobalColourScheme(); + + if(av.getConservationSelected()) + { + + Alignment al = (Alignment)av.getAlignment(); + Conservation c = new Conservation("All", al.cons, + ResidueProperties.propHash, 3, al.getSequences(), 0, + al.getWidth() ); + + c.calculate(); + c.verdict(false, 100); + ConservationColourScheme ccs = new ConservationColourScheme(c, cs); + + av.setGlobalColourScheme( ccs ); + + } + seqPanel.seqCanvas.paintFlag = true; + repaint(); + } + /* + seqCanvas.paintFlag = true; + if (av.getSelection().size() == 0) + { + seqCanvas.globalColorScheme = cs; + for (int i = 0; i < av.alignment.getGroups().size();i++) + { + SequenceGroup sg = (SequenceGroup)av.alignment.getGroups().elementAt(i); + sg.cs = cs; + if(!showConservation + && !(sg.cs instanceof Blosum62ColourScheme) + && sg.cs instanceof ConservationColourScheme) + { + // remove ConservationColouring from existing Conservation group + ConservationColourScheme ccs = (ConservationColourScheme)sg.cs; + sg.cs = ccs.cs; + } + else if(showConservation && !(sg.cs instanceof ConservationColourScheme)) + { + // add ConservationColouring to new group + Conservation c = sg.getConservation(); + Alignment al = (Alignment) av.getAlignment(); + c = new Conservation("All", al.cons, + ResidueProperties.propHash, 3, sg.sequences, 0, + al.getWidth() ); + c.calculate(); + c.verdict(false, 100); + sg.setConservation(c); + sg.cs = new ConservationColourScheme(sg); + } + } + } + else + { + SequenceGroup sg = av.alignment.findGroup((Sequence)av.sel.sequenceAt(0)); + + if( isNewSelection(sg) ) + { + sg = av.getAlignment().addGroup(); + for (int i=0; i < av.getSelection().size(); i++) + { + av.alignment.removeFromGroup(av.alignment.findGroup( (Sequence) av. + sel.sequenceAt(i)), + (Sequence) av.sel.sequenceAt(i)); + av.alignment.addToGroup(sg, (Sequence) av.sel.sequenceAt(i)); + } + } + + + sg.cs = cs; + + // Selection is made, we only want to change the conservationColour for selected group + if( showConservation + && !(sg.cs instanceof ConservationColourScheme) + && !(sg.cs instanceof Blosum62ColourScheme)) + { + Conservation c = sg.getConservation(); + Alignment al = (Alignment) av.getAlignment(); + + c = new Conservation("All", al.cons, + ResidueProperties.propHash, 3, sg.sequences, 0, + al.getWidth() ); + c.calculate(); + c.verdict(false, 100); + sg.setConservation(c); + sg.cs = new ConservationColourScheme(sg); + } + else if( !showConservation && sg.cs instanceof ConservationColourScheme) + { + ConservationColourScheme ccs = (ConservationColourScheme)sg.cs; + sg.cs = ccs.cs; + } + } + repaint(); + } + + boolean isNewSelection(SequenceGroup sg) + { + if(sg==null) + return true; + + if(sg.getSize()!=av.getSelection().size()) + return true; + + for(int i=0; i0) + return av.alignment.findGroup((Sequence)av.sel.sequenceAt(0)).cs; + else + return seqCanvas.globalColorScheme; + } +*/ + +/* public void setColourScheme(jalview.schemes.ColourSchemeI cs, boolean conservation) { seqPanel.setColourScheme(cs, conservation); @@ -100,6 +224,43 @@ public class AlignmentPanel extends GAlignmentPanel implements AdjustmentListene overviewPanel.updateOverviewImage(); } + void updateResidueView() + { + if (viewport.getSelection().size() == 0) + { + for (int i = 0; i < viewport.alignment.getGroups().size(); i++) + { + SequenceGroup sg = (SequenceGroup) viewport.alignment.getGroups().elementAt(i); + sg.setDisplayBoxes( viewBoxesMenuItem.isSelected() ); + sg.setDisplayText( viewTextMenuItem.isSelected() ); + sg.setColourText( colourTextMenuItem.isSelected() ); + } + } + else + { + SequenceGroup sg = viewport.alignment.findGroup( (Sequence) viewport.sel.sequenceAt(0)); + if (alignPanel.seqPanel.isNewSelection(sg)) + { + sg = viewport.getAlignment().addGroup(); + for (int i = 0; i < viewport.getSelection().size(); i++) + { + viewport.alignment.removeFromGroup(viewport.alignment.findGroup( ( + Sequence) viewport.sel.sequenceAt(i)), + (Sequence) viewport.sel.sequenceAt( + i)); + viewport.alignment.addToGroup(sg, + (Sequence) viewport.sel.sequenceAt(i)); + } + } + + sg.setDisplayBoxes(viewBoxesMenuItem.isSelected()); + sg.setDisplayText(viewTextMenuItem.isSelected()); + sg.setColourText(colourTextMenuItem.isSelected()); + } + alignPanel.RefreshPanels(); + }*/ + + public void RefreshPanels() { @@ -109,8 +270,8 @@ public class AlignmentPanel extends GAlignmentPanel implements AdjustmentListene idPanelHolder.setPreferredSize( idPanel.idCanvas.getPreferredSize() ); setScrollValues(av.getStartRes(), av.getStartSeq()); av.getConsensus(true); - repaint(); validate(); + repaint(); if(overviewPanel!=null) overviewPanel.updateOverviewImage();