package jalview.gui; import jalview.datamodel.*; import java.util.*; public class Selection { Vector selected = new Vector(); AlignViewport av; public Selection(AlignViewport av) { this.av = av; } public void addElement(SequenceI seq) { selected.addElement(seq); SequenceGroup sg = av.getRubberbandGroup(); if(sg==null) { sg = new SequenceGroup(); sg.setEndRes(av.alignment.getWidth()-1); av.setRubberbandGroup(sg); } sg.addSequence(seq); } public void clear() { selected.removeAllElements(); } public void removeElement(SequenceI seq) { if (selected.contains(seq)) selected.removeElement(seq); else System.err.println("WARNING: Tried to remove SequenceI NOT in Selection"); SequenceGroup sg = av.getRubberbandGroup(); if (sg != null) sg.deleteSequence(seq); } public boolean contains(SequenceI seq) { return selected.contains(seq); } public SequenceI sequenceAt(int i) { return (SequenceI)selected.elementAt(i); } public int size() { return selected.size(); } public Vector asVector() { return selected; } public void selectAll(AlignmentI align) { for (int i=0;i