X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPopupMenu.java;fp=src%2Fjalview%2Fgui%2FPopupMenu.java;h=09e32634388715ad008fbb94e3bfa535a26e5ab8;hb=c2e5d3d1ebe3b283bdde15637c590721cd6c5637;hp=660c651d4cab518002b306b5442c59b5a5e92e3e;hpb=557859a3ea9a1e86899ef2033de90eadb6d87118;p=jalview.git diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java index 660c651..09e3263 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; @@ -55,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; @@ -1445,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(); } @@ -1880,30 +1889,28 @@ 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, + "Jalview")); } } - 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)) + features, true, ap, null)) { ap.alignFrame.setShowSeqFeatures(true); ap.highlightSearchResults(null);