X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPopupMenu.java;h=3de7c3c81e77349f71843ab2c85678a6432024df;hb=954039bbfbde3648ac4c795277e788e49be5181b;hp=d91fa7050566c4bfd6e783051f1a36fe7db6547f;hpb=88f7d0a53dc11d3b23148fe0866b502b4b53b0e9;p=jalview.git diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java index d91fa70..3de7c3c 100644 --- a/src/jalview/gui/PopupMenu.java +++ b/src/jalview/gui/PopupMenu.java @@ -31,8 +31,8 @@ import jalview.commands.EditCommand.Action; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.Annotation; -import jalview.datamodel.ColumnSelection; import jalview.datamodel.DBRefEntry; +import jalview.datamodel.HiddenColumns; import jalview.datamodel.PDBEntry; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceFeature; @@ -47,7 +47,6 @@ import jalview.schemes.Blosum62ColourScheme; import jalview.schemes.ColourSchemeI; import jalview.schemes.ColourSchemes; import jalview.schemes.PIDColourScheme; -import jalview.schemes.ResidueColourScheme; import jalview.util.GroupUrlLink; import jalview.util.GroupUrlLink.UrlStringTooLongException; import jalview.util.MessageManager; @@ -56,6 +55,7 @@ import jalview.util.UrlLink; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -1446,13 +1446,21 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener { if (sequence != null) { - ColumnSelection cs = ap.av.getColumnSelection(); - if (cs == null) + /* ColumnSelection cs = ap.av.getColumnSelection(); + if (cs == null) + { + cs = new ColumnSelection(); + } + cs.hideInsertionsFor(sequence); + ap.av.setColumnSelection(cs);*/ + + HiddenColumns hidden = ap.av.getAlignment().getHiddenColumns(); + if (hidden == null) { - cs = new ColumnSelection(); + hidden = new HiddenColumns(); } - cs.hideInsertionsFor(sequence); - ap.av.setColumnSelection(cs); + hidden.hideInsertionsFor(sequence); + ap.av.getAlignment().setHiddenColumns(hidden); } refresh(); } @@ -1881,28 +1889,25 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener return; } - int rsize = 0, gSize = sg.getSize(); - SequenceI[] rseqs, seqs = new SequenceI[gSize]; - SequenceFeature[] tfeatures, features = new SequenceFeature[gSize]; + List seqs = new ArrayList(); + List features = new ArrayList(); + /* + * assemble dataset sequences, and template new sequence features, + * for the amend features dialog + */ + int gSize = sg.getSize(); for (int i = 0; i < gSize; i++) { int start = sg.getSequenceAt(i).findPosition(sg.getStartRes()); int end = sg.findEndRes(sg.getSequenceAt(i)); if (start <= end) { - seqs[rsize] = sg.getSequenceAt(i).getDatasetSequence(); - features[rsize] = new SequenceFeature(null, null, null, start, end, - "Jalview"); - rsize++; + seqs.add(sg.getSequenceAt(i).getDatasetSequence()); + features.add(new SequenceFeature(null, null, null, start, end, null)); } } - rseqs = new SequenceI[rsize]; - tfeatures = new SequenceFeature[rsize]; - System.arraycopy(seqs, 0, rseqs, 0, rsize); - System.arraycopy(features, 0, tfeatures, 0, rsize); - features = tfeatures; - seqs = rseqs; + if (ap.getSeqPanel().seqCanvas.getFeatureRenderer().amendFeatures(seqs, features, true, ap)) { @@ -1984,28 +1989,19 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener public void changeColour_actionPerformed(String colourSchemeName) { SequenceGroup sg = getGroup(); - if (ResidueColourScheme.USER_DEFINED.equals(colourSchemeName)) - { - /* - * open a panel to load or configure a user-defined colour scheme - */ - new UserDefinedColours(ap, sg); - } - else + /* + * switch to the chosen colour scheme (or null for None) + */ + ColourSchemeI colourScheme = ColourSchemes.getInstance() + .getColourScheme(colourSchemeName, sg, + ap.av.getHiddenRepSequences()); + sg.setColourScheme(colourScheme); + if (colourScheme instanceof Blosum62ColourScheme + || colourScheme instanceof PIDColourScheme) { - /* - * switch to the chosen colour scheme (or null for None) - */ - ColourSchemeI colourScheme = ColourSchemes.getInstance().getColourScheme( - colourSchemeName, sg, ap.av.getHiddenRepSequences()); - sg.setColourScheme(colourScheme); - if (colourScheme instanceof Blosum62ColourScheme - || colourScheme instanceof PIDColourScheme) - { - sg.cs.setConsensus(AAFrequency.calculate( - sg.getSequences(ap.av.getHiddenRepSequences()), - sg.getStartRes(), sg.getEndRes() + 1)); - } + sg.cs.setConsensus(AAFrequency.calculate( + sg.getSequences(ap.av.getHiddenRepSequences()), + sg.getStartRes(), sg.getEndRes() + 1)); } refresh();