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